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

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

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

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

Характеристики PIC18F2550:
1. 32 Кб флэш-памяти, 2 Кб оперативной памяти и 256 байт EEPROM
2. Расширенный набор команд (оптимизированный для «С»)
3. 8×8 однотактный умножитель
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-канальным мультиплексором.

На рисунке выше показана схема 2-хканального USB осциллографа. MCP6S91 является аналоговым усилителем с программируемым коэффициентом усиления. Он хорошо подходит для использования в АЦП и подачи сигнала на аналоговый вход микроконтроллера. Два программируемых усилителя (IC4 и IC5) позволяют выбрать входной диапазон для каждого из 2-х каналов, изменяя его от 1:1 до 32:1. Усилители небольшие, дешевые и простые в использовании. Простой 3-хпроводной последовательный интерфейс 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: Получает параметры, и настраивает необходимую компенсацию для 2-х каналов.
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 процента. Для 2-х каналов минимальная выборка составляет 10мкс.

Сборка

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

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

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

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

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

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

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

IC1
МикросхемаICL76601
IC2, IC3
Операционный усилительLF3531
IC4, IC5
МикросхемаMCP6S911
IC6
МК PIC 8-битPIC18F25501
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
C2
Электролитический конденсатор47 мкФ 16В1
C3, C4
Конденсатор2.7 пФ2
C5-C8
Конденсатор68 нФ4
C9
Конденсатор0.022 мкФ1
C10
Конденсатор150 нФ1
Xtal
Кварцевый резонатор4 МГц1
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

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

Ваш адрес email не будет опубликован.