Usb oscilloscope программа для сканирования

Обновлено: 07.07.2024

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

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

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

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

Многие люди считают, что звуковая карта компьютера может работать только с обычным звуком, немного заходя в ультразвук до 22 кГц. На самом деле это не так. Достаточно изменить две настройки и диапазон расширится до 96000 Гц! В ноутбуках максимальная частота может быть ниже. Скрин первой настройки :

Осциллограмма и частотный спектр светодиодной лампы с импульсным драйвером. Осциллограмма и частотный спектр светодиодной лампы с импульсным драйвером.

"Settings", в поле Frequency sampling (Hz) ввести с клавиатуры не менее 201000, "OK". Это расширит анализатор спектра до 96к. Если ввести или выбрать меньшее значение, то будет отображаться меньшая частота, например, 96000 даст 48000 Гц. Расширение произойдёт после включения программы кнопкой On, если не была включена ранее. Ещё можно рядом с FFT size (samples) выбрать 16384 для лучшего отображения.

Вторая настройка в "Панели управления звуком" Windows, "Запись":

Туда можно зайти не только через Windows, но и через программу, нажав "Input Gain" или "Output Gain", если не сработает Input.
Панель управления звуком > Запись > Микрофон > Свойства > Дополнительно > Выбрать частоту дискретизации 192000 Гц. Максимальное значение для выбора показывает предел возможностей конкретной аудиокарты. Например, 192000 Гц означает, что на осциллографе можно будет работать с частотами до 96000 Гц.

И несколько примеров работы с такими настройками.

Инфракрасный пульт дистанционного управления. Для ввода сигнала в компьютер использовался фотодиод.


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

1. Вид осциллографа – USB приставка к ноутбуку, ибо на большом экране смотреть удобно, можно сохранять для последующего анализа ну и т.д. и т.п.
2. Тип сигнала – Переменный, Постоянный, Положительная полярность. Работа с отрицательными напряжениями не нужна.
3. Кол-во каналов – 4, больше смысла не вижу, но с возможностью расширения до 8.
4. Максимальное входное напряжение — вольт 50, выше смысла нет.
5. Чувствительность — 1 милливольт, больше тоже не надо :-)
6. Частота — до 20Кгц, для миллисекундных сигналов за глаза хватит, а других там нет :-)
7. Удобная программная оболочка.

Начну с самого важного – Оболочки для автомобильного осциллографа. Да да, именно с оболочки. Ибо железо не сложно любое сделать, а вот удобная оболочка это реальный дефицит. Оболочки которые просто тупо показывают сигнал в реальном времени для автомобильного осциллографа крайне не удобны, ибо часто нужно анализировать сигнал продолжительное время и иметь возможность «отмотать» назад. По сему нужна оболочка типа Самописец-Осциллограф. И что б каналов было не менее 4х…

Вот она какая, на мой взгляд, самая лучшая. Это не реклама, это факт :-) ИМХО конечно.


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

Теперь железо, а точнее что использовать в роли АЦП. Железо должно быть доступное, стабильное, не дорогое и легко программироваться. Долго не думал, остановился на микроконтроллере АТмега 328р. Программируются эти микроконтроллеры банально на С++, точнее на упрощенном С++.
Очень удобно то что этот микроконтроллер можно купить уже распаянным на плате с минимально нужной обвязкой., Ардуино сее называется :-) То есть не надо самому плату разводить и паять, удобно. Всем параметрам, из моего ТЗ, АТмега 328р отвечает полностью, по сему использовать буду ее.

Для миниатюризации я вот такую взял. Она имеет 8 аналоговых входов, отвечающих всем требованиям ТЗ, имеет на борту эмулятор СОМ порта на СН340, питание берет напрямую с USB порта. В общем то что нужно. Ардуинку можно любую использовать на 328р


Вот схема этой платы. На ней стоит сам микроконтроллер АТмега 328р, банальный эмулятор СОМ порта на СН340, кварц и стабилизатор питания на ЛМке для запитки от внешнего источника, если надо, вот и все, ну пара лампочек и фильтров не в счет :-) То есть все то что нам нужно и ничего лишнего! Не зря говорят — Совершенство в простоте.


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

Вот скриншот того что должен выдавать микроконтроллер в СОМ порт для нашей программы PowerGraph.


Осциллограф у меня будет работать в 4х режимах — 1канал, 2канала, 3канала и 4 канала.
Переключение между каналами будет осуществляться по кругу нажатием на кнопку.
При включении канала будет загораться светодиод индикации работы канала.
Вот написал программку. Сам я не программист, по сему написал как смог, сильно не критикуйте, расстроюсь :-) Программа полностью рабочая и проверена не однократно в деле. Как заливать программу в плату рассказывать не буду, в инете на каждом углу это с картинками рассказано :-)

Вот сама программа.

int regim=1;
int flag=0;
void setup()
digitalWrite(07, HIGH);
Serial.begin(128000);//скорость СОМ порта должна совпатать со скорость в драйвере
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
>
void loop()
if(digitalRead(07)==HIGH&&flag==0)//если кнопка нажата
// и перемення flag равна 0, то …
regim++;
flag=1;
if(regim>4)//ограничим количество режимов
regim=1;//так как мы используем только одну кнопку,
// то переключать режимы будем циклично
>
>
if(digitalRead(07)==LOW&&flag==1)//если кнопка НЕ нажата
//и переменная flag равна — 1, то …
flag=0;//обнуляем переменную "knopka"
>
if(regim==1)//первый режим
digitalWrite(2, HIGH);//включение светодиода
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
// читаем аналоговый вход pin 0:
int port0 = analogRead(A0);
//Преобразовываем аналоговые показания (которые идут от 0 до 1023) в напряжение (0 — 5 В)
float voltageport0 = port0 * (4.745 / 1023.000);//4.745 опорное напряжение, замеряется при калибровке на плате
// выводим значение напряжения в порт
Serial.println(voltageport0,3);// печатаем значение в порт и жмем энтер
//задержка для стабильности
delay(1);
>
if(regim==2)//второй режим
digitalWrite(2, HIGH);//включение светодиодов
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
int port0 = analogRead(A0);
int port1 = analogRead(A1);
float voltageport0 = port0 * (4.745 / 1023.000);
float voltageport1 = port1 * (4.745 / 1023.000);
Serial.print(voltageport0,3);// печатаем значение в порт
Serial.print(" ");// печатаем таб
Serial.println(voltageport1,3);// печатаем значение в порт и жмем энтер
delay(1);
>
if(regim==3)//Третий режим
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
int port0 = analogRead(A0);
int port1 = analogRead(A1);
int port2 = analogRead(A2);
float voltageport0 = port0 * (4.745 / 1023.000);
float voltageport1 = port1 * (4.745 / 1023.000);
float voltageport2 = port2 * (4.745 / 1023.000);
Serial.print(voltageport0,3);
Serial.print(" ");
Serial.print(voltageport1,3);
Serial.print(" ");
Serial.println(voltageport2,3);
delay(1);
>
if(regim==4)//Четвертый режим
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
int port0 = analogRead(A0);
int port1 = analogRead(A1);
int port2 = analogRead(A2);
int port3 = analogRead(A3);
float voltageport0 = port0 * (4.745 / 1023.000);
float voltageport1 = port1 * (4.745 / 1023.000);
float voltageport2 = port2 * (4.745 / 1023.000);
float voltageport3 = port3 * (4.745 / 1023.000);
Serial.print(voltageport0,3);
Serial.print(" ");
Serial.print(voltageport1,3);
Serial.print(" ");
Serial.print(voltageport2,3);
Serial.print(" ");
Serial.println(voltageport3,3);
delay(1);
>
>

Программа закончена и отлажена.
Приступим к электронной части.

Схему приводил выше. Из нее видно что плата имеет 8 аналоговых входов, 14 цифровых входов/выходов. Вот и будем работать с ними.


