Внешний S-метр на радиостанциях Icom с портом CI-V
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Об этом проекте
Эта схема использует Arduino Uno или Nano для отправки команды CI-V на радио Icom, чтобы запросить информацию о сигнале, прочитать ответ, преобразовать его и отобразить на аналоговом выходе, где вы можете подключить аналоговый (Arsonval) S- метр.
Он питается от порта антенного тюнера на радиостанции Icom. Если ваш Icom не имеет порта тюнера, вы можете использовать любой другой порт или разъем, который обеспечивает выход +12 В (минимум 200 мА). Также можно использовать внешний источник постоянного тока.
Если у вас нет разъема антенного тюнера, вы можете использовать разъем блока питания компьютера и обрезать его резаками, чтобы он соответствовал разъему тюнера Icom.
Этот проект разработан для трансивера Icom IC-7000, но его можно адаптировать к любому радиомодулю Icom с портом CI-V.
Вы можете использовать универсальный адрес CI-V «00» на некоторых радиостанциях Icom, что делает этот преобразователь совместимым с любыми радиостанциями Icom без изменения адреса CI-V в коде.
На входных и выходных кабелях установлены ферриты для исключения высокочастотной индукции. +12 В постоянного тока на S-метр не требуется; его можно использовать для подсветки измерителя мощности или других дополнительных функций.
Потенциометр 10 кОм используется для ослабления выходного сигнала (который слишком высок для большинства аналоговых измерителей) и калибровки аналогового измерителя для получения показаний полной шкалы с мощным локальным сигналом (+60 дБ).
Некоторые другие похожие проекты, использующие Arduino в качестве интерфейса CI-V:
https://on7dq.blogspot.com/2017/02/ic-7300-paddle-or-key-easy-solution.html
https://www.qsl.net/on7eq/en/ Нажмите кнопку «проекты»
Код
- S-метр Icom CI-V
Icom CI-V S-meter C / C ++
// Испытательный стенд IC7300 для считывания показаний S-метра и других функций // Люк Декроос - ON7DQ / KF0CR // модифицирован и адаптирован Дэниелом VE2BAP, 2018-12-01 # include// для связи с IC7000 # define BAUD_RATE 19200 // скорость CI-V # определить TRX_address (0x70) // HEX $ 70 =Icom IC-7000 // # определить TRX_address ((byte) 00) // $ 00:универсальный адрес Icom (работает для всех радиостанций) .// последовательное соединение // RX =радио Icom к Arduino:к контакту 2 через резистор 4k7 // TX =Arduino к радио Icom:к контакту 7 через диод 1N4148, с подтягиванием 10k к Vcc (5 В) на конце 3,5 мм connectorSoftwareSerial mySerial =SoftwareSerial (2, 7); // (RX, TX) int readCounter; // подсчитывает количество байтов, полученных от радиоint sMeterVal1; // хранит старший байт BCD, содержащий сигнал info.int sMeterVal2; // сохраняет младший байт BCD, содержащий информацию о сигнале. int sMeterOut =11; // Внешний аналоговый S-метр, подключенный к выводу 11. //------------------------------------ -------------------------------------------------- ------- void setup () {pinMode (13, ВЫХОД); digitalWrite (13, LOW); // принудительно выключить светодиод (вывод 13). pinMode (2, ВХОД); // Последовательная связь CI-V от IC7000 pinMode (7, OUTPUT); // Последовательная связь CI-V с IC7000 pinMode (sMeterOut, OUTPUT); // устанавливаем sMeterPin для вывода mySerial.begin (BAUD_RATE); mySerial.listen (); // только один порт может быть настроен для прослушивания с помощью программного последовательного // см. ссылку https://www.arduino.cc/en/Reference/SoftwareSerialListen while (mySerial.available ()) mySerial.read (); // чистый буфер} // ------------------------------------------- -------------------------------------------------- void loop () {// считываем и отображаем значение S-метра mySerial.flush (); // начальная последовательность:отправляем на радио команду "прочитать S-метр". mySerial.write (0xFE); mySerial.write (0xFE); mySerial.write (TRX_address); mySerial.write (0xE0); mySerial.write (0x15); mySerial.write (0x02); // Считываем с-метр, команда 15 02 mySerial.write (0xFD); // конец последовательности delay (20); // теперь считываем информацию с радио int nbChar =mySerial.available (); если (nbChar> 0) {для (int readCounter =0; readCounter
Изготовленные на заказ детали и корпуса
Схема
Производственный процесс
- Внешний дефибриллятор
- Радио
- Ткань с лосьоном
- Xilinx повышает производительность RFSoC с помощью жесткого IP-адреса цифрового внешнего интерфейса для радиостан…
- Renesas вместе с eProsima переносят micro-ROS в микроконтроллеры RA для робототехники
- Acceed:12-портовый гигабитный коммутатор с 4-мя портами SFP
- Мониторинг температуры с помощью Raspberry Pi
- E3.Series - документируйте свой проект с помощью гиперссылок во внешних PDF-файлах
- Умные жалюзи
- Простой датчик препятствий с Arduino