Два E-CW-ключа на микроконтроллере PIC12F675 » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Два E-CW-ключа на микроконтроллере PIC12F675
    Автор публикации: alex Просмотров: 6948 Добавлен: 4-12-2014, 15:19 Комментарии: 0

         Несколько необычное название телеграфного ключа E-CW родилось в процессе написания статьи и поиска автором описаний аналогичных устройств в Интернете. Как правило, большая часть статей имела названия вроде "Электронный ключ..." или "Ещё один электронный ключ.". Побоявшись, что очередное обыденное название просто затеряется среди прочих, решил назвать своё устройство E-CW-ключом, так как это аббревиатура словосочетания "электронный телеграфный ключ", кроме того, и имя автора начинается на букву Е.
         Предлагаемые два варианта E-CW-ключа не претендуют на какую-либо оригинальность, а скорее, преследуют цель помочь в выборе схемы и конструкции устройства, которых в радиолюбительских источниках представлено великое множество.


         Думаю, что немало заядлых телеграфистов желают иметь на рабочем столе компактный и надёжный электронный телеграфный ключ-тренажёр. Поэтому первый вариант ключа (рис. 1) предназначен для индивидуальных тренировок и обучения. Конструкция второго ключа (рис. 2) рассчитана на непосредственное встраивание в трансивер.
         Оба устройства выполнены на восьмиразрядном микроконтроллере PIC12F675 [1]. В первом варианте использован внутренний калиброванный RC-генератор микроконтроллера частотой 4 МГц, обеспечивающий достаточную стабильность скорости передачи по времени и малое энергопотребление. Скорость передачи регулируется от 17 до 50 слов в минуту (60.200 знаков/мин) переменным резистором R6. Во втором варианте ключа пределы изменения скорости передачи такие же, а регулируется она переменным резистором R7.
         Алгоритм работы ключа определён программой, записанной в память микроконтроллера. Строго выдерживается стандартное соотношение длительностей точек, тире и пауз 1:3:1. Для прослушивания сигнала к НЧ-выходу ключа можно подключить либо внешний усилитель, либо компьютерную микроте-лефонную гарнитуру с сопротивлением головных телефонов 100...600 Ом. Тональный сигнал имеет фиксированную частоту около 750 Гц.


         В предлагаемых вариантах ключа нет возможности записывать и передавать макросы (по мнению автора, с этим лучше справляется компьютер), но есть ямбический режим. Принято считать, что существуют два ямбических режима — А и В. Режим А предназначен для работы на двухрычажном манипуляторе. Нажатие обоих рычагов приводит к чередованию тире и точек, начиная со знака, рычаг которого нажат первым. При использовании однорычажного манипулятора ямбический режим А не действует.
         Ямбический режим В отличается только наличием памяти знака, которая действует и при использовании однорычажного манипулятора. В обоих вариантах ключа предусмотрены оба ямбических режима. Возможна работа и с традиционным ключом Морзе (так называемым "коромыслом") S2.
         Ключ, собранный по схеме на рис. 1, потребляет от стабилизатора DA1 в режиме ожидания ток 1,24 мА, при передаче серии точек со скоростью примерно 100 знаков/мин — 3 мА, при длительном нажатии — 6 мА. Его работоспособность сохраняется при понижении напряжения питания до 3 В. Тон сигнала при этом повышается до 800 Гц, а скорость передачи фактически остаётся прежней.


         Первый вариант ключа собран на плате из фольгированного с двух сторон стеклотекстолита размерами 40x40 мм (рис. 3, рис. 4), хотя все печатные проводники находятся на стороне пайки. Фольга со стороны установки деталей используется как дополнительный общий провод и при желании может быть удалена. Отверстия под выводы деталей, не имеющие соединения с общим проводом, раззенкованы.
         Все постоянные резисторы — МЛТ или С2-23. Оксидные конденсаторы — К50-35 или их импортные аналоги, керамические — КМ, К10-17В или их импортные аналоги. Переменный резистор регулировки скорости — любой с линейной зависимостью сопротивления от угла поворота движка. Регулятор уровня сигнала самопрослушивания СП3-19 (R1) установлен непосредственно на плате.
         Внешний вид этого варианта ключа показан на фотоснимке рис. 5. В его корпусе установлен и маломощный сетевой источник питания (трансформатор и выпрямитель) с выходным напряжением +12 В.


         Частоту тактового генератора второго варианта ключа (см. рис. 2) задаёт цепь C5,R6,R7, подключённая к порту GP5. Внутренняя логика работы этого ключа немного отличается от описанной выше. Через порт GP4 вместо формирования сигнала самопрослушива-ния организован вывод сигнала QSK.
         Признаком переключения с приёма на передачу программа считает каждую последовательность из точки или тире и паузы длительностью в одну точку (рис. 6). Одновременно с началом каждой точки или тире на выходе GP4 появляется высокий уровень напряжения, который удерживается до тех пор, пока не будет выполнена пауза, равная длительности точки. В этот момент высокий уровень сменяется низким. С началом следующего знака (точки или тире) он снова становится высоким, но этому предшествует пауза длительностью в два машинных цикла, вызванная особенностями работы микроконтроллера. Возникающие короткие провалы в сигнале QSK устраняет интегрирующая цепь R2C3. Таким образом, на выходе QSK формируется сигнал переключения "приём — передача". Низкий уровень — приём, высокий уровень — передача.
         Вход для подключения обычного ключа (GP3) можно использовать для манипуляции трансивера, например, с помощью компьютера. Соотношение длительностей точки, тире и паузы такое же, как в первом варианте.


         Второй вариант ключа собран на плате из двусторонне фольгированного стеклотекстолита размерами 30x40 мм (рис. 7, рис. 8). Детали применены такие же, как и в первой конструкции. Ток, потребляемый этим вариантом ключа от стабилизированного источника питания напряжением +5 В, не более 2,3 мА в режиме ожидания и при длительном нажатии. При передаче серии точек со скоростью около 100 знаков/мин потребляемый ток уменьшается до 1,1 мА. Работоспособность сохраняется при понижении напряжения питания до 3 В, как и в предыдущем случае.
         Оба варианта электронного ключа позволяют включать манипулируемое устройство в цепь стока транзистора VT1 непосредственно или через реле с рабочим напряжением обмотки 5...27 В.
         Микроконтроллер PIC12F675 имеет одну интересную особенность. В последнюю ячейку его FLASH-памяти на заводе-изготовителе записывают калибровочную константу, которую следует использовать в программе для точной установки частоты внутреннего тактового RC-генератора, равной 4 МГц.


         Эта константа индивидуальна для каждого экземпляра микроконтроллера. Она состоит из двух байтов. Старший байт всегда одинаков (34H) и представляет собой код машинной команды возврата из подпрограммы с младшим байтом в аккумуляторе.
         Именно младший байт вносит необходимую поправку в настройку генератора.


         К сожалению, во время программирования константу в памяти микроконтроллера зачастую по неосторожности стирают, что приводит к неработоспособности загруженной программы, если в ней используется эта константа.
         Именно такова программа первого варианта ключа. Приступая к программированию микроконтроллера, необходимо, прежде всего, прочитать с помощью программатора содержимое последней ячейки его FLASH-памяти и запомнить его.
         Только после этого можно выполнять обычные операции стирания памяти микроконтроллера и чтения HEX-файла с программой в буфер программатора. Затем следует ещё раз просмотреть содержимое последней ячейки буфера FLASH-памяти и, если оно изменилось, восстановить его. Только после этого можно подавать команду "Программирование". Некоторые программаторы (например, PICkit2) выполняют описанные операции автоматически.


         Если константа была уничтожена ранее и выяснить её точное значение не удалось, можно записать вместо него 3480H. Это обеспечит работоспособность программы, хотя высота тона сигнала самопрослушивания будет немного отличаться от указанной выше. Во втором варианте ключа внутренний RC-генератор не используется, поэтому его работоспособность от наличия константы в памяти и её значения не зависит.
         Необходимые значения разрядов конфигурации микроконтроллера содержатся в HEX-файлах программ для микроконтроллеров семейства PIC (в отличие от AVR). Программатор использует их автоматически.

    Автор: Евгений Мороз (UN7GCE), г. Алматы, Казахстан
    Материал взят из: Журнала Радио 2014 №8

    В архиве: пришивка для микроконтроллера PIC12F675

    dvaklecwnamkpic.rar [1,84 Kb] (cкачиваний: 337)

    Комментарии