naza2frsky - адаптер смартпорта для FrSky за 3$
Есть такой замечательный проект адаптера naza под S.Port FrSky как NazaToFrSky code.google.com/p/nazatofrsky/ Все хорошо но в качестве адаптера используется не дешевая плата Teensy 3.1 Родилась идея адаптировать код под Ардуинку, например самую дешевую Arduino Mini Pro. Сказано - сделано:
Работает только в новом режиме телеметрии D16, со старыми приемниками серии D использовать не получится. Еще было опасение потянет ли “грибок” назы аж три устройства: саму назу, minnazaOSD и naza2frsky, как позже показала практика - тянет.
В данный момент пишется:
Координаты GPS, высота GPS, количество спутников (в ячейку Current), курс по магнитному компасу. Должна писаться скорость, но это пока не проверено. То что мы хотим видеть на экране аппы указываем в компаньоне:
Кроме того, мне всегда интересно что творится с моторами у назы в полете, поэтому сделал 4 входа на которые можно подать PWM сигнал, ячейки в которые пишутся соответствующие уровни обозначены синим на рисунке выше. На основе логов теперь можно рисовать в Excel вот такие картинки:
Видно что передние моторы недогружены, что не удивительно учитывая снятый подвес спереди 😃
Но, конечно, самое основное это GPS координаты. Благо компаньон теперь поддерживает переход в GoogleEarth:
Соответственно можно разглядывать свои закарлюки на спутниковых картах, это то чем могли похвастаться АРМовцы, но не могли назаводы:
В принципе этот адаптер можно использовать не только как адаптер для назы, но и как универсальный под любой контроллер (нет смысла для АРМ т.к. там уже есть свой шикарный проект diydrones.com/…/amp-to-frsky-x8r-sport-converter) В экспериментальных целях добавил 3 аналоговых входа, ячейки AccX, AccY, AccZ - проверил, работает. В итоговой прошивке отключил, т.к. мне без надобности, но включить в исходнике проблем нет, нужно расскоментарить 3 строчки
В принципе еще есть над чем поработать, разобраться со скоростью, климбом (должен писаться но почему-то не пишется), добавить дату и время по GPS и т.д. Так что подключайтесь, исходники (и готовую прошивку) прилагаю. Хотя и в таком виде работает, правда в связи с нелетной погодой удалось сделать только один пробный вылет 😃 Так что большой статистики пока нет, да и таранису моему аж 3 дня
простите за тупой вопрос. т.е. сей девайс можно вешать на серийный порт контроллера и получать телеметрию на пульт? тогда может можно еще сдеато выход под мониторинг напряжения ходовой батареи?
простите за тупой вопрос. т.е. сей девайс можно вешать на серийный порт контроллера и получать телеметрию на пульт? тогда может можно еще сдеато выход под мониторинг напряжения ходовой батареи?
Я бы сказал даже нужно. Через делитель легко оцифровывается и передается.
Так же неплохо бы подумать как передать емкость батареи.
С учетом, что у ардуины при этом остается много свободной периферии, можно еще что то из датчиков прицепить.
Хорошая штука… Вот если бы кто такую к другим приемникам прикрутил… Не у всех же таранис…)
адаптер по идее должен работать с любым приемником с новой телеметрией D16 (целых три штуки пока есть X8R, X6R, X4R), на какую аппу передавать в принципе все равно. Просто на таранисе все удобно и понятно
По поводу датчиков - напряжения, тока и т.д. Написал же что опробовал три аналоговых входа ардуинки - все работает. Естественно пишет уровни, чтобы пересчитать в понятное напряжение нужно добавить математику (одну строчку) или на передаче или на приеме, можно пересчитывать уровни в реальные значения уже в аппе, тот же таранис lua скрипты поддерживает
на какую аппу передавать в принципе все равно
Я имел ввиду приемники не Фрскай вообще, у меня, к примеру, 2 футабовских телеметрийных приемника есть… И аж 6 страниц телеметрии в аппе можно назначить… )
адаптер по идее должен работать с любым приемником с новой телеметрией D16 (целых три штуки пока есть X8R, X6R, X4R), на какую аппу передавать в принципе все равно. Просто на таранисе все удобно и понятно
Видимо автор сообщения имел в виду передатчик.
По поводу доп датчиков, я вот думаю компас поставить, или компас есть в Назе? И он отдает данные с него по телеметрии?
И еще если хотите мерить напряжение аккума, на котором висит сама ардуина через стаб, нужно в скетче включить опорное напряжение.
ну извините ребята нету у меня футабы, чем богаты как говорится 😃
По поводу доп датчиков, я вот думаю компас поставить, или компас есть в Назе? И он отдает данные с него по телеметрии?
написал же
В данный момент пишется:
Координаты GPS, высота GPS, количество спутников (в ячейку Current), курс по магнитному компасу.
И еще если хотите мерить напряжение аккума, на котором висит сама ардуина через стаб, нужно в скетче включить опорное напряжение.
фишка то в чем, взять ардуинку за 3$ и сделать то что ты сам хочешь! Самое ценное из того что уже готово это передача данных в смартпорт. А что вы будете передавать, ограничение только в вашей фантазии, по сути я то предложил не готовое коммерческое устройство, а набор сделай сам 😃
фишка то в чем, взять ардуинку за 3$ и сделать то что ты сам хочешь!
Это воотще уникальная ценность ардуины. Потратил 3$ и открыл для себя целый мир)
А что вы будете передавать, ограничение только в вашей фантазии
Собственно этим и занимаюсь)))
Но если честно - очень трудно себе представить чего еще летательному аппарату не хватает)) Может быть маленького 3д принтера?)
А если серьезно, хотелось бы кодключаится к CAN-у, чтобы получать данные от Назы по ее ошибкам и дешифровывать их голосом самого тарансиса. Но к сожалению у 328p только один UART, а софтварно данные на 115200 не разобрать.
А если серьезно, хотелось бы кодключаится к CAN-у, чтобы получать данные от Назы по ее ошибкам и дешифровывать их голосом самого тарансиса. Но к сожалению у 328p только один UART, а софтварно данные на 115200 не разобрать.
ну так бери не с “грибка” а прямо с CAN шины, UART хоть и один но ни кто не заставляет брать и оттуда и оттуда одновременно. Протокол CAN шины практически сломан www.rcgroups.com/forums/showthread.php?t=2071772
единственное что нужно еще это CAN трансивер, что несколько усложняет жизнь и удорожает решение
единственное что нужно еще это CAN трансивер, что несколько усложняет жизнь и удорожает решение
Ну на ali SN65HVD232Q продают 10шт по 600р ( по одной не хотят ), 600р по мне так не слишком большая цена за такой функционал.
Можно с кем нибудь из Питера скооперироваться взять 50/50.
если честно, меня в первую очередь интересовал трек с GPS координатами, плюс крайние зафиксированные координаты на экране аппы, в первую очередь как страховка при попытке улета в Китай 😃 С режимами работы назы как-то и по светодиодам сориентируюсь на OSD 😉
Меня тоже больше GPS волнует.
А данные по режимам назы отображаются на iOSDmini? Я что то не заметил.
я в первом посте писал что использую minnazaOSD rcopen.com/forum/f123/topic340007 Там полетные режимы (и частично ошибки) отображаются на экран по светодиодам, пыхи светодиодов дублируются на экран тоже. Конечно это способ так себе, но зато все что нужно это 3 резистора 😃
Ну у меня уже есть iOSDmini… выкидывать ее как то жалко. Да и к тому же я по очкам летаю, а если на них всякий избыток информации выводить - плохо видно. Вместо изображения с камеры сообщения рассматривать))
Удобней по мне так, чтобы таранис их голосом проговаривала. Так что наверно после того как реализую Ваш проект, буду потихоньку ближе к CAN-у подбираться)))
А пока можно прилепить RGB-сенсор к назовской мигалке и интерпритировать ее ардуиной. Тоже конечно колхоз… но…
А пока можно прилепить RGB-сенсор к назовской мигалке и интерпритировать ее ардуиной. Тоже конечно колхоз… но…
ну я как бы намекаю, что в опенсорсной minnazaosd есть готовая библиотека NazaLed которая занимается декодированием этих пыхов. Прикручивайте эту библиотеку к naza2frsky и заставляйте говорит ваш таранис, если есть такое желание 😉 Всего то нужно - три резистора
Обновил naza2frsky По сравнению с первой версией сделано много изменений:
- оптимизирован диалог по смартпорту, теперь адаптер отвечает только на то что его спрашивают
- оптимизирована обработка данных от назы, ранее были замечены замирания в обработке данных которые лечились только перезагрузкой, надеюсь баг в прошлом
- в лог пишется дата и время по GPS
- добавил сглаживание PWM входов
- самое интересное, разобрался со входами А2, А3, А4. Фактически открыта дверь для подключения аналоговых датчиков (любых). Теперь вместо количества спутников в ячейку current пишется статус GPS в ячейку А2. Статус = кол-во*спутников + тип фиксации, например статус 83 значит что наза видит 8 спутников, тип фиксации 3D
Обновил naza2frsky
Что бы не было бардака, советую добавить куда-нибудь номер версии.
Либо рядом файлик положить типа ридми.тхт, или в ino вшить в шапку.
А то в naza2frsky.ino есть версия, но она как была 0.1 так и осталась.
В README.md вообще ничего.