Радиокнопка своими руками
Добавил пользователь Владимир З. Обновлено: 09.10.2024
Игорь Уватенков (R9JD)
Разложим по полочкам… Что же такое антенный переключатель и из каких компонентов состоит? Смотрим рисунок ниже. В состав входит пульт управления, исполнительный блок и линия связи. Пульт управления располагается в шеке оператора, коммутационный блок может располагаться на мачте, это удобно, если у вас мультибенд (несколько антенн на одной траверсе). Вы прокладываете один кабель от шека до мачты, а там, наверху, исполнительный блок коммутирует с помощью реле нужную антенну на кабель идущий к передатчику или приемнику. Блок может располагаться и в помещении, при этом кабели со всех антенн нужно привести и подключить к нему.
ПУЛЬТ УПРАВЛЕНИЯ
Суть пульта управления: В этом блоке происходит формирование напряжения, которое подается на реле коммутационного блока, что будет внутри блока и с помощью каких элементов вы соберете переключатель — это уже второй вопрос. То ли это будет ручное переключение, то ли электронный модуль, все зависит от поставленной цели и текущих возможностей.
Самым простой и доступной конструкцией пульта могут служить обыкновенные многопозиционные переключатели. В качестве таковых можно использовать галетные переключатели. Переключатель выбираете такой, на сколько позиций необходимо переключения, проще говоря — по количеству антенн. Если не нашли нужного, то можно секции одной галеты (пластина на которой расположены переключающие контакты) объеденить. Например, переключатель на 3 положения, а на галете таких 3 секции, вы соединяете центральные переключающие контакты всех секций — это и будет общий центральный контакт, в итоге получите 9 позиций. Активно используются и кулачковые переключатели (крайний справа на ркартинке), уже со шкалой!
Можно использовать кнопочные переключатели с взаимоисключающим режимом работы. При нажатии одной из кнопок, она фиксируется с помощью механизма защелки на самом переключателе, остальные отключаются, тем самым всегда остается включенной одна позиция. Это удобно, исключает ошибки коммутации антенн. Сегодня промышленность выпускает переключатели разных видов и даже со встроенными светодиодами для индикации. Думаю схему переключателя рисовать излишне, разберетесь самостоятельно.
А теперь рассмотрим электронные переключатели. Такие модули собирают на основе транзисторных ключей или ключей на микросхемах, возможно использовать в качестве ключей тиристоры. Более продвинутый вариант — микропроцессоры. Логику поведения переключателя закладывают при проектировании устройства.
Первая схема ( Рис.1) коммутатора на переключение 4-х антенн, выполнена на D-тригерах самой распространенной микросхеме в микропроцессорных системах - К155ТМ2 . Пульт представляет из себя (левая часть схемы) четыре тактовые кнопки (без фиксации), две микросхемы и транзисторные ключи. Применение тригеров обусловлено тем, что они хранят неограниченное время установленное состояние и меняют его только в момент, когда происходит переключение (смена устанавливающих напряжений на соответствующих выводах микросхемы).
Немного лирики о тригере. D-триггер (от английского DELAY) называют информационным триггером, также триггером задержки. D — триггер может управляться (переключаться) как уровнем тактирующего импульса, так и его фронтом. Для триггера типа D, состояние в интервале времени между сигналом на входной линии и следующим состоянием триггера формируется проще, чем для любого другого типа.
Когда говорят о состоянии триггера, имеется в виду состояние его прямого выхода: если триггер установлен, то на его прямом выходе высокий уровень (логическая единица). Соответственно, на инверсном выходе все с точностью до наоборот, поэтому инверсный выход часто при рассмотрении работы схемы просто не упоминают.
Логическую единицу на входы R и S можно подавать сколько угодно: состояние триггера не изменится. Это говорит о том, что для входов R и S рабочим является низкий уровень. Именно поэтому входы RS обозначаются на схеме в виде маленького кружочка, который обозначает, что рабочий уровень сигнала низкий или инверсный. Это общее правило для всех условных графических обозначений микросхем. Если вы захотите более подробно ознакомится с данным классом устройств — шагайте в интернет или в библиотеку.
Поскольку входы RS являются приоритетными, мы в своей реализации схемы, будем использовать как обычный RS тригер, управлять будем входами R и S, а входы данных и синхронизации посадим на землю.
Вторая схема Рис.2, реализована на логических микросхемах К155ЛА4 и К155ЛН1. Принцип логического исключения каналов, если один включен, то остальные выключаются. Обращаю внимание на то, что блок кнопок должен быть с взаимоисключающей фиксацией.
Скажу честно, схема Рис.1 более стабильна и предпочтительна для исполнения. В схеме Рис.2 имеется неоправданная избыточность.
Третий вариант пульта управления — применение микроконтроллера. Очень популярный проект Arduino, доступен для как для начинающих так и мастеров. Выбираем плату микроконтроллера под наши нужды из самых маленьких, см. фото:
Схема готова, пишем программу управления (скетч) для МК. Логика проста: нужно опросить входные порты и в зависимости от нажатой кнопки установить высокий уровень на соответствующем выходном порту, остальные сбросить в ноль.
А вот и скетч для схемы Рис.3:
// Антенный переключатель 1х8 v.1.00
// © Игорь Уватенков (R9JD )
// Скетч написан под Arduino Pro Micro
// Возможно использование на других версиий МК с назначением соответствующих портов входа/выхода
//Порты для выходов переключаемых антенн
int ant1 = A3;
int ant2 = A2;
int ant3 = A1;
int ant4 = A0;
int ant5 = 15;
int ant6 = 14;
int ant7 = 16;
int ant8 = 10;
//Порты для кнопок
int bt1 = 2;
int bt2 = 3;
int bt3 = 4;
int bt4 = 5;
int bt5 = 6;
int bt6 = 7;
int bt7 = 8;
int bt8 = 9;
int NumButton; //Номер нажатой кнопки
void setup () <
// Назначаем порты на вход
pinMode (bt1, INPUT );
pinMode (bt2, INPUT );
pinMode (bt3, INPUT );
pinMode (bt4, INPUT );
pinMode (bt5, INPUT );
pinMode (bt6, INPUT );
pinMode (bt7, INPUT );
pinMode (bt8, INPUT );
// Назначаем порты на выход
pinMode (ant1, OUTPUT );
pinMode (ant2, OUTPUT );
pinMode (ant3, OUTPUT );
pinMode (ant4, OUTPUT );
pinMode (ant5, OUTPUT );
pinMode (ant6, OUTPUT );
pinMode (ant7, OUTPUT );
pinMode (ant8, OUTPUT );
>
void SetButton () //Определяем номер нажатой кнопки
<
if ( digitalRead (bt1) == HIGH )
if ( digitalRead (bt2) == HIGH )
if ( digitalRead (bt3) == HIGH )
if ( digitalRead (bt4) == HIGH )
if ( digitalRead (bt5) == HIGH )
if ( digitalRead (bt6) == HIGH )
if ( digitalRead (bt7) == HIGH )
if ( digitalRead (bt8) == HIGH )
>
Для начала неплохо, чтобы понять принцип работы. Мы реализовали логику восьми входных линий и восьми выходных, но у нас целый микроконтроллер, так примитивно использовать его было бы не рационально! Давайте добавим интеллекта в наш проект. Для этого определим задачу, пульт должен:
- Работать в ручном режиме
- Работать в автоматическом режиме
- Индикация режимов
- Декодировать диапазонный протокол Band Data YAESU
- Декодировать диапазонное напряжение ICOM
В современных трансиверах имеется специальный выход с данными о текущем диапазоне. Например, YAESU, ELECRAFT и некоторые другие производители, использует паралельный код для определения диапазона, протокол Band Data, а ICOM для этих целей — уровень напряжения. Схема с изменениями:
Для дешифровки сигналов BAND DATA YAESU используется двоичный код согласно таблице:
Что касается дешифровки диапазонного напряжения ICOM, то здесь ситуация немного иная. Разработчики приняли решение кодировать диапазоны уровнем напряжения, и их решение несколько неудачное, диапазоны WARC объедины с КВ диапазонами. Н а порты МК более 5 вольт подавать нельзя (а исходное до 8V), поэтому д иапазонное напряжение ICOM будем делить с помощью резистивного делителя R21, R22. Для дешифровки прочитаем значение на порту 8 АЦП и в зависимости от диапазона переключм выходной порт в логическую единицу, остальные сбросим в ноль.
Обращаю ваше внимание ( !) Прежде чем залить скетч в МК, необходимо откалибровать уровни показаний (измерений) на входах АЦП 9 (кнопок) и 8 (ICOM) для вашего экземпляра МК, т.к. для разных плат МК все таки имеются расхождения, хоть и небольшие. При необходимости подкорректировать в скетче значения диапазона срабатывания. Для измерений можно использовать простенький скетч ( см.ниже). Методика такая: Заливаем скетч в МК, запускаем программу измерений, открываем монитор порта в среде программирования, нажимаем последовательно кнопки переключения каналов, а в мониторе порта смотрим показания и записываем на бумажку измеренное среднее значение. Для ICOM — просто подаем с блока питания стандартные напряжения из таблицы и так же записываем то, что намерил нам порт АЦП. Далее, если есть необходимость, вносим изменения в основной скетч, указываем в условиях диапазон отклонений с учетом небольшой разницы в меньшую и большую сторону от среднего значения.
//Скетч для выборки калибровочных значений на портах АЦП (9 и 8)
int analogPin = 9; // номер порта АЦП на котором производится измерение, измените его при переходе к другому порту
int val = 0; // переменная для хранения считываемого значения
void setup ( )
<
Serial.begin (9600); // установка связи по serial
>
void loop ( )
<
val = analogRead (analogPin); // считываем значение
Serial.println (val); // выводим полученное значение
delay (1000); //Ждем секунду
>
Исходя из вышесказанного делаем дополнения в программной части. Я умышленно включил в проект возможность дешифровки диапазонов двух разных способов от производителей радиолюбительского оборудования, для того, чтобы вы могли выбрать свой вариант, под ту аппаратуру, которую используете. В скетче можете удалить часть кода, которая не нужна. Блоки помечены комментариями.
// Антенный переключатель 1х8 v.1.01
// © Игорь Уватенков (R9JD )
// Скетч написан под Arduino Pro Micro
// Возможно использование на других версиий МК с назначением соответствующих портов входа/выхода
int ant1 = A3; //Порты выходов переключаемых антенн
int ant2 = A2;
int ant3 = A1;
int ant4 = A0;
int ant5 = 15;
int ant6 = 14;
int ant7 = 16;
int ant8 = 10;
i nt dataD = 2; //Порты BAND DATA
int dataC = 3;
int dataB = 4;
int dataA = 5;
int btn = 9; //Порт кнопок
int btauto = 7; //Порт установки режимов Авто/Ручной
int dataIcom = 8; //Порт чтения диапазонного напряжения ICOM
int ledauto = 6; //Порт индикации
boolean setauto = true ; //Режим авто
int NumButton = 1; //Номер нажатой кнопки
int Trcvr = 1; //Применяемое оборудование (1-Yaesu, 0-Icom)
i nt Band; // диапазон
union InBandData <
struct <
unsigned dt0: 1;
unsigned dt1: 1;
unsigned dt2: 1;
unsigned dt3: 1;
> bits ;
uint8_t value;
>;
InBandData BD; // Переменная для хранения состояния кода диапазона
void setup () <
// Назначаем порты на вход
pinMode (dataA, INPUT );
pinMode (dataB, INPUT );
pinMode (dataC, INPUT );
pinMode (dataD, INPUT );
pinMode (btauto, INPUT );
// Назначаем порты на выход
pinMode (ant1, OUTPUT );
pinMode (ant2, OUTPUT );
pinMode (ant3, OUTPUT );
pinMode (ant4, OUTPUT );
pinMode (ant5, OUTPUT );
pinMode (ant6, OUTPUT );
pinMode (ant7, OUTPUT );
pinMode (ant8, OUTPUT );
pinMode (ledauto, OUTPUT );
>
void SetButton () //Определяем номер нажатой кнопки
<
if ( analogRead (btn) >= 900 && analogRead (btn) <= 910)
if ( analogRead (btn) >= 877 && analogRead (btn) <= 887)
if ( analogRead (btn) >= 853 && analogRead (btn) <= 863)
if ( analogRead (btn) >= 816 && analogRead (btn) <= 826)
if ( analogRead (btn) >= 761 && analogRead (btn) <= 771)
if ( analogRead (btn) >= 670 && analogRead (btn) <= 680)
if ( analogRead (btn) >= 490 && analogRead (btn) <= 500)
if ( analogRead (btn) <= 20)
>
uint8_t BinBandData () //Считываем двоичный код Band Data Yaesu
<
BD.value = 0;
if ( digitalRead (dataA) == HIGH ) else ;
if ( digitalRead (dataB) == HIGH ) else ;
if ( digitalRead (dataC) == HIGH ) else ;
if ( digitalRead (dataD) == HIGH ) else ;
switch (BD .value) case 1: Band = 160; break ;
case 2: Band = 80; break ;
case 3: Band = 40; break ;
case 4: Band = 30; break ;
case 5: Band = 20; break ;
case 6: Band = 17; break ;
case 7: Band = 15; break ;
case 8: Band = 12; break ;
case 9: Band = 10; break ;
case 10: Band = 6; break ;
>
>
void BandIcom () //Считываем уровень диапазонного напряжения Icom
<
if ( analogRead (dataIcom) >= 910 && analogRead (dataIcom) <= 1023)
if ( analogRead (dataIcom) >= 783 && analogRead (dataIcom) <= 837)
if ( analogRead (dataIcom) >= 635 && analogRead (dataIcom) <= 711)
if ( analogRead (dataIcom) >= 511 && analogRead (dataIcom) <= 574)
if ( analogRead (dataIcom) >= 369 && analogRead (dataIcom) <= 437)
if ( analogRead (dataIcom) >= 228 && analogRead (dataIcom) <= 294)
if ( analogRead (dataIcom) >= 0 && analogRead (dataIcom) <= 127)
>
if ( digitalRead (btauto) == HIGH && setauto == false )
if ( digitalRead (btauto) == HIGH && setauto == true )
if (setauto == false) //Если ручной режим
<
digitalWrite (ledauto, LOW ); //Тушим светодиод режима Авто
SetButton (); //Получаем номер кнопки
>
else //Если авторежим включаем каналы
<
digitalWrite (ledauto, HIGH ); //Включаем светодиод режима Авто
if (Trcvr == 1) //Декодируем диапазон
else
//Ниже, в блоке условий, нужно указать какая антенна будет включена в авторежиме,
//в зависимости от декодированного диапазона присвоить, NumButton номер нажатой кнопки.
//По номеру кнопки программа включит нужный канал,
//номер кнопки соответствует номеру канала ( антенны)
if (Band == 160) //КВ диапазоны
if (Band == 80)
if (Band == 40)
if (Band == 20)
if (Band == 15)
if (Band == 10)
if (Band == 30) //WARC диапазоны
if (Band == 12)
//if (Band == 17)
//if (Band == 6)
>
SetAntenna (NumButton);
delay (300); //Мониторим три раза в секунду, можете поставить свое время (в милисекундах)
>
КЛЮЧИ КОММУТАЦ ИИ
Ключи выполняются по классической схеме на составных транзисторах либо на транзисторных сборках. Если у вас уже имеются готовые внешние блоки и реле запитаны с общим заземлёным проводом, то выбирайте схему Рис.5а (транзисторных сборок ключей с общей землей, подобной ULN2003 не видел, возможно они есть…) Если у реле оба контакта обмотки реле независимы, то рациональнее выбрать схему Рис.5б, проще с точки зрения монтажа и в этом случае используется всего одна восьмиканальная микросхема ULN2003A вместо кучи радиоэлементов. Схема канала Рис.6а, а цоколевка микросхемы на Рис.7. При выборе микросхемы обращайте внимание на количество каналов, поскольку выпускаются они с 7 и 8 каналами!
Приведенные схемы ключей (Рис.1-Рис.4 и Рис.5а ), немного отличаются тем, что светодиод в первых включен до ключа, а в последней схеме после ключа, что позволяет видеть работоспособность ключа. Для резистора включенного последовательно со светодиодом нужно подобрать номинал в зависимости от применяемого св.диода и напряжения питания реле. На Рис.5б и Рис.6б — способы подключения реле к ключам.
Немного лирики: ULN2803A является массивом транзисторов Дарлингтона в корпусе DIP18 или SO18. Она состоит из 8 транзисторов с общим эмиттером и внутренними подавляющими диодами для индуктивных нагрузок. Каждый транзистор обладает пиковым током нагрузки 600мА (непрерывный 500мА) и может противостоять напряжению 50В в ВЫКЛ. состоянии. ULN2803A обладает входным резистором 2.7кОм для 5В TTL и КМОП для упрощения взаимодействия с семейством логических элементов. Выводы входов находятся напротив выводов выхода для упрощения разводки платы. Выходы возможно подключать параллельно для увеличения тока. Имеются в нутренние помехоподавляющие диоды. Выходное напряжение до 50В. Как видите ничего придумывать не нужно, все уже есть готовое, бери и паяй.
БЛОК КОММУТАЦИИ
В качестве релюшек я выбрал герметичные RT314024. Работают в диапазоне температур от минус 40 до плюс 85 С, 24 вольта постоянного тока, две контактных группы, расстояние между контактами 2.5 мм, ток коммутации 16 А, время срабатывания 3 миллисекунды, габариты 29х12.7х15.7 мм, стоимость в зависимости от производителя и продавца 70-150 руб за шт. В общем класс. Для мощности в киловатт есть запас, это вполне достойный вариант. Есть аналогичные релюхи, высота их чуть больше и время срабатывания до 7-10 миллисекунд, установочные размеры те же: TRA2 D24VDC-S-Z ( см.фото).
Еще можно использовать Вакуумные реле П1Д-1В, П1Д-3В, П1Д-4В, ток протекающий через контакты от 3 А (П1Д-1В) до 7.5 А (П1Д-3В, П1Д-4В) по паспорту, рабочее напряжение на частоте 30 Мгц = 1.5 Кв. На том, что я перечислил, свет клином не сошелся, можете поискать в интернете подходящий вариант, главный критерий большой ток коммутации, расстояние между контактов не менее 2 мм, герметичность и рабочее напряжение удобное для пульта управления 12, 24 или 27 вольт. Я выбрал 24 в поскольку имеется готовый блок питания. Любителям QRO можно взять мощные вакуумные (В1В-1В, В1В-1В1, В1В-1Т1, В1В-1Т2), и как следствие изготовить другую плату.
Коммутатор собирается в металлическом (дюралевом) корпусе, можно купить готовый корпус. Сверлятся отверстия под ВЧ разъемы по маске платы, корпуса ВЧ разъемов крепляются болтами к корпусу блока либо непосредственно, либо через распорные втулки вместе с платой (первый вариант надежнее). Далее плата «надевается на установленые разъемы и центральные жилы припаиваются к плате. Экраны ВЧ разъемов соеденены через корпус коммутатора и подключаются к плате отдельным проводом. Плату крепить отдельно нет необходимости, она прочно удерживается на распаяных разъемах. Выводы для питания релюшек выводятся на боковой разъем, и экранированым проводом спускаются в шек к пульту управления. Для этих целей подходит кабель экранированная „витая пара“ для внешней прокладки, его можно приобрести в любом компьютерном магазине.
Данный проект можно дорабатывать и развивать под те нужды, которые захотите иметь у себя в шеке. Я рассказал о базовых принципах и начальных этапах программирования. После приобретения некоторого опыта можете переходить к более сложным системам. Успехов вам в развитии!
Те, кто доводил свои самодельные радиоэлектронные устройства до логического конца, всегда сталкивались с проблемой изготовления корпусов или декорированием внешнего вида. Порой это бывает даже сложнее, чем запустить и отладить схему. И сегодня, я поделюсь с вами методом изготовления одной неотъемлемой части многих устройств - кнопок. Вернее, сами кнопки мы не будем штамповать или выпиливать из пластика, а возьмём за основу уже готовые, но модернизируем их под свои нужды.
Кнопка 1
Огромный плюс моего варианта в том, что надпись располагается с внутренней стороны и будет надёжно защищена от влаги, жирных рук и механических воздействий. Но, тем не менее, хорошо просматриваться и при желании подсвечиваться изнутри. Ну что ж, приступим. В образцовом варианте вырезал одну кнопку и удалил резиновую подложку, обрамляющую её по краям.
Теперь обычным лезвием или канцелярским ножом аккуратно, стараясь по минимуму царапать прозрачный пластик, срезаем чёрную контактную пипочку и остатки резины.
Берём самую мелкую наждачную бумагу в доме и начинаем аккуратно полировать. Завершающим этапом полировки будет процедура с ворсистой тканью. Обязательно мягкой на ощупь. Тут сил уже можно не жалеть, ведь от этого зависит конечный результат.
Надпись приклеена. Ждём высыхания и после обрезаем бумагу по контуру кнопки.
А так выглядит готовая кнопка. Куда её применить - дело ваше.
Кнопка 2
Теперь покажу ещё один способ. Тут выбор доноров кнопок уже сокращается. А именно до серии калькуляторов МК. Я лично раздербанил МК-52. Так выглядит его оригинальная кнопочка:
Вообще этот способ намного легче, так как отсутствуют этапы полировки и поиска подходящего клея, но клавиша получается не прозрачной, что лишает возможности подсвечивать надпись изнутри. Принцип всё тот же: вырезаем бумажку по размеру кнопочки и приклеиваем к передней плоской части. Здесь клей можно взять почти любой.
Завершающим этапом будет псевдоламинирование надписи. То есть покрытие обычным прозрачным скотчем.
Наклеиваем небольшой кусок и отрезаем лишние части, чтоб получилась крестовина, стороны которой лягут по бокам.
Пример готовых кнопок:
Долговечность относительная, зато минимум трудозатрат и простата замены надписи в случае её порчи или выцветания. Если первый способ с прозрачными клавишами ещё не нашёл применения в моих устройствах, то второй уже успешно практикуется и в пример я могу привести широкополосный приёмник-сканер Р-45.
В дополнение скажу, что выдерживают влажные руки, подтёков краски не обнаружено. НО эксплуатировать на улице такие устройства не получиться, думаю, сами понимаете почему. Всем добра и яркого внешнего вида самодельных устройств! Теоретизировал и практиковал Даниил Горячев (Alex1).
Форум по обсуждению материала ИЗГОТОВЛЕНИЕ КНОПОК
Приводятся основные сведения о планарных предохранителях, включая их технические характеристики и применение.
Что такое OLED, MiniLED и MicroLED телевизоры - краткий обзор и сравнение технологий.
Про использование технологии беспроводного питания различных устройств.
В каком направлении течет ток - от плюса к минусу или наоборот? Занимательная теория сути электричества.
В последнее время на рынках появилось много дешёвых, но интересных и полезных электронных устройств. Одним из них является дверной радиозвонок. Он представляет собой комплект из передатчика на одном транзисторе, работающего на частоте около 430 МГц, промодулированным кварцевым генератором 32768 Гц и сверхрегенеративным приёмником. Используя этот китайский радиозвонок на 433 МГц, можно управлять любым бытовым прибором.
Например лампами на потолке, или это будет радиоканал одного из датчиков сигнализации, или подъёмником на воротах в гараже. Встречал в интернете даже использование радиозвонка для радиосинхронизатора к фотовспышке. А стоит такой звонок всего 5 $ !
Вот схема звонка, приёмник обычный сверхрегенератор (ничего крутить и настраивать не советую – будет только хуже), в крайнем случае можно немного сдвинуть частоту контура, чтоб не исключить случайное влияние других подобных устройств, работающих поблизости. Ещё более повысить помехоустойчивость от других радиозвонков можно заменив часовые кварцы на другие, например 40 кГц.
Передающую часть можно питать, после того как сядет родная миниатюрная 12 вольтовая батарея, от обычной 9-ти вольтовой “кроны”, долговечность повысится в 2 раза, а цена батареи соответственно снизится. Приёмную часть, запитываем если надо от сети, используя схему, аналогичную той, что в статье “питание мультивибратора от 220в“.
Все материалы добавляются пользователями. При копировании необходимо указывать ссылку на источник.
Читайте также: