naza2frsky - адаптер смартпорта для FrSky за 3$
ну раз датчик не видно, получается что ардуино либо НЕ шлет данные в смарт порт, либо шлет в неправильном формате.
Ардуина данные шлет, проверял, а вот почему она не шлет именно напряжение, понят не смог, ибо знаний по этому вопросу ноль.
Учитывая что “в naza2frsky все работает” осталась мелочь - определить что в скетче для АРМ не правильно, сравнив оба скетча
А сравнивать бесполезно, ибо в твоем скетче не прикручен побаночный вывод напряжения.
осталась мелочь - определить что в скетче для АРМ не правильно
Да в том и загадка, у всех же работает, по сему логичный вывод, что я что то не правильно делаю.
ибо знаний по этому вопросу ноль. А сравнивать бесполезно, ибо в твоем скетче не прикручен побаночный вывод напряжения.
ну наверное НЕ ноль если удалось прикрутить к naza2frsky вывод напряжения, который он изначально НЕ делается. Для начала точно так же в АРМ версии попытаться выводить общее напряжение (напряжение одной банки) как это сделано в naza2frsky ибо искомая строка тебе уже известна.
ну наверное НЕ ноль если удалось прикрутить к naza2frsky вывод напряжения, который он изначально НЕ делается.
Просто внимательно прочитал тему и делал по твоему описанию. Так же удалось таким же методом прикрутить три банки к naza2frsky, но это больше смахивает на колхоз. (И такое будет нормально работать только в opentx 2.1, как я понимаю)
Для начала точно так же в АРМ версии попытаться выводить общее напряжение (напряжение одной банки) как это сделано в naza2frsky ибо искомая строка тебе уже известна.
Сейчас буду пробовать.
ну наверное НЕ ноль если удалось прикрутить к naza2frsky вывод напряжения, который он изначально НЕ делается.
Просто внимательно прочитал тему и делал по твоему описанию. Так же удалось таким же методом прикрутить три банки к naza2frsky, но это больше смахивает на колхоз. (И такое будет нормально работать только в opentx 2.1, как я понимаю)
Для начала точно так же в АРМ версии попытаться выводить общее напряжение (напряжение одной банки) как это сделано в naza2frsky ибо искомая строка тебе уже известна.
Сейчас буду пробовать.
Попробовал в MavLink_FrSkySPort заменить
FrSkySPort_SendPackage(FR_ID_A3_FIRST, handle_A2_A3_value((ap_roll_angle+180)/scalefactor));
на
FrSkySPort_SendPackage(FR_ID_A3_FIRST, analogRead(A0));
Получил в телеметрии датчика “А3” число, не зависящее от поданного напряжения на вход А0. (Так что “в лоб”, как в naza2frsky не получилось).
А если такую же операцию проделать, но написать так:
FrSkySPort_SendPackage(FR_ID_CELLS, analogRead(A1));
То хоть в телеметрии начинает отображаться датчик “Cels”, правда вместо значений там “—”.
Попробовал в MavLink_FrSkySPort заменить
FrSkySPort_SendPackage(FR_ID_A3_FIRST, handle_A2_A3_value((ap_roll_angle+180)/scalefactor));
на
FrSkySPort_SendPackage(FR_ID_A3_FIRST, analogRead(A0));
Получил в телеметрии датчика “А3” число, не зависящее от поданного напряжения на вход А0. (Так что “в лоб”, как в naza2frsky не получилось).
Ну давай разбираться дальше, то ли разрядность FR_ID_A3_FIRST в телеметрии не правильное, то ли analogRead не работает (например нет напряжения на входе). Вот инфа по analogRead arduino.ru/Reference/AnalogRead
т.е. функция выдает значения от 0 до 1023. Поэтому пробуем сначала например FrSkySPort_SendPackage(FR_ID_A3_FIRST, 500); потом FrSkySPort_SendPackage(FR_ID_A3_FIRST, 1000); а потом запредельное FrSkySPort_SendPackage(FR_ID_A3_FIRST, 10000); и смотрим что получаем по телеметрии. Исходя из полученных результатов делаем выводы 😉
Поэтому пробуем сначала например FrSkySPort_SendPackage(FR_ID_A3_FIRST, 500); потом FrSkySPort_SendPackage(FR_ID_A3_FIRST, 1000); а потом запредельное FrSkySPort_SendPackage(FR_ID_A3_FIRST, 10000); и смотрим что получаем по телеметрии. Исходя из полученных результатов делаем выводы
В первом случае телеметрия дает 5.0, второй 10.0 и последний 100.0.
Как я понимаю почему то не считываются данные с входов A0-A2
Как я понимаю почему то не считываются данные с входов A0-A2
ну вот, так и до истины добраться не долго 😃 Либо нет напряжения на входах (например подтянул вход к земле низкоомным сопротивлением), либо оно слишком большое (подтянул вход к плюсу, а не минусу), либо AnalogReference неправильно настроен arduino.ru/Reference/AnalogReference, либо увы выгорели входы A0-A2 (например подал напряжение больше 5В). Может есть какие еще варианты, это то что сразу в голову пришло.
Сейчас еще раз проверил, при таком виде:
FrSkySPort_SendPackage(FR_ID_A3_FIRST, analogRead(A0));
В телеметрию приходит фиксированное значение 10,23.
Либо нет напряжения на входах (например подтянул вход к земле низкоомным сопротивлением), либо оно слишком большое (подтянул вход к плюсу, а не минусу), либо AnalogReference неправильно настроен arduino.ru/Reference/AnalogReference, либо увы выгорели входы A0-A2 (например подал напряжение больше 5В).
Ничего не меняя в схемотехнике, прошиваю ту же ардуину naza2frsky и все работает.
AnalogReference неправильно настроен arduino.ru/Reference/AnalogReference,
Поменяв AnalogReference на DEFAULT заработала
FrSkySPort_SendPackage(FR_ID_A3_FIRST, analogRead(A0));
Но побаночно все ровно молчит.
Но побаночно все ровно молчит.
а на А0 сейчас вся батарея или первая банка? Какие напряжения на входах А0-А2?
а на А0 сейчас вся батарея или первая банка?
Первая банка
Какие напряжения на входах А0-А2?
где то в районе 2.8 - 3,2
напряжение нормальное, т.е. одна банка есть нужно еще две? Предлагаю к заработавшей
FrSkySPort_SendPackage(FR_ID_A3_FIRST, analogRead(A0));
добавить еще например
FrSkySPort_SendPackage(FR_ID_T1, analogRead(A1));
FrSkySPort_SendPackage(FR_ID_T2, analogRead(A2));
т.е. использовать Т1 и Т2
т.е. использовать Т1 и Т2
уже сделал:
Так же удалось таким же методом прикрутить три банки к naza2frsky, но это больше смахивает на колхоз. (И такое будет нормально работать только в opentx 2.1, как я понимаю)
Так у меня уже работает в naza2frsky, я пытаюсь понять, почему у меня в MavLink_FrSkySPort не работает по человечески побаночный контроль, хотя в теме не один человек есть, у которых по описанием все ок.
я пытаюсь понять
Удачи! Главное заработало, колхоз не колхоз не суть важно, за сим удаляюсь 😃 Я думаю что проблему искать нужно где-то здесь в математике:
handle_A2_A3_value((ap_roll_angle+180)/scalefactor)
название переменной ap_roll_angle и константа 180 (очень похоже на градусы) для измерения постоянного напряжения как минимум настораживает
Удачи! Главное заработало, колхоз не колхоз не суть важно, за сим удаляюсь
Спасибо за помощь, буду пока так пользоваться, и может чего то накопаю )))
Я думаю что проблему искать нужно где-то здесь в математике: handle_A2_A3_value((ap_roll_angle+180)/scalefactor) название переменной ap_roll_angle и константа 180 (очень похоже на градусы) для измерения постоянного напряжения как минимум настораживает
Не, в а2 и а3 они выводят совсем другое:
A2 ( HDOP value * 25 - 8 bit resolution)
A3 ( Roll angle from -Pi to +Pi radians, converted to a value between 0 and 1024)
A4 ( Pitch angle from -Pi/2 to +Pi/2 radians, converted to a value between 0 and 1024)
А вольтаж должен выводится через cells и cell:
Cell ( Voltage of Cell=Cells/(Number of cells). [V])
Cells ( Voltage from LiPo [V] )
И снова здравствуйте!
Тут получил датчик тока, и соответственно прикрутил его к naza2frsky, все ок, работает.
А теперь вопрос, как показания с этого датчика дублировать на mininazaOSD?
Если тупо подключаю в параллель, показания пропадают и там и там.
В голову пришло только что бы ардуинка дублировала показания с датчика на какой нибудь свободный порт, но мозгов на это пока не хватило.
мне кажется чтобы не городить огород с обменом данных между ардуинками, самый простой способ это сделать повторитель напряжения на операционном усилителе как предложил на предыдущей странице AndrewV rcopen.com/forum/f123/topic386079/475
Спасибо, попробую так сделать.
Спаял сегодня усилитель на lm358, и все заработало, теперь нету просадки при подключении к датчику одновременно naza2frsky и OSD.
Правда не обошлось без потерь, в ходе настроек похоже спалил мультиметр, перестал он корректно показывать силу тока (((
Вольтаж калибровал на 0.1-0.2 вольта, а вот с силой тока - нет инструментов чем другим проверить во время лёта, нужна ли калибровка?
Ток калибруется точно так как и напряжение, естественно без калибровки показания будут ну очень приблизительными. В принципе можно калибронуть на глаз, емкость батареи знаем, смотрим сколько израсходовано энергии за полет до полного разряда и подгоняем эти два числа
В принципе можно калибронуть на глаз, емкость батареи знаем, смотрим сколько израсходовано энергии за полет до полного разряда и подгоняем эти два числа
Возникла идея - калибровать не на коптере, а на чём то - на чём известно потребление… ну или можно мультиметром до 10А проверить… ну а потом уже подрубать к коптеру… )
1мотор может 10А и не кушает, а вот в целом точно будет больше… (это о том, что мультиметром ни как) Нужно что нибуть статическое, а не мотор - например, лампочка, наверно подойдёт.
Здравствуйте. Замучился рыть носом в интернете…неделю уже разобраться не могу. Сделал все как в 1 посте но координаты так и не отображаются скиньке кто нить скрин настройки пульта с компаньена. Пожалуйста. Я так понимаю подключаем прошитую ардуинку, а дальше? Дальше ничего не происходит попробовал включить в компаньене gps но оно так и пишется GPS, а как цифры то увидеть?