Baychi OpenLRS - дружелюбная ЛРС с широкими возможностями )
Может у вас ФТДИ палит порт?
Это логично предположить, но я не понимаю как это происходит. Да и не в первый раз я настраиваю этот модуль этим же ФТДИ. Прошлый сезон летал, настраивал - без проблем.
Процессоры на 3.3В в легкую горят если программатор на 5В без ограничительных резисторов. 200 Ом вполне достаточно. Будет работать, хотя это не по феншую. Причина горения - защитные диоды на портах.
Передатчик заработал.
Причиной проблем оказался четвертый регистр
4=1 FS check enable
Я ему присвоил 1 т.к. модуль предназначался для ретранслятора. А т.к. одновременно делалось много движений (вкл/выкл, втык/вытык), то и мысль моя пошла не в нужном русле. Видимо, плохо учили меня в универе правильно проводить многофакторые эксперименты.
Почему я решил, что спалил мегу? Я посмотрел по схеме, что входами передатчика служат порты D0 и B0. Я загрузил скетч чтобы помигать светиками с помощью команд writedigital(PORTB0, HIGH) и скетч с writedigital(PORTD0, HIGH).
Так вот при обоих скетчах мигал светик только на одном выводе. Получалось, что PORTB0 и PORTD0 адресовались только к одной линии. Но затем я вместо PORTD0 или PORTB0 написал writedigital(8, HIGH). И “неработающий” вывод заработал.
Я не мастер в Ардуинах и не могу объяснить, почему такая фигня с PORTB0 и PORTD0. Даже и предположить не мог, что засада именно тут и мой тест неправильный.
Подключив к пульту запасной передатчик, я убедился, что пульт выдает РРМ исправно.
После того, как я выяснил, что и пульт выдает PPM, а мега в модуле рабочая, кроме как на прогу и настройки было не на что грешить. Сообщение “Stop” в мануале к прошивке я не нашел, поэтому полез в исходники, где легко нашел, что это сообщение о Failsafe. И тут я вспомнил, что менял регистр 4. Вошел в меню, вернул регистр 4 в 0 и получил рабочий передатчик.
Так что в минусе несколько вечеров и одна мега.
Отдельная благодарность Plohish за участие.
Я не мастер в Ардуинах и не могу объяснить, почему такая фигня с PORTB0 и PORTD0. Даже и предположить не мог, что засада именно тут и мой тест неправильный.
Это засада. 😃
Просто если используете ардуиновскую функцию writeDigital, то надо использовать и ардуиновскую нумерацию пинов.
А PORTB0 используется так: PORTB |= _BV(PORTB0);
Причиной проблем оказался четвертый регистр 4=1 FS check enable
Вошел в меню, вернул регистр 4 в 0 и получил рабочий передатчик.
4 регистр - нужная штука для ретранслятора, не надо от неё отказываться.
Как подправить говорил уже.
Прошу прошения за ламерский вопрос,но не могу понять какой именно файл прошивки нужно подсовывать ардуинке,на гитхабе их целая куча)),слышал что надо компилить но понятия не имею как это делать(((нет нигде готового файла что просто выбрать в ардуинке и прошить?ну или хотя бы поделитесь ссылкой на ардувики чтоб мне больше не позорится такими вопросами)))до этого и осд шил и энкодеры,с регулями,но там все как то попроще выбрал файл нажал загрузить и все,почему здесь все так сложно,неужели без компиляции никак?
Вопрос снимается,разобрался сам)))жаль что с уходом Александра тема умерла((
Незаметно, что она умерла.
Прошивка открытая - можно творить дальше. Александр сделал уже более чем достаточно.
Документация исчерпывающая. Все ссылки в первом посте. Вопросов возникать не должно. Хекс находится ровно в двух кликах.
А то, что прошивка для продвинутых пользователей, это да. Для ламеров есть ОпенЛРСНГ. Я думаю, она уже не хуже работает. Там все делается через ГУИ.
Купил фильтры LFCN-490+. В прошивке есть регистры 25 и 26 (SAW Fmin, SAW Fmax). Нужно ли в них что то прописывать для LFCN-490+, или ими задают границы только для управляемых фильтров?
LFCN-490+ впаивается между антенной и модулем РФМ, это обычный LC-фильтр, он отфильтрует высокочастотные помехи на входе приемника. В настройке прошивка для работы с ним не нуждается.
Подскажите, выбираю железо под данную прошивку между
и
интересует что за переключатель с надписью “mode” на втором, мощность?
в плане охлаждения я так понимаю лучше первый вариант, но мощность регулируется только програмно…
Подскажите, выбираю железо под данную прошивку между
…[Вариант 1]…
и
…[Вариант 2]…
интересует что за переключатель с надписью “mode” на втором, мощность?
в плане охлаждения я так понимаю лучше первый вариант, но мощность регулируется только програмно…
Имею первый вариант. Прошивку под него тестировал правил вместе с Baychi. На плате этого передатчика тоже есть три контакта для переключателя, но самого переключателя нет. Переключатель не аппаратно меняет мощность - его положение считывает микропроцессор и переключает мощность. Т.к. в исполнении, как на первой фотке, переключателя не установлено, ни я, ни Baychi в код для Deluxe считывание его состояния не вписывали. Переключение мощности в зависимости от его положения, разумеется, тоже. Версии, как на второй фотке, тогда ещё не существовало. Думаю, что схемотехнически оба варианта одинаковы на 100%. Значит в прошивке Baychi и на втором варианте это переключатель работать не будет (если кто-нибудь, конечно, не допилит прошивку - там несложно, надо только сразу тестировать на своём железе).
Так что при выборе между этими вариантами на наличие/отсутствие этого переключателя ориентироваться не стоит. По крайней мере для текущей версии прошивки.
Первый удобней для ретранслятора - когда ты далеко от него, то до тумблера не дотянуться, однозначно мощность надо переключать с пульта.
Второй удобней, если ретранслятора нет. Но надо проверить, чтобы 1W мощности не влиял на сам пульт - у кого-то гасли экраны (или это про Экспертовские 7W был разговор…), да и батарейка в пульте будет быстрее садиться.
Благодарю за расширенный ответ, все понятно. Вариант 2 где то на рсгрупс попадалось что давит пульт своим сигналом, даже пульт фольгой обклеивали…
Я сам поставил переключатель, и он работает, в текущей прошивке.
Передатчик hawkeye обычный, не deluxe, изменение мощности четко видно по rssi.
Т.к. в исполнении, как на первой фотке, переключателя не установлено, ни я, ни Baychi в код для Deluxe считывание его состояния не вписывали.
Или все же вписывали?
Мануальчик откройте. Видимо не вы один тестировали с Байчи эту прошивку.
При R19=0 мощность можно переключать внешним аппаратным 3-х позиционным тумблером: его средний вывод соединяют с GND, а два крайних - к 24 и 25 или 25 и 26-й ногам микропроцессора. При R19>=14, управление мощностью отключено, а значение регистра мощности определяется регистром 22.
Я сам поставил переключатель, и он работает, в текущей прошивке.
Передатчик hawkeye обычный, не deluxe, изменение мощности четко видно по rssi.
В зависимости от того, какой тип железа вы выбираете при компиляции кода, включаются те или иные фрагменты кода. Я говорю именно про версию Deluxe, т.к. именно она изображена на фотках. Там даже процессор другой.
Поэтому я и указал тип оборудования, тем не менее это описано в документации на текущую прошивку и работает, доберусь до компа проверю код если интересно.
Или все же вписывали?
Мануальчик откройте. Видимо не вы один тестировали с Байчи эту прошивку.
При R19=0 мощность можно переключать внешним аппаратным 3-х позиционным тумблером: его средний вывод соединяют с GND, а два крайних - к 24 и 25 или 25 и 26-й ногам микропроцессора. При R19>=14, управление мощностью отключено, а значение регистра мощности определяется регистром 22.
Поэтому я и указал тип оборудования, тем не менее это описано в документации на текущую прошивку и работает, доберусь до компа проверю код если интересно.
Да что же такое-то! Почему мне никто не верит на слово? 😃
Скачал с github текущий архив для передатчика.
Открываем файл config.h.
В нем находим кусок, в котором определяются типы передатчиков:
//####### TX BOARD TYPE #######
// 1 = TX Expert Tiny original Board
// 2 = RX Open/orange v2 Board in TX mode (PPM input on D3 chdnnel (5-th slot)
// 3 = TX Open/orange v2 Board
// 4 = TX Hawkeye от КНА
// 5 = TX Expert 2G
// 6 = TX DTF UHF Deluxe
В сообщении #2060 Алексей Яковлев дал фото двух модулей TX DTF UHF Deluxe в разном исполнении. Подчёркиваю, что именно Deluxe!!!
На них стоит процессор Atmega32u4 (не Atmega328) с USB и собственной нумерацией ног.
Смотрим дальше: Во всех секциях
#if (TX_BOARD_TYPE == 1),
#if (TX_BOARD_TYPE == 2),
#if (TX_BOARD_TYPE == 3),
#if (TX_BOARD_TYPE == 4),
и
#if (TX_BOARD_TYPE == 5)
есть подобный этому кусок кода (взято для примера из секции #if (TX_BOARD_TYPE == 1)):
// Аппаратный переключатель мощности
#define SW1_IN A2 // Power switch 1 on 25 pin
#define SW2_IN A3 // Power switch 2 on 26 pin
#define SW1_IS_ON (PINC & 0x04) == 0x00 // проверка sw1
#define SW2_IS_ON (PINC & 0x08) == 0x00 // проверка sw2
И только в секциях
#if (TX_BOARD_TYPE == 6) // HawkEye DeluxeTX (Atmega32u4)
и
#if (TX_BOARD_TYPE == 7) // Orange reciever тест через прерывания D3
такого куска нет!
Дальше, в OpenTiny_TX.ino есть код:
#ifdef SW1_IN
pinMode(SW1_IN, INPUT); // ключ 1
digitalWrite(SW1_IN, HIGH);
pinMode(SW2_IN, INPUT); // ключ 2
digitalWrite(SW2_IN, HIGH);
#endif
А в rfm22b.ino есть самое главное:
#ifdef SW1_IS_ON // не для всех типов плат
else if(PowReg[0] == 0) { // аппаратный переключатель на 3-х позиционном тумблере
if(SW1_IS_ON) i=PowReg[1]; // внизу - режим минмальной мощности
else if(SW2_IS_ON) i=PowReg[3]; // вверху- режим максимальной мощности
else i=PowReg[2]; // в середине - средняя мощность
}
#endif
Отсюда уверенно утверждаю: На сегодня, 27.04.2015, в модулях TX DTF UHF Deluxe на обсуждаемой прошивке аппаратный переключатель мощности НЕ работает. Ещё раз подчёркиваю - я говорю только про Deluxe!!!
Соответствующий кусок кода вставить несложно, достаточно проверить к каким ногам микропроцессора подключен переключатель, посмотреть, что это за порты, указать их и соответствующие им маски в секции для Deluxe в config.h, откомпилить, прошить, проверить работоспособность и запостить правки сюда. 😃
Опять не убедил?
Вы правы во всем!
Опять не убедил?
оффтоп, Вадим, ты когда по автопилоту отпишешься? Вроде купил давно и молчишь…
Всем привет. Прошил приемник и передатчик Orange прошивкой Александра. Забиндил, и вроде все хорошо работает. Если срабатывает failsave приемник выставляет нужные каналы, но если снова включит передатчик то связь не устанавливается. Только после перезагрузки приемника они снова работают нормально. Почему так? Может я что-то забыл сделать?