Программа маяка корректно работает при использовании bootloader chip45boot2 1. Скачиваем архив по ссылке, в архиве прошивка бутлоадера, GUI загрузчик и документация на бутлоадер. Подключаем плату Arduino UNO/NANO/Pro mini к программатору USBAsp или к другому, если нет плат Arduino можно собрать контроллер маяка по следующей схеме Далее пробуем прочитать fuses на вкладке Fuses в программе AVRDUDE_PROG выбрав микроконтроллер Atmega 328p, если чтение успешное, то программируем fuses как на картинке ниже 3F DA FF 05 После успешного программирования fuses переходим на вкладку Program выбираем файл бутлоадера в блоке Flash chip45boot2_atmega328p_uart0_v2.9Q.hex Программируем, при успешном программировании должный получить подобную картинку Далее устанавливаем GUI загрузчик chip45boot2_GUI_V1-13 из архива, выбираем COM порт на котором определилась платка маяка, выбираем файл программы маяка и прошиваем, если все успешно то получим следующую картинку Теперь можно подключать плату маяка к конфигуратору.
Конфигуратор подключится к плате маяка только при условии подключенного, как минимум, модуля платы синтезатора Si5351. Проверить настройки COM порта На картинке выше показан пример подключения через TTL-USB преобразователь выполненный на микросхеме CH340G (рекомендуется использовать последнюю версию драйвера от производителя, скачать можно по этой ссылке), на разных платах Arduino и TTL-USB преобразователях может использоваться микросхема преобразователя из серии FT232 или другое решение, главное условие, чтобы плата маяка определялась в системе на каком либо COM порту, соответствующий COM порт необходимо выбрать в конфигураторе. При попытке подключения конфигуратора к плате маяка, конфигуратор отправляет в UART сигнал DTR, который вызывает перезагрузку bootloader, в момент перезагрузки программа маяка отправляет назад в UART свой идентификатор. Чтобы это условие было выполнено, необходимо убедится, что на используемой плате маяка вывод DTR TTL-USB преобразователя заведен на вывод RESET микроконтроллера Atmega328p через конденсатор емкостью 100n. При использовании платы Arduino PRO-Mini, для подключения к компьютеру, необходимо использовать внешний TTL-USB преобразователь, на котором кроме выводов GND/+5v/RX/TX есть и вывод RESET (RST), но стоит обратить внимание на наличие конденсатора емкостью 100n в цепи. На некоторых TTL-USB преобразователях, производителем неправильно помечены выводы RX/TX, при отсутствии подключения конфигуратора к плате маяка следует поменять эти выводы местами
При подключении дисплея 1602 по шине i2c, используют модули выполненные на микросхеме расширителя портов PCF8574T/PCF8574AT, эти микросхемы различаются диапазоном адресации для шины i2c. В архиве, есть два файла прошивок: WSPR_Beacon_3_T.hex — при использовании i2c модуля выполненного на PCF8574T WSPR_Beacon_3_AT.hex — при использовании i2c модуля выполненного на PCF8574AT Важно! С релиза 1.05 и выше тип используемого модуля i2c для дисплея 1602 выбирается в конфигураторе
Проверить правильно ли синхронизирован по времени используемый модуль часов реального времени. Передача маяка на выбранных диапазонах начинается в первую секунду четной минуты, длится передача ~110.6 секунд, для того, чтобы передача маяка была декодирована, одно из обязательных условий — точная синхронизация по времени. Модуль DS-1302 (в релизе 1.04 и выше не поддерживается), как показала практика, «убегает» на +/- 5…10 секунд за сутки. Модуль DS-3231 имеет встроенную температурную компенсацию кварцевого генератора (TCXO), тем самым точность данного модуля значительно выше, и он требует более редкой синхронизации по времени, в отличии от модуля DS-1302. Второе обязательное условие — калибровка модуля синтезатора Si5351 по частоте, сигнал маяка декодируют, если он будет передаваться в полосе (верхняя боковая — USB) 2500 Гц от частоты диапазона в соответствии со спецификацией протокола WSPR. WSPR передача может декодироваться при соотношении сигнал/шум от -31 dBm. В моем случае, данная реализация маяка показала следующие результаты (при использовании «голой» Si5351 ), значения усредненные: При использовании внешнего усилителя от 50…100 mW, и более менее нормальной антенне, сигнал маяка примут за сотни/тысячи км — 100%
В первую очередь для естественного выбега частоты модуля si5351, необходимо выждать стабилизацию частоты примерно 15-20 минут после включения питания маяка. При помощи частотомера В качестве частотомера я использую замечательный прибор OSA-103 mini, подключаем выход с модуля si5351 CLK0 на цифровой вход D1 Подключаем конфигуратор к маяку Конфигурируем прибор следующим образом Как видно на скриншоте, выходная частота на диапазоне 20m равна 14,100 678 MHz, диапазон можно переключать кнопками конфигуратора <Band и Band>, кнопками калибровки частоты кварцевого резонатора выставляем требуемое значение выходной частоты Для диапазона 20m правильное значение будет 14, 095 600 MHz Калибровочное значение сразу записывается в EEPROM микроконтроллера. При помощи трансивера или контрольного приемника с SSB Настраиваем трансивер/приемник в моде USB (верхняя боковая полоса) на частоту 14, 094 600 MHz и кнопками калибровки частоты кварцевого резонатора в конфигураторе настраиваем пик звуковой частоты на 1000 Гц. Для этих целей можно использовать программу Soundcard Scope, подключив аудиовыход с трансивера/приемника на линейный или микрофонный вход звуковой карты компьютера Калибровку желательно производить на диапазоне 20m.
Для успешного приема сигнала маяка необходима стабилизация выходной частоты, если отключать генерацию в модуле si5351 в период ожидания, при повторном включение выходная частота будет стабилизироваться какое-то время. Для этого маяк и «отдыхает» на частоте 1 MHz. Если данная ситуация смущает, для предотвращения вещания в эфир сигнала с частотой 1 MHz, в период ожидания, можно рассчитать и поставить на выход si5351 фильтр-пробку, например выполненный по данной методике. Либо использовать диапазонные полосовые фильтры, вот пример ДПФ на 10m. А если еще на выход si5351 поставить широкополосный ВЧ трансформатор 1:1, тогда можно получить выходной сигнал близкий к синусоиде и более чистый по спектру.
Благодаря информации от Романа R3KEE, возможна прошивка платы маяка с загрузчиком Arduino avrdude -Cavrdude.conf -v -patmega328p -carduino -PCOM6 -b115200 -D -Uflash:w:WSPR_Beacon_3.hex:i Если все успешно, то в окне cmd увидим соответствующую информацию