naza2frsky - адаптер смартпорта для FrSky за 3$

Sorcer
Мельник:

У меня именно так называются,как на правом скрине.А Mot-такого вообще не видел((

Мот - это из этого сообщения, пытаюсь по нему сделать. Там скорее всего версия старее
rcopen.com/forum/f123/topic386079/321

alezz

Mot я руками переименовывал (и задавал типы), чтобы не запутаться где какой мотор. Хотя если провода на регуляторы не запаяны толку от этих датчиков нет. GPS возможно не видит потому что не было фиксации позиции?

Sorcer
alezz:

GPS возможно не видит потому что не было фиксации позиции?

Делал и калибровку и ждал пока дом сохранится. Сборку брал эту - naza2frsky_v05_nmea из #388. Gps такой - G2 M8N HMC5983 (хотя я думаю не принципиально это…)
Провода под усадкой уже, как нибуть можно проверить что с Гпс-а доходит сигнал? Синий лед моргает с очень большой частотой, практически горит, но видно мерцание…

alezz
Sorcer:

Делал и калибровку и ждал пока дом сохранится. Сборку брал эту - naza2frsky_v05_nmea

так а чего nmea, если твой модуль сделан специально для назы и работает по протоколу DJI?

Sorcer
alezz:

так а чего nmea, если твой модуль сделан специально для назы и работает по протоколу DJI?

Прозвонил провода - всё ок.

Ну написано что разницы нет, с предыдущей версией… или это вообще для amp ?

Значит дело в прошивке. Зачем тогда называть naza2frsky, если это как я понял amp2frsky 😃
Мне просто показалось, что там добавлена какая то доп. фишка, кто пользует этот протокол(на каких либо других датчиках и т.п.), а остальное тоже самое идёт…

UPD: стал работать компас с прошивкой из #296. Но всё равно нет GPS, Galt, Gspd…

alezz

ох, устал. Для АРМ это вообще отдельная история, а вот naza2frsky может работать либо по протоколу NMEA (с практически любыми GPS модулями), либо DJI (только с модулями naza), либо UBX (с любыми модулями uBlox). С модулей наза можно снимать данные как по протоколу UBX (нужно вскрывать модуль, паять проводок к площадке) так и по протоколу DJI (ничего вскрывать не нужно, рекомендованный метод т.к. только так получаются данные с компаса). Все это описывалось 10 раз, все это делается в одном и том же скетче naza2frsky простым редактированием файла config.h

Если данные с компаса пошли, значит с gps тоже скорее всего пойдут, нужно дождатся фиксации

Sorcer
alezz:

Если данные с компаса пошли, значит с gps тоже скорее всего пойдут, нужно дождатся фиксации

Так и есть, было 3 красных на леде. Пробовал в разных комнатах - не находились. В спальне словил видно больше спутников и показал 800/820/830-ые сенсоры…

Sorcer

А это нормально что Alt стоя на полу за 30мин в -500 уехал?

alezz

Да. Претензии не к naza2frsky, а к данным которые идут с gps модуля. В поле будет точнее

andry=

То есть получается секунды остаются в формате тысячных. Кто может подсказать-как это исправить???

В настройке навитела есть возможность менять формат отображения координат. один из них подходит.

14 days later
Sorcer
alezz:

я с minnazaosd (элементная база та же, код похожий) использую такой www.ebay.com/itm/Current-Sens...0AAMXQVT9St7Aq

Подскажите как его подключали? (Если можно или описание на его каналы, или схемку, или просто скажите откуда забирать сигнал?)
Я так понимаю с него возможно и силу тока брать…(если в разрыв подключиться…)

alezz
Sorcer:

Подскажите как его подключали? (Если можно или описание на его каналы, или схемку, или просто скажите откуда забирать сигнал?)
Я так понимаю с него возможно и силу тока брать…(если в разрыв подключиться…)

  1. Припаиваете выход любого аналогового датчика (напряжения, тока, температуры, влажности воздуха и т.д. и т.п) к любому свободному входу ардуинки (например А3, А4).
  2. В скетче раскомментариваете (ниже зачеркнуто) соответствующую строчку:
	              case 6:
	                //FrSkySPort_SendPackage(FR_ID_A3_FIRST,analogRead(A3));
	              break;
	              case 7:
                        //FrSkySPort_SendPackage(FR_ID_A4_FIRST, analogRead(A4));
	              break;

компилируете скетч и заливаете в ардуинку
3. Калибруете полученные в каналах А3, А4 данные, задаете еденицы измерения на вкладке “Телеметрия” в таранисе

Sorcer

Спасибо, но это я всё понял уже.
Не совсем ясно где именно на этой плате выход аналоговый на вольтаж, силу тока… Вы писали что подключали к minnazaosd. Где эту информацию брали что откуда выхоит из датчика?
6 проводов, снизу почему то 4 площадки…
i.imgur.com/qP4OrEr.png

пс: Пишут Max current sensing: 90A -… странно, а для 100А шунты смотрел, так там размер гораздо больше…

alezz
Sorcer:

ну все же подписано: I - выход датчика тока, U - выход датчика напряжения, GND - земля

Sorcer

Спасиб, я вот это искал. Только у этой модели зеркально

Sorcer
alezz:

т.к. аналоговых входов у нас четыре, но А1 железно занят под напряжение приемника, а А2 под статус GPS (хотя можно освободить при желании). Остаются только два входа А3 и А4

А почему нельзя использовать А5-А7…? тем более что А4 в этом же ряде стоит?

А0 тоже получается занята? Нумерация А0-А3 в одном ряду и А4-А7 в другом…
A1 вольтаж, А2 гпс, а остальное?

alezz

вы путаете аналоговые входы ардуины, которые свободны все от А0 до А7, бери любой, с логическими ячейками протокола frsky smart port:

#define FR_ID_ALTITUDE 0x0100 //ALT_FIRST_ID
#define FR_ID_VARIO 0x0110 //VARIO_FIRST_ID
#define FR_ID_VFAS 0x0210 //VFAS_FIRST_ID
#define FR_ID_CURRENT 0x0200 //CURR_FIRST_ID
#define FR_ID_CELLS 0x0300 //CELLS_FIRST_ID
#define FR_ID_CELLS_LAST 0x030F //CELLS_LAST_ID
#define FR_ID_T1 0x0400 //T1_FIRST_ID
#define FR_ID_T2 0x0410 //T2_FIRST_ID
#define FR_ID_RPM 0x0500 //RPM_FIRST_ID
#define FR_ID_FUEL 0x0600 //FUEL_FIRST_ID
#define FR_ID_ACCX 0x0700 //ACCX_FIRST_ID
#define FR_ID_ACCY 0x0710 //ACCY_FIRST_ID
#define FR_ID_ACCZ 0x0720 //ACCZ_FIRST_ID
#define FR_ID_LATLONG 0x0800 //GPS_LONG_LATI_FIRST_ID
#define FR_ID_GPS_ALT 0x0820 //GPS_ALT_FIRST_ID
#define FR_ID_SPEED 0x0830 //GPS_SPEED_FIRST_ID
#define FR_ID_HEADING 0x0840 //GPS_COURS_FIRST_ID
#define FR_ID_GPS_TIME_DATE 0x0850 //GPS_TIME_DATE_FIRST_ID
#define FR_ID_A3_FIRST 0x0900 //A3_FIRST_ID
#define FR_ID_A4_FIRST 0x0910 //A4_FIRST_ID
#define FR_ID_AIR_SPEED_FIRST 0x0A00 //AIR_SPEED_FIRST_ID
#define FR_ID_RSSI 0xF101 // used by the radio system
#define FR_ID_ADC1 0xF102 //ADC1_ID
#define FR_ID_ADC2 0xF103 //ADC2_ID
#define FR_ID_BATT 0xF104 // used by the radio system
#define FR_ID_SWR 0xF105 // used by the radio system

А0, А5-А7 нет в принципе, А1-А2 заняты (см. предыдущее сообщение), FR_ID_A3 и FR_ID_A4 свободны. Совпадения в названиях случайны, входы ардуинки с ячейками протокола ни как не связанны

AndrewV
alezz:

вы путаете аналоговые входы ардуины, которые свободны все от А0 до А7, бери любой, с логическими ячейками протокола frsky smart port:

А1-А2 заняты (см. предыдущее сообщение), FR_ID_A3 и FR_ID_A4 свободны. Совпадения в названиях случайны, входы ардуинки с ячейками протокола ни как не связанны

Извините что вмешиваюсь, но А2 я видел чем занят - переименовал в Fix, а A1? не видел у себя.
Спасибо alezz за проделанную работу. Запустил у себя за вечер совместно с frsky сенсором. получилось красиво. раньше и не мечтал.

Хотел попробовать реализовать проект frsky2osd diydrones.com/…/osd-for-frsky-smart-port-telemetry…
но пока что то не идет. Идея хорошая, использовать телеметрию для OSD. И платка та же - minimosd. сделал все как написано, правда в инверторе не уверен. пишет no data. Исходники еще не копал. Если кто сталкивался, ткните куда копать.
Пока буду делать minimnazaosd )

Sorcer
AndrewV:

переименовал в Fix, а A1?

RxBt - вольтаж приёмыша

alezz
AndrewV:

Извините что вмешиваюсь, но А2 я видел чем занят - переименовал в Fix, а A1? не видел у себя

alezz:

аналоговых входов у нас четыре, но А1 железно занят под напряжение приемника, а А2 под статус GPS (хотя можно освободить при желании)

rcopen.com/forum/f123/topic386079/307

AndrewV
Sorcer:

RxBt - вольтаж приёмыша

спасибо, мне надо все таки изучить исходники.

alezz:

как я понимаю перечень параметров определен протоколом телеметрии. Это так называемые имена сенсоров?
По смартпорту вещаются id-шники сенсоров и их значения и перечень этих id фиксированный?
Т.е. ошибка в osd может быть только в инверторе уровней, ну если принять факт что sport рабочий 100%, а это так.
Я просто думал что может перечень параметров в вашей реализации и у автора frsky2osd отличается.

alezz
AndrewV:

перечень этих id фиксированный

да. Но начиная с opentx 2.1 сам таранис может трактовать эти id-шники как угодно, поэтому наверное со свежими прошивками таранис можно использовать свой, левый id-шник

AndrewV
alezz:

да. Но начиная с opentx 2.1 сам таранис может трактовать эти id-шники как угодно, поэтому наверное со свежими прошивками таранис можно использовать свой, левый id-шник

да, но как это может повлиять на приемник. Я обновил передатчик до 2.1.7. Конечно кое что стало не понятно но в целом удобней. Главная сложность у меня была с датчиком напряжения. раньше я его видел побаночно, а теперь пришлось через вычисления из массива переменных. по умолчанию видна сумма всех банок.
Приемник я не обновлял, а osd подключается именно к шине smartport на приемнике. Таким образом версия прошивки влиять не должна. Конечно, есть возможность снять sport на передатчике через разъем модуля расширения, но это уж совсем для маньяков, кто хочет сэкономить несколько грамм и накладывать osd уже на земле.

разобрался кажется. как затмение, на схеме преобразователя sport<>UART
www.multiwii.com/forum/viewtopic.php?f=8&t=4507
прочитал резисторы R110K как 110 кОм, а это R1 10кОм, R31K впаял около 30кОм, а это R3 1кОм. И так далее.
Давно не брал я в руки шашек )) главное связистам дал схему, попросил резисторов … они мне принесли 110к,30к. ))))
Все, завтра паяю.

