Двухканальный USB осциллограф. Карманный осциллограф на микроконтроллере Исходники и прошивка

Осциллограф это прибор, помогающий увидеть динамику колебаний. С его помощью можно диагностировать различные поломки и получать необходимые данные в радиоэлектронике. Раньше применялись осциллографы на транзисторных лампах. Это были весьма громоздкие приборы, которые подключались исключительно к встроенному или разработанному специально для них экрану.

Сегодня приборы для снятия основных частотных, амплитудных характеристик и формы сигнала представляют собой удобные портативные и компактнее устройства. Часто их выполняют как отдельную приставку, подключающуюся к компьютеру. Этот манёвр позволяет убрать из комплектации монитор, существенно снизив стоимость оборудования.

Как выглядит классический прибор можно увидеть, рассмотрев фото осциллографа в любой поисковой системе. В домашних условиях также можно смонтировать это устройство, используя недорогие радиодетали и корпуса с другого оборудования для более презентабельного вида.

Как можно получить осциллограф

Оборудование можно заполучить несколькими способами и все зависит исключительно от размера денежных средств, которые можно потратить на приобретение оборудования или деталей.


  • Купить готовый прибор в специализированном магазине или заказать его по сети;
  • Купить конструктор, например, широкой популярностью сейчас пользуются наборы радиодеталей, корпусов, которые продаются на китайских сайтах;
  • Самостоятельно собрать полноценный портативный прибор;
  • Смонтировать только приставку и щуп, а подключение организовать к персональному компьютеру.

Эти варианты приведены в порядке снижения затрат на оборудование. Покупка готового осциллографа будет стоить дороже всего, так как это уже доставленный и работающий блок со всеми необходимыми функциями и настройками, а в случае некорректной работы можно обратиться в центр продажи.

В конструктор входит схема простого осциллографа своими руками, а цена снижается за счет оплаты только себестоимости радиодеталей. В этой категории также необходимо различать более дорогие и простые по комплектации и функционалу модели.

Сборка прибора самому по имеющимся схемам и приобретенных в разных точках радиодеталях не всегда может оказаться дешевле, чем приобретение конструктора, поэтому необходимо предварительно оценивать стоимость затеи, ее оправданность.

Наиболее дешевым способом заполучить осциллограф станет спаять только приставку к нему. Для экрана использовать монитор компьютера, а программы для снятия и трансформации получаемых сигналов можно скачать с разных источников.


Конструктор осциллографа: модель DSO138

Китайские производители всегда славились умением создавать электронику для профессиональных потребностей с очень ограниченным функционалом и за довольно небольшие деньги.

С одной стороны такие приборы не способны полностью удовлетворить ряд потребностей человека, занимающегося радиоэлектроникой в профессиональном русле, однако начинающим и любителям таких «игрушек» будет более, чем достаточно.

Одной из популярных моделей китайского производства типа конструктор осциллографа считается DSO138. Прежде всего, у этого прибора невысокая стоимость, а поставляется он со всем комплектом необходимых деталей и инструкций, поэтому как правильно сделать осциллограф своими руками, используя имеющуюся в комплекте документацию вопросов возникать не должно.

Перед монтажом нужно ознакомиться с содержимым упаковки: плата, экран, щуп, все нужные радиодетали, инструкция для сборки и принципиальная схема.

Облегчает работу наличие практически на всех деталях и самой плате соответствующей маркировки, что действительно превращает процесс в собирание детского конструктора взрослым. На схемах и инструкции хорошо видно все нужные данные и можно разобраться, даже не владея иностранным языком.


На выходе должен получиться прибор с такими характеристиками:

  • Напряжение на входе: DC 9V;
  • Максимальное напряжение на входе: 50 Vpp (1:1 щуп)
  • Потребляемый ток 120 мА;
  • Полоса сигнала: 0-200KHz;
  • Чувствительность: электронное смещение с опцией вертикальной регулировки 10 мВ / дел - 5В / Div (1 - 2 - 5);
  • Дискретная частота: 1 Msps;
  • Сопротивление на входе: 1 MОм;
  • Временной интервал: 10 мкс / Div - 50s / Div (1 - 2 - 5);
  • Точность замеров: 12 бит.

Пошаговая инструкция сборки конструктора DSO138

Следует рассмотреть более детально подробные инструкции для изготовления осциллографа данной марки, ведь аналогичным образом осуществляется сборка других моделей.

Стоит отметить, что в данной модели плата поставляется сразу с впаянным 32-битным на M3 ядре микроконтроллере марки Cortex™. Работает он два 12-битных входа с характеристикой 1 μs и работает в максимальном частотном диапазоне до 72 МГц. Наличие этого девайса уже вмонтированным несколько облегчает задачу.

Шаг 1. Удобнее всего начинать монтаж с smd компонентов. Нужно учитывать правила при работе с паяльником и платой: не перегревать, держать не дольше 2 с, не смыкать между собой разные детали и дорожки, пользоваться паяльной пастой и припоем.

Шаг 2. Припаять конденсаторы, дросселя и сопротивления: нужно вставлять указанную деталь в отведенное на плате для нее место, отрезаем лишнюю длину ножки и запаиваем на плате. Главное не перепутать полярность конденсаторов и не сомкнуть паяльником или припоем соседние дорожки.


Шаг 3. Монтируем оставшиеся детали: переключатели и разъемы, кнопки, светодиод, кварц. Особенное внимание следует уделить стороне диодов и транзисторов. Кварц имеет металл в своем строении, потому нужно обеспечить отсутствие прямого контакта его поверхности с дорожками платы или позаботиться о диэлектрической подкладке.

Шаг 4. 3 разъема припаиваются к плате дисплея. После завершения манипуляций с паяльником нужно плату промыть спиртом без вспомогательных средств – никаких ваток, дисков или салфеток.

Шаг 5. Просушить плату и проверить насколько качественно была проведена пайка. Прежде, чем подсоединить экран, нужно припаять две перемычки к плате. В этом пригодятся имеющиеся откушенные выводы деталей.

Шаг 6. Для проверки работы нужно включить прибор в сеть с током от 200 мА и напряжением 9 В.

Проверка заключается в снятии показателей с:

  • Разъема 9 В;
  • Контрольной точки 3,3 В.

Если все параметры соответствуют нужным значениям, нужно отключить прибор от питания и установить JP4 перемычку.

Ша г 7. В 3 имеющихся разъему нужно вставить дисплей. К входу нужно подключить щуп для осциллографа, своими руками провести включение питания.

Результатом правильной установки и сборки станет появление на дисплее его номера, типа прошивки, ее версии и сайта разработчика. Спустя несколько секунд можно будет наблюдать синусоидные волны и шкалу при выключенном щупе.

Приставка для компьютера

При сборке этого простого прибора понадобится минимальное количество деталей, знаний и навыков. Принципиальная схема очень простая, разве, что нужно будет изготовить самому плату для сборки прибора.

Размеры приставки к осциллографу своими руками будет примерно как коробок для спичек или немножко больше, поэтому лучше всего использовать такого размера пластиковую емкость или бокс от батареек.

Поместив в него собранный прибор с готовыми выходами, можно приступать к организации работы с монитором компьютера. Для этого следует скачать программы «Осциллограф» и «Soundcard Oscilloscope». Можно протестировать их работу и выбрать ту, что понравилась больше.

Подключенный микрофон также сможет ретранслировать на подключенный осциллятор звуковые волны, программа будет отражать изменения. Подключается такая приставка к микрофонному или линейному входу и не требует никаких дополнительных драйверов.

Фото осциллографов своими руками

Уважаемые читатели, Вашему вниманию представляется практическая схема USB осциллографа с частотой дискретизации 48 МГц на основе модуля WoodmanUSB.С принципиальными особенностями подобного осциллографа мы познакомились в предыдущей статье, где рассмотрели аппаратную и программуную реализацию анализатора логического уровня. Принципы построения остаются абсолютно аналогичными, только теперь на вход порта PORTB модуля мы будем подавать оцифрованный сигнал с быстродействующего АЦП.

Схема блока АЦП представлена на рисунке ниже. Итак, что мы здесь видим - это во-первых, собственно сам АЦП - микросхема AD9057 от Analog Devices. Был проведен анализ возможных кандидатов на данную позицию, рассматривались изделия от MAXIM, TI но в итоге был приныт имеено AD9057. Он относительно прост, удовлетворяет требованиям по частоте дискретизации, более менее доступен в продаже. Этот АЦП в продаже попадется в нескольких модификациях, отличающихся максимальной частотой дискретизации. Обозначается она так: AD9057BRS80 - т.е. этот образец может разгоняться до 80 МГц. Они также бывают на 40 и 60 МГц. Соответственно, желательно брать на 60 или 80 чтобы возможности WoodmanUSB зря не пропадали.

Далле обратим внимание на операционный усилитель AD828. Если его под рукой нет, то можно использовать любой другой, это не критично. Главное чтобы этот ОУ уверенно работал от однополярного напряжения и обеспечивал необходимую полосу пропускания (мегагерц этак 50 и более).

Теперь внимательней посмотрим на саму схему. Она очень простая. Как видно здесь использется только один ОУ без применения двупорных схем питания. Однако простота требует жертв. Схему придется настраивать с помощью подстроечных резисторов R1, R2 для установки оптимального режима.

Пару замечаний по схеме. Куча стрелочек с номерами выходящих из AD9057 соответственно должны подключаться к соответствующим выводам модуля WoodmanUSB. Далее, на вход схемы можно подвать напряжение от 0 до +5 В (больше не нужно - схему можно сжечь).

Обратим свое внимание на софт. Я решил для этой статьи оставить "движок" программы из прошлой статьи. Они почти полностью совпадают, за исключением того что теперь на отрисовку идут полноценные 8 бит данных а не 1 как было раньше в анализаторе. Как уже сказал - там ничего принципиально нового нет, поэтому рассматривать код не будем.

