OrangeRx Open LRS 433MHz TX Module

baychi
Vladimir_N:

У Эксперта используется загрузчик не от Ардуино,

От Megaload.

Vladimir_N:

при использовании родного загрузчика от Ардуино, ему пришлось отключить WDT на прошивках для Оранж.

Да, потому что родной не поддерживает сторожевика.

Vladimir_N:

т.к. у него тоже раньше были проблемы с джиттером.

Проблемма была в первой версии софта/железа. Сейчас все чисто до длоей микросекунды (100 -150 нс джиттер, удивляюсь, что 10 бит PWM он так и не релизовал).
Насчет кода: по дизассемблеру видно, что Эксперт использовал Си. Но так-же видно что некоторые защиты от копирования ( я ля передатчик Тини, выполнены без учета среды, со вставками на ассемблере).

Панкратов_Сергей:

Многие пользуясь Ардуино не пользуются загрузчиком.

А ка спроецировать вектора прерываний к себе?

Панкратов_Сергей
baychi:

А ка спроецировать вектора прерываний к себе?

А зачем? В среде Ардуино пишется программа, получаем hex и грузим в контроллер.
Или я вопрос не понял?

baychi
Панкратов_Сергей:

вопрос не понял?

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

тигромух

В общем, вопрос решен. С последним коммитом (добавлены две задержки в прерывании), сервы в FS стоят как вкопанные. В обычном режиме у меня изредка подрагивают, но это я грешу на аппу с deviationtx. Будет возможность - проверю с другой.

F_R
тигромух:

Будет возможность - проверю с другой.

Кость, могу предоставить тебе эту возможность 😆

alexpv
тигромух:

Думаю, что это не проблема. Если частоты выловить, то можно их обойти.
Там в другом косяк: регистр канала однобайтный… При 60кГц шаге весь диапазон от 417 до 450 в него не влезет, а значит придется лезть в прошивку менять ширину шага… В общем, я решил, что оно того не стоит.
Выбрал вот такие каналы:
#define DEFAULT_CARRIER_FREQUENCY 432800000
#define DEFAULT_HOPLIST 2,123,58,178,102,234
В частотах это вот так:
432.920, 440.180, 436.280, 443.480, 438.920, 446.840

Сейчас прошью и посмотрю на спектроанализаторе.

попробовал забить такой же список каналов в .ino версии 1,9 (kha) и не получилось,
hdsdr показывает совсем не те частоты, не старые (по умолчанию) но и не нужные.
Возможно есть ограничение на номер канала? Прошил последнюю версию, так там
конфигурирование через терминал, и шаг поменялся на 50кгц, вот как получилось:

[R] calculate random key and hop list
[F] display actual frequencies used

  1. Base frequency: 432800000
  2. RF magic: 89405197
  3. RF power (0-7): 7
  4. Channel spacing: 5
  5. Hop channels (6): 2,123,58,178,102,234
  6. Baudrate (0-2): 1
  7. Beacon frequency: 0
  8. Beacon Interval: 10
  9. Beacon Deadtime: 30
    A) Channel config: 8
    😎 Telemetry: Disabled
    C) Failsafe delay: Long (2s)
    D) Stop PPM on F/S: Disabled
    Calculated packet interval: 25000 == 40Hz
    Hop channel 0 @ 432900000
    Hop channel 1 @ 438950000
    Hop channel 2 @ 435700000
    Hop channel 3 @ 441700000
    Hop channel 4 @ 437900000
    Hop channel 5 @ 444500000

hdsdr подтвердил, все совпадает
зы: разобрался - среднее и длительное нажатие кнопки на передатчике (при вкл) затирает вручную установленный список каналов…

тигромух
alexpv:

зы: разобрался - среднее и длительное нажатие кнопки на передатчике (при вкл) затирает вручную установленный список каналов…

