OrangeRx Open LRS 433MHz TX Module

lenz
baychi:

Питание Меги падает от 3.3 В до 0, каждый раз, когда Вы его отключаете. И происходит это далеко не мгновенно.

Так я запутался окончательно. Сбой в аврке получается происходит при скачках напряжения, в момент включения- выключения, при глюках системы питания?
Бинд слетает получается из за ошибки в еепроме?

тигромух:

Бут можно убрать, но нужен программатор. А если есть программатор, проще выставить фьюзы

Программаторов штук 5 разных есть 😃 С мегами балуюсь уже года 3. Пытаюсь осилить ATXmegu 😃
А бутлодеры использую только на платах ардуиновских, или аналогичных. Мне как то проще залить прошивку напрямую чем через бут. Не все буты идеальны, да и осталось недоверие к ним. Пару раз бывало так что плата вдруг тупо вставала в бут, на ровном месте. После этого в железках перестал применять бутлоадеры. Арудина компилирует хекс, его и заливаю.

baychi
lenz:

Сбой в аврке получается происходит при скачках напряжения, в момент включения- выключения, при глюках системы питания?

Сбой случается, когда напряжение ниже 2- 2.5 В, а мега работает на 16 МГц - то есть в нештатном режиме. Это происходит каждый раз при отключении питания. Это может происходить и при включении, так как вставляя разъем, Вы можете несколько раз подать и отключить его. И это же может происходить если приемник питается нестабильным питанием с провалами.

lenz:

Бинд слетает получается из за ошибки в еепроме?

Может слететь EEPROM, может сама прошивка порушиться.

lenz
baychi:

Может слететь EEPROM, может сама прошивка порушиться.

А вот тут я вообще ничего не понимаю. ЕЕпром ладно, пишется в процессе работы, может порушится. Но прошивка каким образом? Запись в нее производится может только бутом, а если бут исключен то уже никто не может в нее писать.

baychi:

Сбой случается, когда напряжение ниже 2- 2.5 В, а мега работает на 16 МГц - то есть в нештатном режиме. Это происходит каждый раз при отключении питания. Это может происходить и при включении, так как вставля разъем Вы можете несколь раз подать и отлючить его. И это же может происходить если приемник питается нестабильным питанием с провалами.

По датащиту питание 328p идет от 1,8 до 5,5. Частота от 0 до 20 мгц. При питании 3.3 частота 16 вроде выходит штатная. Хотя я чаще всего использую частот 147456. но в своих проектах проблем не испытывал с нештатным питанием.

baychi
lenz:

ЕЕпром ладно, пишется в процессе работы,

Нет. EEPROM пишется только при настройке с ПК или бинде, или установки FS.

lenz:

Но прошивка каким образом? Запись в нее производится может только бутом

Бут это не аппаратный программатор, а точно такая-же программа самой Меги. В Меге есть регистры, запись в которые запускает перешивку FLASH или EEPROM. При нештатном режиме работы может произойти ложная запись в эти регистры или сам механизм перешивки случайно запустится.

PS: Народ, вы действительно не верите, что мега может терять прошивку или настройки с невыставленным BODLEVEL?
У меня такой впечатление, что я пугалом работаю. 😃

lenz:

При питании 3.3 частота 16 вроде выходит штатная

Нет. Если читать даташит внимательно при 3.3 В максимально допустимая частота 13.3 МГц.

lenz:

По датащиту питание 328p идет от 1,8

А что будет ниже 1.8 В, когда механизм защиты отключен?

lenz
baychi:

Бут это не аппаратный программатор, а точно такая-же программа самой Меги. В Меге есть регистры, запись в которые запускает перешивку FLASH или EEPROM. При нештатном режиме работы может произойти ложная запись в эти регистры или сам механизм перешивки случайно запустится.

Это все понятно. Но возьмем случай когда бут не прошит, когда прошита только сама прошивка, без бутлоадера. При этом Fuse бит BOOTRST не установлен. По логике вещей тут уже испортить flash невозможно? или я снова что то не допонимаю.

baychi:

PS: Народ, вы действительно не верите, что мега может терять прошивку или настройки с невыставленным BODLEVEL?
У меня такой впечатление, что я пугалом работаю.

fuse bodlevel влияет. Но выходит что влияет на настройки. Именно на факт записи еепром. В момент потери питания может произойти ошибка записи еепром.
При этом тоже интересно с этим bodlevel. А fuse BODEN ставится автоматически при установлении BODLEVEL =101, или все таки включать отдельно?

lenz:

PS: Народ, вы действительно не верите, что мега может терять прошивку или настройки с невыставленным BODLEVEL?
У меня такой впечатление, что я пугалом работаю.

А не может ли влиять еще фьюз установки кварца? Ведь там то же есть определенные фьюзы для старта проца с задержкой после включения питания.

baychi
lenz:

По логике вещей тут уже испортить flash невозможно?

Странно, что Вы являясь программистом под AVR не понимаете таких вещей.
Ответьте самому себе на такие вопросы.

  1. В ATMega328p можно менять FLASH и EEPROM из самой программы? Есть для этого команды и регистры?
  2. Что происходит с процессором, когда питание существенно ниже нормы при высокой частоте кварца?
  3. Что из себя представляют коды программы на уровне процессора? Согласны ли Вы что это коды действий плюс адреса операндов (явные или регистры)?
  4. Могут ли искажаться инструкции кода программы при их выполнении (интерпретации) мегой в данной ситуации?
  5. Как устроен механизм перешивки FLASH/EEPROM и что может его запустить?
  6. Как работает механизм защиты через BODLEVEL, и что он делает?
  7. Почему отсутствие контроля питания с помощью BODLEVEL или внешнего аппаратного супервизора является грубейшей ошибкой?

Ответьте сами, мне уже надоело. 😃
Давайте вернемся к обсуждению LRS. А те, кто не хочет ставить BODLEVEL, пусть их не ставят.
Есть шанс что мега все равно будет работать корректно.

lenz

Читаю теорию и датащит… Народ тоже утверждает что
Flash память программ
Содержимое внутренней FLASH памяти программ не повреждается при сбоях питания, так как AVR CPU не способно записывать информацию в свою собственную программную память.

baychi:

Странно, что Вы являясь программистом под AVR не понимаете таких вещей.
Ответьте самому себе на такие вопросы.

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

baychi
lenz:

как AVR CPU не способно записывать информацию в свою собственную программную память.

Интересно, как же мы прошивку через бутлоадер меняем? Чудесным образом что-ли. 😃

тигромух
baychi:

Интересно, как же мы прошивку через бутлоадер меняем? Чудесным образом что-ли.

А вот Ленар привел интересную ссылочку, а я нашел ее оригинал. Вот он: www.atmel.com/Images/doc1051.pdf
Там английским по белому написано:
The Internal Flash Program Memory contents are never affected by a power failure situation. The AVR CPU is incapable of writing to its own program memory.
То есть одной половиной головы я понимаю, что вы правы, но другая половина верит заявлению производителя 😵

lenz

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

baychi
тигромух:

Там английским по белому написано: The Internal Flash Program Memory contents are never affected by a power failure situation. The AVR CPU is incapable of writing to its own program memory.

Цитата из даташита:

ATmega48A/PA/88A/PA/168A/PA/328/P support a real Read-While-Write Self-Programming mechanism. There is

a separate Boot Loader Section, and the SPM instruction can only execute from there.

Речь идет о том, что в 328-й меге SelfProgamm инструкции могут быть выполнены только из области бутлоадера.
Но что мешает механизму программирования запуститься самому по себе, при неправильном питании?
Впрочем, бутлоадер у нас как правило тоже есть и случайная передача управления туда так-же не исключена.

river3

А кто нить уже брал у Experta платную прошиву для Oranga ?
Проверяли ? проверяли как она работает?
Стоит ли у него её покупать?

Андрей86

Вчера тестировал сие чудо Китайской техники в стоке. По земле расстояние 400-450 м. за городом, это мало. На второе тестирование Файлсейв пропал. Хочу спросить, подскажите, пожалуйста, что дает прошивка и обезательно его прошивать?

тигромух
Андрей86:

По земле расстояние 400-450 м. за городом, это мало.

Это нормально. Поставьте антенны получше - получите больше километра.
В openLRSng можно еще немного улучшить дальнобойность, понизив скорость на радиолинке.
Что еще хорошего в этой прошивке, можно прочитать на rcgroups.

Андрей86

Спасибо за ответ!!! Я думаю, что надо усилитель творить ват так на 7, может, кто уже воял подскажите кто нить?

тигромух
Андрей86:

Спасибо за ответ!!! Я думаю, что надо усилитель творить ват так на 7, может, кто уже воял подскажите кто нить?

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

Shuricus

А про ньюансы расскажите? А то мне, знакомые опытные люди сказали, что все супер просто! Я теперь в растерянности… К тому-же если флайтрон не все учел, может не стоит его покупать?

тигромух
Shuricus:

А про ньюансы расскажите?

Я лучше потом, когда все заработает…

Про косяки флайтрона я не все понял 😃
Из доступного мне, запомнил про отсутствие экранированного кожуха (он, вроде как, крайне желателен), несоответствие даташиту номиналов конденсаторов и неработающий выходной аттенюатор (На плате и схеме. В готовом бустере он заменен перемычкой).
В целом, не критично. А учитывая, что у меня только на деталюшки уже ушло около 2000 руб., то цена в $99 не выглядит завышенной 😃

Shuricus

Микруха стоит 600р. еще там пару копеечных кондеров, откуда 2000?
На выходе аттенюатор не обязателен, вот и стоит перемычка.
Корпус берется металлический.
Вообще проблем не вижу…

тигромух
Shuricus:

Микруха стоит 600р. еще там пару копеечных кондеров, откуда 2000?

За 600 ее пока еще никто не купил. Либо скрывает. 😃
А я привожу свои затраты. Сможете дешевле и лучше - вперед.
И давайте разделим косяки флайтрона и трудности сборки, ок? А то все в куче, не знаю на что отвечать.

Baron

Отчитываюсь о прошивке. Залил последнюю версию kha, взятую отсюда: github.com/kh4/openLRSng. В скетче поменял только “имя” устройства. Ну и комментил/раскомментил строку, определяющую, что шьется - приемник или передатчик. Прошивал обычным FTDI адаптером, “переключенным” на 3,3 В штатной перемычкой. Напряжение питания адаптера проверил перед прошивкой тестером.
Ардуина последняя 1.0.4. Взята отсюда: arduino.cc/en/main/software. Загрузчик не трогал. Память не чистил.
Бинд работает, как в описании: включаем передатчик с зажатой кнопкой, ждем звуковых сигналов, включаем приемник. Через несколько секунд все выключаем. Биндил два приемника - оба работают. Файлсейв работает по всем каналам. “Записывается” кратковременным нажатием кнопки на модуле. Изначально у меня оказался газ в максимуме, так что советую всем настроить файлсейв заранее 😉
Меня интересовал суммарный PPM сигнал: при установке перемычки между 7 и 8 каналами он появляется на 5-ом канале. Остальные каналы тоже работают, выдавая свои сигналы на соответствующие выходы, кроме восьмого. Можно их использовать, например, для независимого управления подвесом. Мультивием суммарный PPM сигнал понимается великолепно.
P.S. В поле еще не был. Все проверки делал на столе на кухне.