Универсальный измерительный прибор на микроконтроллере » Программирование устройств на PIC микроконтроллерах


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

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

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

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


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


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Измерительная техника » Универсальный измерительный прибор на микроконтроллере
    Универсальный измерительный прибор на микроконтроллере
    Автор публикации: alex Просмотров: 17144 Добавлен: 20-09-2012, 09:19 Комментарии: 0

         Разрабатывая это устройство, автор поставил задачу создать универсальный малогабаритный измерительный прибор на современной элементной базе с невысоким энергопотреблением и автономным питанием.
         Описываемый ниже прибор, действительно, можно назвать универсальным, поскольку он измеряет постоянное напряжение, частоту электрических колебаний, емкость конденсаторов, индуктивность катушек, проверяет исправность кварцевых резонаторов и вырабатывает импульсный сигнал с уровнями ТТЛ, частоту которого можно изменять в широких пределах. Основа прибора — экономичный микроконтроллер PIC16F873A. В его состав входят аналого-цифровой преобразователь (АЦП) и делитель частоты с верхней рабочей частотой около 50 МГц.
    Технические характеристики
    Диапазон измеряемых частот, МГц в режимах:
    "F1"..................0.01...50
    "F2"....................40...500
    "F3" ..................200...2000
    Чувствительность в режиме измерения частоты, мВ ...........30...50
    Период измерения частоты, с, в режимах:
    "F1"...............................0,2, 1, 10
    "F2","F3"...................0,2
    Интервал измерения емкости конденсаторов в режимах:
    "С"........от 0,2 пФ до 0,1 мкФ
    "С1".......от 0,1 мкФ до 10 мФ
    Интервал измерения индуктивности ...............от 0,1 мкГн до 5 Гн
    Интервал    измерения постоянного напряжения, В.......................0,02...15
    Напряжение питания, В..............7...15
    Проверка кварцевых резонаторов с частотами, МГц ............1...20
    Диапазон выходной частоты сигнала в режиме генератора, Гц.........244... 1000000
    Потребляемый ток, мА, в режимах:
    "F1", "F2", "F3" ...............14...21
    "L/C", "С", "С1"...................6... 11
    Погрешность измерения в режимах (без учета нестабильности частоты кварцевого генератора и в нормальных климатических условиях):
    "F1" при периоде измерения 0,2 с, 1 с и 10 с соответственно .......5, 1 и 0,1 Гц
    "F2"....................120 Гц
    "F3"....................480 Гц
    "С", "С1" ..................2%
    "L"....................2... 10%
    "U".....................0,05 В
         Следует отметить, что погрешность возрастает при измерении конденсаторов емкостью менее 1 пФ.
    Универсальный измерительный прибор на микроконтроллере

         Схема прибора показана на рис. 1. Переменный резистор R33 и кнопки SB1—SB4 выполняют функции органов управления. При перемещении движка резистора R33 из нижнего по схеме положения в верхнее режимы работы меняются в следующей последовательности: "Калибровка", "L/C", "F1", "F2" и "U". Другие режимы выбирают нажатием на кнопки SB1, SB3, SB4. В зависимости от установленных режимов открываются ключи на транзисторных сборках VT2, VT5, подавая напряжение питания на тот или иной узел.
         В качестве индикатора использован символьный ЖКИ модуль WH1602D-PGE-CT с двумя строками по 16 символов. В первой строке отображается режим работы, а во второй — значение измеряемого параметра. Для измерения частоты до 500 МГц сигнал подают на гнездо XW1. При этом на частотах более 50 МГц использованы делители, входящие в состав сдвоенного синтезатора частоты LMX1600TM (DD1). Его работой управляет микроконтроллер DD3. Микросхема DD2 выполняет функции мультиплексора.
         Сигнал, поступающий на гнездо XW1, усиливается каскадом на транзисторе VT1. В режиме "F1" (рис. 2) сигнал дополнительно усиливается каскадом на транзисторе VT4 и через логические элементы DD2.2, DD2.4 и резистор R32 поступает на вход делителя частоты микроконтроллера DD3. Нажатием на кнопки SB3, SB4 переключают время измерения (рис. 3 и рис. 4). В режиме "F2" сигнал с выхода усилительного каскада на транзисторе VT1 поступает на вход делителя частоты синтезатора DD1, а после деления на 24 сигнал с выхода (вывод 1 DD1) через логические элементы DD2.3, DD2.4 и резистор R32 также поступает на вход делителя частоты микроконтроллера DD3.
         В режиме "F3" измеряемый сигнал подают на высокочастотное гнездо XW2, через разделительный конденсатор С4, защитные диоды VD3, VD4 и конденсатор С14 сигнал поступает на вход второго делителя частоты синтезатора DD1. После деления на 96 выходной сигнал проходит через элементы DD2.3, DD2.4 и резистор R32 на вход делителя частоты микроконтроллера DD3. В режиме "F2" при однократном нажатии на кнопку SB3 прибор перейдет в режим "F3" (рис. 5). При еще одном нажатии на кнопку SB3 прибор перейдет в режим проверки кварцевых резонаторов "ZQX" (рис. 6), их подключают к разъему XS2.

         Для измерения емкости конденсаторов до 0,1 мкФ (рис. 7) и индуктивности катушек (рис. 8) использован генератор на компараторе DA1 (LM311D). Измеряемый элемент подключают к гнезду XS1. Нормированными частотозадающими элементами генератора являются катушка индуктивности L1, конденсатор С6, а также коммутируемый реле эталонный конденсатор С1. В зависимости от режима работы катушка индуктивности L1 подключается к гнезду XS1 последовательно или параллельно. Сигнал с выхода генератора поступает на вход микроконтроллера, где измеряется его частота и вычисляется значение измеряемого параметра.
         Генератор собран по схеме, описанной в [1]. Но в данном приборе возможна корректировка значений параметров нормированных частотозадающих элементов. В режиме "Калибровка" определяется паразитная емкость кнопки SB1, гнезда XS1 и сохраняется в энергонезависимой памяти микроконтроллера DD3 для использования в дальнейших расчетах. При включении, переключении режимов и показаниях индикатора до 0,20 пФ микроконтроллер DD3 пересчитывает значения параметров элементов контура и вычисляет новое номинальное значение частоты генератора. В результате на индикаторе будут показания в пределах 0...0,09 пФ, избавляя пользователя от постоянных калибровок.
         В программе для расчета значений элементов контура, состоящего из катушки индуктивности L1 и конденсатора С6, заложена математическая модель, предполагающая, что ТКЕ конденсатора и ТКИ катушки постоянны, кроме того, ТКИ катушки — положительный. Если при включении прибора показания индикатора отличны от нуля, это означает, что частота генератора изменилась и не равна "нулевой", значение которой было записано в EEPROM микроконтроллера при предыдущей калибровке. Используя указанную модель, корректируется значение элементов L1, С6 и вычисляется новое значение "нулевой" частоты. При расчетах используется коэффициент Х6, учитывающий, какой вклад в изменение частоты генератора (в %) внесло изменение емкости конденсатора С6.
         Измерение емкости конденсаторов от 0,1 мкФ до 10 мФ осуществляется с помощью узла на транзисторе VT3, который работает в данном случае в ключевом режиме. Сначала через резистор R22 с выхода микроконтроллера поступает низкий уровень, транзистор VT3 открывается и происходит зарядка проверяемого конденсатора, который подключают к контактам 8 и 9 гнезда XS1. Затем с выхода микроконтроллера поступает высокий уровень, транзистор VT3 закрывается и проверяемый конденсатор разряжается через резистор R13. Продолжительность разрядки измеряет микроконтроллер, а поскольку она однозначно зависит от емкости этого конденсатора, то микроконтроллер вычисляет емкость на основе известных соотношений.

         В режиме "L/C" при нажатии на кнопку SB3 прибор переходит в режим "С1" и во второй строке индицируется символ I (римская 1). В этом режиме измеряют емкость конденсаторов от 0,1 мкФ до 1 мФ. При повторном нажатии на кнопку SB3 во второй строке высветится символ II (римская цифра 2) и возможно измерение емкости конденсаторов от 0,1 мкФ до 10 мФ. Различие режимов в том, что в первом режиме показания индикатора обновляются чаще.
         Измеряемое постоянное напряжение от 0 до 15 В подают на гнездо XW1. При этом, если сначала войти в режим "U" (рис. 9), а потом вращением движка резистора R33 — в режим "F1" или "F2", на индикаторе в верхнем правом углу отображается значение напряжения, кроме того, прибор может измерять одновременно и частоту входного сигнала (рис. 10).
         Для включения режима "Генератор" необходимо в режиме "U" нажать на кнопку SB3. При этом транзистор VT3 работает в переключательном режиме и на выходе прибора "Fвых" (контакты 8 и 10 гнезда XS1) формируется сигнал с уровнем ТТЛ и частотой Fвых = Fкв/(4*m*n), где Fкв — частота кварцевого генератора микроконтроллера, п может принимать значения 1,4, 16, a m — от 1 до 256. Значение п меняется циклически при нажатом переключателе "L/C", a m устанавливают нажатием на кнопки SB3, SB4. Значения num отображаются в верхнем правом углу индикатора, а во второй строке — частота выходного сигнала (рис. 11). Выход из режима "Генератор" осуществляют сменой режима. При этом последнее значение частоты сохраняется в памяти микроконтроллера DD3.
         Питается устройство от батареи аккумуляторов GB1. Напряжение питания всех узлов стабилизировано интегральным стабилизатором напряжения DA2. Можно также применить внешний стабилизированный блок питания напряжением 7...15 В, который подключают к гнезду XS3. В этом случае включится встроенная подсветка индикатора HG1. При питании от батареи на индикаторе отображается изображение гальванического элемента. Когда батарея разрядится, изображение элемента мигает. Для зарядки аккумуляторной батареи, не вынимая ее из устройства, используют блок питания с напряжением 12...15 В, а кнопочный выключатель SB2 устанавливают в положение "Вкл.". Когда батарея зарядится, на индикаторе изображение гальванического элемента сменяется символом "Z".
         Большинство деталей, кроме индикатора HG1 и диодов VD7, VD8, смонтированы на печатной плате из двусторонне фольгированного стеклотекстолита. В переходные отверстия монтируют отрезки тонкого луженого провода. На плате предусмотрено место для установки дополнительного разъема (на схеме не показан) для подключения внешнего модуля, который находится в стадии разработки.

         В устройстве использованы в основном элементы для поверхностного монтажа: резисторы РН1-12 типоразмера 0805; конденсаторы К10-17в типоразмеров 0805, 0603; оксидные конденсаторы — танталовые для поверхностного монтажа. Микросхема LMX1600TM заменима на LMX1601TM, но предельная измеряемая частота в режиме “F3” уменьшится до 1,1...1,2 ГГц. Микроконтроллер PIC16F873A можно заменить на PIC16F873, PIC16F876A, микросхему LM311D — на любую из серии LM311 в корпусе SO-8, транзисторную сборку IRF7314 — на IRF7316. Индикатор можно применить любой знаковый 16x2, поддерживающий протокол HD44780. Следует обратить внимание, что при его замене необходимо уточнить назначение выводов 1 и 2 — выпускаемые даже одной фирмой индикаторы иногда имеют разную нумерацию выводов питания.
         Реле К1 — SIL05-1A72-71D фирмы Meder electronic со встроенным защитным диодом (параллельно выводам катушки). Можно применить другое малогабаритное с напряжением срабатывания 4...5 В и сопротивлением замкнутых контактов не более 0,5 Ом. Переменный резистор R33 — СП4-1. Гнезда XS1, XS2 — часть панели для установки микросхем в корпусе DIP, причем гнездо XS2 установлено на боковой стенке корпуса. XW1, XW2 — СР-50-73ФВ, кнопочный переключатель SB1 — PSW-4 с фиксацией, кнопки SB3, SB4 — SWT-20. Катушка индуктивности L1 — дроссель CECL-100/260 101 к (100 мкГн), можно также применить Д, ДМ, ДПМ, L2 — для поверхностного монтажа LQH32M (ЮмкГн) типоразмера 1210. Емкость конденсатора С6 может быть в пределах 510...680 пФ, группа ТКЕ П33, МП0, а емкость конденсатора С1 — 1000...2000 пФ группы ТКЕ обязательно МП0. Транзистор BFR93A можно заменить на любой маломощный высокочастотный с верхней граничной частотой не менее 900 МГц в корпусе SOT-23. Транзистор VT3 должен быть с коэффициентом h21Э не менее 150. Кварцевый резонатор — HC49U с повышенной термостабильностью, от этого зависит погрешность измерения прибора. Вилку XS1 монтируют на плате над дросселем L1. Контакты 4, 6, 9 и 10 этой вилки устанавливают в отверстия платы, предварительно соединив проволочной перемычкой контакты 1 —4 и 5—8.
         Программирование микроконтроллера проводят через разъем ХР1 с помощью программы IC-Prog и адаптера AN589 [2], перемычку S1 предварительно удаляют. Конфигурация загружается автоматически из НЕХ-файла. При использовании других программаторов нужно установить биты WDT, PWRT и выбрать тип генератора — XT.
         Монтаж элементов начинают с микроконтроллера, "окружающих" его деталей и индикатора. После программирования подборкой резистора R39 устанавливают контрастность изображения индикатора. Затем монтируют детали генератора. В режиме "L/C" при нажатии на кнопку SB1 на выходе 7 микросхемы LM311D должен быть сигнал прямоугольной формы с частотой 750...850 кГц. В режиме "F1" при отсутствии входного сигнала подбором резистора R15 устанавливают низкий уровень на выходе элемента DD2.4. В режимах "F2" и "F3" при отсутствии входного сигнала происходит самовозбуждение делителей частоты микросхемы DD1 — это их особенность. При этом частотомер может показывать частоту несколько десятков или сотен мегагерц. Ток зарядки аккумуляторной батареи устанавливают подбором резистора R34, напряжение включения индикации об окончании ее зарядки — подбором резистора R31. Внешний вид смонтированной платы показан на рис. 12 (прибор работает в режиме "F2"), а собранного прибора — на рис. 13.
         После сборки необходимо записать в память микроконтроллера числовые константы. Для этого при нажатой кнопке SB3 включают питание и затем кнопку отпускают — прибор входит в режим изменения констант. Вращением движка резистора R33 выбирают нужную константу, а нажимая на кнопку SB3 или SB4, меняют значение. Сохранение установленного значения происходит автоматически при смене константы. После изменения значения последней константы выбирают любую другую и выключают прибор.
         Константу Х0 первоначально устанавливают численно равной емкости конденсатора С1 (в пикофарадах), а затем это значение корректируют. Вращая движок резистора R33, устанавливают режим "L/C", а кнопкой SB1 — режим "С". Вращением движка резистора R33 устанавливают режим "Калибровка". После его окончания на индикаторе будут показания "0.00 pF". Затем подключают конденсатор с заранее измеренной с высокой точностью емкостью. Емкость конденсатора делят на показания прибора и умножают на константу Х0. Полученный результат будет новым значением константы Х0, которое необходимо внести в память микроконтроллера.

         Для определения паразитной емкости кнопки SB1, гнезда XS1 и монтажа с последующей записью данных в память микроконтроллера выполняют следующие операции. После установки режима "L/C" нажатием на кнопку SB 1 входят в режим измерения индуктивности и в контакты 4 и 5 гнезда XS1 устанавливают короткую проволочную перемычку. Устанавливают режим "Калибровка", после ее завершения на индикаторе будут показания "0.000 mkH". Перемычку удаляют и переходят в режим измерения емкости нажатием на кнопку SB1. На индикаторе несколько секунд индицируется значение паразитной емкости и показания обнуляются. При нажатии на кнопку SB4 измеренное значение заносится в память микроконтроллера, а на индикаторе появится сообщение "ОК".
         Начальное значение константы Х1 = 1.000, при необходимости с ее помощью корректируют показания в режиме измерения индуктивности.
         Константы Х2 = 96 (режим "F3") и Х3 = 24 (режим "F2") задают коэффициент деления делителей частоты микросхемы LMX1600TM. Для микросхемы LMX1601TM устанавливают Х2 = 48, ХЗ = 24.
         Х4 = 0, 2,4, 6 для нерусифицированного индикатора.
         Х4 = 1, 3, 5, 7 для русифицированного индикатора.
         Х4 = 0, 1, 4, 5 для первоначального входа в режим "F1" со временем измерения 0,2 с.
         Х4 = 2, 3, 6, 7 для первоначального входа в режим "F1" со временем измерения 1 с.
         Х4 = 0,1,2, 3, если ТКЕ конденсатора С6 положительный.
         Х4 = 4, 5, 6, 7, если ТКЕ конденсатора С6 отрицательный.
         Например, устанавливают Х4 = 5 для русифицированного индикатора, первоначальном входе в режим "F1" с временем измерения 0,2 с и отрицательном ТКЕ конденсатора С6.
         Значение константы Х5 равно частоте кварцевого генератора в Гц, ее можно изменять с шагом 4 Гц в пределах 3868934 — 4131068. Для ее точной установки на вход "0...500 МГц" подают сигнал с образцового генератора сигналов с частотой 20...40 МГц. Включают режим "F1" и, подстраивая конденсатор С29, а также изменяя константу Х5, добиваются совпадения показаний прибора и индикатора частоты образцового генератора.
         Значение константы Х6 (в %) учитывает вклад нестабильности емкости конденсатора С6 в температурный уход частоты генератора. Остальное приходится на индуктивность. Не устанавливать значения Х6 = 0, Х6 = 100, а также Х6 = 50 при отрицательном ТКЕ конденсатора С6.
         С помощью константы Х7 корректируют показания прибора при измерении емкости конденсаторов в режиме "С1", а константы Х8 — при измерении постоянного напряжения. В режиме "С1" конденсатор с точно известной емкостью около 1 мкФ подключают к гнезду XS1, затем емкость делят на показания прибора и умножают на константу Х7. Полученный результат будет новым значением константы Х7. В режиме "U" подают напряжение 10... 12 В на разъем XW1, параллельно подключают образцовый вольтметр. Показания вольтметра делят на показания прибора и умножают на константу Х8. Полученное значение будет новым значением константы Х8.
    Материал взят из: Журнала Радио 2007 №8

    В архиве Развода печатной платы и прошивка для микроконтроллера PIC16F873A

    universismpribor.rar [222,64 Kb] (cкачиваний: 1045)

    Комментарии