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


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

Внешний вид осциллографа на основе модуля ESP32

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

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

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

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

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

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

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

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

Подключения модуля ESP32 в проекте нашего осциллографа

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

Подключения модуля TFT дисплея в нашем проекте

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

Внешний вид модуля TFT дисплея с обоих сторон

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

Принцип построения аппаратуры в нашем проекте

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

Аналоговая часть нашего проекта осциллографа

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

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

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

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

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

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

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

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

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

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

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

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

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

(Проголосуй первым!)
Загрузка...
312 просмотров

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

Ваш адрес email не будет опубликован.