Надо больше 10 секунд держать кнопку. Иначе он делает randomize 😃
В новой версии, конечно, сильно все поменялось. Можно не лазить в код и выставить все из менюшки. На мой взгляд, добавилось лишнее действие, но зато эта замута с рандомайзом теперь не актуальна.
Я все равно перебил дефайны в binding.h, т.к. фьюзы у меня еще не правленые, опасаюсь, что EEPROM слетит в самый неподходящий момент…

У меня сейчас вот так (загружено по “[I] renitialize settings to sketch defaults”):

  1. Base frequency: 432800000
  2. RF magic: 39414C46
  3. RF power (0-7): 6
  4. Channel spacing: 6
  5. Hop channels (6): 2,123,58,178,102,234
  6. Baudrate (0-2): 0
  7. Beacon frequency: 446006250
  8. Beacon Interval: 10
  9. Beacon Deadtime: 30
    A) Channel config: 8
    В) Telemetry: Disabled
    C) Failsafe delay: Long (2s)
    D) Stop PPM on F/S: Disabled
F_R:

Кость, могу предоставить тебе эту возможность

Спс, воспользуюсь 😃

alexpv

Выше говорилось о преимуществах калибровки частоты конкретных модулей RFM, есть ли в этом практический смысл (увеличится ли дальность), возможно ли это на прошивке KHA? Просто заметил в HDSDR что середина полосы (или как это правильно назвать) каждого канала смещена относительно частоты показанной HDSDR процентов на 20. Вопрос насколько критично это смещение, чем оно вызвано (модулем или SDR)?
Думаю SDR можно проверить по известным частотам радиостанций, а затем уже по ней откалибровать RFM

polarfox

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

baychi
alexpv:

говорилось о преимуществах калибровки частоты конкретных модулей RFM, есть ли в этом практический смысл (увеличится ли дальность), возможно ли это на прошивке KHA?

Явная калибровка и подстройка частоты от температуры есть только на прошивках Эксперта. В КНА можнно вероятно заложить индивидуальный поправочный коэффициент модуля.
Необходимость и эффективность точного совпадения частот зависит от параметров протокола. Эксперт использует низкоскоростной (7200) узкополосный канал с девиацией +/-8.75 КГц. Такая девиация дает более помехозащищенный канал (в узкую полосу труднее попасть), но требует совпадения частот в пределах +/-5 кГц. Поэтому здесь очень важна калибровка и полезна автоподстройка от температуры.
У KHA скорость больше (9600-38400) , полоса шире 30 кГц. Соответственно требования к разбежке слабее - +/-15 кГц. Но и помехозащенность (и чувствительность) ниже.

alexpv:

Просто заметил в HDSDR что середина полосы (или как это правильно назвать) каждого канала смещена относительно частоты показанной HDSDR процентов на 20. Вопрос насколько критично это смещение

20% - некритично. Критично >40-50%.

alexpv:

чем оно вызвано (модулем или SDR)?

Разбросом кварцев RFM-мок, плюс разницей температур.

тигромух
polarfox:

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

А в ФС сервы дрожат?
У меня с маяком все ок, как и раньше. Посмотрел в гите, по маяку в коде давненько ничего не менялось…
Да и менять там нечего, все же просто.

alexpv:

Выше говорилось о преимуществах калибровки частоты конкретных модулей RFM, есть ли в этом практический смысл (увеличится ли дальность), возможно ли это на прошивке KHA? Просто заметил в HDSDR что середина полосы (или как это правильно назвать) каждого канала смещена относительно частоты показанной HDSDR процентов на 20.

HDSDR тут особо не при чем, важнее железо, с которым он работает. А оно, как правило, кривое 😃
Но это не важно. Важнее убедиться, что совпадают частоты у приемника и передатчика, а это лучше проверить, запустив на приемыше спектроанализатор.

alexpv

Еще вопрос, хотя и немного не по теме. Как правильно закрепить антенну типа nagoya na-771 (BNC) на передатчик Турнигу? Сначала я сделал пластиковое крепление на металлическую ручку для самодельного кабеля (20см) SMA-BNC, но потом прочитал что для таких антенн нужен противовес, поэтому переделал крепление на металлическое и соединил ручку передатчика с землей внутри корпуса, дальность пока не проверял.