Итак, настало время первого запуска. Соединяем блок АЦП с модулем WoodmanUSB, подключаем все это к компьютеру. Для тестового анализа предлагаю использовать генератор прямоугольных импульсов - так проще будет настроить схему. Я использую микроконтроллер из предыдущей статьи. Запускаем программу. С очень большой степенью вероятности Вы должны увидеть нечто вот такое как на рисунке ниже, т.е. нечто весьма далекое от правды.


Чтобы исправить положение, необходимо с помощью подстроечных резисторов добиться оптимального режима работы блока АЦП, путем подбора таких значений сопротивлений, при которых полученная осциллограмма совпадает с входным аналоговым сигналом. По теории сопротивление R1 должно быть порядка 50 КОм, R2 - 10 КОм. Если все настроено верно, то в итоге должны получить вот такую картинку как на рисунке 2. Разумеется, если Вы используете в качестве тестового сигнала контроллер из прошлой статьи. Если у Вас свой источник опорного сигнала - должны увидеть то что подаете.

Вот собственно и все - у Вас на руках вполне работоспособная версия цифрового USB осциллографа с частотой дискретизации 48 МГц. Согласитесь, внушительная цифра. Однако если нет необходимости в промышленной дорогостоящей установке, вполне можно использовать конструкцию, рассмотренную на этой странице.

Что еще необходимо сказать. Вернее, напомнить - данный осциллограф не обечспечивает непрерывной дескритизации! 48-ми мегагерцовый шаг будет обеспечен только в каждых 512 отсчетах внутри буфера данных, прочтенных из модуля, а между пакетами по 512 точек временное расстояние не известно. Поясним на примере. В идеале должно быть следующее: берем отрезок сигнала длительностью 1 сек. Получаем 48 миллионов отсчетов, причем временное расстояние между любыми двумя точками строго равно 1/48*10 6 сек. В связи с особенностями USB шины на таких скоростях мы не можем обеспечить непрерывный поток данных, при котором скорость передачи будет одинаковой для любого момента времени. В шине USB мгновенная скорость сильно "плавает", если такой термин вообще применим. Итого, точную временную синхронизацию можно гарантировать только для пакета данных размером равным размеру контрольной точки USB модуля, в данном случае 512 байт. Другой вопрос что модуль может обеспечить порядка 20000 таких пакетов по 512 байт за одну секунду. Итого, в данном случае мы имеем дело с ~20 тыс. выборок входного сигнала в секунду по 512 байт каждая, причем внутри каждых этих 512 байт времеменное расстояние между отсчетами четко равно 1/48*10 6 сек. Подобные особенности не помешают нам, если мы анализируем переодические или медленно меняющиеся процессы.

При настройке собранных электронных схем, особенно цифровых, необходимо бывает проводить различные измерения. Для этого можно пользоваться различными пробниками, например логическим пробником, самым простым, состоящим из светодиода, токоограничительного резистора, и проводков оканчивающихся с одного конца щупом, а с другого крокодилом. С его помощью мы можем убедиться, присутствует ли у нас логическая единица, или ноль, например на ножке МК, или выводе Ардуино. Я же решил пойти дальше, собрать то, что думаю заинтересует простотой сборки многих новичков, позволит получить полезные знаний из теории, посмотреть на форму сигнала, например, как это выглядит при мигании того же светодиода, и конечно же им можно будет проверить наличие логического ноля или единицы, на ножке МК. В общем, решил собрать простейший осциллографический пробник, с подключением к компьютеру по USB порту.

Данная схема является иностранной разработкой, откуда впоследствии она перекочевала в Рунет, и разошлась по множеству сайтов. В поисках детальной информации при его сборке, обошел множество сайтов, не меньше 10-12. На всех них были только краткое описание, переведенное и содранное с забугорного сайта и прошивка для скачивания, с примером выставления фьюзов. Ниже представлена схема этого осциллографического пробника:

Я сознательно не называю его чисто осциллографом, потому что он не дотягивает до этого звания. Давайте разберем подробнее, что же он представляет из себя. Бюджет устройства составляет всего 250, максимум 300 рублей, и его сборку может позволить себе любой школьник или студент. Как наглядного пособия, для отработки навыков пайки, прошивания МК, в общем, для отработки всех навыков, необходимых для самостоятельного конструирования цифровых устройств. Если кто-то сразу загорелся и собрался немедленно бежать в магазин, за покупкой радиодеталей, подождите, у этого осциллографического пробника, есть несколько существенных минусов. У него очень неудобный софт, оболочка, в которой собственно мы и будем наблюдать наш сигнал. На следующем фото показано, как я ловлю момеху от пальца:

Сказать, что оболочка сырая, это значит ничего не сказать… Даже оболочки для использования, в качестве низкочастотного осциллографа на звуковой карте, существенно обходят ее по своим возможностям. На следующем фото, на короткое время касаюсь щупами выводов батарейки:

Начнем с того, что показания у нас выводятся в милливольтах, и шкалы по напряжению, соответствующей реальным значениям, попросту нет. Но и это еще не все. Схема устройства, как мы можем увидеть, посмотрев на рисунок со схемой, основана на МК Tiny 45.

