Например TDA7294

РадиоКот >Конкурсы >Поздравь Кота по-человечески 2018! >

Теги статьи: Добавить тег

Универсальный генератор с Bluetooth из готовых модулей

Опубликовано 21.09.2018.
Создано при помощи КотоРед.

Спешу присоединиться к многочисленным поздравлениям Кота с очередным знаменательным Днем Рождения и преподнести в подарок статью с описанием устройства, специально разработанного для участия в Конкурсе.

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

Рис.1.

В качестве основных узлов генератора были использованы недорогие модули, достаточно широко представленные на всемирном торговом Интернет-ресурсе. Фото использованных модулей дано на Рис.1. Это модуль AD9833, обеспечивающий формирование сигналов синуса, треугольника и меандра, модуль Arduino Nano 3 (версия ATMega168), обеспечивающий управление и формирование импульсного сигнала, модуль Bluetooth HC-05, обеспечивающий беспроводную связь, и модуль повышающего преобразователя, обеспечивающий напряжение питания 5В от двух щелочных батарей размера АА.

Принципиальная схема.

Рис.2.

Принципиальная схема генератора дана на Рис.2. Модули использованы в типовом включении, поэтому я остановлюсь лишь на особенностях схемы.
Не совсем обычное включение переключателя питания SA1 связано с тем, что он, одновременно с включением питания, сообщает микроконтроллеру об используемом источнике питания и, соответственно, канале управления. Здесь следует отметить, что при включенной батарее, она будет использоваться для питания и при подключении генератора к шине USB, соответственно, для связи микроконтроллер выберет канал Bluetooth. Эту особенность можно использовать для питания генератора от внешнего 5В адаптера, подключив его к разъему USB. Для этого нужно вынуть батареи и перевести переключатель SA1 в верхнее по схеме положение. Кроме того, возможно питание генератора от адаптера 6-9В, подключенного к разъему X1, в этом случае используется стабилизатор на плате Arduino Nano (примечание: этот режим не проверялся).
Все модули, кроме HC-05, монтируются на плату при помощи пайки, для модуля HC-05 установлен разъем X2. Это дает возможность, при необходимости, не подключать модуль HC-05 при работе от шины USB.
К сожалению, микросхема AD9833 не имеет средств регулировки выходного напряжения, однако токовый выход ЦАП этой микросхемы позволяет в некоторых пределах осуществить такую регулировку путем подключения к выходу дополнительных нагрузочных резисторов. Для этой цели использованы два сдвоенных логических буфера с открытым стоком DD1-DD2. Вместе с резисторами R13-R15 они обеспечивают получение 16 уровней выходного напряжения с размахом 120-650мВ.
Другой особенностью микросхемы AD9833 является то, что размах напряжения меандра равен напряжению питания. Для регулировки этого напряжения предусмотрен отдельный ЦАП (R5-R12) с буферным повторителем на транзисторах VT1-VT3, управляющий напряжением питания микросхемы DD3. Аналоговые ключи D1 и D2 обеспечивают необходимую коммутацию сигналов так, чтобы каждый из них был доступен на едином разъеме X3. Кроме сигналов с выхода модуля микросхемы AD9833, эти ключи дают возможность подать на выход (с регулировкой амплитуды) сигнал ШИМ с выхода таймера микроконтроллера, обеспечивая, таким образом, формирование импульсного сигнала.
В схеме предусмотрена возможность измерения уровня выходных сигналов, для этого они подключены к аналоговым входам A6-A7 платы Arduino Nano (импульсы и меандр подключены через делитель R20-R21).
В дополнение, в генераторе обеспечен выход строба X4, который предназначен для синхронизации запуска развертки осциллографа при работе в режиме генератора качающейся частоты.

Конструкция.

Рис.3.

Внешний вид генератора со снятой верхней крышкой показан на Рис.3. Печатная плата разработана для установки в стандартный корпус G909G фирмы Gainta. Этот корпус удобен тем, что в нем уже имеется отсек для батареек. Корпус требует минимальной доработки, которая сводится к проделке сбоку отверстия под разъем mini-USB. Пластиковая передняя панель, входящая в состав корпуса, заменена на панель из фольгированного текстолита, в которой вырезаны отверстия под разъем и тумблер и выгравирована контактная площадка для штыревого разъема строба. Рисунок печатной платы и все необходимые данные для повторения находятся в Приложении 1.

Программа управления.

Для управления генератором от компьютера была разработана программа TorUNI, обеспечивающая функционирование генератора во всех возможных режимах. Управление работой генератора производится через последовательный порт, которым, может быть как USB, так и Bluetooth COM порт при наличии в компьютере Bluetooth адаптера. В процессе работы программа не изменяет реестр Windows и не требует для своей работы каких-либо дополнительных файлов или библиотек. Программа работоспособна и при отсутствии генератора. В этом случае она переходит в демонстрационный режим.

Рис.4.

На Рис.4. приведено окно программы в режиме генератора фиксированной частоты. Необходимое значение генерируемой частоты можно установить несколькими способами: щелчком левой кнопки мыши, установив ее указатель на нужный участок псевдологарифмической шкалы, передвинув мышью красный курсор в нужную позицию, и используя кнопки в левом нижнем углу. Последний способ обеспечивает наиболее точную установку требуемой частоты. С правой стороны расположены регулятор амплитуды выходного сигнала, переключатель делителя частоты прямоугольного напряжения, а также кнопки выбора формы выходного сигнала. Значение напряжения, отображаемое на экране, соответствует для синусоидального сигнала амплитудному и среднеквадратическому значениям, размаху для треугольного сигнала и амплитуде для меандра и импульсного сигнала. Отображаются реальные значения, измеренные при отключенном выходе.
Связь программы с генератором осуществляется при помощи кнопки [Connect]. После выбора необходимого последовательного порта, программа пытается связаться с генератором (в этот момент кнопки [Connect] и [Run] становятся недоступными), и, в случае успеха, переходит в рабочий режим. Для запуска генератора необходимо нажать кнопку [Run].


Рис.5.

Окно управляющей программы в режиме ГКЧ показано на Рис.5. Диапазон изменения частоты задается на логарифмической шкале двумя дополнительными курсорами цвета морской волны, которые можно передвигать с помощью мыши. Кроме того, этот диапазон может быть задан при помощи кнопок [Start] и [Stop]. Закон изменения частоты может быть выбран как линейным, так и логарифмическим; изменение частоты может быть от меньшей к большей, от большей к меньшей и попеременно. Время развертки может быть установлено от 1 до 100 секунд. Имеется возможность сброса текущего цикла развертки и временной остановки (паузы).
Курсор желтого цвета управляет сигналом стробирования. Этот сигнал предназначен для синхронизации запуска развертки осциллографа и точного определения позиции генерируемой частоты на его экране.
Рассмотрим алгоритм формирования сигнала стробирования в случае, когда развертка происходит от минимальной частоты к максимальной. В этом случае, перед началом развертки, сигнал стробирования имеет низкий уровень. Этот уровень становится высоким одновременно с началом развертки и сохраняется до момента, когда текущая частота становится равной или большей, чем частота, установленная желтым курсором. С этого момента и до конца развертки уровень опять становится низким. Таким образом, при синхронизации развертки осциллографа от положительного фронта сигнала стробирования, его отрицательный фронт укажет позицию частоты, установленной желтым курсором.
Запуск генератора, как и в предыдущем случае, осуществляется при помощи кнопки [Run].

Рис.6.

На Рис.6. показано окно программы в режиме генератора импульсов. В качестве генератора импульсов используется 16-разрядный таймер микроконтроллера платы Arduino Nano. Значения на шкале соответствуют числам, записываемым в регистры таймера. Красный курсор определяет период импульсов, а желтый – длительность. При помощи переключателя делителя частоты можно выбрать один из доступных коэффициентов деления тактовой частоты таймера. Кнопка [Invert] позволяет инвертировать выходные импульсы.

Программа TorUNI.exe и скетч (исходный текст) TorUNI.ino находятся в Приложении 2.

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

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

 


Файлы:
Приложение 1
Приложение 2


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

32 7 10