X.  Радиоуправление.


    X.1 Кодировка радиоуправления.
.
Исключительно для использования системы радиоуправления
 с отдельным контроллером.  Сделано, как закладка на память.
 

   Некоторое время назад, мне в руки попало вот такое радиоуправление. Точнее, только блок передатчика. Чем оно управляло - остается только догадываться.

  Ничего особенного. Работает от двух батареек АА, частота - 49 МГц (кварц).

       

  Энкодер TX-2 хорошо виден на фотографии. Ни одного настроечного элемента. Выходная катушка - на самом деле дроссель, без сердечника.


  Так как с "наскока" документацию на микросхему TX-2 найти не удалось, то работоспособность была быстро проверена осциллографом. При нажатии на любую кнопку, зажигается светодиод и на 7-й и 8-й ноге микросхемы появляются пачки импульсов. На 11, 12, 13 - импульсы внутреннего генератора (5,5мкс, 7мкс и 11,5мкс, соответственно).

        *** Схема, в данном случае, не имеет значения! Поэтому и не "снималась". Если есть желание, то "христоматию" по простейшим схемам радиуправления Вы можете посмотреть на members.shaw.ca (только схемы, нарисованы "от руки", минимум комментариев), плюс, на том же сайте для TX-2B. Оригинал документации - TX2/RX2 (PDF) с сайта hlec.com.cn   То же, только от компании Realtek RX2/TX2 или от PT (Pericom Tech. PT8A977P,PT977W,PT978P,PT978LW, PT8A978BP). И простейшая схема на TX2, которую легко повторить и не требующая настройки - здесь.

  Решено было проверить, что из себя представляет кодировочная последовательность и можно ли ее легко сэмулировать, скажем, с помощью внешнего микроконтроллера.

  Дальше, осциллограммы с выхода микросхемы / входа модулятора, снятые с помощью бесплатной программы VA (Visual Analyser).

  Нажата кнопка "Ход Вперед". 4-ре импульса синхронизации и 10 импульсов команды. Ширина импульса синхронизации - 1,053 мс, остальных - 0,35 мс. Интервал - 0,35 мс.


  "Ход назад". 4-ре синхро импульса, 40 импульсов команды.

  "Поворот, лево". 4-ре синхро, 58 - команды.

  "Поворот, право". 4-ре синхро, 64 - команды.

  Надо сказать, что это одна из самых простых цифровых кодировок. Ее очень просто повторить с помощью микроконтроллера.



  Верхняя осциллограмма показывает то, что приходит с микроконтроллера. Нижняя - сигнал с пульта радиоуправления. То же на фотографии ниже.


  Мой микроконтроллер формирует импульсы кратные 0,5 мсек. В оригинальном контроллере радиоуправляемой игрушки все импульсы кратны 0,75 мсек. Это легко посчитать по делениям на осциллограмме.

  Если в руках оказалась плата ARDUINO или MSP430, то можно так же просто передавать команды по одному проводу. Идея программы будет приблизительно такая (задержку 1500 и 500 надо подобрать):

void setup()
{     pinMode(1, OUTPUT);     }
void loop()
{      for(int i=0; i<=3; i++) // 4 pulses, ~1KHz, 75% duty cycle
  {     digitalWrite(1, HIGH);
        delayMicroseconds(1500);
        digitalWrite(1, LOW);
        delayMicroseconds(500);      }
 for(int i=0; i<10; i++) // 10 pulses, 50% duty cycle
  {     digitalWrite(1, HIGH);
        delayMicroseconds(500);
        digitalWrite(1, LOW);
        delayMicroseconds(500);      }     }


  Остается вместо 10 подставить переменную, со значениями 4, 10(F), 16, 22, 28(FL), 34(FR), 40(B), 46(BL), 52(BR), 58(L), 64(R) и наблюдать как игрушка двигается в разных направлениях.

  Я не сильный любитель Arduino, поэтому у меня работает MSP430 от TI. Короткое описание и программу Вы найдете на этой странице. И то же, только IR версия, с несущей 38kHz.

  Интересно, конечно, наблюдать как игрушка реагирует на команды, но ловить ее по всей квартире и возвращать в центр комнаты - занятие еще то. Поэтому, очень полезный тестер, который показывает какие команды активны.

  Опять же, ничего особенного. Радиоприемник с декодером извлечен из разбитой игрушки и вместо двигателей подключены двух-цветные светодиоды (через 100 Омные резисторы, конечно). Они показывают какой двигатель включен и в каком направлении.

  К сожалению, не все кодировки такие простые.

   ---------------------------------------------------------------------------------------------------

/*  Для примера, следующие осциллограммы показывают как работает более "продвинутое" радиоуправление. Основано на микросхеме кодера TS-6. В нем есть "Ход Вперед, скорость 1" и "Ход вперед, скорость 2". Остальные диаграммы - "ход назад", "влево", "вправо".

     

    

  

   Можно растянуть последнюю осциллограмму по времени. И еще, немного, растянуть до 7,5 мс.

  Конечно, если долго рассматривать последние осциллограммы, то можно найти какую то закономерность. Но это больше похоже на "медитирование". Проще скачать datasheet_TX6C_RX6C_new.pdf , от того же производителя, и не мучаться. В 5-й версии этой микросхемы кодировка та же, только добавлены две команды F3 и F4 (для примера - TX5 ATS305T/RX5 ATS305R.pdf).

  Кстати, последнее радиуправление выглядело так (кодер TS-6, J4G3R  и кварц на 27,145 МГц).

  Система кодировки снована на передаче 0-й и 1-ц, которые кодируются по разному. На выходе получается многобитная последовательность, где есть начало, команда, четность и конец. Это, хоть и плохо, но описано в документе TX5/RX5.pdf.

  Еще одна кодировка описана здесь. Она хоть и редкая, но позволяет управлять тремя электродвигателями одновременно.  Ссылки на кодировку для вертолетов - в конце страницы.

   ---------------------------------------------------------------------------------------------------

  Но вернемся к первому радиоуправлению. Что будет если одновременно передавать две команды. К примеру вперед и влево? В этом случае передается комбинационная команда. На осциллограммах последовательно показаны "Вперед, Лево", "Вперед, Право", "Назад, Лево" и "Назад, Право".

  "Вперед, Лево" 4+28 импульсов.

  "Вперед, Право" 4+34 импульса.

   "Назад, Лево" 4+52 импульса.

  "Назад, Право" 4+46 импульсов.

  Судя по всему, в микросхему заложена возможность кодировать бОльшее число комбинаций. Но и этого достаточно.

  *** Если Вы не такой ленивый как я, то Вы уже прочитали документацию на TX2/RX2 (ссылка в начале страницы) и знаете, что в микросхему заложен дополнительный режим "Турбо". ***

 

  Так, в качестве "практической работы"

  Необходимо "подружить" такую радиоуправляемую игрушку, с пультом, который на фотогафии под ней. Оба на 27МГц.

  Конечно они из разных комплектов, и конечно, не работают вместе. Пока еще не работают.


  В середине декодер, PT8A978BP. Быстрый взгляд в даташит, Pericom Tech. PT8A977P,PT977W,PT978P,PT978LW, PT8A978BP). показал, что это микросхема аналогична комплекту RX2/TX2 по системе команд и всему остальному.

  К счастью, в пульте дистанционного управления оказалась TX2.
  

  Если комплект аналогичных микросхем не работает вместе, то на это должна быть причина. И она в резисторе, который задает частату тактового генератора. Последний должен быть одинаковым в приемнике и передатчике.


  На плате передатчика, слева от микросхемы, уже припаян (мной) подстроечный резистор 250 кОм (паралельно оригинальному R7, 220 кОм). Остается "выгнать" общее сопротивление до 100 кОм.

  На этом переделки заканчиваются. Пульт с TX2 начинает работать с декодером 8A978. Команды правильно декодируются  и игрушка оживает.


  Зачем все это?

  Дело в том, что радиоуправляемые игрушки - уникальный материал для всевозможных приводов. Будь это система слежения за солнцем или автомат открывающий вентиляционные окна в теплице. В данном случае можно использовать приводы и совершенно не задумываться о том, как все устроено, в середине. Какие драйвера, мосты, усилители, согласование, мощность, как это управляется и как к этому подключиться. Просто сигнал с микроконтроллера подается на модулятор и по радиоканалу - в игрушку. Остальные проблемы решает система радиоуправления, самостоятельно. И с микроконтроллером получается очень удобно. Используются только два выхода. Один на включение питания модулятора (передатчика), второй - кодирующая последовательность. Конечно, при этом необходимо "питать" приемник и передатчик. Но чего стоят потери миллиампер (0,5 мА приемник и 10 мА передатчик), когда система управляет моторами, которые потребляют сотни миллиампер?

  Рекомендую. Очень удобно : )



   И последне, для любознательный, или как говорил мой папа - для эстетического разнообразия. На следующих страницах сверх-короткое описание IR пультов управления для разных игрушек, которые попадали мне в руки. Ничего сложного. На английском, так сложилось.

rc-toy1 -> то же самое, что здесь для TX2/RX2, только коротко;
rc-toy2 -> "Battle Tank";
rc-toy3 -> Turbo Hawk helicopter, 'PROTOCOL';
rc-toy4 -> 'Silver Bullet' helicopter from Brookstone;
rc-toy5 -> Gyro helicopter;
rc-toy6 -> 'Blach Spider XT' helicopter;
rc-toy7 -> 'Propel' helicopter;
rc-toy10 -> Remote on MSP430F2011 (encoding TX2/RX2);
rc-toy11 -> The same as rc-toy10, but for IR transmitter.
etc.


  P.S. Данные о кодировочной последовательности, полученные методом "Обратного Инженерного Подхода" (Reverse Engineering) немного отличаются от документации производителя!!!



12.2013 / 04.2018 / 12.2019 / 24.12.2019  SKootS

_

 
 

Make a free website with Yola