Страница 1 из 6

CW маячок для чм и CW на PIC, AVR и радиомодуле СС1101 430МГ

СообщениеДобавлено: 06 ноя 2013, 20:06
Toni
Контроллер телеграфного маяка на PIC контроллере. В этом сообщении ниже.
Контроллер телеграфного маяка на ATmega8
Контроллер телеграфного маяка на ATmega8 + датчик температуры
Контроллер телеграфного маяка с возможностью программирования + датчик температуры
Контроллер телеграфного маяка с возможностью более гибкой настройки + датчик температуры
Телеграфный маяк на 70см на ATmega8 + модуль передатчика СС1101 + температурный датчик
Телеграфный маяк на Arduino Pro mini + BMP180 + CC1101 с передачей высоты.

====================================================================================================================
Решил перепостить описание на новый форум. Печатка и проект для MPLab на прошлой версии форума уже давно удалены с хостинга файлов.
CW маячок предназначен для использования в составе любой ЧМ станции. С интервалом примерно в минуту выдаёт телеграфом запрограммированный текст на 7 ноге МК. С 6 ноги снимается сигнал для управления передачей. Пока для того чтобы изменить текст маячка нужно изменять программу. Проект для MPlab, печатка в SL, выложены ниже. Резисторы и конденсаторы SMD 1206.
Жду предложений, замечаний по работе девайса и алгоритму самой программы.

Схема
CW beacon2.JPG


Проект для MPLab и печатка
CW beacon.zip
(138.2 КБ) Скачиваний: 987

В архиве две папки. В папке cw beacon manipul содержится проект для CW режима, в папке cw beacon zvuk проект для работы маячка на радиостанции в режиме ЧМ. В файлах исходниках с расширением .asm в "шапке" есть краткое описание. Для управления ключём в CW режиме для проекта в папке cw beacon manipul используется 7 нога процессора.
Программу MPLab можно найти на сайте микрочипа http://www.microchip.com

Чтобы переделать передаваемый текст нужно открыть файл исходника main.asm и почти в самом конце переделать по аналогии блок:

Код: Выделить всё
;воспроизведение текста "CQ DE BEACON ...."
    call BkvC
    call BkvQ
    Call PauseBig
    call BkvC
    call BkvQ
    Call PauseBig
    call BkvD
    call BkvE
    call PauseBig
    call BkvB
    call BkvE
    call BkvA
    call BkvC
    call BkvO
    call BkvN
    call PauseBig
........

Скопмилировать новый хекс файл и залить в проц.

Re: CW маячок для чм и CW

СообщениеДобавлено: 02 дек 2013, 16:00
Toni
Вариант маячка на AVR, мк ATmega8. В прицепе проект для AVR Studio. Файл прошивки лежит в каталоге default, называется ballon_beacon.hex (так же как и для всех остальных прошивок, см. ниже по теме). Для задания своего текста, пока нужно изменять исходники и компилировать. Текст задаётся в массиве:
Код: Выделить всё
unsigned char cw_str[30]={" VVV BALLON DE RA4NHY "};

строка 47
Если в Вашем тексте более 30 символов, то соответственно нужно увеличить размер массива
Код: Выделить всё
cw_str[30]

Дополнительно маяк передаёт напряжение на батарее. Для правильного понимания значения напряжения нужно после первой цифры мысленно поставить запятую. Например, полученное число 362 значит 3,62 В.
Позже добавлю возможность программирования текста, без компиляции, подключившись к процессору через COM порт.
Схема
ballon beacon.GIF
ballon beacon.GIF (10.66 КБ) Просмотров: 61068

Фьюзы для программы AVR Dude. Галочка значит ноль, пустой квадратик - 1(см. даташит). Для других программ программаторов возможно несовпадение, будьте внимательны!

Clipboard01.gif
fuses avr dude

Проект для AVR Studio

Re: CW маячок для чм и CW

СообщениеДобавлено: 10 янв 2014, 11:28
Toni
Добавил измерение и передачу температуры. Температура меряется микросхемой DS18B20. Так как, судя по ДШ, нижний порог рабочего напряжения у этой микросхемы 3 вольта, измерение напряжения производится до достижения этого напряжения. Ниже 3 В температура не передаётся.
При передаче температуры не передаётся запятая. её нужно мысленно поставить после второй цифры. Для обозначения знака используются буквы P - температура выше нуля и M - температура ниже нуля. Например принятая строка Р253 означает +25,3 градуса цельсия.
ballon beacon temp.GIF

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 01:45
IRF520
Тони приветствую Вас! Собрал Ваш контроллер маяка на атмега8а в DIP корпусе, пока коммутирует светодиод- два состояния, вкл/выкл. Все работает, передаёт что заложено в прошивке (я даже успел покопать в ней изменив передаваемые символы Hi-Hi :razz: )
Как известно, в таком корпусе нет входа АЦП ADC7 (для вольтметра). Можете пожалуйста поправить прошивку и убрать передачу вольтметра. В принципе она мне не нужна т.к. маяк будет стационарным.
Игорь.

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 01:57
IRF520
Вот фото.
Изображение
В макетном виде. Так сказать опробовал. Теперь переведу на пп.
Кстати передатчик будет тоже на атмега8+китайский ддс модуль на 9850 (модуль на фото). У меня есть прошивка можно любую частоту забить от 1мгц до 30мгц.

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 09:54
Toni
IRF520 писал(а):Тони приветствую Вас! Собрал Ваш контроллер маяка на атмега8а в DIP корпусе, пока коммутирует светодиод- два состояния, вкл/выкл. Все работает, передаёт что заложено в прошивке (я даже успел покопать в ней изменив передаваемые символы Hi-Hi :razz: )
Как известно, в таком корпусе нет входа АЦП ADC7 (для вольтметра). Можете пожалуйста поправить прошивку и убрать передачу вольтметра. В принципе она мне не нужна т.к. маяк будет стационарным.
Игорь.


Здравствуйте. Спасибо за интерес к маячку.
Если сумели поправить текст, то легко сможете сами убрать передачу напряжения. Самое простое это закоментировать строки, поставив перед ними - "//"
Код: Выделить всё
//u_measure();  //меряем напряжение на батарее
//cw_tx(cw_str_vbatt);

и скомпилить прошивку.

При желании можно переназначить вход "вольтметра". Например заменив строку
Код: Выделить всё
//настройка АЦП
ADMUX|=1<<REFS1|1<<REFS0|1<<MUX0|1<<MUX1|1<<MUX2;  //опорное напряжение внутренее, выбран вход ADC7

На эту
Код: Выделить всё
//настройка АЦП
ADMUX|=1<<REFS1|1<<REFS0;  //опорное напряжение внутренее, выбран вход ADC0

В качестве входа "вольтметра" будет задействован вход ADC0, или 23 нога в DIP корпусе.

По поводу изменения текста есть небольшие грабли. Размер массива в котором расположен текст должен быть на единицу больше чем количество символов в тексте. Например
Код: Выделить всё
cw_str_vbatt[11]={" VBATT XXX"};

Количество символов = 10 (пробелы тоже учитываются), значит размер массива должен быть 10+1=11. Если этого не сделать, маяк будет работать не корректно.

Есть небольшие изменения во фьюзах. Картинка выше уже изменена. Для того чтобы проц завёлся при напряжении ниже 3,7 Вольт, нужно убрать галку BODEN, это сраведливо для графической оболочки которую я использовал для AVRDude (см. картинку с фьюзами выше).

Вот сама программа и драйвер для программатора USBasp. usbprog.zip

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 10:33
IRF520
Ок. Попробую поковырять исходник, может что и получиться. Сообщу тут.

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 10:40
IRF520
Все. Прокомментировал две строки в прошивке. Все работает.

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 10:54
IRF520
Cорри, я не знаю как редактировать тут сообщения. Потому пишу каждый раз по новому. В общем загрузил видео работы маяка. Снимал на домофон, качество не ахти какое.

Скачатьvideo-2014-01-11-11-42-10.mp4

Передаётся текст состоящий из 10 букв ''Т'' и пять раз буква S (период между воспроизведением основной информации)
Как то так. В пору делать ВЧ часть. :)

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 11:32
Toni
А Вы фьюзы не программировали? Или длительности точек тире и т.д. тоже меняли? Просто судя по видео скорость телеграфа меньше чем у меня.

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 12:38
IRF520
Фьюзы как во втором сообщение. Просто поменял скорости передачи типе 800 точка 300.

Re: CW маячок для чм и CW

СообщениеДобавлено: 11 янв 2014, 12:47
Toni
IRF520 писал(а):Фьюзы как во втором сообщение. Просто поменял скорости передачи типе 800 точка 300.

Тогда надо ещё пропорционально увеличить эти константы
Код: Выделить всё
#define SYMB_PAUSE 300
#define WORD_PAUSE 700

