Форум Волгоградских радиолюбителей

Технические форумы => Arduino => Тема начата: Груженый от Января 10, 2021, 20:08:48

Название: Антенный комутатор на Arduino
Отправлено: Груженый от Января 10, 2021, 20:08:48
Доброго времени суток! Требуется сделать блок управления антенным коммутатором, желательно на AVR, желательно фирмварь писать на ассемблере, но можно и на Си. Коммутатор должен обеспечивать переключение 8ми антенн как непосредственно с кнопок управления, так и с помощью программы, запущенной в ОС Windows.

Идей по реализации очень немного. Понятно, что связь с ПК реализуем по UART, кнопки и реле со светодиодами к портам, если не хватит портов МК - пользуем расширитель портов. Основной вопрос - как реализовать механизм передачи данных на прикладном уровне, то есть что будет передаваться между МК и ПК и как эти данные интерпретировать в программе с графическим интерфейсом.

Может есть у кого какие идеи, или где можно посмотреть что-то подобное (управление устройствами с ПК). Заранее благодарен.
Название: Re: Антенный комутатор на Arduino
Отправлено: RZ4AT от Января 10, 2021, 20:16:15
Очень мало информации по ним. Нет точной инструкции как пошагово настроить прошивку. Изучить программирование не каждому по силе. 
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 10, 2021, 21:49:56
Доброго времени суток! Требуется сделать блок управления антенным коммутатором, желательно на AVR, желательно фирмварь писать на ассемблере, но можно и на Си. Коммутатор должен обеспечивать переключение 8ми антенн как непосредственно с кнопок управления, так и с помощью программы, запущенной в ОС Windows.
Мне кажется лучше плюнуть на все и управлять антеннами прям с LPT порта напрямую.  Ассемьлер тут лишний точно. Ардуино вполне справится, можно даже по радио все сделать, вопрос времени и интереса.
На компе писать на C# или бейсике, данные - текст просто. к примеру строка 1234 переключит первую антенну, 2345 - вторую. И прочее прочее.
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 11, 2021, 07:06:08
Чтобы начать проектировать антенный коммутатор, нужно определить тип переключаемых реле, напряжение катушек. Далее переключать лучше через полевики IRL540, они сделаны чтобы срабатывать от 5 вольт ардуины. Далее идет ардуина, общающаяся через com-порт с компом.
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 11, 2021, 07:07:20
Здесь будем придумывать схему и софт данного комутатора. 8)
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 11, 2021, 07:21:21
Управление реле через полевик IRL540N, еще добавить обратный диод шотки на сток-исток транзистора.
Резистор 10к нужен, чтоб исключить случайное срабатывание. 150 окюм - для ограничение тока на пине ардуино.
Название: Re: Антенный комутатор на Arduino
Отправлено: UA4AEU от Января 11, 2021, 08:34:16
У ub3app есть похожий проект.
На 4 антенны.
Интерфейс для ПК на C# (Windows Forms).
Ардуино. Исходники есть на GitHub.
Можно доработать.
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 11, 2021, 10:04:44
Далее определяем какие реле нам нужны. Размыкать нужно и центральную жилу, и экран и сажать неиспользуемые на корпус.
Название: Re: Антенный комутатор на Arduino
Отправлено: Груженый от Января 11, 2021, 12:09:04
Я конечно извиняюсь, но всю ВЧ-коммутацию уже давно придумали за нас. Есть и готовые решения, и наборы, и просто информация "вот тебе чертежи плат, схемы - делай сам". Проблема здесь в первую очередь в управлении с ПК.

Предлагаю осуществлять обмен данными в двухбайтном формате: первый байт - управление реле и чтение их статуса (если переключать вручную, чтоб программа на ПК знала об этом), второй байт - служебный, управление непосредственно контроллером, то есть блокировка клавиатуры например (будет актуально при удаленном управлении, а то в шеке мышка бежала, хвостиком махнула - антенна и переключилась), блокировка переключения при наличии ВЧ на входе (защита от дурака), и так далее и тому подобное. Уже два бита занял, еще шесть осталось.
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 11, 2021, 14:20:57
То есть при подключении к компу чтоб внешние кнопки блокировались? Так просто на соседний пин через диод припаять.. и будет мониторить подключен ком-порт или нет. Блокировать то зачем?
Название: Re: Антенный комутатор на Arduino
Отправлено: Груженый от Января 11, 2021, 15:10:39
COM-порт (и не обязательно он, может и USB-TTL конвертер) будет подключен в любом случае - рулить дистанционно ж надо. Блокировать надо для защиты от непосредственного переключения, когда оператора нет дома, а мышка может мимо пробежать, да хвостиком и махнуть.

В идеале еще бы от трансивера инфу получать, с разъема CAT, в зависимости от диапазона подключать ту или иную антенну (есть такая фишка Band Data). Но это уже опции. Тут хотя бы базовый функционал реализовать.
Название: Re: Антенный комутатор на Arduino
Отправлено: Sam от Января 12, 2021, 10:13:21
Для начала нужна блок-схема и алгоритм.
Название: Re: Антенный комутатор на Arduino
Отправлено: Груженый от Апреля 13, 2021, 23:28:39
Прошло два месяца...
Основной функционал прошивки написан, остался небольшой вопрос с реализацией сохранения состояния переключателя (какая антенна была включена последней) после выключения питания.
Базовая схема выглядит так:
(https://unlis.ru/wp-content/uploads/2021/03/antenna_switch_attiny_2313_circuit_v1.2-1024x635.png)

Управляющая программа на C#, в принципе, написана, необходимо доработать напильником необработанные исключения (чтоб не молча падала, а говорила об ошибке)
Подробнее почитать тут: https://unlis.ru/?p=1944 (https://unlis.ru/?p=1944)



Прошел еще месяц...
По подсказкам знающих людей была добавлена прием/передача данных по USART с контрольными суммами CRC, реализован ответ от контроллера на команды от ПК, сделана попытка сохранять данные только при потере питания программно-аппаратным способом.
Схема чуть изменилась:
(https://unlis.ru/wp-content/uploads/2021/04/antenna_switch_attiny_2313_circuit_v1.3-1024x620.png)

Управляющую программу еще не переписывал, так как писать на C# в среде WinForms для меня оказалось сложнее, чем на C под AVR.
Подробнее почитать тут: https://unlis.ru/?p=1984 (https://unlis.ru/?p=1984)



В планах:
Название: Re: Антенный комутатор на Arduino
Отправлено: Груженый от Апреля 27, 2021, 23:09:49
Приехало обновление - версия прошивки 1.4

Схему чуть изменил:

(https://unlis.ru/wp-content/uploads/2021/03/antenna_switch_attiny_2313_circuit_v1.4-1024x612.png)


Но все равно что-то в коде мне не нравится....