Оглавление:

Портативный генератор функций на Arduino: 7 шагов (с изображениями)
Портативный генератор функций на Arduino: 7 шагов (с изображениями)

Видео: Портативный генератор функций на Arduino: 7 шагов (с изображениями)

Видео: Портативный генератор функций на Arduino: 7 шагов (с изображениями)
Видео: Вывод изображения с Arduino и ESP32 на монитор 2024, Июль
Anonim
Image
Image
Портативный генератор функций на Arduino
Портативный генератор функций на Arduino
Портативный генератор функций на Arduino
Портативный генератор функций на Arduino

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

Особенности проекта:

  • Полностью цифровое управление: нет необходимости в пассивных аналоговых компонентах.
  • Модульная конструкция: каждая подсхема представляет собой заранее определенный простой в использовании модуль.
  • Выходная частота: Доступный диапазон от 0 Гц до 10 МГц.
  • Простое управление: один поворотный энкодер со встроенной кнопкой.
  • Литий-ионный аккумулятор для портативного использования с возможностью внешней зарядки.
  • Связь по переменному и постоянному току для формы выходного сигнала.
  • Регулировка яркости ЖК-дисплея для снижения энергопотребления.
  • Индикатор заряда аккумулятора.
  • Цифровой контроль амплитуды.
  • Доступны три формы волны: синус, треугольник и квадрат.

Шаг 1. Идея

Идея
Идея
Идея
Идея
Идея
Идея

Существует множество схем, которым требуется некоторое испытательное оборудование, чтобы получить информацию об отклике схемы на определенную форму волны. Этот проект основан на Arduino (в данном случае Arduino Nano) с литий-ионным аккумулятором 3,7 В в качестве источника питания, что делает устройство портативным. Известно, что для платы Arduino Nano требуется 5 В в качестве источника питания, поэтому электронная конструкция содержит повышающий преобразователь постоянного тока, который преобразует напряжение батареи 3,7 В в напряжение 5 В, необходимое для питания Arduino. Таким образом, этот проект легко построить, он полностью модульный и имеет относительно простую принципиальную схему.

Питание платы: устройство имеет один разъем mini-USB, на который подается напряжение 5 В от внешнего источника питания, которым может быть ПК или внешнее зарядное устройство USB. Схема спроектирована таким образом, что при подключении источника постоянного тока 5 В литий-ионный аккумулятор заряжается с помощью зарядного модуля TP4056, подключенного к схеме источника питания (тема будет расширена в следующих шагах).

AD9833: схема интегрального функционального генератора является центральной частью конструкции, управляемой через интерфейс SPI и способной генерировать квадратную / синусоидальную / треугольную волну с опцией частотной модуляции. Поскольку AD9833 не имеет возможности изменять амплитуду выходного сигнала, я использовал цифровой 8-битный потенциометр в качестве делителя напряжения в конечной точке выхода устройства (будет описано в дальнейших шагах).

Дисплей: это базовый ЖК-дисплей 16x2, который, вероятно, является самым популярным жидкокристаллическим дисплеем среди пользователей Arduino. Чтобы снизить энергопотребление, есть возможность регулировать подсветку ЖК-дисплея с помощью сигнала ШИМ с предварительно определенного «аналогового» вывода Arduino.

После этого краткого введения мы можем перейти к процессу сборки.

Шаг 2: Детали и инструменты

Детали и инструменты
Детали и инструменты

1: Электронные детали:

1.1: Интегрированные модули:

  • Плата Arduino Nano
  • 1602A - Стандартный жидкокристаллический дисплей
  • CJMCU - AD9833 Модуль функционального генератора
  • TP4056 - Модуль зарядного устройства для литий-ионных аккумуляторов
  • Модуль повышения напряжения DC-DC: преобразователь 1,5-3 В в 5 В

1.2: Интегральные схемы:

  • SRD = 05VDC - реле 5V SPDT
  • X9C104P - 8-битный цифровой потенциометр 100 кОм
  • EC11 - поворотный энкодер с переключателем SPST
  • 2 x 2N2222A - БЮТ общего назначения NPN

1.3: Пассивные и неклассифицированные части:

  • 2 x 0,1 мкФ - керамические конденсаторы
  • 2 x 100 мкФ - электролитические конденсаторы
  • 2 x 10 мкФ - электролитические конденсаторы
  • 3 резистора по 10 кОм
  • 2 резистора 1,3 кОм
  • 1 x 1N4007 Выпрямительный диод
  • 1 х тумблер SPDT

1.4: Разъемы:

  • 3 x 4-контактных разъема JST с шагом 2,54 мм
  • 3 x 2-контактных разъема JST с шагом 2,54 мм
  • 1 x разъем для розетки RCA