baychi

Смотрите, чтобы передатчик не заглючил от близости к антенне.

alexpv
baychi:

Смотрите, чтобы передатчик не заглючил от близости к антенне.

Вроде у многих так, да и мощность пока 100мвт, хотя RFM23 уже едет 😃 Смущает что в моей схеме крепления две точки подключения земли - оплетка кабеля и кронштейн BNC

baychi
alexpv:

да и мощность пока 100мвт, хотя RFM23 уже едет

О да на 100 мВт опасности нет. 😃 На 1 Вт и выше - есть.

polarfox
тигромух:

А в ФС сервы дрожат?

Можно сказать,что нет.Так, иногда скрипнет.Единственное,что в момент посылки маяком сигнала аналоговая серва дрожит как от видеопередатчика.Второй приёмник с цифровыми сервами вроде помалкивает.

baychi
polarfox:

в момент посылки маяком сигнала аналоговая серва дрожит как от видеопередатчика

Там может по аналогии наводку ловит. Пусть 100 мВт, но на 433 МГц да вблизи - мощность вполне существенная.

polarfox

Может быть…,но раньше такого не наблюдалось.Только что мысль пришла,может это от БЕКа.Т.к. раньше я с другим БЕКом эксперименты ставил.На другом приёмнике(он уже в самолёте) антенна почти рядом с сервами стоит и питается он от того первого БЕКа и таких проблем при работе маяка нет,правда сервы цыфровые.

brutal4028

Я конечно очень извиняюсь, но мог бы кто нибудь замерить packet interval при конфигурации каналов 4+4 и бод рэйт 0
фтди нету, шьюсь usb avrом, а хотелось бы понять что можно вытащить при 4800

Mark_Kharkov

Если вы неправильно зашили фьюзы на передатчике/приемнике или что случилось с атмегой, совсем не обязательно выкидывать плату как советует Эксперт. Еще и не такое новички в пайке в 1й раз в жизни паяли, я лично, первый раз в жизни из таких микросхем перепаял Атмега 2560 которая посложне будет - и нормально, контроллер уже после перепайки не раз облетан.

Expert:

судя по лампочке- кварц живой
скорей всего сняли RSTDISBL или SPIEN
тогда всё, в мусор.

Похоже таки Эксперту выгодно, что бы ОпенЛРС выкидывали…

Перечитываю тему… Хоть и давно было это сообщение, но тем не менее, может кому пригодится… -
Тоже не имел опыта пайки атмег, но после умершего Crius AIOP v1.0 за 53$ и что еще хуже - ожидания 20 дней в уже теплую погоду, пока прийдет новый контроллер - научился, благо в ветке МегапиратаНГ добрые люди подсказали. Поверьте, не так и сложно это делать, если у меня без опыта получилось - то думаю и у остальных получится перепаять новую Atmega328, я же перепаивал Atmega2560 - там в 2ва раза больше ножек и меньше расстояние между ними, тем не менее - получилось.
Значит что для этого надо? -

  1. Не трясущиеся от страха поломать/пьянки руки (куда еще ломать? уже все сломано до этого 😃)) ).
  2. Паяльник приблизительно на 30ватт (я использовал самый дешевый Topex купленный 35-45грн).
  3. Безотмывочная паста-флюс для тонкой электроники (лучше подоставать продавца у которого хороший ассортимент, какая для SMD лучше подходит, я покупал что-то около 15-20грн на радиобазаре).
  4. Собственно сама атмега328 (я покупал что-то окло чуть более 20грн).
  5. Острый нож с тонким кончиком (я думаю это у всех есть).

