FPV+джойстик – дешево и сердито или "Самоделкины - объединяйтесь!":)

Tahorg

Мда. Не, правда: любая LRS + STM32F407 плата за 30 баксов - кастомизируется как незнаю что и любая, притом надежная, ЛРС на выбор … но … даешь непойми что за 175 баксов с закрытой архитектурой и непойми каким радиотрактом. Круть.

evgeny_online:

Интересно реализована ли возможность устанавливать значение той или иной кнопки на джойстике.
Т.е. можно ли конкретную кнопку привязать на канал к примеру #5 со значением 1200 ms.
А потом ещё одну кнопку на тот же канал только со значением 1500 ms

А вот у меня можно. Хоть кнопку, хоть триммер, хоть что. Можно сделать что пока держишь кнопку - одно значение, отпустил - другое. А можно хатки привязывать, а … вобщем много что можно. И все это за жуткие 30 баксов, хотя, коненчо не упаковано в красявую коробку.

evgeny_online
Tahorg:


А вот у меня можно. Хоть кнопку, хоть триммер, хоть что. Можно сделать что пока держишь кнопку - одно значение, отпустил - другое. А можно хатки привязывать, а … вобщем много что можно. И все это за жуткие 30 баксов, хотя, коненчо не упаковано в красявую коробку.

А можно по подробней про Ваше устройство для возможного повторения.

Толян1
Tahorg:

А вот у меня можно. Хоть кнопку, хоть триммер, хоть что. Можно сделать что пока держишь кнопку - одно значение, отпустил - другое. А можно хатки привязывать, а … вобщем много что можно. И все это за жуткие 30 баксов, хотя, коненчо не упаковано в красявую коробку.

А можно ссылочку на Ваше готовое чудо устройство ?

Tahorg

Тут описано: rcopen.com/forum/f90/topic331851

Я полетал пару месяцев уже на сетапе из ардуино мега, и решил все переделать под STM32 - были с мегой некоторые проблемы, которых с кортексом М4 нет.

Железо - сейчас я отлаживаю версию под STM32 под родной STM32F4Discovery платой. В поле будет плата от www.wvshare.com

Рабочий сетап такой:

плата микроконтроллера: www.wvshare.com/product/Port407V.htm $29

экранчик к ней: www.wvshare.com/product/LCD1602-3.3V-yellow.htm $4

если нет FTDI програматора в хозяйстве : www.wvshare.com/…/FT232-USB-UART-Board-mini.htm $6

ну и для хранения состояний и тримеров : www.wvshare.com/product/AT24CXX-EEPROM-Board.htm $4

Пачка проводов, лучше 2 пачки.

Альтернативы:

можно ФРАМ память вместо EEPROM: www.wvshare.com/product/FM24CXX-FRAM-Board.htm $5 - но я пока жду эту память, с ней не работал. Если будет то, что я думаю, буду рекомендовать ее вместо eeprom. Она и быстрее и надежнее.

Можно I2C драйвер к экрану вместо пучка проводов паралельного интерфесв - 3$ и паяльник, или готовый 16*2 I2C экран.

Можно сэкономить и взять плату за 24 бакса, но там непотятно как ее в коробочку крепить.

Вот примерно так по железу.

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

Ближайшие планы - дособрать до первой летающей версии под СТМ, тогда смогу выложить программу и прошивку. После чего буду добивать функционал. Были планы сделать все еще и на дешевой кортекс М3 плате, но 5 долларов экономии и столько проблем с поддержкой кода под 2 микроконтроллера, что я пока забил.

А, да - я летаю с ретранслятором. Жарко под нашим солнцем на открытой местности сидеть, приходиться в тени прятаться - так что у меня еще
wvshare.com/…/Bluetooth-Master-UART-Board.htm
www.wvshare.com/…/Bluetooth-Slave-UART-Board.htm
и Arduino Pro Mini 328 - 3.3V/8MHz для генерации PPM на ретрансляторе, который стоит в поле метрах а 15-20 от меня. Хотя это и дает небольшую задержку, до 50мс … но это уже на любителя.

Tahorg

Ну ретранслятор всегда дает задержку. Хотя 50 - это я, пожалуй совсем загнул. Задержка самого ретранслятора 15-25мс, ну и еще задержка генерации ППМ - поскольку без буфферизации - то пусть будет полфрейма, т.е. еще 15мс. На самом деле, мёчта, если бы дорогие производители LRS предоставили еще какой протокол для запихивания данных - ну хоть тот-же I2C. Чтоб не заниматься фигней по кодированию/декодированию ППМ.

cstrike
Tahorg:

На самом деле, мёчта, если бы дорогие производители LRS предоставили еще какой протокол для запихивания данных - ну хоть тот-же I2C. Чтоб не заниматься фигней по кодированию/декодированию ППМ.

вы знакомы с lrs 1slon?

Tahorg

Собственно на ней я и летал, пока не перешел на EzUFH.

r1000

Есть такое чудо китайско-российского электропрома, как джойстик Defender Cobra M5 с офигенными характеристиками и очень приятной ценой. У него есть два плюса для управления FPV:

  1. Он на магниторезисторах (это как холлы, но меняют сопротивление не от напряженности магнитного поля, а от ориентации, а по сему нет проблем с нелинейностью)
  2. Китайцы сэкономили на полноценном контроллере с USB и сделали плату на V-USB
    Соответственно сменив прошивку, мы можем по каналу D+ гнать PPM, когда нужно, а D- оставить незадействованным, а питание и землю оставить для питания и земли.
    В идеале вообще совместить прошивки и на свободную ногу навесить переключатель USB|PPM.

