OrangeRx Open LRS 433MHz TX Module
Только Мегу. Но вот почему фьюзы слетели, и как этого не повторить, надо подумать.
Если у программатора регулируется частота, советую начать с минимальной.
тут все сложнее, нельзя тупо перзалить загрузчик который выставит частоту 16мгц
должно быть указанные 20мгц - иначе не будет корректно работать SPI с RFM
по хорошему надо отпаять RFM - залить загрузчик под 20 мгц, и только потом уже править фьюзы BODLEVEL
Я тут столкнулся с тем , что при внешнем питании приемника (через серворазьемы) от батарейки,когда я читаю фьюзы, еепром, возникает ошибка, если запитываю от 3.3 FTDI - то все нормально
в обшем конструктор еше тот.
должно быть указанные 20мгц - иначе не будет корректно работать SPI с RFM
SPI от частоты кварца почти не зависит. Это не UART.
Рабочая прошивка при другой частоте кварца не сможет привильно расчитать временные интервалы и обеспечить связь, или обмен с ПК через UART, но с программатором и RFM-кой она работать будет в очень широком диапазоне частот кварца.
при внешнем питании приемника (через серворазьемы) от батарейки,когда я читаю фьюзы, еепром, возникает ошибка, если запитываю от 3.3 FTDI - то все нормально
Странно сие, очень странно. У меня конечно другой программатор, но питаю всегда через серворазъем и проблемм нет…
не буду спорить - тк до конца не уверен в своей правоте, просто хочу акцентировать внимание что непосредственно в ардуине (а опенлс что кха что турка вроде как используют андурину) надо задавать частоту кварца для корректной работы spi
странность с проблемой чтения при питании с батарейки на серворазьеме несколько посадило меня на попу… с нетерпением жду вечера чтоб продолжить изыскания.
Я тут столкнулся с тем , что при внешнем питании приемника (через серворазьемы) от батарейки,когда я читаю фьюзы, еепром, возникает ошибка, если запитываю от 3.3 FTDI - то все нормально
У меня несколько другая ситуация.С УСБ программатором,тот что с ХК,и питанием через серворазъём всё нормально и прошивается и читается как ардуиной так и “экстрембёрнером”,а вот с ФТДИ 3,3В адаптером пытался перепрошить,приёмник ещё туда-сюда схавал прошивку,а передатчик нет,думал адаптер “не той системы”.Испытал приёмник в качестве спектруманализатора,работает(через этот самый ФТДИ адаптер).
Да,загрузчик ардуиной не пытался заливать,просто скорректил фюзы,как писал выше.
в обшем конструктор еше тот.
Это точно,не даст мозгам закиснуть 😃
просто скорректил фюзы
Можно Ваши фьюзы ?
Так я поменял только Efuse, был ФФ поставил ФД и всё.Остальные не трогал.
а вот с ФТДИ 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 оставался жив и самолет, по словам очевидца (Эдик, подтверди 😃 ), рулился до самого конца.
А с “правильными” фьзами мог и не рулиться уже, да? 😃
Причем на 2.7V сработает защита, а до какого падения будет жить сам кристалл, вообще никому не известно. Правильно?
Правильно. Только под словом “жить” следует понимать не просто работать, а корректно работать, не разрушая настроек и прошивки.
Для 3S акка 6.5V, это 2.16V на банку, что ниже минимального для LiPo. То есть летать на такой батарее уже не стоит.
Дело совсем ни в Липо, BEC или экстремальном разряде акка. Дело в обычном отключении питания, которое не происходит мгновенно, а за неск. миллисекунд сошедшая с ума Мега может изменить пару байт в прошивке или настройках и этого будет достаточно, что-бы при следующем включении ничего не работало, или хуже того непредсказуемо глючило.
с “правильными” фьзами мог и не рулиться уже, да?
6.6 В - достаточно далеко до провала. Еще Вольт - полтора.
Не забывайте так-же что порог отключения по питанию, есть в приемнике (скорее всего те-же 2.7-2.9 В), и возможно в сервах. Так что кто сдохнет первым имеет мало значения.
А для себя можете проделать несложный эксперимент на земле с регулируемым БП, сразу узнаете в какой последовательности вырубается электроника. 😃
а за неск. миллисекунд сошедшая с ума Мега может изменить пару байт в прошивке или настройках
К сожалению, не силен в ассемблере AVR, но по моим воспоминаниям об ассемблере x86 - это крайне маловероятное событие. Возможно, сравнивать их и нельзя.
А разве мега может править собственную прошивку? Настройки в EEPROM, хоть и с трудом, но допускаю такую вероятность. Но изменять собственный код… Как-то это… странно.
А для себя можете проделать несложный эксперимент на земле с регулируемым БП, сразу узнаете в какой последовательности вырубается электроника.
Спасибо. Ценный совет, так и сделаю 😃
К сожалению, не силен в ассемблере AVR,
Ассемблер - он везде ассемблер. Только при чем он здесь? Это аппаратная проблема.
Ассемблер - он везде ассемблер. Только при чем он здесь? Это аппаратная проблема.
Хм. Поясните, пожалуйста. Флеш сам собой повреждается от бросков питания? Тогда при чем тут bodlevel на меге?
это крайне маловероятное событие.
Это очень даже вероятно. По моему опыту с другой Мегой AT90USB1287 (где похожая ситуация, BODLEVEL не соответствует частоте работы), все зависит от партии процов. На одних прошивка никогда не слетает, на других очень редко, а есть где чуть ли не через раз.
Судя по первым ласточкам: rcopen.com/forum/f90/topic302333/548 для Оанжджа это тоже справедливо.
А разве мега может править собственную прошивку?
А как она по Вашему перепрограммируется через FTDI? 😃
Флеш сам собой повреждается от бросков питания? Тогда при чем тут bodlevel на меге?
Читайте даташит. Там подробно расписанно, как предотвратить повреждение EEPROM и FLASH.
Не хотите менять BODLEVEL, ставьте аппаратный супервизор на 2.7-3В.
Это очень даже вероятно. По моему опыту с другой Мегой AT90USB1287 (где похожая ситуация, BODLEVEL не соответствует частоте работы), все зависит от партии процов. На одних прошивка никогда не слетает, на других очень редко, а есть где чуть ли не через раз.
ОК, почитал даташит и еще несколько источников.
Проблем две.
Первая для нас не актуальна: это повреждение флеша и EEPROM, когда в процессе записи напряжение падает ниже необходимого уровня. У нас, кроме бинда, ничего никуда не пишется, так что мимо.
Вторая - про нас, т.к. актуальна для приложений, использующих бутлоадер. Дело в том, что при проблемах с питанием, глючащая мега может выполнить прыжок в область загрузчика, где находится вызов SPM (Store Program Memory). Если мега случайно налетит на эту инструкцию, то затрет какую-то страницу во флеше (если силенок от подыхающего питания хватит 😃 ).
В общем, я бы оценил эту вероятность как довольно низкую и не стоящую запоротого приемника. Но все-таки у себя BOD включу 😃
Первая для нас не актуальна: это повреждение флеша и EEPROM, когда в процессе записи напряжение падает ниже необходимого уровня. У нас, кроме бинда, ничего никуда не пишется, так что мимо.
А вероятность прыжка в область своих подпрограмм, которые меняют EEPROM, Вы не рассматриваете?
Если мега случайно налетит на эту инструкцию, то затрет какую-то страницу во флеше (
Достаточно затереть пару байт.
я бы оценил эту вероятность как довольно низкую и не стоящую запоротого приемника
Если уже есть один явный прецедент, значит будут и другие. Дело, разумеется, хозяйское, но беда еще в том, что насколько мне известно, ни в прошивке Оранджа, ни в КНА, ни в Тини от Эксперта (в исходной нет точно, может хоть в адаптированной под Орандж автор добавил?) нет проверки целостности прошивки (да и настроек небось). И Вы даже не узнаете, что она слетела, пока не начнутся чудеса.
Как говорили раньше “страна непуганных идиотов”. 😃 Добваить 10 строк кода им лень… 😦
А вероятность прыжка в область своих подпрограмм, которые меняют EEPROM, Вы не рассматриваете?
Она сильно уж мала. Прыжок в начало или в конец адресного пространства, на загрузчик, гораздо более вероятен, имхо.
Да и вообще - хрен с ним, с EEPROMом. У KHA это лечится повторным биндом.
Если уже есть один явный прецедент, значит будут и другие. Дело, разумеется, хозяйское, но беда еще в том, что насколько мне известно, ни в прошивке Оранджа, ни в КНА, ни в Тини от Эксперта (в исходной нет точно, может хоть в адаптированной под Орандж автор добавил?) нет проверки целостности прошивки (да и настроек небось). И Вы даже не узнаете, что она слетела, пока не начнутся чудеса.
Как говорили раньше “страна непуганных идиотов”. Добваить 10 строк кода им лень…
KHA проверяет EEPROM. Ну как проверяет - читает magic и version 😃
От чего-то может и спасет.
avrdude: stk500_getsync(): not in sync: resp=0x00
Это что за ошибка - возникает при прошивке передатчика прошивкой от КХ4.
И что было сделано , если я нажал кнопку в Ардуино 1.04 сервис - записать загрузчик
значится так: прошивал загрузчик ардуиной - плата - Атмега 328 (без всего, та что наверху)
после чего уже залил прошивку фина
питал от 3.3 вольт с FTDI
все моргает все работает
до этого мои манипуляции под галимой виндой в экстрим бурне тупо портили загрузчик, даже просто чтение - не запись епрома флаша и фьюзов
причем на нескольких экземплярах 😃 те я поначалу растроился немного 😃 что “запорол” несколько приемников:) но упорство побеждает 😃
И еще когда подаю питание на передатчик - начинает моргать красная лампа раз в 1 сек. и без разницы подключен программатор или нет.
начинает моргать красная лампа раз в 1 сек. и без разницы подключен программатор или нет.
по идее это показывает что есть загрузчик