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

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-й вообще не горит. Вот сижу и думаю мог ли я сжечь порт в приемнике? Прошивал вторую идентичную арду - результат одинаковый.

Дока

Подскажите (это первая моя ардуина, тыкаюсь пока как котенок), как залить хекс файл. Со скетчем вроде понятно прогой Arduino IDE.

czuryk
Дока:

Подскажите (это первая моя ардуина, тыкаюсь пока как котенок), как залить хекс файл. Со скетчем вроде понятно прогой Arduino IDE.

Hex файл заливается через Atmel AVR Studio (здоровый такой динозавр), через USBasp программатор.

alezz

можно и мелким xloader через ftdi но в арудинке должен быть загрузчик который ftdi не зальешь нужен USBasp. Впрочем это больше самоделок касается, готовые платы даже китайские идут уже с загрузчиками

Дока

Спасибо! Буду разбираться с “динозавром”. USBasp у меня есть и коронка для Меги с ХоббиКинга

Davest

FrSky крайне рекомендую прошивать через OpenTX, там же конфигурируется файл прошивки, проверяются наличия свежих версий и многое другое.
Это оригинальный прошивальщик от OpenTX - открытого программного обеспечения, на котором работает Taranis.
Просто скачиваете версию для своей ОС и устанавливаете, дальше все понятно будет.

Davest
Дока:

Подскажите (это первая моя ардуина, тыкаюсь пока как котенок), как залить хекс файл. Со скетчем вроде понятно прогой Arduino IDE.

Так же можно мелкой программкой ARP Uploader (Arduino Hex Uploader and Programmer) залить hex, подключив платку по любому USB-UART. Опять же, если загрузчик уже записан.
Если его нет - то можно залить , но уже программатором, например с помощью легкой и мощной SinaProg. Вот прошивка загрузчика для ATmega328. Для правильной работы установить фьюзы - Low: FF, High: DA, Ext: 05, Unlock bits: 3F, Lock bits: 0F. Ну или любой другой hex можно залить с помощью SinaProg через USBasp.

Bulldog

Так никто и не ответил на мой вопрос 😦
Повторю.
Ардуино Нано V3, АПМ, FrSky X8R, Taranis Plus.
Залил в Ардуину hex (из сообщения 89), потом залил скетч (из сообщения 139). Диоды RX и L (на 13 -й ноге он) помаргивают. Подключаю RX Ардуины в TX модема, питание и Smart Port с приемника FrSky X8R.
Все диоды (на модеме и Ардуине) синхронно моргают, на таранисе ничего нет 😦 Только координаты поменялись на 0, вместо прочерков и параметр А2 стал 1024.
Модем работает. Т.е. могу в МП подключиться к АПМ.
Что я не так делаю? Помогите! Спасибо!

czuryk

ПОмог бы но у меня Naza, а не APM…

Попробуйте помониторить что идет вообще с APM-а на ардуину. ПОсмотрите через Serial Monitor ардуины.