Этими экспериментами я сегодня и займусь, а по результату - отпишусь 😃

Tahorg

Проблема генерации ППМ гораздо шире, чем кажется. Закодировать канал джойстика в ППМ проблем нет. Проблема настает, когда нужны микшеры, режимы, назанчения кнопок, двойные расходы, асиметричные отклонения элеронов и прочая - вот где самый смак то. Зашивать все это внутрь одного, конкретного джойстика - ну можно …

r1000

Беглый осмотр Cobra M5 показал следующее:

  1. Atmega8A прошивается (чип не залочен), выведены контакты ISP разъема
  2. Есть свободные ножки
  3. Все платы односторонние
  4. Магниторезисторы KMZ41 подключенные через операционные усилители MCP601 на аналоговые входы (для осей крена и тангажа)
  5. Обычные переменные резисторы для осей рыскания и тяги, подключены на аналоговые входы
  6. 5 кнопок без фиксации, одна четырехпозиционная хатка и одна восьмипозиционная, один трехрежимный переключатель. Подключены через два сдвиговых регистра HCF4021B на SPI контакты (визуально, пока не прозванивал), возможно он используется для генерации тактов и получения значений)

SGordon

Может с разрабами кобры скорефанится? www.vkb-pro.ru Или вы и так в курсе всего?

r1000
SGordon:

Может с разрабами кобры скорефанится? www.vkb-pro.ru Или вы и так в курсе всего?

Они активно продвигают свой Апгрейд для этого джойстика, но по достаточно негуманной цене (за электронику), так что вряд ли возьмутся за доработки.

Tahorg:

Проблема генерации ППМ гораздо шире, чем кажется. Закодировать канал джойстика в ППМ проблем нет. Проблема настает, когда нужны микшеры, режимы, назанчения кнопок, двойные расходы, асиметричные отклонения элеронов и прочая - вот где самый смак то. Зашивать все это внутрь одного, конкретного джойстика - ну можно …

Так как я хотел бы, чтобы использование паяльника было минимальным, а настройки микшеров/расходов/экспонент/прочего очевидно нужны, для начала я попробую организовать следующий алгоритм:
при подаче питания на джойстик, если одна из кнопок зажата - инициализируем PPM на Data+, в противном случае - USB. За основу я возьму код MMJoy для режима работы USB и получения настроек от хоста (с компьютера или, кстати, Android смартфона), алгоритм использования кнопок для управления расходами, триммирования и прочего опишу чуть позже - нужно до конца в голове разрисовать. Смысл в том, что управление всем, кроме микшеров должно быть возможно осуществлять и в полете. Но, так же (плюс микшерами) - с помощью компьютера/телефона. Завтра займусь софтварно-хардварными экспериментами, отпишусь о результатах и постараюсь описать видимый мной алгоритм задействования кнопок, дабы вы покритиковали и возможно посоветовали.

PS. Очень сильно меня подкупает вариант использования телефона как экрана и инструмента управления параллельно с PPM выходом. Но о подобной реализации я задумаюсь в версии 0.2 (-:

r1000

Все сильно усложняется - чип рядом с KMZ41 не гуглится и не ищется. Это очень печально. Пробую пока разобраться с сигналом, какой отдается, без даташита (

r1000

Дела обстоят так:

  • отдается результ не ШИМовый, а какой-то непонятный.
  • разводка не совпадает с разводкой для классических операционных усилителей/компараторов
  • разводка полностью подходит под SO-8 Attiny
  • в их линейке есть модели с “2 Differential ADC Channel Pairs with Programmable Gain (1x, 20x)” - 25/45/85
  • разводка точно подпадает под использование вышеобозначенного функционала
  • на плате есть контактные площадки, явно для прошивки

Из плохого - ResetPin используется в такой схеме как один из аналоговых входов. Т.е. по ISP подлючится не получилось.
Из хорошего - FuseBitDoctor легко паяется, чем я и собираюсь заняться в ближайшее время.
Из страшного - некоторые конторы пережигают одну незадействованную ножку, используемую при прошивке. Таким образом они гарантированно сжигают возможность прочесть прошивку. Очень надеюсь что в данном случае это не так.

Если понять принцип формирования сигнала оси не удасться - безпаячная модификация будет не возможна 😦

Tahorg

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

Толян1
Толян1:

Заказал на пробу …жду))

Пришел ко мне сей девайс. Вчера воткнул в него Logitech Extreme 3D Pro, и он не увиделся.
Завтра попробую воткнуть вот этот Thrustmaster T.16000M он вроде у них на рекламном видео есть.
может у кого есть на пробу один из поддерживаемых джойстиков ?

Logitech F510, Saitek X52/X52 Pro, Saitek CYBORG V.1 STICK,

Saitek CYBORG X, Saitek Fly5, DELONG 303

casper17
Толян1:

Пришел ко мне сей девайс.

ура! все в предвкушении

Толян1

С Thrustmaster T.16000M работает)))) по функцианалу отпишусь позже.

Tahorg

Запустил, наконец, я все это дело на STM32F4Discovery. Еще пару дней на отладку всех блоков и попробую собрать рабочий вариант устройства на Port407, но за исключением проблем небольших с сборочным файлом трудностей там не вижу. Пока все работает, сервами крутит. Еще, правда, ретранслятор не подключил, по куда ему деваться.