И снова про РРМ
Добавлено: 07 янв 2019, 13:16
Уважаемые Форумчане. Всех с Новым Годом и Рождеством! В новогодние каникулы посвятил себя разработке новых проектов.
В канун нового года, приятель попросил помочь с подключением эл. двигателей на его разработке «Инвалидная коляска – вездеход». Он приобрел у робототехников «хитрую» коробочку, состоящую из двух джойстиков, контроллера (Атмега 328) и драйвера двух двигателей постоянного тока. Но оказалось, что контроллер управляется аналоговыми джойстиками, а не РРМ сигналом. Хотя ранее я приятелю изготовил плату на дискрете и модулях для управления от аппаратуры RC, с переключателем на ручное управление от двух сервотестеров и возможностью микширования РРМ сигналов для раздрайва гусеничных приводов.
[spoiler] [/spoiler]
Долго убеждал продавцов, в том, что входным сигналом их гаджета должен быть РРМ сигнал, а не аналоговый. Потом подумал, - овладев FLProg, я и сам смогу сотворить нечто подобное. Сказано – сделано. И я «нырнул». Но не заметил «подводных камней». Казалось, все просто… Для считывания РРМ сигнала (измерения длительности-ширины импульса), из длительности этого импульса нужно создать временные ворота и заполнить серией импульсов более высокой частоты. Количество импульсов, которые уложатся в этом временном интервале можно посчитать. Девиация (изменение) ширины РРМ сигнала от 1 до 2 мСек со средним значением 1,5 мСек., период 20 мСек.. 1,5 мСек – это нулевое значение команды управления двигателями, т.е. значение СТОП для моторов.
Сделал имитатор сервотестера (РРМ-coder) для получения одиночного РРМ сигнала. Импульс устойчив, ширина регулируется в заданных пределах. Визуализируется осциллографом. При попытке модуляции более высокой частотой на КТ1 импульс пропадает. На КТ2 импульсы 20 мСек. Счетчик считает, на индикаторе бесконечный отсчет. Пробовал включать положительным импульсом генератор (как на схеме), переключением от ключа, модуляцией логики «И». Результат тот же! Прочитал все ссылки по поводу РРМ на форуме. Всюду варианты на системном таймере по входу D2. Это не вариант!
С приемника идут, как минимум, 2 (3) сигнала РРМ, сдвинутые последовательно во времени. Т.е. на Атмегу должны приходить 2 (3) на разные цифровые! входы (лучше всего 8) РРМ сигналов. Каждый должен обрабатываться независимо друг от друга, разве что с общей синхронизацией (сформированному импульсу паузы). Может быть, кто-то подскажет?
В канун нового года, приятель попросил помочь с подключением эл. двигателей на его разработке «Инвалидная коляска – вездеход». Он приобрел у робототехников «хитрую» коробочку, состоящую из двух джойстиков, контроллера (Атмега 328) и драйвера двух двигателей постоянного тока. Но оказалось, что контроллер управляется аналоговыми джойстиками, а не РРМ сигналом. Хотя ранее я приятелю изготовил плату на дискрете и модулях для управления от аппаратуры RC, с переключателем на ручное управление от двух сервотестеров и возможностью микширования РРМ сигналов для раздрайва гусеничных приводов.
[spoiler] [/spoiler]
Долго убеждал продавцов, в том, что входным сигналом их гаджета должен быть РРМ сигнал, а не аналоговый. Потом подумал, - овладев FLProg, я и сам смогу сотворить нечто подобное. Сказано – сделано. И я «нырнул». Но не заметил «подводных камней». Казалось, все просто… Для считывания РРМ сигнала (измерения длительности-ширины импульса), из длительности этого импульса нужно создать временные ворота и заполнить серией импульсов более высокой частоты. Количество импульсов, которые уложатся в этом временном интервале можно посчитать. Девиация (изменение) ширины РРМ сигнала от 1 до 2 мСек со средним значением 1,5 мСек., период 20 мСек.. 1,5 мСек – это нулевое значение команды управления двигателями, т.е. значение СТОП для моторов.
Сделал имитатор сервотестера (РРМ-coder) для получения одиночного РРМ сигнала. Импульс устойчив, ширина регулируется в заданных пределах. Визуализируется осциллографом. При попытке модуляции более высокой частотой на КТ1 импульс пропадает. На КТ2 импульсы 20 мСек. Счетчик считает, на индикаторе бесконечный отсчет. Пробовал включать положительным импульсом генератор (как на схеме), переключением от ключа, модуляцией логики «И». Результат тот же! Прочитал все ссылки по поводу РРМ на форуме. Всюду варианты на системном таймере по входу D2. Это не вариант!
С приемника идут, как минимум, 2 (3) сигнала РРМ, сдвинутые последовательно во времени. Т.е. на Атмегу должны приходить 2 (3) на разные цифровые! входы (лучше всего 8) РРМ сигналов. Каждый должен обрабатываться независимо друг от друга, разве что с общей синхронизацией (сформированному импульсу паузы). Может быть, кто-то подскажет?