Аналоговые № 0,1, 2, 3 будем использовать как входы осциллографа. Сделаем для них защиту и дополнительный вход через делитель 1х10, так как подавать на микроконтроллер максимум можно всего 5.2 вольта. С делителем можно будет работать с напряжениями до 50 вольт, что полностью перекрывает наши потребности.
Цифровые № 2,3,4,5 будем использовать для светодиодов, они будут индицировать включенные аналоговые входы.
Цифровой №7 будет подключен к кнопке которая будет переключать режимы моего осциллографа.
Еще будет кнопка Бут режима. Плата по умолчанию в бут режиме, но для работы это не удобно, ибо управление идет через RESET. При обращении к СОМ порту идет инициализация СОМ порта и чип эмулятор посылает резет на микроконтроллер. То есть при запуске программы плата ребутится и сбрасывает настройки которые выставили кнопкой, это не удобно. Для того что бы этого безобразия не было, я сее отключаю с помощью кнопки. Она подключает вход микроконтроллера «RESET» к электролитическому конденсатору 10Мкф, конденсатор сглаживает посылку на перезагрузку. Эта же цепь используется при заливке прошивки, по сему на момент программирования надо конденсатор отключать. Назвал эту кнопку Бут кнопкой :-)

Ну вот, как подключать понятно, осталось воплотить в железе.

Начнем с защиты и делителя.
Защиту будет обеспечивать стабилитрон на 5.1в. А делитель будет обычный на резисторах.
Так как сигналы у нас будут низкочастотные, это сильно упрощает жизнь. В расчетах делителя не надо учитывать внутреннее сопротивление приемника, не надо согласовывать вход с делителем, не надо учитывать волновое сопротивление кабеля и разъемов.
Надо просто посмотреть в даташите на микроконтроллер на какое сопротивление выхода оптимизирован его АЦП, и сделать делитель с таким выходным сопротивлением. Так мы добьемся максимальной точности в 0.005 вольта. В даташите написано что он оптимизирован под 10Ком выходного сопротивления нагрузки. Внутреннее сопротивление АЦП 100Мом…


Вот такую схему я посчитал. R1 и R2 собственно сам делитель, R2 еще задает сопротивление выхода делителя, я его взял 10Ком, так как ЦАП оптимизирован именно на такое сопротивление. R3 и VD1 это защита от перенапряжения. На вход АЦП нельзя подавать больше 5.2в. VD1 стабилитрон на 5.1в, можно использовать любой. R3 токоограничивающий резистор, ограничивает ток стабилитрона когда он открывается. Вот такой простой делитель с защитой.


Вот так все просто :-)


Ну раз схему разработали то настала пора воплотить это все в «железе».

Берем какой либо корпус, разъемчики, кнопку, переключатель, резисторы диоды, стабилитроны и начинаем из этого всего создавать автомобильный осциллограф.

Вот такой набор деталей у меня.


Для начала подготовим корпус. Просверлим все отверстия.


Далее, навесным монтажом, смонтируем делители прямо на блоке разъемов.
Вот так, просто – надежно — удобно.


Теперь примерим плату, проведем формовку выводов делителя и на них напаяем плату.
Вот так вот. Выходит очень удобно и компактно.


Смонтируем в корпус светодиоды, кнопку, переключатель и конденсатор. Вот так. Длинна проводов достаточная но не избыточная.


Почти все готово, осталось впаять плату в корпус.


Привинтить блок разъемов в корпус. Взять синюю изоленту, без нее ни как! Сделать ограничитель для УСБ провода.


Теперь можно закрыть корпус, залить прошивку и проверить работу. У меня все ОК.


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


Пора приступать к испытанием на авто.
Все отлично и очень удобно. Как и планировал :-)


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


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

Осциллограф. Ремонт. Программы. Тест диагностика авто.

PicoScope 6 Automotive Diagnostics . Измерение импульса управления . Конфигуратор параметров текущей сборки автомобиля, для анализа NVH . Noise Vibration Harmonic - гармоники колебаний шумовой вибрации для выявления неисправных компонентов вращения . Инструмент отображения данных лучем на экране PicoScope, Pico Technology PC osciloscope software - многофункциональный осциллограф для диагностики автомобилей, в сочетании со специализированным программным обеспечением управления oscillograph, обработки / интерпритации данных и вывода результатов в удобном графическом виде - это мощная диагностическая станция на обычном ПК или ноутбуке.

Осциллоскоп PicoScope (LabScope, лабораторный oscilloscope) разработан для легкого и быстрого поиска и анализа неисправностей автомобилей с помощью автоматических тестов. Более 150 тестов позволят изучить автомобиль словно через рентгеновский аппарат . От простых сигналов датчиков до специализированных инженерных тестов.

Мощное, многофункциональное ПО PicoDiagnostics превращает прибор отображения сигнала в графике PicoScope в измерительную диагностическую лабораторию : тест компресии, аккумулятора, систем запуска и зарядки ; балансировка карданного вала ; баланс рабочего хода цилиндров. Диагностика NVH (Noise, Vibration, and Harshness) [шум, вибрация и аккустическое восприятие : резких, жестких, грубых звуков работы автомобиля] : попытка определить источник шума или вибрации, безразборным методом, по закономерностям повторения колебаний, связанных с особенностями и закономерностями работы вращающихся деталей агрегатов автомобиля.

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

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

USB Disco Motor-Master . Мотор-тестер . USB Disco Motor-Master, программа графический визуализатор измерений электричества с использованием компьютера / ноутбука, для диагностики автомобильной электрики, электроники и, косвенным образом, механики автомобилей и грузовиков. Для работы программы требуется USB инструмент отображения данных лучем на экране, набор кабелей, измерительных датчиков и базовые знания - как все это применять.

USB Disco Motor-Master Осциллограф - это программное обеспечение, специально разработанное для диагностики автомобилей, для поиска и анализа неисправностей при быстротекущих процессах во время работы автомобиля. Это оборудование не является идеальным, однако позволяет выявить большинство неисправностей в режиме реального времени (в основном, электрооборудования), которые трудно диагностировать с помощью диагностического тестера, мультиметра или контрольной лампы (контрольки).

В состав программного обеспечения USB Disco Motor-Master oscillograph входят модули : Осциллоскоп, Спектр анализатор, Самописец, Логический анализатор / генератор, Мотор-тестер. Это позволяет использовать программу для анализа стандартных интерфейсов микросхем UART, SPI, I2C, 1-Wire .

Oscilloscope v2.51 WinScope . WinScope, программа / цифровой oscilloscope для Windows . Прибор отображения сигнала в графике для Windows использует звуковую карту в качестве аналого-цифрового конвертера, обеспечивающий полный графический визуальный контроль измерений электричества и анализатор спектра в среде Windows 95. Среди характеристик цифрового запоминающего инструмента отображения данных лучем на экране : двойная трассировка сигнала с анализатором спектра, полоса пропускания до 20 кГц, буфер 50 мс, экспорт данных в буфер обмена или в текстовый файл . Для работы осциллографа требуется компьютер 486 или выше, любая звуковая карта с установленными драйверами, немного места на жестком диске . Никакой специальной процедуры установки и работы - не требуется .

Тормоза, АБС. Ремонт. Программы. Тест диагноз авто. . Brakes, ABS. Repair software. Auto diag soft. ПО, софт и программы для диагностики и ремонта тормозных систем грузовиков. Диагностическая система. Диагностика и устранение неисправностей авто.

Инженерный ремонт. Программы. Тест диагностика авто. . Engineering. Repair software. Auto diagnostic soft. ПО, софт и программы для инженерной диагностики автомобилей. Сетевой и физический уровень. Протокол. Язык ЭБУ. Связь, стандарт. j2534 PassThru.

ГБО, газ. Ремонт. Программы. Тест диагностика авто. . Gas balloon equipment. Repair software. Auto diag. Программы для диагностики газобаллонного оборудования автомобилей, настройка и ремонт ГБО. Autogas systems. Calibration tool. Gas ECU injection. LPG.

Мультимарочный ремонт. Программы. Тест диагноз авто. . Multibrand. Repair software. Auto diagnostic soft. Мультимарочное ПО, софт и программы для мультибрендовой диагностики автомобилей, грузовиков и автобусов. Диагностическая система. Адаптер.

ОБД. Ремонт. Программы. Тест диагностика автомобиля. . OBD. Repair software. Auto diagnostic soft. Диагностика OBD. Адаптер для диагностики легковых. Программные функции OBD-II. Программное обеспечение для авто professional-off. ОБД софт.

Климат контроль. Ремонт. Программы. Тест диагноз авто. . Climate control. Repair software. Auto diag soft. ПО, софт и программы для диагностики и ремонта автономных отопителей, автономок, рефрижераторов грузовиков и прицепов. COM порт. HVAC, климат .

Базы данных. Ремонт. Программы. Тест диагностика авто. . Database. Repair software. Auto diagnostic soft. Мультимарочные и мультибрендовые базы данных. Ремонт автомобилей и грузовиков. Информация о неисправностях систем. OBDII, OBD 2, ОБД, MOBD .

Осциллограф. Ремонт. Программы. Тест диагностика авто. . Oscilloscope. Repair software. Auto diagnostic soft. Сигналы автомобиля. Отображение изображения для диагностики через осиллограф или звуковую карту компьютера. USB работа, измерение. Анализатор.

Обучение. Ремонт. Программы. Тест диагностика авто. . School, education. Repair soft. Auto diagnostics. Компьютерные программы обучения устройству и ремонту автомобилей. Руководство по устройству, основы конструкции авто. Программы и софт.

Авто РФ. Ремонт. Программы. Тест диагностика машин. . Car Russia. Repair software. Auto diagnostic soft. Диагностика систем впрыска, блоков управления российских автомобилей. ЭБУ. Bosch. Адаптер. Газ. Контроллер. Kwp2000. Диагностирование отказов.

Грузовики РФ. Ремонт. Программы. Тест диагноз авто. . Truck Russia. Repair software. Auto diag soft. Дизельные грузовики - диагностика неисправности. Системы управления. Автомобиль, двигатель, модель. Коды ошибок, конфигурация. Софт ЯМЗ ММЗ.

Спец софт. Ремонт. Программы. Тест диагностика авто. . Specialized. Repair software. Auto diagnostic soft. Специальный софт для автомобиля. Автозапчасти. Ключи. Ремонт форсунки инжектора. Размеры авто. Каталоги. Кузов. База данных. Генераторы, стартера.

АКП. Ремонт. Программы. Тест диагностика автомобиля. . AT gearbox. Repair software. Auto diagnostic soft. Диагностика коробок передач. Неисправности работы трансмиссии. Функции. Service tool. Автоматические коробки передач. Блок управления. Грузовики.

Утилиты. Ремонт. Программы. Тест диагностика авто. . Utility, tool. Repair software. Auto diag soft. Адаптер, устройство. Порт связи. USB драйвер, микросхема, протокол. COM порт. Адаптер связи - проверка, скорость, тестирование. FTDI Prog. Утилиты.

Все чаще и чаще используются приборы подключаемые к компьютеру по 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 осциллографа

На рисунке выше показана схема двухканального 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.

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

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

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

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

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

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

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

Программа OscilloPIC

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

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

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

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

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

Сборка

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

Макетная плата

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

Плата осциллографа

Плата осциллографа

Рекомендуется использовать панельки для монтажа IC1 и IC7 на печатной плате для возможности их замены в случае поломки. USB-разъем (CON1) должен быть прочно припаян и зафиксирован на плате.

Печатная плата

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

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

Читайте также: