Заказать прошивку

 





 

 

Предлагаемый частотомер собран на микроконтроллере PIC16F873 и семиэлементных светодиодных индикаторах  с общим катодом. Его расширяющая способность  состовляет

0.1  Гц  что может быть полезным при проведении точных измерений..

 

Частотомер на микроконтроллере


 

Основные технические характеристики:

Диапазон измеряемых частот ………….……0.1Гц….40 МГц

Время измерения частот ……………….…….…….1с или 10с

Чувствительность………………………………..…………0.1в

Напряжение питания……………………………….…... 4.5-5в

Потребляемый ток в режиме ожидания ……………….. 10ма

в режиме измерения…………………30ма 

 

    Схема частотомера показанная на рисунке выше, На входе устройства установлен компаратор DA1, который включен по типовой схеме с инвертирующим входом. Порог срабатывания компаратора можно изменять подборкой резистора R4  - чем больше его сопротивление, тем выше порог. Робота компаратора управляется сигналом на входе LATCH (вывод 5) DA1, который поступает с линии порта RA3 (вывод 5 DD1), и разрешена при низком логическом уровне на этом входе.

     Порт в микроконтроллере DD1 задействован для подачи напряжения на элементы a-h индикаторов HG1. HG2.

Входной сигнал преобразуется компаратором  DA1 в прямоугольные импульсы с уровнями ТЛЛ, которые поступают на вход микроконтроллера для их дальнейшего счета. Восьмиразрядные регистры предделителя, таймера TMRO и двух счетчиков прерывания по переполнению TMR0 подсчитывают эти импульсы. Измерительный интервал задает таймер TMR1.

     Информация в регистрах таймера TMR0 и счетчиков доступна для чтения, а вот содержимое высокочастотного (до 90 МГц) регистрапредделителя не доступно. Поэтому для извлечения  информации, хранящейся в нем, применен ставший ставший уже классическим способом досчета импульсов  до переполнения предделителя. После остановки счета значения TMR0 сохраняется в цыфровом компараторе. Число поданных на вход  предделителя импульсов подсчитывается, и после каждого импульса сравниваются с текущее и сохраненное значения TMR0. При изменении текущего значения TMR0 подача импульсов на предделителе прекращается. Накопленное в младшем регистре число преобразованное  в дополнительный код, и будет тем числом, которое было в предделителе Двоичный код на выходах четырех восьмиразрядных регистров преобразуется в двоично-десятичный, а  затем в код для управления семиэлементными индикаторами.

 После подачи питающего напряжения осуществляется инициализация регистров микроконтроллера. Частота переключения разрядов при динамической индикации должна быть такой чтобы не было видно мерцания индикатора. Как известно эта частота должна быть не ниже 25 Гц. Выбранная длительность индикации одного разряда на восьмиразрядном индикаторе  составления F=1/T=1?(0.003*8) =41.7Гц, где F-частота обновления индикатора, Т- период. При такой частоте мерцание индикатора не заметно.

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

 В программе использованы два прерывания: одно по результату сравнения значений шестнадцатиразрядных регистров специального события (CCPR1H и CCPR1L) и регистров  таймера TMR1 (TMR1H и TMR1L), другое – по переполнению таймера TMR0. Регистры CCP1 b TMR1 используются для формирования временного интервала измерения частоты. Делитель на 10 для получения интервала 10с реализованы на отдельных регистрах которые заполняются прерывании.

   После сохранения значений контекстных регистров проверяются флаги прерывания. Если прерывание произошло по переполнению таймера TMR0, то инкрементируется счетчик и программа выходит из прерывания. При прерывании по результату сравнения модуля CCP1 заполняется регистр делителя на 10 и проверяется флаг временю Если установлено время измерения 10с заполняются регистр делителя на 10. После окончания времени измерения выполняются  досчет и определение  содержимого  предделителя Полученные данные перекодируются в девять разрядов двоичного-десятичного кода. Для экономии энергии батарей портативного прибора  все не значущие нули гасятся. При выполнении  операций во время   прерываний работа таймеров TMR0 и TMR1 не останавливается, поэтому цикл измерения повторяется непрерывно!

 

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере

 

Частотомер на микроконтроллере


Вы не можете скачивать файлы с нашего серверапрошивку,печатку, исходник

Источник: Радио 2010 №3

Фото собранного устройства и печатная плата от Александра Палей


 
Дата: 15-02-2012, 22:56, Просмотров: 20013, Автор: Nikolai4
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти под своим именем.

   
al19 # 1
15 февраля 2012 23:44  
 
Собирал "Цифровой частотомер на микроконтроллере PIC16F84" работает, проверено, задавал образцовым прибором (МС-5 - до 50 кгц) повереным гос поверкой, показания - точность до 2 знака после запятой. На логике собирал кварцевае генераторы ( менял кварцы пока логика держала частоту (155,176,561, больше не пробовал меня удовлетаорил результат ), делитель не делал .Я доволен , и дешиво и сердито

АЛС отстой, порще динозавра откопать!!! 873 пик давно снят с производства, тоже не найдеш, в серии 873А с кампапратором на борту.

ad8611 цена компаратора на космодроме в харькове 30-37 гр., на другом магазине 6 баксов, больше не искал, девайс отстой полнейший
  •    •     


   
ASUS # 2
16 февраля 2012 00:31  
 
al19,
прошивка и 87A подходит
--------------------
против лома нет приема, разве что законы ома, лом ужасен и велик, он хороший проводник)))
  •    •     


   
RUS64 # 3
17 февраля 2012 17:05  
 
что то часто повторяется на схеме - к выв.1 DA1 )))
  •    •     


   
Nikolai4 # 4
20 февраля 2012 09:07  
 
RUS64, ошибка в схеме, схема исправлена
  •    •     


   
Bobi61 # 5
1 апреля 2014 19:49  
 
Подскажите, чем заменить AD8611?
Спасибо.
  •    •     


   
LAZERTRON # 6
2 сентября 2014 18:57  
 
С ЗАКАЧЕННЫХ ДИСТРИБУТИВОВ ОТСУТСТВУЮТ ДАННЫЕ О "ФЬЮЗАХ" ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРА !

БОЛЬШАЯ ПРОСЬБА !!! УКАЖИТЕ ПОЖАЛУЙСТА СОСТОЯНИЕ "ФЬЮЗОВ" ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРА .

СПАСИБО.
  •    •     

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 

Обновления

Конкурсные работы:

Сообщения Форума Ответов
бaкoмeтр 1799
Сколько мужчина может потратит ... 4
Настенные часы - термометр 258
PICKIT2 и AVR 5
RGB подсветка приборной панели 4
Бакометр 2 200
Индикаторы температуры и давле ... 22
Универсальный бортовой компьют ... 298
Простой автоматический выключа ... 18
Помогите пожалуйста с CAN инте ... 2