Схема осциллографа на ардуино

Схема осциллографа на ардуино

Несколько лет назад я опубликовал код и схемное решение осциллографа на базе 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 ряда
Дисплей: Синий на белом фоне

Таким образом, я заказал один графический дисплей, подождал несколько недель, пока его доставят (поскольку с сайта dx.com пересылка товара идет очень долго), получил его, установил в схему и создал простой скрипт “Hello World” для подтверждения, что дисплей и плата правильно функционируют вместе. Код программы находится в файле hello_word.ino

И схема действительно работает!

Благодаря тому, что мой предыдущий проект был написан на C, переход на Arduino занял несколько минут. Я использовал преимущества открытого кода библиотеки графического дисплея (u8glib) для управления основной работой и добавил меню последовательного порта для манипулирования различными параметрами дисплея. Главное отличие между проектом на PIC и данным проектом заключается в следующем: поскольку плата Arduino Fio — это 3.3 В устройство, оно может управлять входами в диапазоне напряжения 0-3.3 В, ограничивая область использования в качестве “осциллографа” без соответствующей защиты входов/ изменения величины напряжения. Код является полностью портативным. Это означает, что вы можете запрограммировать любой другой Arduino и очень быстро запустить устройство.

Читайте также:  Системный блок с клавиатурой и мышью

Видео работы проекта можно посмотреть здесь.

Почти год назад появилось желание вникнуть в микроконтроллеры. Заказал у китайцев маленькую платку — клон Funduino Nano 3.0
ru.aliexpress.com/af/Fund…rchText=Funduino+nano+3.0. Подключил, поморгал светодиодами — не зацепило (.
Позже попалась статья в интернете как сделать осциллограф на этом модуле. Надолго о ней забыл, но при случае у тех же китайцев прикупил ЖК индикаторы от Nokia 5110 (говорят, что аналогичные 3310). ru.aliexpress.com/af/Noki…401&SearchText=Nokia+5110.
Через какое-то время куча электронного хлама в столе стала мозолить глаза, а раскладывать пазлы на планшете уже приелось. И остатки мозговой активности как нельзя кстати зацепились за забытую "игрушку".
Не долгий поиск по интернету по ключевым словам "осциллограф, ардуино" привёл на ссылку www.semifluid.com/2013/05…ino-fio-lcd-oscilloscope/ — собралось быстро с некоторыми корректировками в драйвере дисплея, ибо в оригинале используется ЖК с большим разрешением. Но изображение выходило за пределы экрана и как это исправить в данный момент не представляю возможным по причине, что не программист я вовсе :).

Далее нашлась уже более подходящая ссылка filear.com/?p=211. Опять не без проблем — не компилировалась :(. Всё дело оказалось опять в драйвере дисплея (да простят меня профессионалы в моих вольных определениях- я тут впервой 🙂 ). Лучший драйвер нашелся на сайте forums.adafruit.com/viewtopic.php?f=47&t=31564

Итог:
Два дня копания в непонятных буковках позволили сотворить гибрид из оригинальной программы и стороннего драйвера. Работоспособный вариант вместе со схемой можно забрать здесь yadi.sk/d/xXGsYWSyH7ygw

Когда дело дойдёт до корпуса — неизвестно . Потому как нашел способ вынести себе мозг окончательно

Профит : +10 ЧСВ; +1 умения программировать )))

25.02.14 Мало-помалу втягиваюсь в ассемблер и жду на днях из Китая посылочку с андуринками на которых и сделаю окончательный вариант. Мои извинения за ожидание :).

Читайте также:  Nvidia shield tablet 4pda

цифровая электроника вычислительная техника встраиваемые системы

Простой осциллограф на Arduino своими руками

Хотите самостоятельно сделать дешевый осциллограф, который удовлетворял основные потребности в плане измерения электрических величин? Это возможно благодаря плате Arduino. На основе Arduino можно собрать простой осциллограф для ПК, который по себестоимости будет менее $5.

Характеристики и особенности самодельного осциллографа на Arduino:

  • 50000 выборок в секунду (можно довести до 110000, но тогда сигнал будет очень зашумленным)
  • Автотриггер
  • Счетчик частоты
  • Достаточно точные показания напряжения (в зависимости от точности резисторов, используемых для делителей напряжения)
  • Дополнительно можно выбрать диапазон напряжения: 5В, 6.6В, 10В, 20В

Компоненты для осциллографа:

  • Arduino Leonardo или Arduino Micro
  • Два зажима типа крокодил
  • Конденсатор 0.1 мкФ (опционально)
  • Стабилитрон 5.1В (опционально)
  • ПК с установленным компилятором языка Processing

Также дополнительно для делителей напряжения (если вы хотите измерять напряжение выше 5 В) потребуется:

  • Два двухполюсных переключателя
  • Два резистора 3 КОм
  • Два резистора 1.5 КОм
  • Один резистор 1 КОм
  • Небольшая макетная плата

Если вам нужно измерять только напряжение до 5 В, то можете не подключать делители напряжения, а контакты щупов подключить непосредственно на землю и на аналоговый порт A1 на плате Arduino. Тогда вам придется немного изменить код. В коде для Arduino поменяйте:

В коде для processing поменяйте:

Скетч для Arduino и код на processing:

Схема осциллографа на Arduino с делителями напряжения:

В левой стороне схемы расположен делитель напряжения с коэффициентом 1:4. То есть к нему можно подключать напряжение да 20 В.

Справа расположен делитель напряжения, переключающийся между линиями 5 В и опорного напряжения (Aref). Вы можете использовать переключатели для установки диапазона измерения: 5В, 6.64В, 10В или 20В. Второй контакт каждого переключателя соединяется с цифровым входом Arduino (D3 и D4). Это работает следующим образом. Если программа настроена на работу с опорным напряжением, АЦП сравнивает напряжение аналоговых входов с Aref вместо 5В. Например, мы измеряем 5 В, тогда напряжение на A1 будет 5В/4=1.25 В. Если оба переключателя разомкнуты, то напряжение на Aref будет 5В, АЦП прочитает 1.25/5=25%. Если первый переключатель разомкнут, а второй замкнут, напряжение на Aref будет 2.5В, АЦП прочитает 1.25/2.5=50%. Если первый переключатель замкнут, а второй разомкнут, напряжение на Aref будет 1.66В, АЦП прочитает 1.25/1.66=75%. Если оба переключателя замкнуты, напряжение на Aref будет 1.25В, АЦП прочитает 1.25/1.25=100%.

Читайте также:  Диск показывает 100 в диспетчере задач

Дополнительными элементами в схеме являются конденсатор между линией щупа и землей и Стабилитрон 5.1V. Конденсатор позволяет уменьшить шумы измеряемых сигналов, а стабилитрон защищает Arduino от перенапряжения.

Если аналоговое опорное напряжение выбрано внутреннее (по умолчанию), и вы подводите напряжение питания к AREF, то это может вывести из строя Arduino.

Аналоговые входы не могут работать с отрицательным напряжением.

Не превышайте напряжения 5 В непосредственно на выводах Arduino.

Ссылка на основную публикацию
Adblock detector