В общем цена вопроса - фигня, сама атмега, паяльник и паста еще не раз пригодятся, при этом не надо ждать 20 дней (или платить за ЕМС).
Итак, сам процесс, по итерациям:
0) В углу корпуса Атмеги - есть такая “точка”, это маркер, где должен находится 1й выход микросхемы. Запоминаем (а лучше зарисовываем) ее положение на плате.

  1. Острым ножом отрезаем (физически) ножки от атмеги, просто аккуратно придавливая ножом вплотную к корпусу атмеги, как-бы отрезая ножки от корпуса. При этом естественно ножки остаются пока-что припаянными к плате.
    Процедура занимает 1 минуту.
  2. Паяльником с тонким жалом + пинцетом (если нету специального - можно одолжить у жены/сестры и т.д.) удаляем старые ножки. Просто берем пинцетом за ножку/ножки (сколько ухватитесь) и касаясь паяльником - убираете их.
    Процедура занимает 1-2 минуты.
  3. Убеждаемся, что дорожки на плате НЕ замкнуты припоем. Если замкнуты:
  4. вытираем жало паяльника от припоя при наличии флюса забираем лишний припой с платы, пока не уберете замыкания.
    Процедура занимает 0,5-10 минут.
  5. Снова проверяем что нет замыканий. Если есть - повторяем пункт 4.
    Процедура занимает 0,5 минуты.
  6. Мажем пастой место, куда будут припаиваться ножки Атмеги. Прибл в слой 0,5-1мм.
    Процедура занимает 1 минуту.
  7. Кладем пинцетом Атмегу на ее место, аккуратно двигаяя ее корпус, добиваемся, что бы ее ножки со всех 4х сторон четко совпадали с дорожками на плате.
    Процедура занимает 1-3 минуты.
  8. Запаиваем 2ва противоположных вывода атмеги, что бы микруха уже не могла “гулять” по плате.
    Процедура занимает 0,1 минуты.
  9. Запаиваем остальные выводы Атмеги. Просто берем и каждый из них аккуратно где-то секунду касаемся паяльником, чуть-чуть как-бы проводим по нему. При хорошем флюсе - этого достаточно, он запаяется скорее всего остатком припоя на плате, 90% что добавлять свой не прийдется.
    Процедура занимает 1 минуту.
  10. Если припоя оказалось много и случились межножечные замыкания, делаем как в пунктах 3-4. Пока не прекратятся.

Собственно и все. Плата отремонтирована! 😃
После этого -

  1. подключайте программатор, к плате.
  2. через ардуино-IDE занимаете бутлоадер.
  3. если фигня с фьюзами для этой платы, то НЕ ОТКЛЮЧАЯ ПИТАНИЯ ПОСЛЕ ЗАШИВКИ БУТЛОАДЕРА правим фьюзы в другой программе. В этом пункте не уверен на 100%, т.к. для моего случая (с другой платой на 328 меге) все работало из Ардуино. Пускай меня поправят знатоки, если я не прав.

Поверьте, больше нервов потратите ожидая новый передатчик/приемыш, особенно если будет бэкордер, а один раз сделав это, особенно с такой мегой посложнее, как Атмега2560 - уже пофигу, перестаешь бояться что-то не так прошить, имея у себя программатор, зная, что при ошибке - не новые сколько-то XX$ и 20ть дней ожидания, а всего-то завтра зайти на радиорынок, потратить X$ долларов и потом 0,5 часа на перепайку Атмеги 😃
Пробуйте, получится! 😃

baychi
Mark_Kharkov:

Похоже таки Эксперту выгодно, что бы ОпенЛРС выкидывали…

Сeргей, Вы о чем?
У Вас есть идея как восстановитть Мегу при сброшенном SPIEN, кроме как выпаять и подключить к параллельному программматору, а затем запаять на место?

Не знаю, как у Вас в самостийной, но у нас, в белокаменной, новая мега стоит 300 р в самых дорогих конторах.
Терять пару дней на выпаивание, поиск адекватного програматора, и запайку назад, не всякий может себе позволить. “Время - деньги”, как говорил великий комбинатор. 😃