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

czuryk
alezz:

все правильно, там для Unit отдельного поля нет, все в Range, нужно ввести так “256-”

Все отлично, спасибо! Только gps status переделал на sat_visible, я и сам могу оценить статус по кол-ву спутников.
Кстати можно для оцифровки подавать 5V, а не 3,3 (при максимально заряженном аккуме).

sp_link:

А что мешает поставить LUA скрипт? У меня на стоковой прошивке работает, аппа Таранис Плюс.

Я с ними еще даже и не разбирался, но если есть готовый скрипт для NAZA + Taranis, как на вашем скриншоте выше - поделитесь.

sp_link
alezz:

мешает то что под naza2frsky его просто нет

О, вот этот момент я и пропустил. Сорри. Тогда надо объединять код под АПМ и Назу. Контроль напряжения там рассчитывается довольно весомым куском кода, плюс в таранисе есть усреднения (насколько я понял при беглом обзоре).

По поводу скрипта конечно есть, постами выше им уже делились, продублирую: github.com/wolkstein/…/s-c-l-v-rc.zip - архивчик распаковать и содержимое папки MavLink_FrSkySPort/Lua_Telemetry/DisplayApmPosition/ кинуть в корень флешки тараниса, предварительно сменив имя папки “Model_Name” на имя вашей модели. Папка расположена в MavLink_FrSkySPort/Lua_Telemetry/DisplayApmPosition/SCRIPTS/

alezz
czuryk:

Кстати можно для оцифровки подавать 5V, а не 3,3 (при максимально заряженном аккуме).

Это зависит от того как запрограммирован ADC в ардуинке, может быть 1.1В, может 3.3В а может и 5В. Насколько знаю в arduino mini pro по умолчанию как раз 3.3В, хотя могу и ошибатся

sp_link:

О, вот этот момент я и пропустил. Сорри. Тогда надо объединять код под АПМ и Назу.

непонятно объяснил почему это сделать нельзя? 😃 Теоретически версии можно сделать близкими если подключится к can шине назы и получать данные от контроллера, но это в корне убивает дешевизну т.к. нужен Teensy3.1 плюс CAN shield т.е. вместо 3$ потратим десятки долларов. LUA скрипты от версии для АРМ не подходят к версии для naza Возможно что-то будет работать, но большинство функций нет

sp_link

Ап-ну темку про полевые испытания. В выходные уже полетал с новой фишкой телеметрии. Все понравилось, очень удобно без планшета, все данные под рукой.
Загорелся идеей собрать делитель напряжения, стоковый в апм-ке не очень точный а тут можно калибровать ну и побаночные данные само собой.
Еще предстоит решить:

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

alezz

я так понимаю речь идет о АРМ версии? Думаю эту версию логичней обсуждать здесь: diydrones.com/…/amp-to-frsky-x8r-sport-converter вероятность получить квалифицированный ответ на порядок выше 😃 По поводу скриптов сказать вообще ничего не могу ибо не сталкивался. По последнему вопросу, насколько мне известно и емкость и напряжение адаптер получает по мавлинку от ардукоптера, откалибровать ничего в адаптере не получится. Если включить побаночный контроль, то действительно напряжение калибруется уже в адаптере (MavLink_FrSkySPort.ino) для каждой банки инивидуально, вот переменные:

#ifdef USE_SINGLE_CELL_MONITOR

//cell voltage divider. this is dependent from your resitor voltage divider network
double LIPOCELL_1TO8[13] =
{
  1897.85344189,// 10bit 237.350026082,
  926.799312208,// 10bit 116.006256517,
  618.198183455,// 10bit 77.3509473318,
  470.134166514,// 10bit 58.7966886122,
  370.317778975,// 10bit 46.3358699051,
  315.045617465,// 10bit 39.4176445024,
  0.0, // diverders 7-12 not defined because my network includes only 6 voltage dividers
  0.0,
  0.0,
  0.0,
  0.0,
  0.0
};

По скрипту нашел такой интересный скриншот, как минимум понятно где бибикает

sp_link

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

alezz

