Самый дешевый двухканальный 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

Комментарии   

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

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

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

Защитный код
Обновить