В данном устройстве не применяется внешний быстродействующий АЦП, и это её существенный недостаток. Это означает, что при измерении сигнала с частотой, на которую наш пробник - осциллограф не рассчитан, мы получим на экране, просто прямую линию… Недавно мне потребовалось провести ремонт пульта дистанционного управления, диагностика показала, что и питание приходит, и дорожки все целые, и контакты на плате, вместе с резиновыми кнопками почищены, все безрезультатно, пульт не подавал признаков жизни. На местном радиофоруме, мне предложили заменить керамический резонатор, на котором кстати не было ни трещин, ни каких других внешних признаков, по которым можно было бы решить, что деталь неисправна. Решил послушать совета, сходил в магазин и купил новый керамический резонатор на 455 кГц, стоимостью всего 5 рублей, перепаял его, и пульт сразу “ожил”.

К чему я это рассказываю? А к тому, что после сборки этого пробника, пришла в голову мысль проверить на пульте генерацию тактового сигнала. Не тут-то было. Пробник-осциллограф показал, на одной ножке резонатора условно низкий уровень, на другой высокий, и вывел прямую линию. Не справившись даже с частотой 455 кГц... Теперь, когда вы предупреждены о его минусах, вы можете сами определиться для себя, нужен ли вам такой осциллографический пробник. Если все же да, то продолжаем чтение)... Входное сопротивление обоих каналов осциллографа равно 1 МОм.

Для этой цели нам будет нужно приобрести и запаять подстроечные резисторы на 1 МОм, делитель сигнала 1\10. Соответственно сопротивления делителя, у нас должны составлять 900 и 100 КилоОм. Я решил использовать 2 канала осциллографа, так как был в наличии разъем - гнезда, распаянные на плате, два тюльпана, и разница в стоимости деталей для меня составляла, по сути, только стоимость подстроечного резистора. Другое дело, что оба канала оказались не идентичны по своим показаниям. Как мы видим на схеме один канал был рассчитан на работу с делителем, а другой нет. Ну да это не беда, если потребуется, чтобы и этот канал работал без делителя, нам достаточно выкрутить положения движка подстроечного резистора в ноль, тем самым подав сигнал с выхода, напрямую на ножку МК. Это может быть полезным при измерении сигналов, на двух линиях с низкой амплитудой. На следующем фото показано, как я снимаю сигнал с мультивибратора:

Также мы можем, покрутив регулятор подстроечного резистора, выставить, какой делитель нам требуется, 1\10, 1\25, 1\50, 1\100, или любой другой, измерив мультиметром сопротивление, между центральным выводом и крайними выводами подстроечного резистора. Это может потребоваться для измерения формы сигнала, с большой амплитудой напряжения. Для этого нужно будет лишь подсчитать, получившиеся соотношения сопротивлений делителя. Есть еще один важный нюанс, на иностранном сайте автора схемы, при выборе фьюзов указано, что нужно перевести фьюз - бит Reset Disable в положение включено. Как мы помним, отключение этого фьюз - бита, прекращает возможность последовательного программирования. Фьюзы которые нужно изменить, показаны на следующем рисунке:

В данной схеме Pin 1 Reset не используется как Pin, поэтому нам изменять этот фьюз-бит не обязательно. Но на одном из форумов, для более стабильной работы осциллографа - пробника, рекомендовали притянуть Pin Reset через резистор 10 килоОм к плюсу питания, что я и сделал. Также, когда искал информацию по нему, ни на одном из сайтов я не нашел понятного и доступного объяснения, насчет источника тактирования МК Tiny 45. Так вот, в этой схеме МК тактируется не от внутреннего RC - генератора, не от кварцевого резонатора, а от внешнего тактового сигнала, подаваемого на МК от USB порта. Логично предположить, что выбрав этот источник тактирования, МК перестанет у нас быть виден, в оболочке для прошивания, при отключении от USB порта, поэтому сначала залейте прошивку, а затем внимательно выставляйте фьюз биты.

Давайте разберем схему осциллографа более подробно, на сигнальных линиях USB порта D+ и D-, установлены согласующие резисторы на 68 Ом. Изменять их номинал не рекомендую. Между сигнальными жилами и землей, рекомендовано для снижения помех, установить керамические конденсаторы на 100 наноФарад. Такой же конденсатор на 100 наноФарад, нужно установить параллельно электролитическому, на 47 микроФарад, установленному по цепям питания +5 вольт и земля. Между землей и сигнальными линиями, должны быть установлены стабилитроны на 3.6 Вольта. Я правда поставил на 3.3 вольта, все работает нормально. Предусмотрена индикация включения на светодиоде, включенном последовательно с резистором 220-470 Ом.

Номинал в данном случае не критичен, и от него зависит только яркость свечения светодиода. Я установил на 330 Ом, яркость свечения достаточная. В схеме установлен резистор номинала 1.5-2.2 килоОма, для определения устройства операционной системой.