у меня похожий треугольничек на экран монитора OSD выводит (как впрочем и массу других параметров), рисовать что-то на маленьком экране аппы не вижу ни какого смысла 😃 Лично мне на аппу некогда смотреть даже при полетах с монитором, а в очках так вообще возможность отсутствует в принципе. Как логописалка (у назы другой возможности то нет) и для вывода координат модели (в случае аварии) - да, телеметрия полезна, но не более того

czuryk

Алексей, хочу тоже присоединится к благодарностям 😃

Я так и не дождался свои ардуины, а закупать было влом. Спаял свою платку (Спасибо Дмитрию за PCB - я ее только немного под себя переделал)
Облетал я свой Discovery с модом, все понравилось, все хорошо работает! Работает как говорится “из коробки”.
Приделал только оцифровку напряжения всего аккума (не вижу смысла в побаночной оцифровке), Для делителя поставил резисторы 3кОм и 15кОм. Все хорошо работает. Единственно - не стал переписывать код, чтобы он еще и дроби показывал, просто умножил на 10, так что он высвечивает 165 для заряженного аккума 4S. Соответственно можно ставить триггеры не наго, чтобы таранис подавал сигннал при разрядке аккума.
Теперь не нужно ставить отдельный трекер на квадр!

alezz
czuryk:

Приделал только оцифровку напряжения всего аккума (не вижу смысла в побаночной оцифровке), Для делителя поставил резисторы 3кОм и 15кОм. Все хорошо работает. Единственно - не стал переписывать код, чтобы он еще и дроби показывал, просто умножил на 10, так что он высвечивает 165 для заряженного аккума 4S.

на канал А3 батарею прицепил? Можешь показать с какими настройками, насколько знаю там можно красиво масштабировать прямо в компаньоне (или меню тараниса)

czuryk

К А2
Код простой как валенок.
int32_t powerVal = 0;
powerVal = analogRead(A2);

FrSkySPort_SendPackage(FR_ID_T1, (uint32_t)(powerVal * (16.5 / 560.0) * 10));

В таранисе ничего не настраивал, просто вывел T1 на дисплей…

alezz
czuryk:

К А2
Код простой как валенок.

тогда слушай, мое предложение еще проще, передаем информацию с АЦП прямо в А3
FrSkySPort_SendPackage(FR_ID_A3_FIRST, analogRead(A2));
а на таранисе для канала А3 задаем (в компаньоне или через меню) Unit = Volt, Range = 19.8 (на глаз для твоего делителя), offset = 0 Ну и по вкусу предупреждалки например Low Alarm = 14,4 Critical Alarm = 13,2 Сам не пробовал но по идее должно работать

czuryk

Хмм, свой вскрывать пока не охота, но завтра буду вторую плату паясь для друга - попробую так сделать - о результатах отпишусь!

czuryk

Тут появилась мысль подключить к общей схеме иллюминацию (в моем случае речь идет о квадре, но можно и к самолету). Для квадра планирую в режиме стробоскопа подключить четыре 10W светодиода (два теплых, два холодных). Но просто подключить в режиме строба не интересно. Во первых диоды очень яркие, во вторых достаточно много потребляют (могут уменьшить полетное время). С учетом того, что планировалось подключать к ардуине, которая в принципе знает достаточно много параметров, среди которых есть полезные для нас (высота + расстояние), то можно соответственно при расстоянии 0-30м, вообще их не включать. При расстоянии и высоте от 50 до 300м, включать на 1/5 или 1/10, ну а от 300м уже либо на всю мощность либо половину (нужно смотреть). Вообще можно поприкалываться в этом плане - подключить к этой ардуине GPRS модуль (например недорогой Sim900R), далее получать координаты, по координатам получать состоянии атмосферы - облачно / осадки и т.д. и исходя из этого подстраивать мощность диодов ну а так же выдавать на пульт прогноз погоды, расчетное время работы аккума при такой температуре ну и рекомендации (например - езжай ка ты братец в такую погоду домой) и т.д.

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

alezz

Нью-Васюки какие-то 😃 Лучше скажи что там с напряжением, получилось?

czuryk

