Как собрать осциллограф на базе Arduino. Какие компоненты потребуются для создания осциллографа. Каковы основные возможности и ограничения самодельного осциллографа на Arduino. Как настроить и использовать Arduino-осциллограф.
Что такое осциллограф на Arduino и зачем он нужен
Осциллограф — это прибор для визуализации и измерения параметров электрических сигналов. Он позволяет увидеть форму сигнала, измерить его амплитуду, частоту и другие характеристики. Профессиональные осциллографы стоят дорого, поэтому для любительских целей часто используют самодельные варианты на базе микроконтроллеров, например Arduino.
Осциллограф на Arduino имеет ряд преимуществ:
- Низкая стоимость — можно собрать за несколько тысяч рублей
- Компактность — помещается на столе или в кейсе
- Возможность модификации под свои нужды
- Интеграция с компьютером для анализа данных
- Подходит для обучения и простых измерений
При этом такой осциллограф имеет ограничения по частоте, точности и функциональности по сравнению с профессиональными приборами. Но для базовых измерений и обучения он вполне подходит.
Необходимые компоненты для сборки осциллографа на Arduino
Для создания простого осциллографа на Arduino понадобятся следующие компоненты:
- Плата Arduino (Uno, Nano или другая)
- Графический LCD-дисплей (например, 128×64 пикселя)
- Операционный усилитель
- Резисторы, конденсаторы
- Потенциометр для регулировки усиления
- Разъемы для подключения щупов
- Корпус
Также потребуется компьютер для программирования Arduino и обработки данных. Общая стоимость компонентов обычно не превышает 2000-3000 рублей.
Схема подключения компонентов осциллографа
Базовая схема осциллографа на Arduino выглядит следующим образом:
- Входной сигнал подается через делитель напряжения на операционный усилитель
- Выход ОУ подключается к аналоговому входу Arduino
- Arduino оцифровывает сигнал с помощью встроенного АЦП
- Оцифрованные данные выводятся на LCD-дисплей
- Управление осуществляется кнопками, подключенными к цифровым входам Arduino
Важно правильно подобрать номиналы компонентов входных цепей, чтобы обеспечить нужный диапазон измерений. Также рекомендуется использовать защитные диоды на входе.
Программирование Arduino для работы осциллографа
Для работы осциллографа необходимо запрограммировать Arduino. Основные функции программы:
- Настройка АЦП и таймеров для оцифровки сигнала
- Обработка оцифрованных данных
- Вывод сигнала на дисплей
- Измерение параметров сигнала (амплитуда, частота и т.д.)
- Реализация пользовательского интерфейса
Программа должна обеспечивать максимально возможную частоту оцифровки (до 10 кГц для Arduino Uno). Важно оптимизировать код для быстродействия.
Пример кода для простого осциллографа на Arduino:
«`cpp #includeЭтот базовый код считывает аналоговые значения с входа A0, сохраняет их в массив, а затем отображает на LCD-дисплее в виде осциллограммы. Для реального использования его нужно дополнить функциями измерения параметров сигнала, масштабирования и т.д.
Возможности и ограничения самодельного осциллографа
Осциллограф на Arduino имеет следующие типичные характеристики:
- Максимальная частота входного сигнала: до 5-10 кГц
- Разрешение АЦП: 10 бит (0-1023)
- Входное напряжение: 0-5В (без делителя)
- Частота дискретизации: до 10000 выборок/с
Основные ограничения такого осциллографа:
- Низкая частота дискретизации по сравнению с профессиональными приборами
- Отсутствие расширенных функций анализа сигналов
- Ограниченная точность измерений
- Невозможность измерения высоковольтных сигналов без дополнительных цепей
Тем не менее, для базовых измерений и обучения такой осциллограф вполне подходит. Его можно улучшать, добавляя новые функции программно или аппаратно.
Калибровка и настройка осциллографа на Arduino
Для корректной работы осциллограф на Arduino необходимо откалибровать. Основные этапы калибровки:
- Проверка точности опорного напряжения Arduino
- Калибровка входного делителя напряжения
- Настройка усиления входного усилителя
- Проверка линейности АЦП
- Калибровка временной развертки
Для калибровки потребуется источник калибровочных сигналов и эталонный вольтметр. Процесс калибровки позволяет повысить точность измерений самодельного осциллографа.
Применение осциллографа на Arduino на практике
Самодельный осциллограф на Arduino можно использовать для различных задач:
- Отладка электронных схем
- Измерение параметров сигналов (амплитуда, частота, длительность импульсов)
- Визуализация работы датчиков
- Обнаружение помех и наводок
- Обучение основам электроники
Для более сложных измерений рекомендуется использовать профессиональные приборы. Но для многих любительских задач осциллографа на Arduino вполне достаточно.
Советы по улучшению характеристик самодельного осциллографа
Существует несколько способов улучшить характеристики осциллографа на Arduino:
- Использование более быстрого микроконтроллера (например, Arduino Due)
- Применение внешнего АЦП с большей разрядностью
- Оптимизация кода для повышения частоты дискретизации
- Добавление аппаратного триггера
- Реализация цифровой фильтрации сигнала
- Использование более качественных входных цепей
Также можно добавить новые функции, например, режим X-Y, быстрое преобразование Фурье, сохранение данных на SD-карту и т.д. Возможности для улучшения ограничены только фантазией разработчика.
Осциллограф на ардуино в Великом Новгороде: 570-товаров: бесплатная доставка [перейти]
Партнерская программаПомощь
Великий Новгород
Каталог
Каталог Товаров
Одежда и обувь
Одежда и обувь
Стройматериалы
Стройматериалы
Текстиль и кожа
Текстиль и кожа
Здоровье и красота
Здоровье и красота
Детские товары
Детские товары
Продукты и напитки
Продукты и напитки
Электротехника
Электротехника
Дом и сад
Дом и сад
Мебель и интерьер
Мебель и интерьер
Промышленность
Промышленность
Вода, газ и тепло
Вода, газ и тепло
Все категории
ВходИзбранное
Осциллограф на ардуино
1 446 049
RDS8204-R — цифровой безэкранный осциллограф реального времени Способ обработки входного сигнала:
ПОДРОБНЕЕЕще цены и похожие товары
Цифровой осциллограф с Частотой дискретизации В реальном времени 1 Мс/с Собранный Сварной осциллограф с зондом
ПОДРОБНЕЕЕще цены и похожие товары
Модуль часов реального времени DS1302 (без элемента питания) Arduino Pro Тип: микросхема,
ПОДРОБНЕЕЕще цены и похожие товары
343 441
DS8034-R — цифровой безэкранный осциллограф реального времени Способ обработки входного сигнала:
ПОДРОБНЕЕЕще цены и похожие товары
149 118
Осциллограф GW Instek MDO-72202EX
ПОДРОБНЕЕЕще цены и похожие товары
Цифровой осциллограф с Частотой дискретизации В реальном времени 1 Мс/с Собранный Сварной осциллограф с зондом
ПОДРОБНЕЕЕще цены и похожие товары
325 999
Руднев-шиляев ОЦЗС-02-250USB-4 Осциллограф цифровой запоминающий специальный Способ обработки
ПОДРОБНЕЕЕще цены и похожие товары
146 481
Осциллограф GW Instek MDO-72104EG
ПОДРОБНЕЕЕще цены и похожие товары
Пробник для осциллографа МЕГЕОН 25015
ПОДРОБНЕЕЕще цены и похожие товары
28 000
Осциллограф МЕГЕОН 15010
ПОДРОБНЕЕЕще цены и похожие товары
31 000
Осциллограф МЕГЕОН 15011 Тип: аналоговый, Поверка: нет, Внесен в госреестр: нет
ПОДРОБНЕЕЕще цены и похожие товары
11 970
Карманный цифровой осциллограф МЕГЕОН 15002 Тип: цифровой, Поверка: нет, Внесен в госреестр: нет
ПОДРОБНЕЕЕще цены и похожие товары
32 184
АКИП Осциллограф цифровой запоминающий АКИП-4122/1 (Без поверки) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
35 964
АКИП Осциллограф цифровой запоминающий АКИП-4122/1 (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
96 730
АКИП Осциллограф цифровой запоминающий АКИП-4119/1 (Без поверки) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
101 428
АКИП Осциллограф цифровой запоминающий АКИП-4119/1 (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
36 396
АКИП Осциллограф цифровой запоминающий АКИП-4115/3А (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
39 852
АКИП Осциллограф цифровой запоминающий АКИП-4115/4А (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
46 836
АКИП Осциллограф цифровой запоминающий АКИП-4115/5А (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
43 056
АКИП Осциллограф цифровой запоминающий АКИП-4115/5А (Без поверки) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
32 616
АКИП Осциллограф цифровой запоминающий АКИП-4115/3А (Без поверки) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
40 176
АКИП Осциллограф цифровой запоминающий АКИП-4122/10 (Без поверки) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
102 528
АКИП Осциллограф цифровой запоминающий АКИП-4122/12 (Без поверки) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
106 308
АКИП Осциллограф цифровой запоминающий АКИП-4122/12 (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
107 676
АКИП Осциллограф цифровой запоминающий АКИП-4122/12V (С поверкой) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
103 896
АКИП Осциллограф цифровой запоминающий АКИП-4122/12V (Без поверки) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
45 324
АКИП Осциллограф цифровой запоминающий АКИП-4122/2 (С поверкой) Внесен в госреестр СИ: Да, Номер в
В МАГАЗИНЕще цены и похожие товары
56 952
АКИП Осциллограф цифровой запоминающий АКИП-4122/11V (Без поверки) Внесен в госреестр СИ: Да, Номер
В МАГАЗИНЕще цены и похожие товары
2 страница из 18
LCD осциллограф на Arduino
Несколько лет назад я опубликовал код и схемное решение осциллографа на базе PIC18F2550 KS0108 . Однако в настоящее время я решил воссоздать данный проект, используя плату Arduino Fio.
Я использовал плату Arduino Fio, которую можно приобрести от SparkFun (доступно на Amazon.com) и небольшой SPI графический LCD-дисплей, который я приобрел за несколько долларов на сайте dx.com (код товара SKU 153821). Поскольку у меня нет паяльника, я импровизировал с кабелями типа “мама-мама”, которые также можно приобрести на сайте dx.com (код товара SKU 151650).
На сайте Dx.com данный LCD-дисплей является 5 В модулем, но на сайте производителя утверждается обратное (mini12864) (перевод с китайского с помощью Google Translate):
Размеры (Д × Ш × В): 47мм × 38мм × 6мм (без учета выводов)
Видимая часть LCD-дисплея (Д × Ш): 33.7мм × 33.5мм
Активная зона отображения LCD-дисплея (Д × Ш): 30.7мм × 23мм
Подсветка: Белая
Рабочее напряжение: 3.3В ~ 5.5В (встроенная схема усиления, без нагрузки)
ИС управления: UC1701
Формат дисплея: 128 × 64 ряда
Дисплей: Синий на белом фоне
(mini12864 даташит)
Таким образом, я заказал один графический дисплей, подождал несколько недель, пока его доставят (поскольку с сайта dx. com пересылка товара идет очень долго), получил его, установил в схему и создал простой скрипт “Hello World” для подтверждения, что дисплей и плата правильно функционируют вместе. Код программы находится в файле hello_word.ino
И схема действительно работает!
Благодаря тому, что мой предыдущий проект был написан на C, переход на Arduino занял несколько минут. Я использовал преимущества открытого кода библиотеки графического дисплея (u8glib) для управления основной работой и добавил меню последовательного порта для манипулирования различными параметрами дисплея. Главное отличие между проектом на PIC и данным проектом заключается в следующем: поскольку плата Arduino Fio — это 3.3 В устройство, оно может управлять входами в диапазоне напряжения 0-3.3 В, ограничивая область использования в качестве “осциллографа” без соответствующей защиты входов/ изменения величины напряжения. Код является полностью портативным. Это означает, что вы можете запрограммировать любой другой Arduino и очень быстро запустить устройство.
Видео работы проекта можно посмотреть здесь.
Оригинал статьи
Теги:
- Осциллограф
- Перевод
- Arduino
Вознаградить Я собрал 0 0
x
Оценить статью
- Техническая грамотность
- Актуальность материала
- Изложение материала
- Полезность устройства
- Повторяемость устройства
- Орфография
Средний балл статьи: 0 Проголосовало: 0 чел.
Осциллографна базе ПК с использованием Arduino
— Реклама —
Осциллографы являются важным инструментом для любителей электроники и профессионалов, чтобы убедиться, что их устройства будут работать должным образом. Осциллографы на базе ПК превосходят автономные осциллографы благодаря их компактным размерам, низкой стоимости и возможности проводить анализ в автономном режиме.
Здесь мы описываем, как вы можете сделать свой собственный осциллограф по очень низкой цене, используя ваш ПК и плату Arduino в качестве оборудования для сбора сигналов. Вы можете использовать этот осциллограф для захвата сигналов частотой до 5 кГц. Плата Arduino, сердце осциллографа, считывает значения со встроенного аналого-цифрового преобразователя (АЦП) и передает их на ПК через порт USB. Мы предоставили здесь скетч Arduino, который вы можете скомпилировать и загрузить непосредственно в Arduino. Вам также необходимо установить исполняемый файл или приложение на ПК с Windows. Это приложение работает как интерфейс для отображения входных сигналов в виде сигналов на экране вашего компьютера.
Плата Arduino состоит из микроконтроллера Atmel AVR, который может быть 8-, 16- или 32-разрядным в зависимости от типа платы. Для этого проекта вы можете использовать любой вариант Arduino в качестве аппаратного обеспечения. Микроконтроллер AVR имеет встроенный АЦП. В проекте мы используем контакт A0 для захвата входного сигнала. Захваченный входной сигнал подается на UART через преобразователь UART-USB в Arduino на ПК. Виртуальный COM-порт создается Windows всякий раз, когда Arduino подключается к ПК. Приложение для Windows, разработанное с использованием NI LabWindows, открывает виртуальный COM-порт и начинает визуально отображать сигналы с помощью библиотек Graph.
— Реклама —
Скорость выборки осциллографа ограничена скоростью передачи UART. Скетч Arduino закодирован для чтения АЦП с использованием ISR, а скорость передачи данных UART настроена на 115200, которая отправляет данные с интервалом 85 мкс. Это дает эффективную частоту дискретизации 12 квыб/с.
Конструкция
Установка осциллографа на ПК довольно проста и понятна, как показано на рис. 1. Плата Arduino подключается к ноутбуку или ПК через USB-кабель. Внешний источник питания для платы не требуется, так как плата питается только от USB. Подключите переключающие диоды (D1 и D2) в качестве входной схемы защиты к контакту A0 АЦП Arduino. Для использования этой схемы вам понадобится эскиз Arduino (pcscope.ino) и программное обеспечение для ПК или исполняемый файл (PCScope.exe). Установите программу PCScope.exe (разработанную автором) на свой ПК с Windows и откройте приложение. Затем откройте скетч Arduino из Arduino IDE и скомпилируйте скетч. Подключите плату Arduino к ПК и прошейте скетч в микроконтроллер на плате Arduino.
Рис. 1: Схема осциллографа на базе ПК с использованием ArduinoАЦП Arduino может измерять напряжение до 5 В. Поэтому рекомендуется добавить небольшую схему защиты, чтобы ограничить входное напряжение до 5 В и зафиксировать отрицательное напряжение. Для защиты входного контакта можно использовать маломощный быстродействующий диод, например 1N4148. Последовательно с входом подключите резистор сопротивлением 10 кОм. Он будет работать как ограничитель тока, если входное напряжение превышает 5 В. Дополнительные делители напряжения могут использоваться в случае, если вам необходимо измерить напряжение выше 5В.
Программное обеспечение
Эскиз Arduino. Частота дискретизации этого приложения для ПК ограничена скоростью, с которой данные отправляются на ПК. Скорость передачи 115000 бод дает временной интервал около 85 мкс. Важно получить сигналы АЦП задолго до этого, чтобы получить надежные данные. Скетч считывает вывод A0 платы Board1 и отправляет на UART со скоростью 115200 бод. На этой скорости байты ввода передаются с временными интервалами около 85 мкс.
По умолчанию конфигурация АЦП Arduino выдает выборки каждые 116 мкс. Итак, здесь АЦП настроен с дополнительными строками кода для получения выборок быстрее, чем 85 мкс, путем установки предварительного делителя на 16. При этом вы получаете преобразование АЦП каждые 20 мкс, что намного быстрее, чем скорость передачи данных UART.
Загрузить
исходную папкуПрограммное обеспечение для ПК. Как указывалось ранее, интерфейсное программное обеспечение ПК для сбора и обработки сигналов разработано с использованием NI LabWindows. Данные последовательного порта передаются через Arduino через равные промежутки времени и выводятся на экран в виде графика с использованием библиотеки функций Plot. Точки отображения по оси X рассчитываются на основе заданной пользователем шкалы времени. Диапазон оси Y задается с помощью регулятора выбора напряжения.
Рис. 2: Сообщение на экране при первом запуске осциллографа на базе ПКТестирование
После установки приложения для ПК нажмите кнопку «Подключить» на экране ПК, чтобы подключиться к плате Arduino (рис. 2). Когда плата будет подключена к вашему ПК, вы получите подтверждающее сообщение в течение трех секунд, как показано на рис. 3.
Рис. 3: Сообщение после успешного подключения оборудования к ПКПодайте любой прямоугольный вход до 5 кГц на CON1 . Программное обеспечение должно отображать форму выходного сигнала на вашем ПК. Квадратные и треугольные формы выходных сигналов 525 Гц и 530 Гц, полученные на экране во время тестирования, показаны на рис. 4 и 5 соответственно. Точно так же вы можете подавать прямоугольные или импульсные входные сигналы (но не синусоидальные волны) для получения выходных сигналов.
Рис. 4: Тестовый сигнал прямоугольной формы с частотой 525 Гц, захваченный на экранеРис. 5: Тестовый сигнал треугольной формы волны 530 Гц, захваченный на экранеЗаинтересованы? Ознакомьтесь с другими проектами в области электроники.
Эта статья была впервые опубликована 13 сентября 2017 г. и обновлена 26 июля 2019 г.
Модуль приложения Arduino Bluetooth для осциллографа
Описание
С помощью этого модуля вы можете анализировать и визуализировать данные, считываемые вашей аппаратной платой. Вы также можете записать данные и сохранить их в формате CSV, чтобы иметь к ним доступ позже.
Доступно в
ВведениеМодуль осциллографа позволяет визуализировать входные и выходные сигналы аппаратного устройства на смартфоне. Как осциллограф имеет разные каналы для отображения данных из разных источников, так и в этом модуле вы также можете отображать данные из двух разных источников, подключенных к вашему оборудованию. Вы можете отправлять данные для обоих каналов или любого канала одновременно, настраивать масштабирование оси времени и величины, а также сохранять поступающие данные в виде файлов CSV. Вы можете правильно визуализировать сигналы частотой до 50 Гц. На более высоких частотах появляются искажения в изображении.
Выбор канала и регулировка временной осиМодуль настроен на следующие настройки по умолчанию:
- Оба канала в модуле включены. Канал красного цвета — это канал 1 , а канал зеленого цвета — канал 2 .
- Ось напряжения задается в вольтах/дел с каждым делением 6В.
- Ось времени задается в мс/дел с каждым делением 100 мс (миллисекунд).
Чтобы отрегулировать шкалу напряжения или шкалу времени или настройки активного канала, выполните следующие действия:
- В нижней части экрана осциллографа вы можете увидеть стрелку, указывающую вверх. Перетащите эту стрелку вверх, и вы увидите пользовательский интерфейс с ползунковым переключателем и ползунковыми интерфейсами.
- Используя значок ползункового переключателя, вы можете включать и выключать канал в зависимости от того, сколько данных каналов вы хотите отобразить. Например, если вы хотите отправлять данные только по каналу 1, вы можете отключить канал 2.
- Используйте ползунок шкалы времени, чтобы настроить время на деление. Вы можете настроить его на различные значения в соответствии с вашими потребностями.
- В правом верхнем углу меню настроек также есть панель из трех кнопок, как показано ниже:
- Первая кнопка — это кнопка «Старт/Стоп» для управления прорисовкой на модуле.
- Вторая кнопка предназначена для записи данных. Вы можете регистрировать данные, полученные этим модулем, записывая их с помощью этой кнопки. Записанные данные сохраняются в виде файла CSV.
- Третья кнопка используется для открытия списка файлов CSV, записанных этим модулем. Нажав на эту кнопку, вы перейдете к следующему экрану, где представлен список всех записанных файлов.
- Шкала величины немного сложна для понимания, поэтому внимательно прочитайте этот раздел.
- Вы можете установить шкалу напряжения в милливольтах/дел или вольтах/дел. Когда вы открываете модуль, вы можете увидеть шкалу в вольтах/дел.
- Чтобы изменить это масштабирование, вы можете сжать экран, чтобы увеличить или уменьшить масштаб. Чтобы получить шкалу в милливольтах на деление, вам нужно несколько раз увеличить масштаб экрана, так что будьте терпеливы при этом.
Примечание: Модуль осциллографа в настоящее время находится в разработке, поэтому он не будет работать так, как работают другие модули Dabble. Код его использования с Arduino приведен ниже. Pictoblox также состоит из блоков для использования этого модуля. А также этот модуль в настоящее время работает на evive, Mega, Uno и Nano. Коды для запуска этого модуля с ESP32 будут добавлены в ближайшее время.
Как было сказано ранее, этот модуль работает иначе, чем другие модули, поэтому для правильного использования этого модуля выполните следующие шаги как для PictoBlox, так и для Arduino:
- Отключите Bluetooth, если он уже подключен.
- Загрузить приведенный ниже код (для Arduino и Pictoblox)
- Открытый модуль осциллографа
- Теперь подключите Bluetooth
- Отрегулируйте масштаб в соответствии с диапазоном данных, который вы рисуете.
Примечание: Для Arduino Uno и Nano подключите модуль Bluetooth к контактам RX0 и TX0 на плате, т. е. контактам 0 и 1 на плате.
Функции Arduino IDEЗагрузите zip-файл библиотеки осциллографов для evive, Mega, Uno и Nano отсюда: Oscilloscope_Dabble
Функции- Oscilloscope.begin( SerialChannel ) — Эта функция используется для инициализации процесса передачи данных между вашим оборудованием и смартфоном. Аргумент SerialChannel — это имя последовательного канала, по которому ваш Bluetooth подключен к аппаратной плате.
- Oscilloscope.sendDataChannel1( data ) – Эта функция предназначена для отправки данных по каналу 1 модуля.
- Oscilloscope.sendDataChannel2( data ) – Эта функция предназначена для отправки данных по каналу 2 модуля.
В основном существует два типа блоков для этого модуля: один для изменения скорости передачи данных, а другой для выбора канала и отправки данных.
evive
С параметром « установите скорость передачи Bluetooth в () для осциллографа » подключите Bluetooth к разъему Bluetooth устройства evive и выберите скорость передачи в бодах в соответствии с вашим Bluetooth из раскрывающегося списка.
Mega
Многоуровневый блок « подключен через Bluetooth по последовательному порту () со скоростью передачи () » выберите последовательный канал, к которому вы подключаете модуль Bluetooth, а также выберите скорость в соответствии с вашим модулем Bluetooth.