- Двухканальный USB осциллограф
- Описание схемы
- Последовательная шина
- Программа микроконтроллера
- Установка драйвера
- Пользовательский интерфейс программы
- Тесты и калибровка
- Сборка
- Простой USB-осциллограф
- Самодельная цифровая приставка осциллограф к компьютеру своими руками
- Шаг 1: Используем контроллер Arduino Uno
- Шаг 2: Устанавливаем приложение Arduino IDE и библиотеку TimerOne.h
- Шаг 3: Скачиваем скетч и загружаем его в приложение Arduino
- Шаг 4: Скачиваем программу Oscilloscope
- Шаг 5: Если oscilloscope_4ch.exe не работает…
- Шаг 6: Настраиваем последовательный порт для сопряжения контроллера Arduino с программой Oscilloscope
- Шаг 7: Соединяем выход (
- Шаг 8: Подсказки
- Шаг 9: Определяем частоту вспышки фонарика
- Шаг 10: Определяем частоту вращения вентилятора
- Шаг 11: Анализируем сигнал от пульта дистанционного управления
- Шаг 12: Тестируем компоненты или устройства
- Шаг 13: Определяем параметры резисторов и конденсаторов
- Шаг 14: Хотите больше возможностей?
Двухканальный 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-канальным мультиплексором.
На рисунке выше показана схема двухканального 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мкс.
Сборка
Макет схемы собранный на макетной плате
Размер печатной платы осциллографа можно оценить на фотографии. Поскольку схема довольно проста, сборка не должна вызвать затруднений.
Рекомендуется использовать панельки для монтажа IC1 и IC7 на печатной плате для возможности их замены в случае поломки. USB-разъем (CON1) должен быть прочно припаян и зафиксирован на плате.
Для подачи входного сигнала могут быть использованы BNC разъёмы. Разъёмы для них могут быть установлены на передней панели. Осциллограф может быть улучшен путем замены PIC и АЦП на более быстрые модели, например на AD9238 (20 MS/с). Это быстрый параллельный АЦП можно использовать вместе с DSP PIC.
ПРИМЕЧАНИЕ: Плата оптимизирована для изготовления в домашних условиях(дорожки специально сделаны толстыми). Если вы можете сделать более тонкие дорожки, вы можете уменьшить их толщину.
Скачать прошивку, ПО для ПК, файлы печатных плат в Eagle
Источник
Простой USB-осциллограф
Ниже представлен проект USB-осциллографа, который вы сможете собрать своими руками. Возможности USB-осциллографа минимальны, но для многих радиолюбительских задач вполне сойдет. Также, схема данного USB-осциллографа может использоваться как основа для построения более серьезных схем. В основе схемы стоит микроконтроллер Atmel Tiny45.
Осциллограф имеет два аналоговых входа и питается от USB-интерфейса. Один вход задействован через потенциометр, что позволяет уменьшать уровень входного сигнала.
ПО для микроконтроллера tiny45 написано на Си и скомпилировано при помощи WinAVR и V-USB разработки Obdev, который реализует со стороны микроконтроллера HID-устройства.
В схеме не используется внешний кварц, а программно задействована частота от USB 16.5 МГц. Естественно не стоит ожидать от этой схемы дискретизации 1Gs/s.
Осциллограф работает по USB через HID-режим, не требующий установки каких-либо специальных драйверов. Софт для windows написан с использованием .NET C#. Взяв за основу мой исходник программы, вы можете дополнить ПО как вам нужно.
Принципиальная схема USB-осциллографа очень проста!
Список используемых радиоэлементов:
1 светодиод (любой)
1 резистор для светодиода, от 220 до 470 Ом
2 резистора 68 Ом для USB D+ & D-линий
1 резистор 1.5K для определения USB-устройства
2 стабилитрона 3.6V для выравнивания USB-уровней
2 конденсатора 100нФ и 47мкФ
2 фильтрующих конденсатора на аналоговых входах (от 10нФ до 470нФ), можно и без них
1 или 2 потенциометра на аналоговых входах, для уменьшения уровня входного напряжения (если нужно)
1 USB-разъем
1 микроконтроллер Atmel Tiny45-20.
В архиве содержатся файлы печатной платы под Eagle, прошивка, исходники на Си включающие USB-библиотеки и HID, программа для windows (не требует установки) и ее исходник на C#.
Источник
Самодельная цифровая приставка осциллограф к компьютеру своими руками
Осциллограф к ПК – это устройство, которое позволяет графически наблюдать электрический сигнал. Следуя данной инструкции, вы сможете сконструировать недорогой осциллограф своими руками.
Шаг 1: Используем контроллер Arduino Uno
В интернет-магазинах контроллер Arduino Uno стоит в пределах 20 долларов.
Шаг 2: Устанавливаем приложение Arduino IDE и библиотеку TimerOne.h
Прежде всего, если у вас не установлена среда разработки Arduino, скачайте и установите ее с сайта Arduino.
Установите библиотеку «TimerOne.h» для Arduino IDE, следуя следующим инструкциям:
- В приложении Arduino выберите пункт меню «Sketch» (см. фото).
- Далее «Include Library».
- «Manage Libraries…».
- Выберите «all» в окне «Type» и «all» в окне «Topic». В пустое поле введите «TimerOne» (без кавычек).
- Ниже появится информация о библиотеке.
- Щелкните на этом тексте, и появится кнопка «Install».
- Нажмите кнопку «Install».
- Перезапустите программу.
Шаг 3: Скачиваем скетч и загружаем его в приложение Arduino
- Загрузите и разархивируйте скетч для Arduino: ((oscilloscope_arduino.ino)).
- Подключите контроллер Arduino к компьютеру через USB-порт.
- Запустите приложение Arduino IDE.
- Откройте загруженный скетч «oscilloscope_arduino.ino».
- Выберите порт, к которому подключен контроллер (см. фото).
- Загрузите программу в контроллер Arduino.
Шаг 4: Скачиваем программу Oscilloscope
Загрузите и распакуйте программу. Выберите файл для вашей операционной системы:
Запустите exe-файл (например, Windows 64 => oscilloscope_4ch.exe).
Важно: не удаляйте папку «lib» из директории с программой.
На компьютере должна быть установлена программа «Java» не ниже 8-й версии.
Шаг 5: Если oscilloscope_4ch.exe не работает…
Если, по какой-либо причине программа oscilloscope_4ch.exe не работает, выполните следующее:
- Установите утилиту Processing IDE.
- Загрузите и разархивируйте скетч Processing source oscilloscope program.
- Запустите утилиту «Processing IDE» и откройте в ней скетч «oscilloscope_4ch.pde».
- Запустите программу, нажав на значок с треугольником (см. фото).
Шаг 6: Настраиваем последовательный порт для сопряжения контроллера Arduino с программой Oscilloscope
- Запустите программу «Oscilloscope»; контроллер Arduino подключите к компьютеру через USB-порт. Теперь вам нужно «подружить» их друг с другом через последовательный порт.
- В поле «Configurar Serial» (Настройка последовательного интерфейса) нажимайте на поле «select serial» до тех пор, пока не появится порт, к которому подключен Arduino (если он не появился, нажмите на кнопку «refresh» для обновления).
- Нажимайте кнопку «select speed» пока не появится скорость 115200.
- Нажмите кнопку «off»; надпись на ней изменится на «on».
- Если все правильно сделано, самодельный осциллограф покажет 4 канала [A0 (ch-0), A1 (ch-1), A2 (ch-2) и A3 (ch-3)].
Если подключение настроено неправильно, вы увидите на изображении «шум».
Шаг 7: Соединяем выход (
10) со входом (A0), а выход (
С помощью проводов, подключите цифровой выход 10 контроллера Arduino к его аналоговому входу A0, а выход 9 – к входу A1.
На экране появится сигнал, похожий на тот, который показан на фото. Сигналы на цифровых выходах 9 и 10 задаются блоком «Ger.Sinal» программы: на выходе 9 генерируется ШИМ-сигнал частотой 10 Гц (Т = 100 мс) при Ton = 25 %; на выходе 10 – сигнал, равный удвоенному периоду 2Т (200 мс).
Вы можете самостоятельно настроить значения в блоке «Ger.Sinal», перетаскивая ползунок или щелкая по элементу управления.
Шаг 8: Подсказки
- Поставьте галочку напротив параметра «Trigger» на Ch-0 (красный), чтобы стабилизировать сигнал.
- Чтобы удалить изображения сигналов Ch-2 и Ch-3, нажмите на заголовки «Ch-2» и «Ch-3».
- Чтобы наблюдать фигуры Лиссажу, нажмите на заголовок «XYZ».
- Чтобы определять частоты, поставьте галочку «detectar freq.» (обнаружить частоту).
- Чтобы измерить напряжение и время / частоту, нажмите «medir» (измерение).
- Для изменения значения шкалы регулировки, нажмите между вертикальными линиями или перетащите ползунок, обозначенный двумя треугольничками (см. рисунок).
- Программа имеет гораздо больше настроек. Исследуйте их самостоятельно.
Шаг 9: Определяем частоту вспышки фонарика
Вы можете узнать частоту мигания фонарика, используя фоторезистор (LDR) и обыкновенный резистор (см. рисунок).
Шаг 10: Определяем частоту вращения вентилятора
Чтобы узнать частоту вращения вентилятора, используйте схему из шага 9, только фонарик должен гореть постоянно.
Подставив значение частоты из компьютерного осциллографа в формулу на рисунке, определите частоту вращения вентилятора.
Шаг 11: Анализируем сигнал от пульта дистанционного управления
Вы можете увидеть ИК-сигнал от пульта дистанционного управления с помощью фототранзистора TIL78.
Соберите схему по рисунку и следуйте следующим инструкциям:
- Установите значение «dt» равным 2 мс или 100 мкс.
- Включите «Trigger» канала Ch-0.
- Увеличьте уровень, перетащив ползунок (см. рисунок).
- Нажмите кнопку «UMA»: осцилограф перейдет в режим ожидания.
- Нажмите любую кнопку на пульте дистанционного управления, предварительно направив его на фототранзистор.
- Анализируйте график.
Шаг 12: Тестируем компоненты или устройства
Приставку осциллограф к компьютеру можно использовать для тестирования различных электронных компонентов или устройств.
В этом примере мы протестируем маленький джойстик для проектов Arduino.
- Соберите схему, показанную на рисунке.
- Синхронизируйте программу с контроллером Arduino.
- Нажмите «fluxo» (поток), чтобы Arduino отправлял каждое значение сразу после прочтения.
- Установите значение параметра «dt» равным 100 мс (для медленного чтения).
- Выключите «Ch-3», нажав на заголовок.
- Установите значение параметра «v/div» равным 5 (во время установки нажмите и держите клавишу «Shift», чтобы настроить все каналы одновременно).
- Переместите маленький треугольник слева канала «Ch-0» вверх (нажав клавишу «Shift»).
- Включите канал «XYZ» и перетащите ползунок параметра «v/div» до конца вправо.
- Перемещайте джойстик во все стороны и понажимайте кнопку несколько раз.
- Наблюдайте кривые.
Шаг 13: Определяем параметры резисторов и конденсаторов
Поле «medir res./cap.» предназначено для измерения значений резисторов и конденсаторов, но оно будет работать только при подключении схемы, изображенной на рисунке.
Данная функция может самостоятельно определять, какой из компонентов подключен: резистор или конденсатор и определить правильное значение параметра, используя 3 шкалы (низкие, средние или высокие значения).
Шаг 14: Хотите больше возможностей?
Скачайте полный проект с сайта GitHub.
Посмотрите видео на YouTube.
Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.
Источник