Меню

Усилитель мощности для ардуино

Предварительный усилитель на аудиопроцессоре TDA7318 (TDA7313) и Arduino. Часть 2

Шилд Ардуино

Обратите внимание на то, как устроен шилд Ардуино. Черные контакты это «минус», красные — «плюс» питания 5 Вольт. Желтым отмечены цифровые, а зелёным — аналоговые входы, оранжевым шина I2C.

Энкодер

Всего пять контактов:
— Питание плюс.
— Питание минус.
— Контакт кнопки энкодера подключается к DigitalPin2 Arduino
— Контакт A энкодера подключается к DigitalPin3 Arduino
— Контакт В энкодера подключается к DigitalPin4 Arduino

DS1307

Обратите внимание, что с пина 7 DS1307 нужно припаять перемычку на выходной разъём модуля.
Пять контактов:
— Питание плюс.
— Питание минус.
— Пин 7 DS1307(SQW/OUT)подключается к DigitalPin5 Arduino
— Два контакта шины I2C: SCL подключается к AnalogPin7 Arduino, SDA подключается к AnalogPin6 Arduino.

ИК-приёмник

Три контакта:
— Питание плюс.
— Питание минус.
— Сигнал с ИК-приёмника подается на DigitalPin6 Arduino.

Включение акустики или анодного питания

Питание на реле для включения акустики или анодного напряжения подается с DigitalPin7 Arduino на релейный модуль . См. рисунок.
Если нужно использовать два реле (левый, правый канал), то DigitalPin7 Arduino подается параллельно на IN1 IN2 релейного модуля.

Питание на реле для включения Блютуз подается с DigitalPin1 Arduino на IN4 релейного модуля, при выборе пультом или энкодером 3-го входа аудиопроцесора .

TDA7318

Три контакта:
— Питание минус.
— Шина I2C (два контакта) АП подключается соответственно к шилду Ардуино.

Включение реле для подключения питания АП на TDA7318 (9 Вольт) осуществляется с DigitalPin8 Arduino, соответственно на IN3 релейного модуля.

Экран

Восемь контактов:
— Питание минус.
— Питание плюс.
— Контакт «Reset» подключен к «Reset» на шилде Ардуино.
— Контакт «Led» — подсветка TFT регулируется с DigitalPin9 Arduino.
— Пин CS TFT- подключается к DigitalPin10 Arduino.
— Пин DC TFT- подключается к AnalogPin0 Arduino.
— Пин CSK — подключается к DigitalPin13 Arduino.
— Пин SDA -подключается к DigitalPin11 Arduino.

DS18B20

Три контакта:
— Питание минус.
— Питание плюс.
— Сигнал от DS18B20 подается на AnalogPin2 Arduino.

Силовой мосфет-модуль

Три контакта:
— Питание минус.
— Питание плюс.
— Сигнальный подключается к AnalogPin3 Arduino.
Или можно использовать оставшееся реле, тогда подключаем AnalogPin3 Arduino к IN4 релейного модуля.

Компоновка устройства

Все компоненты занимают достаточно мало места в корпусе. Внешние элементы, которые устанавливаются на передней панели устройства, также компактные.
Поэтому компоновка совершенно свободная, на передней панели любого устройства отыщется подходящий уголок.

Прошивка (скетч) для Ардуино

Теперь остановимся подробно на структуре скетча (прошивки) для Ардуино.
Но сначала взгляните на фотографии экрана в некоторых режимах, это упростит понимание описания скетча.

Программа управления устройством написана в среде Arduino IDE 1.6.4 с подключением следующих библиотек:
• avr/pgmspace.h
• EEPROM.h
• SPI.h
• Adafruit_GFX.h
• TFT_ILI9163C.h
• Wire.h
• EEPROM.h
• OneWire.h
• IRremote.h

В бесконечном цикле осуществляется опрос состояния четырех флагов и, при нахождении какого-либо из них в состоянии SET, осуществляются, в зависимости от значения глобальных переменных, следующие действия:
• Флаг изменения режима. Обуславливает изменение текущего режима. Источник установки флага – нажатие соответствующих кнопок пульта или энкодера.
• Флаг изменения параметра. Установка этого флага приводит к изменению текущих параметров (например, громкости, тембра, входного канала, времени или даты). Устанавливается при нажатии кнопки «параметр +/-» пульта или повороте ручки энкодера.
• Флаг получения ежеминутного сигнала от часов. Данный флаг определяет следующие действия программы – обновление на дисплее значений даты и времени, опрос термодатчика и, при необходимости, включение/выключение кулера. Источник установки флага – прерывание от микросхемы часов ds1307.
• Флаг возврата в основной режим. Так же, как и в предыдущем случае, устанавливается прерыванием от часов ds1307. При этом происходит переход в основной режим MAIN.

Структура программы организована в виде отдельных функциональных модулей, взаимодействие между которым осуществляется посредством глобальных переменных и флагов.

Такая организация очень эффективна.
1. Позволяет повысить гибкость программы. В случае изменения типа имеющихся элементов устройства (дисплея, часов и т.д.) достаточно внести изменения в соответствующий модуль программы. Для подключения дополнительного элемента (к примеру, датчика влажности) понадобится добавить соответствующий программный модуль, оформленный отдельным файлом и прописать связи с имеющимися.

2. Позволяет облегчить написание и отладку программы. Каждый отдельный модуль программы является, по сути, готовым скетчем для управления тем или иным элементом устройства. Программа и писалась отдельными автономно работающими скетчами, которые лишь после удовлетворительной работы соответствующего элемента встраивались в общую структуру.

3. Позволяет использовать готовый код при создании других устройств.

Скетч (прошивку) АП вы найдете в конце статьи. Архив необходимо распаковать в папку с названием » audio_processor», без кавычек и запустить файл «audio_processor.ino».

Рассмотрим, для чего предназначен каждый программный модуль.
• [audio_processor] Стартовый модуль, в котором осуществляется инициализации пинов микроконтроллера и подключенной периферии (LCD, термодатчика, часов), чтение из EEPROM начальных параметров усилителя TDA7318, и запускается циклический опрос, описанный выше.
• [ap_display] В этом модуле содержатся функции для работы LCD – инициализация дисплея, отображение текущих данных (время, дата, режим, параметр).
• [ap_ds1307] Запуск тактирования ds1307, разрешение сигнала SQW, необходимого для вызова прерывания PCINT21 микроконтроллера Ардуино, определение текущих значений времени/даты и передача их в глобальные переменные.
• [ap_ds18b20] Определение адреса подключенного термодатчика, измерение температуры выходных транзисторов усилителя и, при необходимости, включение/выключение кулера.
• [ap_interrupts] Это модуль обработчиков прерываний. Для обеспечения своевременной реакции микроконтроллера на сигналы с ножек энкодера и их идентификации использованы прерывания INT0 и INT1. Для реализации функций, связанных с временными интервалами (отображение времени/даты, включая мигание точек-секунд), измерение температуры, возврат в режим MAIN – задействовано прерывание PCINT21. Результатом работы всех прерываний является изменение состояния и значений соответствующих флагов и переменных.
• [ap_ir] Определение кода нажатой кнопки пульта с последующим изменением состояния и значений соответствующих флагов и глобальных переменных.
• [ap_tda] В этом модуле прописаны функции для работы TDA7318 – инициализация усилителя, изменение текущих параметров (громкости, тембра, входного канала), их запись/чтение в EEPROM.
• [ap_main] В полном соответствии со своим названием это основной модуль. Образно выражаясь, здесь находится центр обработки информации и принятия решений, в котором анализируется состояние флагов и значение глобальных переменных, после чего устройство переводится в тот или иной режим. Всего предусмотрено 14 режимов устройства.

Читайте также:  Заполните таблицу ядро мантия земная кора мощность

Звуковая часть (TDA7318, акустика) включены во всех режимах, кроме режима STANDBY. Во всех режимах текущие дата/время и название режима отражаются в соответствующих полях дисплея.