AndrewV

Если кто нибудь будет осваивать выше указанный датчик напряжения и тока (я взял такой на бэнгуде) у него есть один значительный недостаток - реализация датчика тока.
Шунт применяемый в датчике имеет сопротивление 0,0005 Ом, т.е. 0,5 милиОма. Монитор датчика TI INA169 (обозначение на SMD как A69) имеет формулу выходного напряжения Iшунта*Rшунта*Rусиления/1000кОм, по сути коэффициент усиления равен 3, так как штатно установлен резистор 3кОм. Т.е. при 100А через шунт, мы увидим падение напряжения 0,05В и соответственно 150мВ на входе нашей атмеги, она меньше 30 мВ вообще не видит. Т.е. начало диапазона будет 20А. Меня это не устроило. Заменил R усиления на первую попавшуюся 47,3кОм. Замена на фото, та что криво припаяна. паял обычным паяльником, без пасты, поэтому так, но все работает. Теперь коэффициент усиления около 47, т.е. при 10А мы имеем около 200 мВ, а при 100А больше 2В. Это гораздо лучше подходит для проекта naza2frsky. Конечно есть побочный эфект, как мне показалось немного скачут показания на малых токах из за низкого входного сопротивления атмеги при выборке аналогового порта. Для надежности впаял сдвоенный операционный усилитель в режиме повторителя LM358 (SMD, выпаял с какой то платы) (на втором фото, правда он уже в термоусадке). У него входной ток 2нА и он не влияет на измерительную цепь. Все работает хорошо. Так что датчик за 7долларов вполне нормальный.

alezz
AndrewV:

у него есть один значительный недостаток - реализация датчика тока

делитель на входе атмеги стоит, если да то какой? Очень подозрительная информация, ибо в спеках такого (визуально) датчика черным по белому пишут:

Features:
·Input voltage: 6~28V (support 30V)
·Max current sensing: 90A
·Voltage and current measurement configured for 5V ADC

т.е. при токе 90А на выходе должно быть 5В, а ни как не менее 150мВ