Самый дешевый двухканальный USB осциллограф в галактике

04/01/2013 - 19:08

   Этот субминиатюрный USB осциллограф сделан на микроконтроллере Atmel Tiny45 и с самодельной печатной платой он стоит меньше 5 Евро.


Двухканальный USB осциллограф - плата

 

   На 4-ех выводной разъем выведены два аналоговых входа, общий провод и 5 вольт от USB. Один из аналоговых входов имеет переменных резистор, для масштабирования входного сигнала. Программа для Tiny45 написана на Си и скомпилирована в WinAVR. Для реализации USB используется код V-USB от Obdev. Как вы можете видеть, в схеме нет кварцевого резонатора, микроконтроллер использует внутреннюю тактовую частоту 16.5 МГц с PLL схемы. Конечно, не следует ожидать от него скорости в 1 Gs/s, USB HID этого не позволяет. Но схема использует 10 разрядов АЦП.

   Устройство было разработано для подключения к макетной плате типа breadboard. На фотографии ниже usb осциллограф используется для проверки прецизионного датчика освещенности.

подключение к макетной плате

   Он подключается к компьютеру по USB как HID устройство и не требует для своей работы установки драйвера. Данные отображаются на компьютере с помощью программы, написанной на C#. Это мой вариант программы, вы можете, конечно, написать свой софт для захвата и отображения данных с usb осциллографа. Для работы программа требует наличия .NET фреймворка

Программа отображения

 Схема устройства предельно простая.

usb осциллограф на tiny45 - схема


Для сборки устройства вам понадобятся следующие компоненты:

любой светодиод,
резистор для светодиода 220 – 470 Ом,
2 резистора по 68 Ом для линий USB,
резистор номиналом 1.5 КОм, для подтяжки одной из USB линии,
2 стабилитрона на 3.6 В, для согласования сигналов контроллера и USB,
2 проходных конденсатора - 0,1 мкФ и 47 мкФ,
2 фильтрующих конденсатора для аналоговых входов 10 – 470 нФ,
1 или 2 переменных резистора для масштабирования входных аналоговых сигналов,
USB разъем (A, B, mini – на ваш выбор),
микроконтроллер Atmel tiny45-20.

Фуз биты для AVR Studio

BODLEVEL 2.7V
EESAVE  not preserved
WDTON disabled
SPIEN enabled
DWEN enabled
RSTDISBL enabled

-> что эквивалентно 0xdd

CKSEL hf pll (0001)
SUT 1..0 bod enabled fast rise
CKOUT disabled
CKDIV8 disabled

-> что эквивалентно 0xe1

Файлы

Файл печатной платы для Eagle usbscope-brd.rar
Готовая прошивка usbscope-firmware.rar
Исходники проекта usbscope-project.rar
Программа для компьютера usbadc-prog.rar 
Исходники програмы на C# для VisualStudio 2005 usbadc-project.rar

Ссылки

Блог автора http://yveslebrac.blogspot.ru/2008_10_01_archive.html

Comments   

# ciscobsci2 2013-01-09 11:00
Pashgan, было бы неплохо указать характеристики данного осцилографа - пределы его измерений и тд., уровень входного сигнала..
# Pashgan 2013-01-09 18:46
Это перевод. Автор не указал в статье характеристики.
# Magic 2013-01-11 11:13
Автор статьи в комментах отвечает на вопросы по характеристикам . По частоте: "Do not expect more than 100's of sample/S, the bottleneck is in the HID interface...." Не густо... Диапазон по напряжению можно подборкой резисторов "растянуть".
# Pashgan 2013-01-12 16:11
Для мониторинга питания или снятия сигналов с аналоговых датчиков пойдет.
# megan 2013-01-11 09:17
А как контроллер этот прошить?
# Pashgan 2013-01-12 16:10
В плате STK500, STK600, с помощью универсального программатора с панелькой, спаять адаптер с разъемом для программатора и панелькой. Хардкорный вариант - подцепить микросхему к программатору отдельными проводами.
# Gandalv 2013-03-01 17:34
Чет не работает, в системе определился, в программе пишет что найдено устройство, но все время нули показывает :( может кто поделится идеей почему может не работать?
# Shaddy 2013-12-23 22:41
такой глюк может быть, если винда x64б а прога x32
# Sergey-Alex 2013-03-07 04:48
Gandalv, заработала эта штука ?
# Gandalv 2013-03-16 17:35
Больше не садился за него, но судя по тому что напряжение на ножке контроллера есть и в проге он определяется то либо в прошивке косяк либо в проге.
# Sergey-Alex 2013-03-17 11:05
Ясно
# Артем 2013-03-21 12:28
Прошивал контроллер через PonyProg и чего-то напутал с фуз битами. Теперь он не хочет общаться. Это нормально? Напишите пожалуйста подробнее где должны стоять 0, а где 1.
# S@per 2013-03-30 22:27
Артем если МК перестал программироться то вам сюда http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atmega-fusebit-doctor/ ;-)
# Pinokio240 2016-07-10 10:33
Фьз доктор работает на ура проверенно http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atmega-fusebit-doctor/
# alex117 2013-08-15 10:20
Подскажите, а как перепрошить данный МК через LPT+UniProf?
Конкретно нужны значения фуз-битов для этой программы
# Pashgan 2013-08-15 21:24
Никогда не пользовался UniProf, не могу помочь.
# alex117 2013-08-27 09:02
А переменный резистор какого номинала брать?
# JoJo 2013-08-27 09:39
500 кОм, 1 МОм.. какой-нибудь высокоомный.
# alex117 2014-11-26 17:32
а подскажите, какие выводы на разъеме X2 относятся к первому, а какие ко второму каналу?
# alex117 2015-03-13 16:53
короче хуета это а не осциллограф, даже импульсы на блоке питания нельзя посмотреть - сплошную линию рисует и все
# Иван 2015-03-13 18:15
Сделай лучше оформи статью и поделись ней, это будет лучше чем оскорблять чужые изделия.
# Алекс 2015-03-13 18:19
Прежде чем его делать надо было мозгами пораскинуть и понять на что он способен:)
# alex117 2015-03-15 17:38
Quoting Алекс:
Прежде чем его делать надо было мозгами пораскинуть и понять на что он способен:)

а вот и просвятите - на что он способен ВООБЩЕ?
# mickel52 2015-05-05 06:05
Вот я например хочу померить что творится на лампе на аноде и на смещении на звуковом тракте. Он ведь от 300v испортится
# Раис 2015-06-09 18:50
если хочешь видеть изменения от 0 до 300в,то просто делитель на 100, например если R5=1М тогда через резистор 100M цепляешь к аноду, а если мониторить изменения скажем от 100 до 300в, тогда через резистор порядка 47-56М и сдвигающий стабилитрон вольт на 100
# Proton 2015-07-08 09:48
А возможно ли появление исходников на CodeVision или IAR ?
# Tantrum 2016-07-02 18:05
Для данного устройства хотелось бы видеть больше тестов)

У вас недостаточно прав для комментирования.