Бесконтактный тахометр на PIC16F685

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Нередко в радиолюбительской практике требуется определить частоту вращения валов различных устройств. Примерами тому служат контроль вращения вентиляторов (в частности, компьютерных), автомобильные приложения, измерение параметров моторов в робототехнике и пр. В большинстве случаев неудобно иметь механическое соединение с измеряемым аппаратом для подключения датчика вращения. Соответственно, бесконтактные измерители имеют несомненное преимущество.

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

Предлагаемый вниманию тахометр предназначен для измерения частоты вращения в пределах от 50 до 9999 оборотов в минуту. Показания высвечиваются на 4-значном 7-сегментном светодиодном индикаторе. Для связи с вращающимся объектом используется инфракрасный луч, излучаемый соответствующим светодиодом. Регистрация отраженного луча производится инфракрасным фототранзистором.

Для измерений необходимо прерывать луч синхронно с вращением объекта. Для этого на вращающийся объект следует наклеить бумажный датчик, поделенный на черную и белую области. Например, вращающийся вал можно обернуть полоской самоклеющейся белой бумаги, используемой для печати адреса на конвертах или посылках. Половину длины полоски следует закрасить в черный цвет. Если сам вал недоступен, на торец вала можно наклеить картонный кружок, половина которого закрашена в черный цвет. Чередование черных и белых областей при вращении приведет к прерыванию отраженного луча с частотой вращения. Чувствительность прибора достаточна для проведения измерений при удалении фотодатчика от вращающегося объекта до 5 см.

Принцип работы

Тахометр состоит из трех функциональных блоков: инфракрасного излучателя и приемника; усилителя-формирователя принимаемых импульсов и цифрового обработчика сигналов, выполненного на микроконтроллере и имеющего выход на 7-сегментный индикатор. В качестве излучателя/приемника могут быть использованы практически любые инфракрасные светодиоды и фототранзисторы. Нами применены детали в круглых корпусах типа Т1 (диаметр 5 мм) Для исключения влияния излучателя на приемник, оба они заключены в отрезки черной полихлорвиниловой трубки длиной около 2 см. Так как инфракрасный фототранзистор также чувствителен и к видимому свету, трубка на нем в значительной мере препятствует попаданию в него прямых лучей от посторонних источников. В любом случае следует избегать измерений при ярком солнечном или ламповом свете на пути следования луча, так как это может помешать нормальной работе прибора.

Для повышения чувствительности фотодатчика сопротивление в коллекторной цепи транзистора VT1 выбрано достаточно большим, что потребовало применение усилителя с высоким входным сопротивлением. Усилитель выполнен на левом (на схеме) операционном усилителе (ОУ) DA1A, коэффициент усиления которого определяется отношением сопротивлений резисторов R4/R3. Конденсатор С2 в цепи обратной связи DA1A предотвращает самовозбуждение усилителя.

Оба входа DA1A подключены к резистивному делителю R6R7, обеспечивающему половину напряжения питания в общей точке. Выход усилителя DA1A подключен к компаратору DA1B, существенно улучшающему форму выходных сигналов и приближающему их к практически прямоугольной.

Резистор R8 увеличивает гистерезис компаратора, что способствует уменьшению влияния помех на выходе датчика. Работоспособность усилителя-формирователя во многом зависит от параметров ОУ. Он должен обеспечивать полный размах сигнала на выходе при питании напряжением ±2,5 В. Примененный нами ОУ типа TLV2372, выпускаемый фирмой Техаs Instruments, идеально соответствует поставленной цели.

Сигнал с выхода усилителя-формирователя поступает на аналоговый вход микроконтроллера DD1. Следует отметить, что
микроконтроллер также имеет встроенный компаратор, но нам не удалось добиться его устойчивой работы без самовозбуждения вблизи точки переключения. Вход DD1 сконфигурирован для использования совместно со встроенным в него модулем ССР1. Этот модуль используется для измерения периода входного импульса в единицах эталонной частоты. В качестве последней использована тактовая частота микроконтроллера 2,5 МГц.

Очевидно, частота вращения F связана с периодом вращения Т посредством формулы:

Fоб/мин=(10^6/Тмкс)х60

Если за время измерения периода вращения будет зарегистрировано N периодов эталонной частоты 2,5 МГц, то Tмкс=N/2,5. Таким образом, мы приходим к окончательной формуле:

Fоб/мин=(2,5x10^6/N)x60=15x10^7/N