Подпаивайте провода USB кабеля к плате ориентируясь по распиновке кабеля, а не по расположению на схеме осциллографа. На схеме очередность следования жил указана произвольно. Также из несущественных недостатков, по отзывам пользовавшихся, после перезагрузки Windows, нам потребуется переткнуть осциллограф заново в USB порт. Не забудьте снять фьюз - бит делитель тактовой частоты на 8 CKDIV 8. Данный осциллограф не требует для своей работы, каких-то сторонних драйверов, и определяется как Hid устройство, аналогично мышке или клавиатуре. При первом подключении, устройство определится как Easylogger. На следующем рисунке, приведен список необходимых для сборки деталей.

Существует 6 версий программы Usbscope, оболочки, в которой собственно мы и наблюдаем график. Первые три версии не поддерживают 64-битные операционные системы Windows. Начиная с четвертой версии Usbscope, поддержка обеспечена. Для работы программы на компьютер должен быть установлен Netframework. На сайте автора были выложены исходники прошивки, и исходники программы-оболочки, так что возможно найдутся умельцы, которые смогут дополнить софт. Какое-же практическое использование данного осциллографа, неужели только как игрушка? Нет, данный прибор используется в автоделе домашними умельцами, как бюджетная замена дорогому осциллографу, для настройки автомобильных систем зажигания, расхода топлива и подобных нужд.

Видимо частота работы в автоделе достаточно низкая, и данного пробника минимально хватает, хотя бы для разовых работ. Для подключения к измеряемой схеме спаял два щупа, использовав для этого, с целью снизить уровень помех, экранированный провод, тюльпаны или разъем RCA. Это обеспечивает легкое подключение и отсоединение щупов от осциллографа.

  1. Один из проводов - щупов осциллографа, оканчивается для измерения щупом от мультиметра для сигнальной жилы, и крокодилом для подключения к земле.
  2. Второй щуп оканчивается крокодилами разных цветов, и для сигнальной жилы и для земли.

Вывод: сборка данного пробника, целесообразна, скорее как наглядное пособие, для изучения формы низкочастотных сигналов. Для практических целей, например для проверки и настройки импульсных блоков питания, в частности работы ШИМ контроллеров, данный пробник не годится однозначно, так как не может обеспечить необходимого быстродействия. Поэтому не может являться заменой, даже самому простому советскому осциллографу, и даже простым осциллографам с Али экспресс.

Скачать архив со схемой, прошивкой, скрином фьюзов и оболочкой осциллографического пробника, можно по ссылке . Всем успехов, специально для - AKV .

Обсудить статью USB ПРОБНИК-ОСЦИЛЛОГРАФ

Все чаще и чаще используются приборы подключаемые к компьютеру по USB. Часто они бывают дешевле и функциональнее обычных приборов. В этой статье описано создание USB осциллографа с максимальной частотой 10 кГц при входном напряжении ± 16В. Он гораздо лучше других подключаемых к компьютеру осциллографов. Имеет гораздо больше возможностей, чем ПК-осциллографы. В качестве основы использован микроконтроллер PIC18F2550. Питание берётся непосредственно с USB порта, что делает осциллограф компактнее.

Описание схемы

В основе этого USB 2.0 осциллографа лежит микроконтроллер PIC18F2550. Вы можете использовать PIC18F2445 вместо PIC18F2550.

Характеристики PIC18F2550:
1. 32 Кб флэш-памяти, 2 Кб оперативной памяти и 256 байт EEPROM
2. Расширенный набор команд (оптимизированный для «С»)
3. 8x8 однотактный умножитель
4. Простая прошивка и отладка
5. USB 1.1 и 2.0 от 1,5 Мб/с до 12 Мб/с
6. Несколько режимов передачи по USB
7. 1 Кбайт доступной RAM с 32 конечными точками (64 байт каждая)
8. Работа с частотой от внутреннего генератора от 31 кГц и до 48 МГц с внешним кварцем.
9. Возможность программного переключения между «быстрым», «нормальным» и спящим режимами. В спящем режиме, ток потребления 0,1 мкА.
10. Широкий диапазон рабочих напряжений (от 2,0 В до 5,5 В).
11. Несколько портов ввода/вывода (I / O), четыре таймера с возможностью захвата /сравнения.
12. Синхронные и асинхронные модули расширения
13. Потоковый параллельный порт
14. 10-разрядный АЦП с 13-канальным мультиплексором.

На рисунке выше показана схема двухканального USB осциллографа. MCP6S91 является аналоговым усилителем с программируемым коэффициентом усиления. Он хорошо подходит для использования в АЦП и подачи сигнала на аналоговый вход микроконтроллера. Два программируемых усилителя (IC4 и IC5) позволяют выбрать входной диапазон для каждого из двух каналов, изменяя его от 1:1 до 32:1. Усилители небольшие, дешевые и простые в использовании. Простой трехпроводной последовательный интерфейс SPI позволяет микроконтроллеру управлять ими через выводы 5, 6 и 7.

MCP6S91 разработан с использование КМОП устройств ввода. Он не инвертирует выходной сигнал, когда входное напряжение превышает напряжение питания. Максимальное входное напряжение этого усилителя от -0.3V (VSS) до +0,3 В (VDD). Повышенное входное напряжение может вызвать чрезмерный ток из входных контактов. Ток более ± 2 мА может привести к поломке микросхемы. При подаче большего тока на входе должен быть токоограничительный резистор. Напряжение на выводе 3, который является аналоговым входом, должно быть между VSS и VDD. Напряжение на этом выводе меняет выходное напряжение. Выводы SPI интерфейса это выбор кристалла (CS), последовательный вход (SI) и последовательная частота (SCK). Выходы КМОП это триггер Шмитта.

Единственным недостатком является то, что эти усилители принимают только положительные сигналы. Вот почему используется напряжение сдвига усилителей LF353 (IC2A и IC3A). LF353 является операционным усилителем с внутренней компенсацией смещения входного напряжения. Этот ОУ имеет широкую полосу пропускания, низкий входной ток. Напряжение сдвига усилителя приводит к высокому входному сопротивлению и коэффициенту уменьшения 1:4.5. ± 16В входного сигнала переходят в 0-5В диапазон.

LF353 (IC2B и IC3B) используются для обеспечения напряжения смещения (Vref) для программируемых усилителей. Это напряжение должно быть точно отрегулировано двумя 4,7 кОм потенциометрами. На входах IC2 и IC3 должно быть 2.5В, когда вход на GND.

LF353 нужны одинаковые напряжения питания, поэтому используется маленький DC-DC преобразователь напряжения ICL7660 (IC1). Ему необходимо лишь два электролитических конденсатора. ICL7660 можно заменить MAX1044.

Последовательная шина

Все данные передаются на D + / D- симметричные входы с переменной скоростью. Положение резистора (R13) на D + или D- позволяет регулировать скорость от 12Мбит до 1.5Мбит. Обратите внимание, что PIC18F2550/2455 имеют встроенные подтягивающие резисторы. Использование UPUEN (UCFG = 4) позволяет использовать их. В этом проекте R13 не используется. Внешние подтягивающие резисторы также могут быть использованы. Сопротивление резистора должно быть в 1,5 Ком (± 5%) в соответствии с требованиями USB.

Программа микроконтроллера

Программа для микроконтроллера написана на "C" в MPLAB 8,70. Его можно бесплатно загрузить с сайта www.microchip.com. Программа для МК основана на готовых примерах с сайта Microchip и сосредоточена на опросе USB. Этот цикл никогда не останавливается, и каждая операция USB осуществляется за один подход. Все операции, которые инициируются ПК состоят из 16-байтных команд.
Первый байт команды определяет тип действия.
1. Команда 80h: Очищает память EEPROM от значений калибровки
2. Команда 81h: Получает параметры, и настраивает необходимую компенсацию для двух каналов.
3. Команда 83h: Вызывает калибровку каналов.

Установка драйвера

1. Если все в порядке, подключите осциллограф с помощью кабеля USB к компьютеру (с операционной системой Windows 98SE и выше). Должно появится диалоговое окно "Обнаружено новое устройство"
ПРИМЕЧАНИЕ: Драйвер для этого осциллографа не работает на Windows 7 или Vista.

2. Теперь вы можете запустить установку драйвера. Для загрузки драйвера, нажмите здесь. Не позволяйте Windows установить стандартный драйвер.

3.Когда вы всё сделали, перейдите в "Диспетчере устройств" и убедитесь, что "USB2-MiniOscilloscope" распознается. Если его там нет, повторите шаги 1 и 2.

Пользовательский интерфейс программы

Пользовательский интерфейс программы написан на Visual Basic 6 и называется OscilloPIC. Нажмите для закачки.

Программа выглядит как маленький цифровой осциллограф, что показано на скриншоте выше. Различные настройки в строке меню:
1. Inputs: выбор активных каналов
2. Sampling: настройка частоты снятия показаний
3. Trigger: настраивает синхронизацию
4. Cursors: выбор горизонтальной или вертикальной позиции сигнала
5. Num: показывает дискретные значений в формате текстового файла
6. Config: настройка усиления и смещения

Перед началом работы с осциллографом необходимо провести калибровку. Нажмите кнопку channels calibration в разделе "Config". Подайте на вход осциллографа известный сигнал. Нажмите кнопку "Пуск". Сигнал будет отображаться на экране монитора. По умолчанию время одного деления составляет 200 мкс. Амплитуда 4В на деление. Вы можете установить эти параметры в соответствии с вашими требованиями.

Тесты и калибровка

Первый шаг заключается в корректировке смещения. Подсоедините два аналоговых входа на GND и подстройте два 4,7 кОм потенциометра, пока на выводе 2 обоих MCP6S21 не будет 2,5В. Более точная настройка может быть достигнута за счет OscilloPIC. Выберите наименьшее значение калибровки в пределах ± 0,5 для обоих входов.

Команда «калибровка нуля» сообщает ПИК о необходимости начать свою собственную внутреннюю компенсацию для всех калибровок. Не забудьте подключить входы на землю.

Второй параметр требующий настройки - это ошибки усиления. Нажав кнопку "калибровка усиления", можно указать небольшой поправочный коэффициент. Это можно сделать после нескольких измерений. Вы должны знать реальные параметры сигнала и добиться от осциллографа аналогичных показаний. Погрешность усиления составляет менее 0,1 процента. Для двух каналов минимальная выборка составляет 10мкс.

Сборка

Макет схемы собранный на макетной плате

Размер печатной платы осциллографа можно оценить на фотографии. Поскольку схема довольно проста, сборка не должна вызвать затруднений.

Для подачи входного сигнала могут быть использованы BNC разъёмы. Разъёмы для них могут быть установлены на передней панели. Осциллограф может быть улучшен путем замены PIC и АЦП на более быстрые модели, например на AD9238 (20 MS/с). Это быстрый параллельный АЦП можно использовать вместе с DSP PIC.

ПРИМЕЧАНИЕ: Плата оптимизирована для изготовления в домашних условиях(дорожки специально сделаны толстыми). Если вы можете сделать более тонкие дорожки, вы можете уменьшить их толщину.

Скачать прошивку, ПО для ПК, файлы печатных плат в Eagle

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 Микросхема ICL7660 1 В блокнот
IC2, IC3 Операционный усилитель

LF353

1 В блокнот
IC4, IC5 Микросхема MCP6S91 1 В блокнот
IC6 МК PIC 8-бит

PIC18F2550

1 В блокнот
R1, R9 Резистор

82 кОм

2 0.25 Вт В блокнот
R2, R8 Резистор

33 кОм

2 0.25 Вт В блокнот
R4, R5, R15 Резистор

1 МОм

3 0.25 Вт В блокнот
R6, R7 Резистор

220 кОм

2 0.25 Вт В блокнот
R10, R11 Резистор

150 кОм

2 0.25 Вт В блокнот
R12, R13, R16 Резистор

1 кОм

3 0.25 Вт В блокнот
R14 Резистор

1.5 кОм

1 0.25 Вт В блокнот
VR1, VR2 Резистор подстроечный

4.7 кОм

2 В блокнот
С1 Электролитический конденсатор 10 мкФ 16В 1

Этот простой и дешёвый USB осциллограф был придуман и сделан просто ради развлечения. Давным давно довелось чинить какой-то мутный видеопроцессор, в котором спалили вход вплоть до АЦП. АЦП оказались доступными и недорогими, я купил на всякий случай парочку, один пошёл на замену, а другой остался.


Недавно он попался мне на глаза и почитав документацию к нему я решил употребить его для чего-нибудь полезного в хозяйстве. В итоге получился вот такой приборчик. Обошёлся в копейки (ну рублей 1000 примерно), и пару выходных дней. При создании я постарался уменьшить количество деталей до минимума, при сохранении минимально необходимой для осциллографа функциональности. Сначала я решил, что получился какой-то уж больно несерьёзный аппарат, однако, сейчас я им постоянно пользуюсь, потому что он оказался весьма удобным - места на столе не занимает, легко помещается в карман (он размером с пачку сигарет) и обладает вполне приличными характеристиками:

Максимальная частота дискретизации - 6 МГц;
- Полоса пропускания входного усилителя - 0-16 МГц;
- Входной делитель - от 0.01 В/дел до 10 В/дел;
- Входное сопротивление - 1 МОм;
- Разрешение - 8 бит.Принципиальная схема осциллографа показана на рисунке 1.

Для разных настроек и поиска неисправностей во всяких преобразователях питания, схемах управления бытовой техникой, для изучения всяких устройств и т.д., там где не требуются точные измерения и высокие частоты, а нужно просто посмотреть на форму сигнала частотой, скажем, до пары мегагерц - более чем достаточно.

Кнопка S2 - это часть железа нужного для бутлоадера. Если при подключении осциллографа к USB держать её нажатой, то PIC заработает в режиме бутлоадера и можно будет обновить прошивку осциллографа при помощи соответствующей утилиты. В качестве АЦП (IC3) была использована "телевизионная" микросхема - TDA8708A. Она вполне доступна во всяких "Чип и Дип"ах и прочих местах добычи деталей. На самом деле это не только АЦП для видеосигнала, но и коммутатор входов, выравниватель и ограничитель уровней белого - чёрного и т.д. Но все эти прелести в данной конструкции не используются. АЦП весьма шустр - частота дискретизации - 30 МГц. В схеме он работает на тактовой частоте 12 МГц - быстрее не нужно, потому что PIC18F2550 просто не сможет быстрее считывать данные. А чем выше частота - тем больше потребление АЦП. Вместо TDA8708A можно использовать любой другой быстродействующий АЦП с параллельным выводом данных, например TDA8703 или что-нибудь от Analog Devices.

Тактовую частоту для АЦП удалось хитрым образом извлечь из PIC"а - там запущен ШИМ с частотой 12 МГц и скважностью 0.25. Тактовый импульс положительной полярности проходит в цикле Q1 PIC"а так что при любом обращении к порту B, которое происходит в цикле Q2 данные АЦП будут уже готовы. Ядро PIC"а работает на частоте 48 МГц, получаемой через PLL от кварца 4 МГц. Команда копирования из регистра в регистр выполняется за 2 такта или 8 циклов. Таким образом, данные АЦП возможно сохранять в память с максимальной частотой 6 МГц при помощи непрерывной последовательности команд MOVFF PORTB, POSTINC0. Для буфера данных используется один банк RAM PIC18F2550 размером 256 байт.