Вот некоторые особенности каждого из режимов.
1. STANDBY. Активируется при старте программы, а также при выключении звуковой части нажатием кнопки «Power» пульта или длительным нажатием кнопки энкодера. Во втором случае текущие значения усилителя (громкость, тембр, входной канал) сохраняются в EEPROM.
2. LOADING. В этот режим устройство переходит из режима STANDBY при включении звуковой части. При этом включается акустика, в TDA7318 загружаются считанные из EEPROM текущие параметры (громкость, тембр, номер входного канала и т.д.). Из этого режима устройство автоматически переходит в режим MAIN.
3. MAIN. Это основной режим, в котором работающий усилитель проводит большую часть времени. Переход в него происходит автоматически из всех остальных (кроме STANDBY и MUTE) режимов по прерыванию от часов в случае, если более 10 секунд не было манипуляций с пультом или энкодером. Надпись в поле режима дисплея – название текущего входного канала (AUX1, AUX2 или BT).
4. VOLUME. Режим регулировки громкости. Выбирается нажатием кнопки «режим +/-» пульта или энкодера. Уровень громкости меняется нажатием кнопки пульта «параметр +/-» или вращением ручки энкодера. Эти же действия вызывают автоматический переход из режима MAIN в режим VOLUME. Надпись в поле параметров дисплея – текущий уровень громкости.
5. BASS, TREBLE. В этих режимах регулируется тембр звука (низкие и высокие частоты, соответственно). Активируются, так же, как и режим VOLUME. Кроме того, на пульте предусмотрены кнопки быстрого вызова – красная (BASS) и зеленая (TREBLE). Надпись в поле параметров дисплея — текущий уровень низких (высоких) частот.
6. INPUTS. Выбор одного из трех входных каналов. Помимо аналогичных с режимом VOLUME способов активации предусмотрены кнопки пульта быстрого вызова – 1 (AUX1), 2 (AUX2), 3 (ВТ).
7. HOURS, MINUTES, YEAR, MONTH, DAY. Как понятно из названия режимов, они позволяют корректировать текущее время/дату. Сделать это можно как пультом, так и энкодером. Чтобы было понятно, какой именно параметр времени/даты меняется в данный момент, он выделяется рамкой. Выбор значения параметра зациклен, т.е. при достижении максимального значения (например, 12-й месяц года) осуществляется переход к минимальному значению (в нашем случае – на 1-й месяц года).
8. BRIGHTNESS. Этот режим, так же, как и следующий (MUTE) доступен только через пульт. Обеспечивает регулировку яркости дисплея. Данный режим доступен как во включенном, так и в выключенном состоянии звуковой части устройства. Кроме того, предусмотрена кнопка пульта (желтая) быстрого вызова режима регулировки яркости. Надпись в поле режима дисплея – «High», «Mid» или «Low», в зависимости от выбранного уровня яркости.
9. MUTE. Активируется нажатием одноименной кнопки пульта. Позволяет, при необходимости, быстро снижать уровень звука с текущего до минимального. Повторное нажатие указанной кнопки плавно возвращает громкость к текущему уровню. Надпись в поле режима дисплея – «Mute».
10. EQUALIZER. Этот режим, так же, как и MUTE доступен только через пульт. Обеспечивает переключение между предустановленными настройками эквалайзера. Кроме того, предусмотрена кнопка пульта (синяя) быстрого вызова. Надпись в поле режима дисплея – «Pop», «Jazz», «Cinema», «Digit», «Class», «Rock».

Привязка ИК-пульта

С прошивкой разобрались, все собрали воедино, перепроверили соединения. Теперь нужно залить скетч в Ардуино и запустить все в работу.
Но у каждого из вас свой пульт. Предварительно нужно считать коды кнопок. Давайте посмотрим вот это видео и станет понятно, что и как делать.

Нам нужны коды кнопок, которые обведены на рисунке оранжевым цветом.

Затем открываем вкладку » constants.h» нашего скетча и смотрим на раздел /*Константы для пульта*/. Понятно, что вы должны в каждой строчке заменить коды тестового пульта на полученные коды вашего.
Например: 0x10EF00FF //кнопка вкл/выкл, заменить код «0x10EF00FF» на код кнопки «Power» своего пульта.
Убедительно рекомендуем перед любыми изменениями скетча, сохранить оригинальный вариант!

Ещё хотим обратить ваше внимание на раздел /*Регулируемые константы*/. В каждой строке раздела есть подробный комментарий с описанием каждой константы. Вы сами можете настроить устройство «под себя». Время указывается в миллисекундах, температура в градусах.

Файлы

Программа LCD Image Converter под Windows:

Полезная утилитка для подготовки картинок и шрифтов. К сожалению, проект заброшен, основной сайт автора закрыт, осталось только эта версия № 2 на Гитхабе: LCD Image Converter by Vladimir Riuson