Это значение вычисляется микроконтроллером и высвечивается на индикаторе, состоящем из четырех 7-сегментных модулей для индикации одной цифры. Нами применены широко распространенные индикаторы SC36-11 фирмы Kingbright, имеющие общие катоды. Соответствующие аноды индикаторов соединены параллельно и подключены к микроконтроллеру через токоограничительные резисторы R10-R16, которые определяют яркость свечения сегментов. Следует отметить, что максимальный по паспорту ток через сегмент, который может обеспечить микроконтроллер, составляет 25 мА, что при падении напряжения на сегменте порядка 2,5 В, определяет минимальную величину резисторов в 100 Ом.

Мультиплексное управление индикаторами обеспечивается микроконтроллером через ключевые полевые транзисторы VT2-VT5. Использование полевых ключевых транзисторов имеет несомненное преимущество перед биполярными - отпадает надобность в базовых резисторах и обеспечивается пренебрежимо малое падение напряжения на ключах. К тому же маломощные полевые транзисторы сейчас не дороже соответствующих биполярных.

Каждый сегмент индикатора высвечивается в течение 4 мс при мультиплексировании, что соответствует частоте обновления всего дисплея порядка 65 Гц, чем полностью исключается его мерцание.

При указанных на схеме сопротивлениях резисторов R10-R16, тахометр потребляет ток порядка 80 мА. Это позволяет питать всю схему через стандартный маломощный регулятор напряжения типа 78L05 с фиксированным выходным напряжением 5 В. На вход устройства можно подавать напряжение порядка 7,5...9 В, например, от любого имеющегося в распоряжении практически каждого пользователя стандартного малогабаритного блока питания, выполненного в сетевом штепселе.

Программное обеспечение

Программа микроконтроллера написана на языке Ассемблер и предназначена для компиляции в среде MPLAB, бесплатно предоставляемой фирмой Microchip на ее веб-сайте. Программа достаточно полно прокомментирована для возможной ее модификации, поэтому здесь мы ограничимся лишь ее общим и кратким описанием.

После необходимой конфигурации регистров микроконтроллера программа переходит в основной цикл. Цикл начинается с высвечивания текущего значения частоты вращения, цифра за цифрой, начиная с левого разряда. Незначащие нули слева от первого действительного разряда (при частоте вращения менее 1000 об/ мин) не высвечиваются. Частота обновления показаний дисплея определяется переменной SPEED и при указанном в программе значении составляет около 160 мс. Этим предотвращается быстрое мелькание цифр на дисплее, затрудняющее чтение показаний. В течение этого времени тахометр высвечивает прежнее значение частоты вращения независимо от наличия новых данных измерений.

По истечении контрольного времени индикации старых показаний программа переходит в одно из трех состояний. В первом состоянии производится запрос на новое измерение периода вращения. При этом активизируется ССР1 модуль микроконтроллера и разрешаются прерывания от таймера TMR1, считающего периоды эталонной частоты FOSC/4 Поступление первого импульса от датчика скорости вращения ожидается в течение 0,8 с. В случае не поступления импульса производится повторный запрос, и показания дисплея обнуляются.

После поступления первого импульса от датчика вращения, программа переходит во второе состояние, которое длится до получения второго импульса от датчика В этом состоянии обрабатывается соответствующее прерывание от модуля ССР1 и начинается подсчет числа импульсов эталонной частоты таймером TMR1. Каждое переполнение таймера вызывает аппаратное прерывание, производящее подсчет числа переполнений. Как только это число превзойдет 255 (что соответствует остановке вала или слишком медленному его вращению), на дисплее высвечиваются символы «_ _ _ _», сигнализирующие об ошибке. В этом случае программа переходит в состояние 1, и показания дисплея обнуляются.

Получение второго импульса от датчика переводит устройство в третье состояние. В этом состоянии происходит вычисление частоты вращения по формуле, проведенной выше. Если полученное значение оказывается меньше 50, высвечивается код ошибки «_ _ _ _». Если же полученное значение больше 10000, кратковременно высвечивается «- - - -». В любом случае, программа переходит в режим 1 с последующим обнулением дисплея

Новое измерение частоты вращения усредняется с последними тремя измерениями перед индикацией (скользящее среднее). Как показывает практика, частота вращения редко остается постоянной и всегда изменяется в небольших пределах. Усреднение способствует уменьшению диапазона отклонений последовательных измерений и облегчению.

Архив для статьи "Бесконтактный тахометр на PIC16F685" HOT
Файл прошивки микроконтроллера
File Size 1.11 KB Download 282 Download

Метки: Семисегментный индикатор, Тахометр, PIC16F685, Бесконтактный

Печать E-mail

Авторизация