Меньшие частоты дискретизации реализуются добавлением задержки между командами MOVFF. В прошивке реализована простейшая синхронизация по отрицательному или положительному фронту входного сигнала. Цикл сбора данных в буфер запускается командой от PC по USB, после чего можно эти данные по USB прочитать. В результате PC получает 256 8-битных отсчётов которые может, например, отобразить в виде изображения. Входная цепь проста до безобразия. Делитель входного напряжения без всяких изысков сделан на поворотном переключателе. К сожалению не удалось придумать как передавать в PIC положение переключателя, поэтому в графической морде осциллографа есть только значения напряжения в относительных единицах - делениях шкалы. Усилитель входного сигнала (IC2B) работает с усилением в 10 раз, смещение нуля, необходимое для АЦП (он воспринимает сигнал в диапазоне от Vcc - 2.41В до Vcc - 1.41В) обеспечивается напряжением с программируемого генератора опорного напряжения PIC (CVREF IC1, R7,R9) и делителем от отрицательного напряжения питания (R6,R10, R8). Т.к. в корпусе ОУ был "лишний" усилитель (IC2A), я использовал его как повторитель напряжения смещения.

Не забудьте про емкостные цепочки для частотной компенсации входной ёмкости вашего ОУ и ограничивающих диодов, которые отсутствуют на схеме - нужно подобрать ёмкости параллельно резисторам делителя и резистору R1, иначе частотные характеристики входной цепи загубят всю полосу пропускания. С постоянным током всё просто - входное сопротивление ОУ и закрытых диодов на порядки выше сопротивления делителя, так что делитель можно просто посчитать не учитывая входное сопротивление ОУ. Для переменного тока иначе - входная ёмкость ОУ и диодов составляют значительную величину по сравнению с ёмкостью делителя. Из сопротивления делителя и входной ёмкости ОУ и диодов получается пассивный ФНЧ, который искажает входной сигнал.

Чтобы нейтрализовать этот эффект нужно сделать так, чтобы входная ёмкость ОУ и диодов стала значительно меньше ёмкости делителя. Это можно сделать соорудив емкостной делитель параллельно резистивному. Посчитать такой делитель сложно, т.к. неизвестна как входная ёмкость схемы, так и ёмкость монтажа. Проще его подобрать.

Способ подбора такой:
1. Поставить конденсатор ёмкостью примерно 1000 пФ параллельно R18.
2. Выбрать самый чувствительный предел, подать на вход прямоугольные импульсы с частотой 1 кГц и размахом в несколько делений шкалы и подобрать конденсатор параллельно R1 так, чтобы прямоугольники на экране выглядели прямоугольниками, без пиков или завалов на фронтах.
3. Повторить операцию для каждого следующего предела, подбирая конденсаторы параллельно каждому резистору делителя соответственно пределу.
4. Повторить процесс с начала, и убедиться, что на всех пределах всё в порядке (может проявиться ёмкость монтажа конденсаторов), и, если что-то не так, слегка подкорректировать ёмкости.

Сам ОУ - это Analog Devices AD823. Самая дорогая часть осциллографа. :) Но зато полоса 16 МГц - что весьма неплохо.А кроме того, это первое из шустрого, что попалось в розничной продаже за вменяемые деньги.

Конечно же этот сдвоенный ОУ без всяких переделок можно поменять на что-то типа LM2904, но тогда придётся ограничится сигналами звукового диапазона. Больше 20-30 кГц оно не потянет.

Ну и форму прямоугольных, например, сигналов будет слегка искажать. А вот если удастся найти что-то типа OPA2350 (38МГц) - то будет наоборот замечательно.

Источник отрицательного напряжения питания для ОУ сделан на хорошо известной charge-pump ICL7660. Минимум обвязки и никаких индуктивностей. Ток по выходу -5 В конечно у неё невелик, но нам много и не надо. Цепи питания аналоговой части изолированы от помех цифры индуктивностями и ёмкостями (L2, L3, C5, C6). Индуктивности попались номиналом 180 uГн, вот их и поставил. Никаких помех по питанию даже на самом чувствительном пределе. Прошивка PIC заливается по USB с помощью бутлоадера который сидит с 0-го адреса в памяти программ и запускается если при включении удерживать нажатой кнопку S2. Так что прежде чем прошивать PIC - залейте туда сначала бутлоадер - будет проще менять прошивки.
Исходники драйвера осциллографа для ядер 2.6.X находятся в архиве с прошивкой. Там же есть консольная утилитка для проверки работоспособности осциллографа. Её исходники стоит посмотреть, чтобы разобраться как общаться с осциллографом, если хочется написать для него свой софт.
Программа для компьютера проста и аскетична, ее вид показан на рисунках 2 и 3. Подключить осциллограф к USB и запустить qoscilloscope. Требуется QT4.

Во вложении- все файлы к проекту

Вверх