Рубрики
Схемы на Arduino

Простой генератор прямоугольных импульсов до 1 МГц на Arduino своими руками

В этой статье мы рассмотрим простой генератор прямоугольных импульсов (square-wave generator) с частотой до 1 МГц на основе платы Arduino. Генератор будет использовать библиотеку TimerOne, позволяющую формировать сигнал широтно-импульсной модуляции (ШИМ) на контакте 9 платы Arduino.

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

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

  1. Плата Arduino Nano (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Потенциометр 10 кОм (купить на AliExpress).
  4. Подтягивающие резисторы – 3 шт. (купить на AliExpress).
  5. Кнопка – 3 шт.

Общие принципы работы проекта

Рассматриваемый в данной статье простой генератор прямоугольных импульсов будет использовать библиотеку TimerOne, которая позволяет формировать ШИМ сигнал на контакте 9 платы Arduino с частотой от 5 Гц до 1 МГц с настраиваемой скважностью (коэффициентом заполнения, duty cycle) от 0 до 100%. Скачать библиотеку TimerOne можно по следующей ссылке.

Генератор состоит из небольшого числа компонентов: платы Arduino Nano, ЖК дисплея, 3-х подтягивающих резисторов и 3-х кнопок.

В генераторе можно изменять период (частоту) повторения импульсов с помощью кнопок, подключенных к контактам 6 и 7 платы Arduino. С помощью кнопки, подключенной к контакту 13, можно изменять скважность импульсов. Длительность импульсов и скважность будут отображаться в первой строке ЖК дисплея, а частота – во второй строке ЖК дисплея. Минимальный шаг для настройки периода повторения импульсов составляет 1 мкс, поэтому частота импульсов будет изменяться также дискретно, например, периоду 1 мкс будет соответствовать частота 1 МГц, периоду 2 мкс – частота 500 кГц, периоду 3 мкс – частота 333.333 Гц и т.д. То есть по мере уменьшения частоты увеличивается плавность ее настройки. Конечно, это не очень практично для высоких частот, но это вынужденная плата за простоту устройства. Более продвинутый генератор можно собрать на основе использования DDS модуля, но это уже будет значительно более сложное устройство.

Для проверки работы генератора автор проекта использовал простой одноканальный осциллограф (который также можно собрать на основе платы Arduino). Для удобства работы с генератором он был помещен в небольшой корпус.

Схема проекта

Схема простого генератора прямоугольных импульсов на основе платы Arduino представлена на следующем рисунке.

Исходный код программы (скетча)

Комментарии к коду программы частично переведены.

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

Источник статьи

6 ответов к “Простой генератор прямоугольных импульсов до 1 МГц на Arduino своими руками”

Добрый день. В общем работает. На выход лезет кая- то одногерцовая пульсация. даже индикатор подмаргивает. Во всем диапазоне так.

Доброе утро. Я рад что у вас хотя бы этот проект генератора заработал. У автора проекта на видео вроде не видно никакой одногерцовой пульсации

сначала думал, что китайская ардуинка чудит. Но перезалил проект генератора с синусом- сигнал ровный, ничего лишнего. Здесь шаг регулировки на ВЧ огромный, не подходит.

Вы пытались это как то исправить или оставили так, как есть?

не исправлял же. перешел на синус генератор. там более плавное управление

Хорошо, спасибо, я понял

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *