Каждый инженер, который любит повозиться с электроникой в какой-то момент, хотел бы иметь собственную лабораторию. Мультиметр, токоизмерительные клещи, осциллограф, измеритель LCR, генератор функций, двухрежимный источник питания и автоматический трансформатор - это минимум оборудования для достойной лабораторной установки. Несмотря на то, что все это можно приобрести, мы также можем легко построить несколько самостоятельно, например, функциональный генератор и двухрежимный источник питания.
В этой статье мы узнаем, как быстро и легко мы можем создать собственный генератор функций с помощью Arduino. Этот функциональный генератор, известный как генератор сигналов, может генерировать прямоугольную волну (5 В / 0 В) с частотой от 1 Гц до 2 МГц, частоту волны можно регулировать с помощью ручки, а рабочий цикл жестко запрограммирован на 50%, но это легко изменить в программе тоже. Кроме того, генератор может также создавать волны с частотным регулированием. Обратите внимание, что этот генератор не промышленного класса и не может использоваться для серьезных испытаний. Но кроме этого, он пригодится для всех хобби-проектов, и вам не нужно неделями ждать доставки груза. К тому же, что может быть интереснее, чем использовать устройство, которое мы создали сами.
Необходимые материалы
- Ардуино Нано
- 16 * 2 буквенно-цифровой ЖК-дисплей
- Поворотный энкодер
- Резистор (5,6 кОм, 10 кОм)
- Конденсатор (0,1 мкФ)
- Парфюмерная доска, Бергстик
- Набор для пайки
Принципиальная электрическая схема
Полная принципиальная схема этого генератора функций Arduino показана ниже. Как видите, у нас есть Arduino Nano, который действует как мозг нашего проекта, и ЖК-дисплей 16x2 для отображения значения частоты, которое генерируется в данный момент. У нас также есть поворотный энкодер, который поможет нам установить частоту.
Вся установка питается от USB-порта самой Arduino. Подключения, которые я использовал ранее, не сработали по некоторым причинам, которые мы обсудим позже в этой статье. Следовательно, мне пришлось немного испортить проводку, изменив порядок контактов. В любом случае, у вас не будет таких проблем, так как все разобрано, просто внимательно следите за схемой, чтобы узнать, какой контакт к чему подключен. Вы также можете использовать приведенную ниже таблицу, чтобы проверить свои соединения.
Штырь Arduino | Соединен с |
D14 | Подключен к RS LCD |
D15 | Подключается к RN LCD |
D4 | Подключен к D4 ЖК-дисплея |
D3 | Подключен к D5 ЖК-дисплея |
D6 | Подключен к D6 ЖК-дисплея |
D7 | Подключен к D7 ЖК-дисплея |
D10 | Подключение к Rotary Encoder 2 |
D11 | Подключитесь к Rotary Encoder 3 |
D12 | Подключение к Rotary Encoder 4 |
D9 | Выводит прямоугольную волну |
D2 | Подключитесь к D9 Arduino |
D5 | Выводит SPWM, затем преобразованный в синусоидальный |
Схема довольно проста; мы генерируем прямоугольный сигнал на выводе D9, который может использоваться как таковой, частота этого прямоугольного сигнала регулируется поворотным энкодером. Затем, чтобы получить синусоидальную волну, мы генерируем сигнал SPWM на выводе D5, частота которого должна быть связана с частотой PWM, поэтому мы подаем этот сигнал PWM на вывод D2, чтобы действовать как прерывание, а затем использовать ISR для управления частотой с волны.
Вы можете построить схему на макете или даже получить для нее печатную плату. Но я решил припаять его к плате Perf, чтобы работа выполнялась быстро и была надежной для длительного использования. Моя плата выглядит так после выполнения всех подключений.
Если вы хотите знать