Позже введу множитель, для изменения скорости. Чтобы автоматом все задержки изменялись.

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 18 янв 2014, 20:37
Toni
Видео работы
phpBB [media]

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 26 янв 2014, 09:30
Анатолий
Сегодня около 10:00 в р-не Филейки на этой частоте несколько секунд принимал похожий сигнал.

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 26 янв 2014, 12:00
Toni
Возможно кто-то местный испытывает. Но что-то очень в этом сомневаюсь. Передатчик что на видео уже неделю как улетел в южном направлении в качестве тестового запуска. Правда передатчик сдох сразу(
Кстати, почти дописал версию с программированием текста через ком порт, скоро выложу альфа версию.

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 27 янв 2014, 11:19
Анатолий
Я пытался отследить информацию о времени запуска. Эфир какое-то время слушал. Антенна А1000 с верт.поляр. Поворотка только горизонтальная 11 эл. Сам иногда балуюсь, запускаю шары в небо. правда тепловые :) из склеенных мусорных пакетов. Последний был примерно на 350 литров объёма. С гелием у этих наверно не хватит прочности...

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 27 янв 2014, 12:46
Toni
Анатолий писал(а):Сам иногда балуюсь, запускаю шары в небо. правда тепловые из склеенных мусорных пакетов. Последний был примерно на 350 литров объёма. С гелием у этих наверно не хватит прочности...

А сколько такой шарик способен поднять? Можно и с таким мешком запустить, если грамм 15 он способен поднять.

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 28 янв 2014, 08:47
Анатолий
Надо пробовать наполнять гелием. А тепловые я вначале прогреваю газовой горелкой, потом поджигаю фитиль(хб.ткань пропитанная парафином) вот видюшка двулетней давности http://my.mail.ru/video/mail/ua4nhq/_my ... yvideo/117 Сам фитиль достаточно тяжёлый. В граммах не вешал. Лучшие полёты когда холодно и безветренно. При снегопаде и дожде очень плохо, сильно утяжеляется. Надо сказать, сама оболочка тоже тяжёлая, нужно что-то тонкое и прочное. А с гелием и водородом ещё и серебристое. С изменением высоты объём газов и так увеличивается, ещё и от солнца может нагреваться.

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 28 янв 2014, 21:01
Toni
Вобщем понятно, проще с гелиевым шариком, тем более, что уже есть проверенный вариант который уверенно поднимает 15 грамм.
Нарисовал новую платку с процессором и передатчиком на одной плате. Появится время, соберу и попробую снова.

Re: CW маячок для чм и CW на PIC и AVR

СообщениеДобавлено: 29 янв 2014, 08:56
Toni
Версия маяка с возможностью установки передаваемого текста, а так же возможностью отключать передачу напряжения и температуры. Текст сохраняется в энергонезависимой памяти, поэтому нет необходимости в программировании текста каждый раз при включении питания. Для тех кто будет использовать DIP корпус есть возможность переключить вход вольтметра. Выключение этих функций производится замыканием определённых выводов на землю. Подробнее на схеме.
ballon beacon temp progr text.GIF


Программирование текста возможно через COM порт. Так как процессор переваривает только 5ти вольтовые уровни, подключаться к нему нужно через переходник. Собрать например можно на микросхеме ST232 или подобной. Или купить у китайцев, например, тут.

Если Вы используете МК в DIP корпусе, то для подключения к ком порту используются ноги: 2 - RX, 3 - TX.

Алгоритм программирования следующий.
Скачиваем терминальную программу Terminal v1.9b by Br@y.
Запускаем, настраиваем как показано на следующей картинке.
terminal 1_.GIF
Настройки терминальной программы

Выбираем COM порт, к которому подключен переходник RS232->TTL, скорость обмена Baud rate=9600, Data bits=8, Parity=none, Stop bits=1, Handshaking=none. Выбираем кодировку ASCII.
Подключаем процессор к переходнику. Причём вывод RX процессора нужно подключить к выводу TX переходника, а вывод TX процессора к выводу RX переходника.
Подключаемся - нажимаем "Connect" в терминальной программе.
Временно соединяем 28 ногу процессора с минусом (общим проводом), подаём питание на МК. Маяк должен телеграфом передать текст "NEW TEXT", после этого в терминале должно появится сообщение
terminal 2.gif

Вводим новый текст длиной до 60 символов. Разрешённые символы это прописные (заглавные) буквы, цифры (0-9), пробел, и знак косой черты - "/". Строка обязательно должна заканчиваться символом - "#" . Если текст введён правильно, появится сообщение "ОК" и дополнительно передаётся ОК телеграфом.
terminal 3.gif

При ошибочном вводе появится сообщение "ERROR" и дополнительно передаётся ERROR телеграфом.
terminal 4.gif


Проект для AVRStudio
ballon_beacon_txt_prog.zip
(132.25 КБ) Скачиваний: 770

Прошу обратить внимание, что прошивать в процессор нужно файлы основной программы ballon_beacon.hex и файл еепром ballon_beacon.eep.
Фьюзы без изменений как в сообщениях выше.
Пишите о найденных ошибках и неточностях в этой теме.