В этой статье мы рассмотрим как сделать свой собственный осциллограф для смартфона с помощью платы Raspberry Pi Pico и приложения Scoppy. Иногда, когда вы ремонтируете какое-то электронное оборудование и проводите некоторые научно-исследовательские и опытно-конструкторские работы, вам нужен осциллограф. Вы также можете использовать мультиметры, но проблема с мультиметрами в том, что они недостаточно быстры для обнаружения сигналов.
Разумеется, существуют стандартные осциллографы для лабораторных и промышленных применений. Но когда вы посмотрите на цены на коммерческий осциллограф, вы поймете, что он не по карману новичкам. Если вы любитель электроники или техник и не можете купить их, то вот простое решение для вас. Мы можем разработать простой DIY (своими руками) осциллограф для смартфона с использованием микроконтроллера по очень низкой цене.
Итак, в этом проекте мы собираемся сделать свой собственный осциллограф, используя плату Raspberry Pi Pico и ваш смартфон. Да, вы не ослышались. Можно сделать простой осциллограф, используя Raspberry Pi Pico и некоторую пассивную электронику. А для обнаружения прямоугольной или синусоидальной волны вы можете подать сигнал на свой мобильный телефон. Существует приложение под названием Scoppy, которое специально разработано для этих целей. Вы можете обнаружить сигнал с частотой до 250 кГц.
Необходимые компоненты
- Плата Raspberry Pi Pico RP2040 (купить на AliExpress).
- Резистор 100 кОм.
- Резистор 1 кОм - 2 шт.
- Кабель Micro-USB.
- Макетная плата.
- Соединительные провода.
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
Плата Raspberry Pi Pico
Плата Raspberry Pi Pico, разработанная Raspberry Pi Foundation, содержит микроконтроллер RP2040, который оснащен двухъядерным процессором Arm Cortex-M0+ с 264 КБ внутренней оперативной памяти и поддержкой до 16 МБ внешней флэш-памяти. Он имеет широкий спектр гибких опций ввода-вывода, включая I2C, SPI и уникальные программируемые порты ввода-вывода.
На задней стороне этой платы контакты пронумерованы как GP26 и GP27, которые являются аналоговыми контактами. Мы будем использовать этот контакт для обнаружения сигнала, поскольку любой сигнал, подаваемый извне, должен иметь форму синуса, квадрата или любого аналогового сигнала.
Scoppy
Scoppy — это приложение, работающее на базе вашего Android-смартфона. Сигналы в нашем проекте осциллографа измеряются платой Raspberry Pi Pico, а формы волн отображаются на Android-устройстве. Программирование не требуется. Приложение и прошивка бесплатны для загрузки, поскольку это проект с открытым исходным кодом. Вы можете загрузить это приложение из Playstore. Установка очень проста и займет всего несколько минут.
Цель проекта Scoppy — предоставить новичкам и любителям электроники доступ к сверхдешевому осциллографу, который полезен для просмотра низковольтных низкочастотных сигналов. Scoppy также является логическим анализатором с частотой дискретизации 25 Мвыб/с.
Требования для использования Scoppy
- Устройство Android под управлением Android версии 6.0 (Marshmallow) или выше.
- Адаптер/кабель USB OTG, совместимый с вашим телефоном/планшетом.
- Плата Raspberry Pi Pico.
Как использовать Scoppy с Raspberry Pi Pico
1. Установите приложение Scoppy для Android.
Установите приложение Scoppy для Android из Play Store.
2. Установите прошивку на свою плату Raspberry Pi Pico.
Загрузите прошивку на свой компьютер. Она находится здесь: pico-scoppy-v8.uf2.
Нажмите кнопку bootsel на Pico и подключите его к компьютеру. Скопируйте файл uf2 на Pico. Встроенный светодиод должен начать мигать.
3. Подключите Raspberry Pi Pico к телефону/планшету.
Подключите адаптер/кабель OTG к входу USB устройства Android. Другой конец подключите к кабелю USB, который вы подключили к Pico.
4. Запустите Scoppy.
Подключите выход +ve вашего источника сигнала к контакту GPIO26 платы Raspberry Pi Pico, а землю к gnd. Это позволит вам измерять сигналы от 0 В до 3,3 В. Конечно, напряжение сигнала должно быть в пределах допустимого диапазона выводов АЦП RP2040. Для канала 2 подключите сигнал к GPIO27.
Если у вас нет подходящего источника сигнала, вы можете просмотреть тестовый сигнал на GPIO 22, подключив его напрямую к контактам АЦП (GPIO 26 и 27). GPIO 22 представляет собой прямоугольный сигнал частотой 1 кГц с рабочим циклом 50%.
Экран и интерфейсы осциллографа
Вот интерфейс осциллографа Scoppy. Экран похож на экран осциллографа. Справа внизу есть опция выбора входного сигнала. Входной сигнал может подаваться через порт USB. Но для демонстрации разработчик приложения предоставил демонстрационный сигнал. Демонстрационный сигнал имеет форму синусоиды с частотой 50 Гц.
Вы можете провести пальцем влево и вправо и увидеть форму сигнала. С правой стороны доступны параметры горизонтальной и вертикальной регулировки. Параметр триггера также предназначен для поиска сигнала. Вы можете выбрать режим «выкл.», «авто» и «нормальный» в функции триггера. Отсюда время на деление можно настроить вручную. Аналогичным образом вы также можете настроить функциональность «вольт на деление». Чтобы узнать больше о других функциях, вы можете вручную проверить все другие функции.
Осциллограф представляет собой двухканальный осциллограф, в котором можно считывать несколько сигналов. Каждый из каналов можно включать и выключать, а также можно настраивать параметры измерений. Для демонстрационного сигнала можно использовать сигналы как канала 1, так и канала 2. Но если переключить режим на USB, то будет доступен только 1 канал. Чтобы использовать 2-й канал, нужно перейти на премиум-версию. Приложение настолько хорошее, что вы можете заплатить дополнительную сумму, чтобы получить еще один канал. В любом случае для тестирования нашего сигнала мы будем использовать только один канал.
Сборка оборудования
Теперь вопрос в том, как подать внешний сигнал на самодельный осциллограф для смартфона? Для этого мы будем использовать резистор очень высокого номинала, называемый резистором 100K, и подключим его через контакт GP26 платы. Это защитит Pi Pico от перегрузки по току. Аналогично нам понадобится пара резисторов 1K. Один резистор должен быть подключен к контакту GND, а другой — к контакту 3,3 В. Затем соедините другой конец резистора вместе. Мы делаем это, потому что нам нужно измерить как отрицательный, так и положительный сигналы. Вот схема для нашего осциллографа.
Мы подадим сигнал от генератора функций на этот вывод GP26 через резистор 100K. А другой вывод — это виртуальный вывод заземления. При подаче входного сигнала используются оба этих вывода.
Нам нужно устройство OTG для подключения Raspberry Pi Pico к смартфону. Это устройство OTG легко доступно на рынке. Подключите USB OTG к вашему смартфону, а другой конец к плате Raspberry Pi Pico. На вашем смартфоне вы увидите всплывающее окно. Оно попросит разрешить scoppy доступ к Pico. Нажмите OK.
Тестирование внешних сигналов
Нам нужен генератор функций, чтобы протестировать этот самодельный осциллограф для смартфона. Но у меня нет генератора функций. Поэтому я разработал генератор сигналов с использованием Arduino и вращающегося энкодера. Используя этот генератор функций, я могу генерировать прямоугольную волну с переменной частотой. Вы также можете купить комплект для сборки генератора функций XR2206 за 8$ .
Подключите выход функционального генератора к входу Pi Pico. Используйте виртуальную землю, а также вывод Vin.
Теперь частота 20 Гц установлена и подается на Pico. Таким образом, здесь генерируется четкий прямоугольный сигнал. И если сравнить частоту, то она почти одинакова.
Затем подадим сигнал с частотой 800 Гц, и его также можно наблюдать на экране. Формы волн все еще очень четкие.
Вы также можете подавать на вход осциллографа другие различные сигналы. Даже частота 1,2 кГц подойдет.
Никаких искажений сигнала даже до частоты 8 кГц.
Теперь значительно увеличим частоту - до 46 кГц. Мы все еще получаем прямоугольную волну, но есть небольшое переключение сигнала.
Вы можете измерить частоту до 250 кГц, поскольку это стандартная частота дискретизации платы Raspberry Pi Pico.
Измерение сигналов высокого напряжения
Плата Raspberry Pi Pico может считывать сигналы напряжением только до 3,3 В. Поскольку мы используем здесь сеть делителя напряжения , минимальный диапазон составляет -1,65 В , а максимальный диапазон составляет +1,65 В. Таким образом, он может измерять только напряжение до 3,3 В на входе. Что делать, если мы хотим измерить что-либо выше 3,3 В? Например, если вы хотите измерить сигнал 100 В от пика до пика, то как мы можем это использовать?
Поскольку мы подключили резистор сопротивлением 100 кОм к сигнальному контакту, устройство не повредится под воздействием высокого напряжения, но и измерить его не сможет, поскольку некоторые сигналы будут прерваны.
Для этого вы можете использовать стандартную схему, если хотите считать сигнал высокого напряжения, что я не рекомендую. Вот сеть делителя напряжения, которая разделит сигнал на 3 выборки. Если вы подаете сюда сигнал 100 В, вы получите сигналы 100 В , 10 В и 1 В соответственно. Вы можете использовать поворотный переключатель, который легко доступен на рынке. И выберите диапазон в соответствии с вашими требованиями.
Печатная плата для проекта
Если вы не хотите собирать схему на макетной плате и вам нужна печатная плата для проекта, то вот печатная плата для вас. Печатная плата для осциллографа на базе платы Raspberry Pi Pico разработана с использованием онлайн-инструмента проектирования схем и печатных плат EasyEDA. Печатная плата выглядит примерно так, как показано ниже.
Файл Gerber для данной печатной платы вы можете скачать по следующей ссылке.
После изготовления печатной платы вы можете разместить на ней все компоненты схемы осциллографа.