Двухканальный USB осциллограф на PIC » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Двухканальный USB осциллограф на PIC
    Автор публикации: alex Просмотров: 15806 Добавлен: 6-09-2012, 08:29 Комментарии: 0

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

         На рисунке выше показана схема двухканального 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. Нажмите для закачки.
    Программа 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.
          ПРИМЕЧАНИЕ: Плата оптимизирована для изготовления в домашних условиях(дорожки специально сделаны толстыми).  Если вы можете сделать более тонкие дорожки, вы можете уменьшить их толщину.
    Оригинал статьи на английском языке


    В архиве Драйвер, Программа для компьютера и прошивка для микроконтроллера

    dvuhkanoscill.rar [4,49 Mb] (cкачиваний: 1051)

    Комментарии