OrangeRx Open LRS 433MHz TX Module

polarfox
Adekamer:

Я тут столкнулся с тем , что при внешнем питании приемника (через серворазьемы) от батарейки,когда я читаю фьюзы, еепром, возникает ошибка, если запитываю от 3.3 FTDI - то все нормально

У меня несколько другая ситуация.С УСБ программатором,тот что с ХК,и питанием через серворазъём всё нормально и прошивается и читается как ардуиной так и “экстрембёрнером”,а вот с ФТДИ 3,3В адаптером пытался перепрошить,приёмник ещё туда-сюда схавал прошивку,а передатчик нет,думал адаптер “не той системы”.Испытал приёмник в качестве спектруманализатора,работает(через этот самый ФТДИ адаптер).
Да,загрузчик ардуиной не пытался заливать,просто скорректил фюзы,как писал выше.

Adekamer:

в обшем конструктор еше тот.

Это точно,не даст мозгам закиснуть 😃

Adekamer
polarfox:

просто скорректил фюзы

Можно Ваши фьюзы ?

polarfox

Так я поменял только Efuse, был ФФ поставил ФД и всё.Остальные не трогал.

ufk
polarfox:

а вот с ФТДИ 3,3В адаптером пытался перепрошить,приёмник ещё туда-сюда схавал прошивку,а передатчик нет

Тоже самое, передатчик не шьется через ФТДИ ни в какую…приемник уже не имею возможности попробовать… 😃

тигромух

Господа, а кто может квалифицированно объяснить из-за чего сыр-бор?
Я попытаюсь изложить свое видение, поправьте, пожалуйста, где неправ.
В приемнике стоит LDO на 3.3V. Глядя в типовой даташит, я примерно прикидываю, что напряжение на меге упадет до 2.7V, только когда Uвх упадет до, примерно, 4-4.2V.
Причем на 2.7V сработает защита, а до какого падения будет жить сам кристалл, вообще никому не известно.
Правильно?
Далее, у нас еще один стабилизатор, в ESC или отдельный, не суть важно. Допустим, он тоже линейный.
Если у него на входе 3S, то срыв стабилизации наступит при разряде акка до ~ 6.5V. Тогда Uвых упадет ниже 5v, а до 4 еще и запас небольшой останется.
Для 3S акка 6.5V, это 2.16V на банку, что ниже минимального для LiPo. То есть летать на такой батарее уже не стоит.
ИМХО, правильный bodlevel это, конечно, хорошо, но не настолько, чтоб все бросились перешивать фьюзы и убивать приемники.
Поправьте меня где я ошибаюсь, плз.

Это было мое понимание теории, а теперь практика. 😃
Вчера летал FPV с апельсиновым OpenLRS. По неопытности не отследил разряд акка (на борту он был один на 3S) и допустил просадку до 7, а потом и до 6.6V.
От такого издевательства вырубилась камера (она на 12V), что, естественно, привело к морковке. Однако OpenLRS оставался жив и самолет, по словам очевидца (Эдик, подтверди 😃 ), рулился до самого конца.
А с “правильными” фьзами мог и не рулиться уже, да? 😃

baychi
тигромух:

Причем на 2.7V сработает защита, а до какого падения будет жить сам кристалл, вообще никому не известно. Правильно?

Правильно. Только под словом “жить” следует понимать не просто работать, а корректно работать, не разрушая настроек и прошивки.

тигромух:

Для 3S акка 6.5V, это 2.16V на банку, что ниже минимального для LiPo. То есть летать на такой батарее уже не стоит.

Дело совсем ни в Липо, BEC или экстремальном разряде акка. Дело в обычном отключении питания, которое не происходит мгновенно, а за неск. миллисекунд сошедшая с ума Мега может изменить пару байт в прошивке или настройках и этого будет достаточно, что-бы при следующем включении ничего не работало, или хуже того непредсказуемо глючило.

тигромух:

с “правильными” фьзами мог и не рулиться уже, да?

6.6 В - достаточно далеко до провала. Еще Вольт - полтора.
Не забывайте так-же что порог отключения по питанию, есть в приемнике (скорее всего те-же 2.7-2.9 В), и возможно в сервах. Так что кто сдохнет первым имеет мало значения.
А для себя можете проделать несложный эксперимент на земле с регулируемым БП, сразу узнаете в какой последовательности вырубается электроника. 😃

тигромух
baychi:

а за неск. миллисекунд сошедшая с ума Мега может изменить пару байт в прошивке или настройках

К сожалению, не силен в ассемблере AVR, но по моим воспоминаниям об ассемблере x86 - это крайне маловероятное событие. Возможно, сравнивать их и нельзя.
А разве мега может править собственную прошивку? Настройки в EEPROM, хоть и с трудом, но допускаю такую вероятность. Но изменять собственный код… Как-то это… странно.

baychi:

А для себя можете проделать несложный эксперимент на земле с регулируемым БП, сразу узнаете в какой последовательности вырубается электроника.

Спасибо. Ценный совет, так и сделаю 😃

Voldemaar
тигромух:

К сожалению, не силен в ассемблере AVR,

Ассемблер - он везде ассемблер. Только при чем он здесь? Это аппаратная проблема.

тигромух
Voldemaar:

Ассемблер - он везде ассемблер. Только при чем он здесь? Это аппаратная проблема.

Хм. Поясните, пожалуйста. Флеш сам собой повреждается от бросков питания? Тогда при чем тут bodlevel на меге?

baychi
тигромух:

это крайне маловероятное событие.

Это очень даже вероятно. По моему опыту с другой Мегой AT90USB1287 (где похожая ситуация, BODLEVEL не соответствует частоте работы), все зависит от партии процов. На одних прошивка никогда не слетает, на других очень редко, а есть где чуть ли не через раз.
Судя по первым ласточкам: rcopen.com/forum/f90/topic302333/548 для Оанжджа это тоже справедливо.

тигромух:

А разве мега может править собственную прошивку?

А как она по Вашему перепрограммируется через FTDI? 😃

тигромух:

Флеш сам собой повреждается от бросков питания? Тогда при чем тут bodlevel на меге?

Читайте даташит. Там подробно расписанно, как предотвратить повреждение EEPROM и FLASH.
Не хотите менять BODLEVEL, ставьте аппаратный супервизор на 2.7-3В.

тигромух
baychi:

Это очень даже вероятно. По моему опыту с другой Мегой AT90USB1287 (где похожая ситуация, BODLEVEL не соответствует частоте работы), все зависит от партии процов. На одних прошивка никогда не слетает, на других очень редко, а есть где чуть ли не через раз.

ОК, почитал даташит и еще несколько источников.
Проблем две.
Первая для нас не актуальна: это повреждение флеша и EEPROM, когда в процессе записи напряжение падает ниже необходимого уровня. У нас, кроме бинда, ничего никуда не пишется, так что мимо.

Вторая - про нас, т.к. актуальна для приложений, использующих бутлоадер. Дело в том, что при проблемах с питанием, глючащая мега может выполнить прыжок в область загрузчика, где находится вызов SPM (Store Program Memory). Если мега случайно налетит на эту инструкцию, то затрет какую-то страницу во флеше (если силенок от подыхающего питания хватит 😃 ).

В общем, я бы оценил эту вероятность как довольно низкую и не стоящую запоротого приемника. Но все-таки у себя BOD включу 😃

baychi
тигромух:

Первая для нас не актуальна: это повреждение флеша и EEPROM, когда в процессе записи напряжение падает ниже необходимого уровня. У нас, кроме бинда, ничего никуда не пишется, так что мимо.

А вероятность прыжка в область своих подпрограмм, которые меняют EEPROM, Вы не рассматриваете?

тигромух:

Если мега случайно налетит на эту инструкцию, то затрет какую-то страницу во флеше (

Достаточно затереть пару байт.

тигромух:

я бы оценил эту вероятность как довольно низкую и не стоящую запоротого приемника

Если уже есть один явный прецедент, значит будут и другие. Дело, разумеется, хозяйское, но беда еще в том, что насколько мне известно, ни в прошивке Оранджа, ни в КНА, ни в Тини от Эксперта (в исходной нет точно, может хоть в адаптированной под Орандж автор добавил?) нет проверки целостности прошивки (да и настроек небось). И Вы даже не узнаете, что она слетела, пока не начнутся чудеса.
Как говорили раньше “страна непуганных идиотов”. 😃 Добваить 10 строк кода им лень… 😦

тигромух
baychi:

А вероятность прыжка в область своих подпрограмм, которые меняют EEPROM, Вы не рассматриваете?

Она сильно уж мала. Прыжок в начало или в конец адресного пространства, на загрузчик, гораздо более вероятен, имхо.
Да и вообще - хрен с ним, с EEPROMом. У KHA это лечится повторным биндом.

baychi:

Если уже есть один явный прецедент, значит будут и другие. Дело, разумеется, хозяйское, но беда еще в том, что насколько мне известно, ни в прошивке Оранджа, ни в КНА, ни в Тини от Эксперта (в исходной нет точно, может хоть в адаптированной под Орандж автор добавил?) нет проверки целостности прошивки (да и настроек небось). И Вы даже не узнаете, что она слетела, пока не начнутся чудеса.
Как говорили раньше “страна непуганных идиотов”. Добваить 10 строк кода им лень…

KHA проверяет EEPROM. Ну как проверяет - читает magic и version 😃
От чего-то может и спасет.

pol81

avrdude: stk500_getsync(): not in sync: resp=0x00
Это что за ошибка - возникает при прошивке передатчика прошивкой от КХ4.
И что было сделано , если я нажал кнопку в Ардуино 1.04 сервис - записать загрузчик

Adekamer

значится так: прошивал загрузчик ардуиной - плата - Атмега 328 (без всего, та что наверху)
после чего уже залил прошивку фина
питал от 3.3 вольт с FTDI
все моргает все работает
до этого мои манипуляции под галимой виндой в экстрим бурне тупо портили загрузчик, даже просто чтение - не запись епрома флаша и фьюзов
причем на нескольких экземплярах 😃 те я поначалу растроился немного 😃 что “запорол” несколько приемников:) но упорство побеждает 😃

pol81

И еще когда подаю питание на передатчик - начинает моргать красная лампа раз в 1 сек. и без разницы подключен программатор или нет.

Adekamer
pol81:

начинает моргать красная лампа раз в 1 сек. и без разницы подключен программатор или нет.

по идее это показывает что есть загрузчик

pol81

А что делать=то, передатчик не работает 😦

karabasus
pol81:

начинает моргать красная лампа раз в 1 сек. и без разницы подключен программатор или нет.

Теперь попробовать прошить прошивку для передатчика через FTDI (через ISP у меня после заливки бутлоадера ардуино не писалась прошивка)

Andruhapes
baychi:

Смтотрите, как вычислить произвольные значения:

  1. По опыту моего передатчика код F (максимальное значение) соответствует 1 Вт (+30 дБм), а код 0 (минимальное) - 85 мВт (+19 дБм).
    Следовательно цена одного бита 0.687 дБ. Разумеется это весьма приблизительно, так как линейность данной шкалы и разброс между экземплярами не исследован.
  2. Допустим Вы хотите получить 200 мВт (23 дБм). Значит код мощности будет K= 15 - (30-23)/0.687 = 5. То есть вместо байта 80h, надо писать 85h.
  3. Помимо изменений кода, надо изменить КС строчки (последний байт), так что-бы общая сумма не изменилась. Коль мы добавили 5 (относительно моей строчуи с кодом 0), надо последний байт уменьшить на 5.

Итого для 200 мВт получаем:
Строчка
:1021D0008EE0A42DB52D8C9381E00E94E7150E941E меняется на
:1021D00085E0A42DB52D8C9381E00E94E7150E9427

а строчка
:102340000E94E7155A924A928DE0A42DB52D8C93E8 меняется на
:102340000E94E7155A924A9285E0A42DB52D8C93FA

PS: Если после смены прошивки Вам удасться замерить реальную мощность, будет очень полезно.
Удачи!

Попробовал залить ваш вариант прошивки для tiny (85/1000)- все работает, а вот предложенный вариант с переключением мощности (200/1000) не заливается.
Просто бутлодер виснет и все. Пишет, кто критическая ошибка программы.

baychi

В последней строчке последний байт неверный: вместо FA должно быть F0. Загрузчик ругается на несовпадение КС строки.