Спасибо за внимание!
Вот пожалуй и всё. Будем рады ответить на ваши вопросы!
С уважением, Ербол и Владимир.

Источник



Простой аудиоплеер и усилитель на Arduino Uno

Добавление звуков или музыки в какой-нибудь ваш проект (устройство) всегда выглядит хорошо. Особенно просто добавить музыку/звук в ваш радиоэлектронный проект если он построен на основе платы Arduino и у вас есть свободные контакты на этой плате. В этом случае вам нужно будет просто докупить модуль для SD карты и нормальный динамик.

Внешний вид аудиоплеера и усилителя на Arduino Uno

В этой статье мы рассмотрим как можно просто проигрывать музыку или добавлять различные звуковые эффекты в ваш проект с использованием платы Arduino. Хочется сказать спасибо сообществу Arduino которое разработало специальные библиотеки, позволяющее реализовать работу со звуком в Arduino с минимальными усилиями. В этом проекте кроме платы Arduino мы еще использовали микросхему LM386 для усиления сигнала и уменьшения помех.

Необходимые компоненты

Плата Arduino Uno
Модуль чтения SD карт
SD карта
Аудио усилитель LM386
Конденсатор 10 мкФ (2 шт.)
Конденсатор 100 мкФ (2 шт.)
Резистор 1 и 10 кОм
Кнопка (2 шт.)
Макетная плата
Соединительные провода

Основы работы с WAV аудиофайлами в Arduino

Для проигрывания звуков/музыки с SD карты с помощью платы Arduino необходимо чтобы они были в .wav формате потому что плата Arduino умеет работать только с аудиофайлами этого формата. Чтобы сделать mp3 плеер на основе платы Arduino можно воспользоваться большим количеством предлагаемых на рынке шилдов (плат расширения) для Arduino, позволяющих работать с mp3. Либо можно с помощью специальных сайтов в сети интернет конвертировать формат mp3 в формат wav (этот способ мы будем использовать в данной статье).

Таким образом, для конвертирования любых аудио файлов в wav формат необходимо выполнить следующую последовательность действий:

Читайте также:  Текущее значение мощности двигателя

Шаг 1. Перейдите на сайт — Online Wav Converter.

Шаг 2. Установите параметры wav файла, указанные в следующей таблице. В дальнейшем вы можете экспериментировать с этими настройками, но указанные в таблице настройки обеспечивают наилучшее качество звучания.

Bit Resolution 8 Bit
Sampling Rate 16000 Hz
Audio Channel Mono
PCM format PCM unsigned 8-bit

Шаг 3. На указанном веб-сайте нажмите “choose file” и выберите файл который вы хотите конвертировать. Затем заполните необходимые настройки. Вы должны будете на экране компьютера получить примерно следующую картинку:

Настройка параметров для конвертирования аудио файла

Шаг 4. Теперь нажмите “Convert File” и ваш файл будет конвертирован в wav формат, который можно будет скачать к себе на компьютер.

Шаг 5. Отформатируйте свою SD карту и сохраните ваш .wav аудио файл на нее. Запомните имя (наименование) своего файла. Можно загружать и несколько аудио файлов при необходимости. Мы в нашем проекте выбрали 4 файла с песнями и назвали их 1, 2, 3 и 4 (имена не должны изменяться). Соответственно, после конвертации мы получили файлы 1.wav, 2.wav, 3.wav and 4.wav как показано на следующей картинке.

Аудио файлы на нашей SD карте

Работа схемы

Схема устройства представлена на следующем рисунке.

Схема аудиоплеера и усилителя на Arduino Uno

Поскольку наши аудио файлы хранятся на SD карте мы подключили модуль чтения SD карт к плате Arduino. Плата Arduino и модуль чтения SD карт взаимодействуют используя последовательный протокол связи SPI. Поэтому модуль чтения SD карт и подключен к контактам SPI платы Arduino как показано на схеме выше. Также необходимые соединения платы Arduino с модулем чтения SD карт дополнительно представлены в следующей таблице.

Плата Arduino Модуль чтения SD карт
+5V Vcc
Gnd Gnd
Pin 12 MISO (Master In Slave out)
Pin 11 MOSI (Master Out Slave In)
Pin 13 SCK (Synchronous Clock)
Pin 4 CS (Chip Select)

Теперь наша плата Arduino сможет считывать музыкальные файлы с SD и проигрывать их на своем контакте 9. Но аудио сигнал на выходе контакта 9 платы Arduino будет достаточно слабый, поэтому мы будем усиливать его с помощью микросхемы аудио усилителя LM386. Данная микросхема позволяет усиливать аудио сигнал до 200 раз и ее контакт Vdd (pin 6) запитывается от контакта 5V платы Arduino. Если вы хотите увеличить/уменьшить громкость звука вам необходимо увеличить/уменьшить напряжение подаваемое на этот контакт. Максимально на этот контакт можно подать 15 В. Более подробно о микросхеме LM386 можно прочитать по этой ссылке (на английском языке).

Также мы в схему добавили 2 кнопки, одна из которых используется для переключения на следующий трек (аудиофайл), а вторая – для проигрывания/паузы музыки.

Вы можете собрать представленную схему на макетной плате как показано на следующем рисунке:

Собранная на макетной плате схема аудиоплеера и усилителя на Arduino UnoПрограммирование Arduino для проигрывания музыки

Когда вся аппаратная часть рассматриваемого проекта у вас уже готова вставьте SD карту в модуль для их чтения и выполните следующую последовательность действий:

Шаг 1. Скачайте библиотеку для работы с аудиофайлами по следующей ссылке — TMRpcm library. На открывшемся сайте выберите “Clone or download” и выберите скачивание в формате ZIP архива.

Шаг 2. Добавьте этот Zip файл в вашу Arduino IDE при помощи выбора пункта меню Sketch->Include Library -> Add .ZIP Library как показано на рисунке ниже и выберите ZIP файл который вы только что скачали.

Добавление библиотеки для работы с аудио файлами в Arduino IDE

Шаг 3. Полный текст программы приведен в конце статьи, просто скопируйте и вставьте ее в вашу Arduino IDE, а потом загрузите ее в вашу плату Arduino. В этом разделе будут объяснены лишь наиболее значимые фрагменты программы.

Проигрывание аудио файла

Вы можете проигрывать аудио файл, хранящийся в Wav формате на SD карте, с помощью следующей команды:

music.play(«3.wav»);
//object name.play (“FileName.wav”);

Постановка на паузу аудиофайла

Для этого можно использовать команду вида:

Перемотка вперед/назад аудио файла

В платформе Arduino нет прямых способов перемотки аудио файла вперед/назад, однако можно проигрывать аудиофайл с заданного фрагмента времени. При дополнительном программировании эту способность можно использовать для перемотки аудио файла.

music.play(«2.wav»,33); //проигрывание песни с 33-й секунды
//objectname.play(“Filename.wav”,time in second);

Установка качества аудио

Скачанная нами библиотека обеспечивает два возможных уровня качества проигрывания музыки: в нормальном режиме и с двухкратной частотой дискретизации (2X oversampling).

music.quality(0); //Normal Mode
music.quality(1); //2X over sampling mode

Установка уровня громкости

Громкость звучания музыки можно регулировать и программным путем с помощью ниже представленных строк кода. Но высокие уровни громкости, устанавливаемые программным путем, могут приводить к появлению искажений в аудиосигнале, поэтому по возможности используйте усиление аудио сигнала аппаратными способами.

music.setVolume(5); //установка уровня громкости 5
//objectname.setVolume(Volume level);

Работа музыкального аудиоплеера на основе Arduino

После загрузки программы в плату Arduino просто нажмите кнопку, подсоединенную к контакту 2 платы Arduino, и начнется воспроизведение первой песни, записанной на SD карту (в нашем случае это 1.wav). Если нажмете кнопку еще один раз, то произойдет переключение на вторую песню — 2.wav и т.д.

Внешний вид собранного аудио плеера

Можно ставить песню на паузу и возобновлять ее проигрывание с помощью кнопки, подключенной к контакту 3 платы Arduino. Более подробно все эти процессы показаны на видео, приведенном в конце статьи.

Исходный код программы

Представленная программа показывает как можно проиграть три песни с SD карты при помощи нажатия соответствующей кнопки в схеме.

#include «SD.h» //библиотека чтобы считывать информацию с SD карты
#include «TMRpcm.h» //библиотека чтобы проигрывать аудио файлы
#include «SPI.h» //SPI библиотека для SD карты
#define SD_ChipSelectPin 4 //Chip select is pin number 4
TMRpcm music; //Lib object назовем «music»
int song_number=0;
boolean debounce1=true;
boolean debounce2=true;
boolean play_pause;
void setup() <
music.speakerPin = 9; //аудио выход на контакте 9
Serial.begin(9600); //задействуем последовательный порт для целей отладки
if (!SD.begin(SD_ChipSelectPin)) <
Serial.println(«SD fail»);
return;
>
pinMode(2, INPUT_PULLUP); //подключение кнопки 1 с внутренним подтягивающим резистором для переключения на следующий аудио файл
pinMode(3, INPUT_PULLUP); //подключение кнопки 2 с внутренним подтягивающим резистором для паузы/воспроизведения аудио файла
//pinMode(3, INPUT_PULLUP); //Button 2 with internal pull up to fast forward
music.setVolume(5); // установка уровня громкости (от 0 до 7)
music.quality(1); // установите 1 для 2x oversampling (удвоенной частоты дискретизации) и 0 для обычного режима воспроизведения аудио
//music.volume(0); // 1(up) or 0(down) to control volume
//music.play(«filename»,30); plays a file starting at 30 seconds into the track
>
void loop()
<
if (digitalRead(2)==LOW && debounce1 == true) //нажата кнопка 1
<
song_number++;
if (song_number==5)

debounce1=false;
Serial.println(«KEY PRESSED»);
Serial.print(«song_number=»);
Serial.println(song_number);
if (song_number ==1)
//проигрывание песни 1 с 10-й секунды
if (song_number ==2)
// проигрывание песни 2 с 33-й секунды
if (song_number ==3)
//проигрывание песни 3 с начала
if (song_number ==4)
// проигрывание песни 4 с 25-й секунды
if (digitalRead(3)==LOW && debounce2 == true) //кнопка 2 нажата
music.pause(); Serial.println(«PLAY / PAUSE»);
debounce2=false;
>
if (digitalRead(2)==HIGH) // устранение дребезга контактов
debounce1=true;
if (digitalRead(3)==HIGH) // устранение дребезга контактов
debounce2=true;
>
>

Читайте также:  Коробка отбора мощности для тягача

Видео, демонстрирующее работу схемы

Источник

—> YL2GL

—>

« Сентябрь 2019 »
Пн Вт Ср Чт Пт Сб Вс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

—>

На сайте cqham.ru есть интересная конструкция контроллера транзисторного усилителя мощности с LCD дисплеем на базе ARDUINO MEGA 2560 от авторов D0ITC и D0ISM, которую и решил повторить для проектируемого нового транзисторного усилителя на транзисторах RD100.

Что понравилось в этой конструкции — это автоматическое переключение диапазонов в усилителе, по ВЧ сигналу, без соединительных кабелей управления между трансивером и усилителем мощности + красивый информативный цветной LCD дисплей.

Готовую печатную плату для подключаемого к ARDUINO блока контроля, разработки Юрия EU2AV (схема под этот вариант печатки там же), можно заказать у Юрия R3KBL из Воронежа: yuraws(собака)gmail.com

Сам модуль ARDUINO MEGA 2560 с дисплеем 3.5 дюйма, по рекомендации авторов, можно заказать на алиэкспресс по ссылке.

Ссылки на датчики тока и температуры, модуль часов реального времени, можно найти в теме форума.

Ключевые транзисторы управления аттенюатором, вентилятором, PTT, можно снять с любой подходящей компьютерной материнской платы, например, я нашёл K3918 (полевые, с n-каналом) в корпусе TO-252.

На обратной стороне печатной платы предусмотрена установка четырёх менее мощных транзисторов типа BC847. В этом случае, четыре транзистора в корпусе TO-252 не устанавливаются.

Сегодня получил с алиэкспресса заказанную ARDUINO MEGO! Отличная упаковка позволила сохранить плату и дисплей без повреждений. Не без помощи какой-то матери, и без опыта работы со скетчами и самой ARDUINO, удалось залить авторскую прошивку в модуль через прилагаемый к плате USB кабель. Пришлось «прошерстить» кучу информации в интернете, чтобы понять, что нужно делать.

На компьютер необходимо установить программу Arduino. Если используется русская версия Windoows, то программа должна находиться в корневой дирректории, так как она не понимает путь к ней указанный русскими буквами. В программу подгружаем все дополнительные библиотеки, которые можно найти на вышеуказанном форуме cqham.ru. После этого программа Arduino начинает «понимать» авторский скетч и компилировать его для заливки в контроллер платы Arduino Mego.

На плате ARDUINO MEGA нужно выпаять все штыревые разъёмы, кроме дисплейных и перепаять их на другую сторону платы, через них будет подключаться плата контроллера.

Делается это очень просто — снимаются пластиковые части штырьковых разъёмов, поддев их ножом. Затем, по одному выпаиваются из платы сами штырьки.

Остро заточенной зубочистой или спичкой очищаем от припоя отверстия платы ADDUINO, нагревая НУЖНЫЕ пятачки платы паяльником. Собираем разъёмы, устанавливаем их в очищенные отверстия с обратной стороны платы и пропаиваем их заново.

Подключил все внешние датчики — всё работает. Единственно, немного волнения доставила индикация питающего усилитель напряжения — контроль отсутствовал с надписью на дисплее U: NANV.

При обращении к автору, Сергей прокомментировал причину этой проблемы, за что ему большое спасибо!

«. — Это потому, что при первом включении в памяти ЕЕПРОМ находится «мусор». Ошибка NAN получается в результате считывания значений из нескольких ячеек памяти для числа с плавающей точкой, т.к. такое число невозможно записать в одну ячейку в 1 байт. Дословно NAN переводится как не число. Поэтому необходимо сбросить память и прописать туда значения по умолчанию. Для этого нужно зажать кнопку на порту D10 и подать питание. Как только на экране увидите надпись MEMORY RESET, кнопку бросаете и ячейки памяти обновятся. Правда может придется сделать разворот экрана или инверсию цветов.»

Так что всё успешно разрешилось и теперь контроллер показывает правильное значение питающего усилитель мощности напряжения с контролем выставленных в меню границ максимума и минимума!

В сборе, с биппером, датчиками температуры и тока, часами реального времени:

Чтобы не собирать ключи для управления выходными ФНЧ усилителя заказал на алиэкспрессе блок реле с оптоэлектронной развязкой и пятивольтовым питанием:

Получил этот модуль — очень удобная штука! В каждой ячейке есть свой светодиод для контроля управляющего напряжения! С микросхемой дешифратора 74LS145 стыкуется замечательно — необходимые уровни для управления модулем совпадают (74LS145 на активном выходе даёт нулевой уровень, а с модулей на все выходы 74LS145 приходит с оптопар контрольное напряжение +5В. Замыкая его на ноль, получаем срабатывание нужного реле).

При проверке возможности автоматической коммутации диапазонов, обнаружена досадная схемная ошибка, кочующая из схемы в схему, как в авторском варианте, так и у белорусского коллеги. Причём, ошибка заложена и в печатную плату, что делает невозможным работу автоматики переключения диапазонов в устройстве!

Заключается ошибка в неправильно указанном выходе (или входе) одного элемента формирователя сигнала триггера Смитта — 74AC14.

Может быть использован один элемент внутренней логики с входом 13 и выходом 12, или с входом 1 и выходом с второй ножки микросхемы. либо, как вариант, можно включит последовательно два элемента логики — вывод 2 соединить с выводом 13 микросхемы 74AC14.

На втором рисунке этой темы уже выложена исправленная схема!

Если кого не интересует работа автоматического переключателя ФНЧ при смене диапазонов (управление будет осуществляться вручную или через вход управления контроллером от трансивера через порт А2), то можно не устанавливать на плату микросхемы 74HC4060 и 74AC14 с их обвязкой. Эти микросхемы предназначены для формирования и деления входного ВЧ сигнала с последующей подачей делённой частоты на плату контроллера ARDUINO, так как входы портов ARDUINO не могут работать на столь высоких частотах.

Проверил работу автоматики переключения диапазонов — хватает мощности 0.5 ватта (5. 6 В на 50 Ом), чтобы происходило автоматическое переключение диапазонов и работа цифрового VOX. Меньше у меня просто не выдаёт мой IC-7600, регулятор мощности установлен на ноль.

Источник