2: Механические детали:

  • 1 x 12,5 x 8 x 3,2 см Пластиковый корпус
  • 6 вытяжных винтов КА-2мм
  • 4 винта для сверления КА-8мм
  • 1 х ручка энкодера (колпачок)
  • 1 x 8 см x 5 см Доска для прототипа

3. Инструменты и программное обеспечение:

  • Паяльная станция / утюг
  • Электрическая отвертка
  • Шлифовальные напильники различных размеров
  • Острый нож
  • Сверла
  • Биты для отверток
  • Пистолет для горячего клея
  • Кабель Mini-USB
  • IDE Arduino
  • Штангенциркуль / линейка

Шаг 3: Пояснение к схеме

Схема Объяснение
Схема Объяснение
Схема Объяснение
Схема Объяснение
Схема Объяснение
Схема Объяснение

Чтобы упростить понимание принципиальной схемы, описание разделено на подсхемы, в то время как каждая подсхема отвечает за каждый проектный блок:

1. Наносхема Arduino:

Модуль Arduino Nano действует как «главный мозг» нашего устройства. Он управляет всеми периферийными модулями на устройстве как в цифровом, так и в аналоговом режиме работы. Поскольку этот модуль имеет собственный входной разъем mini-USB, он будет использоваться как в качестве входа источника питания, так и входа интерфейса программирования. Из-за этого J1 - разъем mini-USB отсоединен от схематического обозначения Arduino Nano (U4).

Существует возможность использования выделенных аналоговых выводов (A0.. A5) в качестве ввода / вывода общего назначения, поэтому некоторые выводы используются в качестве цифровых выходов, связываясь с ЖК-дисплеем и выбирая связь по переменному / постоянному току на выходе устройства. Аналоговые контакты A6 и A7 являются специализированными аналоговыми входными контактами и могут использоваться только в качестве входов АЦП из-за пакета микроконтроллера Arduino Nano ATMEGA328P TQFP, как это было определено в таблице данных. Обратите внимание, что линия напряжения батареи VBAT подключена к контакту аналогового входа A7, потому что нам нужно получить ее значение, чтобы определить состояние низкого напряжения литий-ионной батареи.

2. Электропитание:

Схема питания основана на питании всего устройства от литий-ионного аккумулятора 3,7 В, преобразованного в 5 В. SW1 - это тумблер SPST, который управляет потоком мощности по всей цепи. Как видно из схем, при подключении внешнего источника питания через разъем micro-USB модуля Arduino Nano аккумулятор заряжается через модуль TP4056. Убедитесь, что в цепи присутствуют байпасные конденсаторы нескольких номиналов, так как присутствует шум переключения повышающего преобразователя постоянного тока на землю и потенциалы 5 В во всей цепи.

3. AD9833 и выход:

Эта подсхема обеспечивает соответствующую форму выходного сигнала, определенную модулем AD9833 (U1). Поскольку на устройстве есть только один источник питания (5 В), необходимо подключить схему выбора связи к выходному каскаду. Конденсатор C1 подключен последовательно к каскаду выбора амплитуды, и его можно отключить с помощью управляющего тока на катушке индуктивности реле, таким образом, выходной сигнал направляется прямо на выходной каскад. C1 имеет значение 10 мкФ, этого достаточно для того, чтобы сигнал даже на низких частотах прошел через конденсатор без искажений, влияющих только на снятие постоянного тока. Q1 используется как простой переключатель BJT, используемый для подачи тока через индуктивность реле. Убедитесь, что диод подключен к катушке индуктивности реле в обратном направлении, чтобы избежать скачков напряжения, которые могут повредить цепи устройства.

Последний, но не менее важный этап - выбор амплитуды. U6 - это 8-битный цифровой потенциометр IC, который действует как делитель напряжения для заданной формы выходного сигнала. X9C104P - это цифровой потенциометр на 100 кОм с очень простой регулировкой положения стеклоочистителя: 3-контактные цифровые входы для настройки увеличения / уменьшения положения стеклоочистителя.

4. ЖК-дисплей:

Жидкокристаллический дисплей 16x2 - это графический интерфейс между пользователем и схемой устройства. Чтобы снизить потребление энергии, вывод катода подсветки ЖК-дисплея подключен к Q2 BJT, подключенному как переключатель, управляемый ШИМ-сигналом, управляемым способностью Arduino analogWrite (будет описано в шаге кода Arduino).

5. Кодировщик:

Схема энкодера - это интерфейс управления, определяющий работу всего устройства. U9 состоит из энкодера и переключателя SPST, поэтому нет необходимости добавлять в проект дополнительные кнопки. Контакты энкодера и переключателя должны подтягиваться внешними резисторами 10 кОм, но это также может быть определено с помощью кода. Рекомендуется добавить конденсаторы 0,1 мкФ параллельно контактам A и B энкодера, чтобы избежать дребезга на этих входных линиях.

6. Разъемы JST:

Все внешние части устройства подключаются через разъемы JST, что делает сборку устройства намного удобнее, с дополнительной функцией уменьшения количества ошибок в процессе сборки. Сопоставление разъемов выполняется следующим образом:

  • J3, J4: ЖК-дисплей
  • J5: кодировщик
  • J6: Батарея
  • J7: Тумблер SPST
  • J8: выходной разъем RCA

Шаг 4: пайка

Пайка
Пайка
Пайка
Пайка
Пайка
Пайка

Благодаря модульной конструкции этого проекта этап пайки становится простым:

A. Пайка основной платы:

1. Прежде всего, необходимо обрезать макетную плату до желаемых размеров корпуса.

2. Пайка модуля Arduino Nano и тестирование его начальной работы.

3. Паять цепь питания и проверять все значения напряжения на соответствие требованиям устройства.

4. Паять модуль AD9833 со всеми периферийными цепями.

5. Паять все разъемы JST.

Б. Внешние компоненты:

1. Припаяйте провода JST штекерного разъема к контактам ЖК-дисплея в ТОЧНОМ порядке, как это было запланировано на основной плате.

2. Припаиваем провода разъема JST Male к энкодеру аналогично предыдущему шагу.

3. Припаиваем тумблер к проводам JST.

4. Припаивание проводов JST к батарее (если это вообще необходимо. Некоторые литий-ионные батареи, доступные на eBay, предварительно припаяны с их собственным разъемом JST).

Шаг 5: Корпус и сборка

Корпус и сборка
Корпус и сборка
Корпус и сборка
Корпус и сборка
Корпус и сборка
Корпус и сборка
Корпус и сборка
Корпус и сборка

После того, как все пайки будут выполнены, можно переходить к последовательности сборки устройства:

1. Продумайте размещение внешних частей устройства: в моем случае я предпочел разместить энкодер под ЖК-дисплеем, когда тумблер и разъем RCA расположены на разных сторонах корпуса.

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

После того, как каркас выбран, просверлите несколько отверстий по периметру всего каркаса. Удалите все нежелательные порезы пластика шлифовальной пилкой.

Вставьте ЖК-дисплей изнутри и найдите точки для винтов на корпусе. Просверлите отверстия сверлами подходящего диаметра. Вставьте вытянутые винты и затяните гайки с внутренней стороны передней панели.

3. Энкодер: имеет только одну вращающуюся часть на упаковке. Просверлите область в соответствии с диаметром поворотной насадки энкодера. Вставляем изнутри, скрепляем термоклеевым пистолетом. Наденьте крышку на поворотную насадку.

4. Тумблер: определите размеры поворота тумблера, чтобы его можно было свободно тянуть вниз или вверх. Если у вас есть точки для винтов на тумблере, просверлите соответствующие участки на корпусе, в противном случае вы можете закрепить его с помощью пистолета для горячего клея.

5. Выходной разъем RCA: просверлите отверстие подходящего диаметра для выходного разъема RCA на боковой и нижней стороне корпуса. Закрепите ее горячим клеевым пистолетом.

6. Основная плата и аккумулятор. Поместите литий-ионный аккумулятор в нижнюю часть корпуса. Аккумулятор можно закрепить горячим клеевым пистолетом. Основная плата должна быть просверлена в четырех местах для 4 винтов в каждом углу основной платы. Убедитесь, что вход мини-USB Arduino находится как можно ближе к границе корпуса (нам придется использовать его для зарядки и программирования).

7. Mini-USB: отрежьте желаемую область для Arduino Nano micro-USB с помощью шлифовального напильника, чтобы можно было подключить внешний источник питания / ПК к устройству, когда оно полностью собрано.

8. Заключительный этап: соедините все разъемы JST, прикрепите обе части корпуса с помощью четырех 8-миллиметровых винтов к каждому углу корпуса.

Шаг 6: Код Arduino

Код Arduino
Код Arduino

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

Шаг 7: Заключительное тестирование

Заключительное тестирование
Заключительное тестирование
Заключительное тестирование
Заключительное тестирование

Наше устройство готово к использованию. Разъем mini-USB действует как вход для программатора и как вход для внешнего зарядного устройства, поэтому устройство можно программировать, когда оно полностью собрано.

Надеюсь, вы найдете это руководство полезным, Спасибо за прочтение!;)

Рекомендуемые: