MultiWii + Futaba T14SG + S.Bus + приёмник RFASB

Или как подружить приёмник RFASB с MultiWii по шине S.BUS

В один прекрасный момент подарил себе на ДР аппаратуру Futaba T14SG, хоть и б/у, но я доволен как слон 😃
Немного пасты ГОИ и все потёртости с экрана как “рукой” сняло. Многие скажут, мол это не современно. Но, во-первых, я не гонюсь за модой, во-вторых, ограничен в средствах и, в-третьих, эта аппаратура достойный и гибкий вариант. Но опять же возразят: “Таранка - и будет тебе счастье”. Да, соглашусь, вариант очень интересный и сам рассматривал Таранку как вариант. Но есть одно большое “НО”. От Futaba T7C FASST у меня остались 5 родных приёмников (Futaba R617FS), а T14SG их “кушает” с большим удовольствием. Соответственно для большинства моих проектов (самолёты, вертолёты) 7-и каналов хватает за глаза. Поэтому и остановился на T14SG.
Это всё лирика, а теперь ближе к делу 😃
Так вот для двух проектов было докуплено два приёмника:

  1. FrSky TFR8SB + расширитель ШИМ (PWM) через порт S.BUS = 12 каналов - для бензинового Як-54 (это не рассматриваем).
  2. Cooltec (Tarot) RFASB = только порт S.BUS - для коптера “Х” на старом, но интересном контроллере CRIUS AIO PRO v.1.0 с программным обеспечением MultiWii v.2.4 - так вот об этой спарке и пойдёт речь.

Спросив у дядек Яндекс и Гугл о настройке и объединении Вия с этим приёмником (Cooltec RFASB-) ничего внятного особо не нашёл.

Ну и начал сам ковырять:

В config.h нашёл следующие строки, включающие S.BUS:

    /*******************************    SBUS RECIVER    ************************************/
      /* The following line apply only for Futaba S-Bus Receiver on MEGA boards or PROMICRO boards.
         You have to invert the S-Bus-Serial Signal e.g. with a Hex-Inverter like IC SN74 LS 04 */
      //#define SBUS     PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11,12,13,14,15,16,17  // dsm2 orangerx
      //#define SBUS     ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11,12,13,14,15,16,17  // T14SG
      //#define RX_SERIAL_PORT 1
      //#define SBUS_MID_OFFSET 988 //SBUS Mid-Point at 1500

В подсказке говориться, что данные строки для шины S.BUS работают только на платах MEGA и PROMICRO и для подключения шины S.BUS приёмника к последовательному порту контроллера требуется инвертор, например, шестнадцатеричный инвертор (Hex-Inverter) SN74LS04.
У себя в закромах, на какой-то плате-доноре нашёл аж 3 штуки шестнадцатеричных инвертора M74HC14B1R (74HC14) как раз в корпусе DIP для удобной пайки “на коленке” напрямую к выводам микросхемы (заметка: по техдокументации для этого чипа рекомендованное напряжение 2-6В, max - 7В). В этом чипе как и в предлагаемом SN74LS04 имеется аж 6 штук инверторов, нам нужен только один 😃. Выпаял чип, разрезал удлинитель серво и припаял каждый разъём к нужному выводу чипа по следующей схеме:

Упрощённая схема:

Провода питания припаял следующем образом, GND чёрный (коричневый) на вывод 7 (GND) чипа; +5V красный на вывод чипа 14 (VCC). Сигнальные провода так: от разъёма “папа”, куда подключаем шину S.BUS приёмника, к выводу 1 микросхемы (INPUT 1A), а от разъёма “мама”, который идёт в контроллер на последовательный порт (RX1), к выводу 2 микросхемы (OUTPUT 1Y).
Лишние ножки у чипа откусил и всё это дело залил “горячими соплями”. Потом ещё термоусадкой обтяну.
Выглядит всё это дело так:

И близко - так:

Далее в config.h для Futaba раскомментируем следующие 3 строки:

    /*******************************    SBUS RECIVER    ************************************/
      /* The following line apply only for Futaba S-Bus Receiver on MEGA boards or PROMICRO boards.
         You have to invert the S-Bus-Serial Signal e.g. with a Hex-Inverter like IC SN74 LS 04 */
      //#define SBUS     PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,AUX3,AUX4,8,9,10,11,12,13,14,15,16,17  // dsm2 orangerx
#define SBUS     ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11,12,13,14,15,16,17  // T14SG
#define RX_SERIAL_PORT 1
#define SBUS_MID_OFFSET 988 //SBUS Mid-Point at 1500

“Заливаем”, подключаем и вуаля…счастье есть - работает как часы - сигнал за стиком каждого канала идёт без рывков и задержек.

Натыкался на вариантздесь) инвертора на транзисторе NPN, например, BC547b, КТ3102Б, BC337 и другие аналоги. Не делал, не проверял. Сделал, проверил - работает. Мне оказалось проще сделать на hex-inverter, да и автор Вия предлагает именно чип.
З.Ы. В комментарии Константин подтверждает вариант на транзисторе. Так что выбирать самим кому что. Работают два варианта и на hex-inverter, и на транзисторе и паре резисторов.

  • 1093
Comments
kostya-tin

ИМХО целый микроконтроллер брать под один инвертер - перебор. достоточно было бы 1 транзистора и 2х резюков. сам когда-то так делал на multiwii, еще несколько инвертеров, теперь с запасом, когда надо еще кула-то их прикрутить, даже не думаешь из чего их делать

Watson79

Согласен, что перебор, но есть нюанс 😃
Сам собирался делать на транзисторе, его под рукой не оказалось и нужного номинала сопротивления, на первой попавшейся плате-доноре, искал нужный резюк, но не нашёл, за то было аж 3 штуки 74hc14 и если рыться глубже, наверняка у меня их с 2 десятка будет, поэтому, забив на резюки, сваял на чипе 😃