Простая, 6-ти командная RC.
Автор: Серый_, pavloff@newmail.ru Кота с днём рождения! Удачи, благополучия и частых конкурсов! :) Данная система представляет собой шифратор и дешифратор 6-ти дискретных команд для управления простой микромоделью. Основу составляет МК ATtiny2313. Забегая в перёд сразу надо сказать, что речь пойдёт именно о шифраторе и дешифраторе. Так как в последствие применённый радиоканал (тайвано - китайскийе приёмник и передатчик на 433МГц) работали глючно. Такой радиоканал имеет импульсную модуляцию, что, скорее всего и не прошло. В частности широта импульсов (и общая длина посылки) плавала в зависимости от количества нажатых кнопок, что принимающий USART не мог принять корректно. К тому же размах сигнала на выходе таких приёмников относительно низок: 3,5V. При этом применялся и другой, эквивалентный приёмник иной фирмы, но на его выходе была такая куча помех…, что ни-ни. Тем не менее, я так зациклился на желании изготовить свою RC с нуля, что даже полез в AVR ассемблер! В общем исторически сложилось так, что моя дебютная «прога» (а значит сильно не пинать :) получилась ни одна, а целых две. Ну а с радиоканалом можно разобраться и в последствии, изготовив что - либо на MC3361 (KA3361) или поставив канал IR (Infra Red), к стати скорость передачи данных при этом можно увеличить в разы (до 38kbit). Для тайвано - приёмника она ограничена 4800 бит в секунду. И так шифратор (он же кодер, он же трансмиттер):
Для кнопок задействованы только 6 контактов порта «B», в виду того, что остальные 2 представляют собой аналоговые входы компаратора, который задействован в схеме измерения разряда батарейки. Если подсемши = загорается светодиод VD2. Срабатывание индикации задаётся резистором R2. При том, что опорка компаратора выбрана внутренней (1,1V), на этот контакт можно было подцепить и 7-ую кнопку, но не особо оно и надо. «Оттягивающие» резисторы кнопок – внутренние (в МК) и включены программно. «Антидребезг» для кнопок не применён, так как в RC он по сути дела и не нужен, зато нужна «шустрость» срабатывания. В виду этого так же отсутствуют какие-либо слип-моды для МК. Здесь так же имеется клемма для внутрисхемного залития прошивки стандартным SPI способом, правда распиновка клеммы не стандартна и сделана «в угоду монтажу». Кварцы на 3,6864МГц применены в виду того, что разного рода чётности/ нечётности тактирования USART при этом сводят к нулю процент ошибок (даташит, стр. 135). C6 служит для фильтрации помех на батарейко – измеряющем входе, C3 расположен рядом с клеммой программирования, C4 подпаян снизу параллельно запитке МК, C1 на всякий…, от помех на RESET-е. В общем, по нажатию кнопки происходит вставка импульса в посылку протокола USART и происходит НЕ кодированная передача команды. Плюс здесь в том, что отсутствие «кодировки» кнопок – более «спортивный» вариант и позволяет более менее на деле прощупать те или иные глюк-помехи радиоканала. Дешифратор (он же декодер, он же рессивер): По сути, он во многом эквивалентен шифратору, но отсутствует индикация разряда батарейки. Обвеска исполнительными устройствами может быть в нескольких разных вариантах: 1) регулятор хода, электромагнитный руль, 2 исполнительных устройства 2) 2 регулятора хода, 2 исполнительных устройства 3) 4 стандартные сервомашинки, 3 исполнительных устройства (но это перспективный вариант с применением другого передатчика). L7, C21, C22 – фильтрующая линия запитки сервомеханизмов. L4, L5 - …надцать витков на маленьких ферритовых палках длинной до 15мм. При нажатии одновременно «влево и вправо», в программе дешифратора имеется защита «от дурака», соответственно дожим второй кнопки не приведёт к изменениям на исполнительном электромагните. Команды вперёд и назад в такой защите не нуждаются, ибо она прокатит аппаратно на регуляторе хода. Вот такая электроника в сборе:
В момент внутрисхемного способа прошивки в кодере нельзя нажимать кнопки, а в декодере исполнительные устройства должны быть отключены! Надеюсь данная статейка пойдёт на пользу и начинающим, (так сказать начинающим – от начинающего). Исходники писаны (как уже упоминалось выше) в AVR Studio (ассемблер), каждая строка подробно прокомментирована. В местах конфигурации того или иного устройства имеются номера страниц даташита, где можно прочесть подробнее ту или иную уставку. Даташит при этом само собой должен быть оригинален и состоять из 226 страниц. Надо заметить, что проги писаны исключительно для ATtiny2313 и для AT90S2313 могут не прокатить, т. к. имена их некоторых регистров разнятся! Это касается некоторых мелких программных и аппаратных возможностей. Для проверки (без радиоканала) кодер и декодер соединяются двумя проводками: земля и TXD-RXD. И ещё начинающим небольшой совет: распечатать из даташита таблицу «Register Summary» (стр. 211), где на одном листе показаны все регистры: данных, общего назначения, ввода-вывода, конфигурации устройств ну и включая 1 флаговый регистр (где биты, меняются в зависимости от только что проведённой операции). Все они 8-ми битны и уже чуть ли не из этого становится понятно «как работает МК». ;) Всем удачи! 2013-09-03 Поправлена схема приёмника и в архив добавлены прошивки доработанные тут.
Файлы: Все вопросы в Форум.
Эти статьи вам тоже могут пригодиться: |
|
|||||||||||||||
|
||||