Генератор кода Морзе для радиомаяка (на микроконтроллере ATtiny 13)


Дмитрий ЕЛЮСЕЕВ (RA1АНС), г. Санкт-Петербург

Иногда в радиолюбительской практике встречается задача автоматической многократной передачи короткого сообщения телеграфной азбукой (кодом Морзе). Это может быть необходимо при постройке автономного радиомаяка для контроля прохождения, передатчика для "охоты на лис" или иных целей. Сегодня такая задача легко решается с помощью микроконтроллера, преобразующего заложенный в его память текст сообщения в последовательность точек и тире и с заданным периодом повторяющего её. Остаётся только подать сформированный микроконтроллером сигнал на вход модуляции или манипуляции сигнала передатчика.

Схема такого устройства, показанная на рис. 1, предельно проста. Применённый в нём микроконтроллер ATtiny 13 в восьмивыводном корпусе DIP или SOIC — один из самых дешёвых, загрузка в него программы не вызывает никаких сложностей. Напряжение питания микроконтроллера может быть любым в интервале 2,7...5,5 В, что несложно обеспечить в большинстве конструкций.

На выходе РВО микроконтроллера программа устанавливает высокий уровень напряжения во время передачи точки или тире и низкий уровень во время пауз. Этот сигнал может быть использован для манипуляции CW-nepeдатчика. На выходе РВ1 телеграфные посылки тональные частотой около 600 Гц. Этот сигнал формируется таймером микроконтроллера.

Заложенное в программу микроконтроллера сообщение повторяется периодически в течение всего времени работы микроконтроллера. Светодиод HL1 (малогабаритный любого типа) служит для световой индикации работы

устройства, вспыхивая на 1,5 с по окончании каждой передачи заданного текста.

Программа написана на языке С в среде разработки CodeVisionAVR. Конфигурация микроконтроллера должна соответствовать показанной в табл. 1. Отличие от заводских установок состоит в том, что разряд CKDIV8 оставлен незапрограммированным, поэтому микроконтроллер работает с тактовой частотой 9,6 МГц. В приложенном к статье варианте программа трижды передаёт текст "CQ CQ DE BEACON/ В", после чего следует десятисекундная пауза, затем цикл повторяется до выключения питания микроконтроллера.

Таблица 1

Передаваемое сообщение можно заменить любым другим длиной до 124 символов — заглавных латинских букв, пробелов и знаков дробной черты. Его конец должен быть обозначен символом # (код ASCII 23Н), который в эфир не передаётся. Новое сообщение можно внести в исходный текст программы, присвоив его символьной константе phrase[], После этого программу необходимо скомпилировать заново, а полученный НЕХ-файл загрузить во FLASH-память микроконтроллера.

Но можно обойтись и без повторной компиляции, отредактировав программный код, содержащий текст сообщения, в окне буфера программатора и лишь затем нажав на кнопку "Программирование". На рис. 2 показано, как выглядит это окно при использовании программатора PonyProg.

Сообщению отведена область 14Н—90Н, причём свободные ячейки заполнены символами #, первый из которых служит ограничителем его текста.

Скорость передачи соответствует длительности точки 80 мс. Её можно изменить, присвоив в программе другое значение константе L DOT. Высота тона на выходе РВ1 задана константой TONE. С увеличением её значения (максимум до 255) тон понижается, а с уменьшением — повышается. Число повторений сообщения в серии задано константой REPEAT, а длительность паузы между сериями сообщений (в миллисекундах) — константой REPEAT_DL.

Эти константы определены в приведённых в табл. 2 строках, находящихся вблизи начала программы. После корректировки их значений программу необходимо компилировать заново. Редактировать исполняемый код в окне программатора в данном случае затруднительно.

Таблица 2

#define L_DOT 80

#define TONE 128

#define repeat 3

#define repeat_dl 10000

Программа была испытана в реальных условиях и показала хорошие результаты. Её отправили знакомому радиолюбителю, работающему на коллективной станции ТР2СЕ, размещённой в здании Совета Европы в Страсбурге, и он использовал её для QRP-маяка мощностью около 0,5 Вт, уже более года действующего на частоте 28,222 МГц. Более подробную информацию об этом маяке и рапорты о его приёме можно найти на сайте http://www.tp2ce.eu в разделе "Маяк ТР2СЕ/В". Получено несколько сотен рапортов о его приёме на дистанциях до 2000 км.

Рассмотренная программа занимает около 80 % объёма FLASH-памяти микроконтроллера ATtiny 13.

От редакции. Программа микроконтроллера имеется по адресу ftp://ftp.radio.ru/pub/2014/02/beacon.zip на нашем FTP-сервере.

Или здесь: beacon.zip
Радио 2-2014