Рубрики
Проекты на ESP32

Осциллограф на ESP32

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

Но проблема в том, что хорошие осциллографы достаточно дорого стоят – диапазон цен на осциллографы среднего уровня колеблется в пределах от 500 до $2,000, а цена на «продвинутые» осциллографы может доходить до нескольких тысяч долларов. Поэтому в данной статье мы рассмотрим создание дешевого осциллографа на основе модуля ESP32, который под силу сделать даже начинающему радиолюбителю. Наш осциллограф будет иметь следующие характеристики и особенности:

  • один канал;
  • 1 Мвыборок/c (1Msps);
  • 16-битный буфер (50ms данных на 1 Мвыборке/c);
  • шкала от 10 мкс/деление до 5 мс/деление при 1Msps;
  • максимальное анализируемое напряжение 3.3V при масштабе 1X и 33V при масштабе 10X;
  • быстрое и удобное управление с помощью кнопок;
  • быстрый расчет частоты (минимум 20 Гц в зависимости от размера буфера);
  • простой фильтр ON/OFF;
  • способность проводить измерения максимального, минимального, среднего и пикового значения напряжений;
  • возможность сдвига по времени и по напряжению;
  • аналоговый и цифровой режим;
  • простой триггер;
  • автоматическая шкала (автомасштабирование).

https://circuitdigest.com/sites/default/files/other/ESP32-Oscilloscope-Project.mp4

Также на нашем сайте мы рассматривали проекты осциллографов на основе других микроконтроллеров (плат):

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

  1. Модуль ESP32 (купить на AliExpress).
  2. 1.69” 240×280 TFT дисплей ST7789s с закругленными углами.
  3. Кнопки.
  4. SPDT переключатели.
  5. Резисторы 10 и 100 кОм (купить на AliExpress).
  6. Конденсатор 100 нФ (купить на AliExpress).
  7. Медная пластина или перфорированная плата.
  8. Набор для пайки.

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

Схема осциллографа на основе модуля ESP32 представлена на следующем рисунке.

Модуль ESP32 в проекте нашего осциллографа будет использоваться для получения данных и управления всеми процессами в схеме. Мы будем использовать его встроенный I2S буфер для хранения и управления сигналами – в нашем случае это будет контакт 38, но вы можете использовать и другие разновидности модуля ESP32.

Для отображения информации в нашем проекте мы будем использовать модуль TFT дисплея с диагональю экрана 1.69” и контроллером ST7789S. Для взаимодействия с ним мы будем использовать интерфейс SPI.

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

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

Аналоговая часть нашего проекта очень проста. Она состоит из двух переключателей SPDT типа для выбора диапазона и выбора AC/DC. Для выбора диапазона мы также добавили делитель напряжения, который можно использовать для подачи на наш осциллограф сигналов с уровнями более 3.3V. Делитель напряжения будет преобразовывать сигналы в отношении 10:1.

Конструирование осциллографа

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

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

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

Вид тыльной стороны печатной платы.

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

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

По данной ссылке в репозитории GitHub вы также можете найти архив с именем TFT_eSPI – он содержит модифицированную библиотеку для управления дисплеем. Ее необходимо извлечь в папку с библиотеками Arduino. Если вы уже установили стандартную библиотеку TFT_eSPI, убедитесь в том, что вы ее удалили прежде чем извлекать архив с нашей библиотекой в папку с библиотеками Arduino. Запитать наш осциллограф можно через порт Micro USB внизу конструкции проекта (он только для подачи питания).

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

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

2 ответа к “Осциллограф на ESP32”

good job!
I got compiling error of: ‘configure_i2s’ was not declared in this scope
can be wrong Library?
what I2S library you used?
Thanks

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

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