Бесконтактный тахометр на микроконтроллере PIC » Программирование устройств на PIC микроконтроллерах


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

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

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

Какой средой программирования вы пользуетесь?


MPLab/MPLabX
MicroC
MicroBasic
MicroPascal
Другой


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

         Тахометр – это устройство позволяющее измерять частоту вращения (скорость вращения) механизма (вал, ротор, диск двигателя). Единица измерения частоты вращения, обычно, – количество оборотов в минуту. Традиционный метод измерения частоты вращения основан на реализации обратной связи по скорости: используeтся генератор постоянного тока, который подключен к вращающемуся механизму таким образом, чтобы напряжение, индуцированное на клеммах генератора, было пропорционально скорости вращения вала.
    Бесконтактный тахометр на PIC

         В этой статье мы рассмотрим конструкцию тахометра на базе PIC микроконтроллера, не имеющего физического контакта с вращающейся частью механизма для измерения его скорости вращения. Эта техника основана на оптическом методе определения скорости вращения, который требует применения инфракрасного светодиода совместно с фотодиодом.
    Надписи на рисунке
    Motor and gear shaft assembly
    from an old printer
    Двигатель и передаточная шестерня
    от старого принтера
    Piece of a white paper as a reflector Кусочек белой бумаги в качестве отражателя

         Основой прибора в нашем случае служит компактная отладочная плата StartUSB for PIC производства компании mikroElektronika.
         Тахометр позволяет измерять скорость вращения до 99960 оборотов в минуту с разрешением 60 оборотов в минуту. Результат отображается на двухстрочном ЖК индикаторе.
         Отладочная плата StartUSB for PIC выполнена на базе микроконтроллера PIC18F2550 компании Microchip с поддержкой интерфейса USB 2.0. Кроме того, плата имеет контактные площадки с сигналами линий ввода/вывода микроконтроллера, а также область для макетирования и подключения дополнительных устройств. На базе данной платы могут быть разработаны USB устройства сбора данных, коммуникационные устройства и USB mp3 плееры.
    Отладочная плата StartUSB компании mikroElektronika

         Отличительной особенностью платы StartUSB for PIC является то, что установленный на плату микроконтроллер имеет предустановленный USB загрузчик, что исключает необходимость в использовании дополнительного программатора. Кроме того, компания предоставляет бесплатную программу USB загрузчика для персонального компьютера, с помощью которой пользователь сможет без труда запрограммировать микроконтроллер. USB загрузчик для микроконтроллера (firmware) также предоставляется.
         При оптическом методе определения скорости вращения инфракрасный светодиод передает ИК импульсы, а фотодиод улавливает отраженный сигнал. Если поверхность вращающейся детали будет темной и грубой, то отраженный сигнал будет незначительным, поэтому мы используем кусочек белой бумаги, наклеенной на вращающуюся деталь. Если же вся поверхность детали является яркой и отражающей, то нужно использовать кусочек темной бумаги, чтобы часть ИК излучения поглощалась за время полного оборота. В любом случае, мы получим импульс на выходе схемы преобразования и согласования сигналов для каждого полного оборота вращающейся детали.
    Принципиальная схема ИК датчика и схема согласования сигнала с фотодиода
    Схема ИК сенсора для тахометра на PIC микроконтроллере

         По схеме видно, что если на выводе IR Tx появится высокий уровень, то откроется транзистор BC547 (npn), управляющий ИК светодиодом. Отраженный сигнал поступает на фотодиод в схеме преобразования и согласования сигнала, нормализованные импульсы для подсчета микроконтроллером берутся с коллектора транзитора BC557 (pnp). При нормальных условиях, сопротивление фотодиода велико и транзистор всегда закрыт. Выход схемы (коллектор транзистора) подтянут к «земле». Если на фотодиод падает отраженный ИК сигнал, его сопротивление снижается и транзистор открывается, следовательно на выходе появляется высокий уровень.
         Как было замечено в первой части, основой конструкции является отладочная плата StartUSB с установленным микроконтроллером PIC18F2550. Отличительной особенностью платы StartUSB for PIC является то, что установленный на плату микроконтроллер имеет предустановленный USB загрузчик, что исключает необходимость в использовании дополнительного программатора. Кроме того, компания mikroElektronika предоставляет бесплатную программу USB загрузчика для персонального компьютера, с помощью которой пользователь сможет без труда запрограммировать микроконтроллер. USB загрузчик для микроконтроллера (firmware) также предоставляется.
         Для внутрисхемного программирования и отладки ПО микроконтроллера, например при самостоятельной сборке платы, пользователи могут использовать программатор PICFlash2 после установки соответствующего коннектора на отладочную плату (посадочные места имеются).
    Принципиальная схема отладочной платы StartUSB


    Подключение датчика и двухстрочного ЖК индикатора необходимо провести в соответствии со схемой, представленной ниже.

    Схема: бесконтактный тахометр на PIC

         Индикатор в нашем устройстве работает по 4-битной шине данных. Выводы данных D4-D7 (11-14) подключаются к контактам отладочной платы RB4-RB7 (это и есть линии порта ввода/вывода микроконтроллера) соответственно. Сигналы управления индикатора RS (4 вывод) и E (6 вывод) подключены к RC6 и RC7.
         Управление ИК светодиодом датчика осуществляется по линии RA3, выход схемы согласования подключается к RA4 (вход T0CKI таймера микроконтроллера).
         Микроконтроллер работает на частоте 48 МГц используя внутренний PLL.
         Модуль Таймера 0 (Timer0) микроконтроллера можно сконфигурировать в 8- или 16-битный режим. Управление таймером осуществляется при помощи регистра T0CON, функции каждого бита регистра показаны на рисунке ниже.


         Для нашего случая Timer0 нужно сконфигурировать как 16-битный счетчик, чтобы подсчитывать количество импульсов, поступающих на вход RA4/T0CKI. Счетчик будет активирован на 1 секунду и количество импульсов, поступивших за этот интервал, сохраняется. Далее это значение умножается на 60, чтобы получить количество оборотов в минуту. Без прерывания Timer0 в 16-битном режиме веет счет до 65535, что соответствует 3932100 оборотов в минуту. В нашем проекте предел измерений ограничен значением 99960.
         Таким образом, для нашей задачи мы должны произвести следующие изменения в регистре T0CON:
    • сбросить (установить 0) бит T08BIT (16-битный режим) и бит T0SE (инкремент при переходе от высокого уровня в низкий на входе T0CKI);
    • установить бит T0CS (режим счетчика) и бит PSA (без предделителя).

         Для написания программы микроконтроллера использовался компилятор mikroC. Программа несложная, в ней реализуется настройка портов ввода/вывода и встроенного таймера. Интерфейс ЖК индикатора реализуется с помощью встроенной в компилятор библиотеки функций.
    Конструкция бесконтактного тахометра на микроконтроллере PIC






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

    В архиве Проект MicroC, исходный код на C и прошивка

    beskonttahometrnamk.rar [41,35 Kb] (cкачиваний: 776)

    Категория: Авто, PIC18
    « Назад
    Комментарии