Ну почему же? Тема с получением прогноза с интернета просто шутка, хотя и легко осуществима, касаемо остального - вполне даже. Это позволит сэкономить канал RC. У меня таранис через s bus подключен к Назе и каналов просто нет (разве что к подвесу цепляться).
С напряжением решил не эксперементировать и залить другу проверенную прошивку во избежание ненужных эксцессов.
На праздниках на своей буду тестить, тогда и отпишусь.

kostya-tin
czuryk:

У меня таранис через s bus подключен к Назе и каналов просто нет (разве что к подвесу цепляться).

16 каналов занято назой? не верю. или вы про свободные PWM выходы? если так, то можно легко освободить их. нужно забиндить приемник в MODE4, и получите все 16 каналов по S.Bus и 8 каналов (c 9 по 16) на PWM выходах приемника

11 days later
Davest

5 часов плясок с бубнами - и у меня тоже телеметрия от АРМ - X9R - Taranis. Йеху! Сирену просто отключил в скрипте закоментировав строки в telem1.lua, после “-- play alarm wh reach maximum level”, но затем подключил Custom Script и понял, что этого можно было и не делать. В скрипте offset надо задать параметры. Причем не совсем просто - O-SET mAh% - это влитая в АКБ ёмкость деленная на 80% от неё. Т.е. если зарядка вливает 5200мА\ч, то 80% от этого - 416о мА\ч, делим 5200 на 4160 получаем 1.25. Вот именно сотые доли и прописываем в O-SET mAh% т.е. 25. Жесть. ))) С Wh% такая же песня, но у меня зарядка не показывает их. Я так понял что это значение получается чуть больше, поставил 30. А BatCap Wh% - это то, что после заряда АКБ на зарядке отображается, т.е. то, что у меня не отображается. Можно примерно посчитать умножив А\ч на среднее напряжение, для 3S например 11В. Получаем 5.2х11= 57,2Вт\ч.

Остается один важный момент - GPS координаты не корректно отображаются. Совсем фигню несут в себе, вместо координат. Предполагаю, что это из-за протокола UBX, на который мы переключаем свои GPS`ы. Есть у кого то варианты, как исправить? Может портировалось некорректно? Цифр мало, целых нет совсем. Например, при LОT: 37.682677 на пульте я вижу 0`00.0276E. Где то ошибка в коде прошивки для Ардуинки.

Davest

Еще 5 часов - и мы, совместными усилиями с Ильёй (sp_link) нашли ошибку в коде!
Еще есть что доработать - но уже GPS координаты корректно отображаются в Пульте. Урра! Теперь это полностью работает и можно в воздух!
Выкладываю архивчик с прошивкой с отображением GPS координат для Arduino mini 328p 16МГц 5В для APM to X9R FrSky: yadi.sk/d/UZ8z5jS0dubG2
Разработчику отписались о наличии бага, надеюсь исправит. После вмешательства в его код может барахлить радар на экранчике, т.к. расчеты производятся на основе gps данных, которые были другими. Но возможно математика сработает, благо цифры остались цифрами, только стали другие. Надо испытывать, радар вроде как работает только при арминге и действие его видно в полете. Я пока не летабелен, позже непременно.

з.ы. Кстати, за время тестов мой квадр успел “улететь” дальше Нигерии в Атлантический океан и вернуться обратно. GPS ublox LEA-6H на балконе возле окна. Вот бы еще что пофиксить. А то затем вопросами задаемся - чего эт квадр в Китай улетает… Не в Китай он летит, а в Африку, в теплые края, не нравится ему тут на морозах…

alezz

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

Bulldog

Интересно, а можно спалить смарт порт на приемнике x8r?
Ситуация такая: арду нано, залил скетч, подключил к апм, модем мигает, 13 диод на арду мигает, Rx диод мигает. На экране аппы координаты - все 0, до этого прочерки были. Ну думаю класс, заработало!
Потом выключил, поставил скрипт в Таранис и все пропало:( Перепрошил арду. Теперь моргают rx и tx а 13-й вообще не горит. Вот сижу и думаю мог ли я сжечь порт в приемнике? Прошивал вторую идентичную арду - результат одинаковый.