Применение кондуктометрических датчиков. Описание построения основных узлов и блоков. Измерительная цепь уровнемера. Создание программы, обеспечивающей работу данного устройства под управлением микроконтроллера PIC16F876, разработка алгоритма и кода.
Микроконтроллер обладает следующей периферией: Три таймера/счетчика таймер0: 8-ми разрядный таймер/счетчик с 8-ми разрядным предделителем; Микроконтроллер построен по RISC архитектуре, имеет всего 35 простых в изучении команд, максимальная рабочая тактовая частота 20 МГЦ, при этом время одного машинного такта составляет 200 нс, имеет 256 байт Flash памяти данных, 368 байт ОЗУ и 8 кбайт Flash памяти программ, до 14 источников прерывания, 9-ти уровневый аппаратный стек, сторожевой таймер позволяющий перезагружать микроконтроллер при зависании программы. Уровнемеры это устройства предназначенные для контроля или измерения уровня сред в различныхемкостях или резервуарах, которые можно разделить на уровнемеры твердых (сыпучих) сред и уровнемеры жидких сред(диэлектрики и проводники). Уровень в данном случае определяется по величине емкости датчика. Из последних выражений выводим формулу для текущего значения уровня: Из полученного соотношения можно предположить следующий алгоритм измерения уровня: Погрузить оба датчика в жидкость иизмерить Gкд и GрдВ ходе выполнения задания была разработана схема уровнемера и создана программа обеспечивающая работу данного устройства под управлением микроконтроллера PIC16F876.Размещено на .
План
Содержание
Введение
Краткая теория
Описание построения основных узлов и блоков
Описание функционирования разработанной схемы
Разработка алгоритма
Написание кода программа
Заключение
Приложение уровнемер микроконтроллер программа
Введение
Развитие микропроцессорной техники привело к построению на основе микроконтроллеров различных устройств промышленной и бытовой техники.
Широкая номенклатура изделий обеспечивает использование микроконтроллеров в изделиях, предназначенных для разнообразных сфер применения. Вот краткий перечень изделий, построенных на базе данных микроконтроллеров:микро-АТС; автоответчики; АОНЫ; мобильные телефоны; зарядные устройства; факсы; модемы; пейджеры; таймеры; системы сигнализации; измерительные приборы; счетчики воды; газа и электроэнергии; дозиметры; приборы автосигнализации; системы управления зажиганием и впрыском топлива; приборные панели и радарные детекторы; интеллектуальные датчики; системы управления электродвигателями; промышленные роботы; регуляторы температуры, влажности, давления и т. д.; схемы управления принтерами и плоттерами; сетевые контроллеры; сканеры; схемы управления аудиосистемами; системы синтеза речевых сообщений; видеоигры; системы дистанционного управления; кассовые аппараты и т. д.
Микроконтроллеры семейств PIC (Peripheral Interface Controller) объединяют все передовые технологии микроконтроллеров: электрически программируемые ППЗУ, минимальное энергопотребление, высокую производительность, хорошо развитую RISC-архитектуру, функциональную законченность и минимальные размеры.
Микроконтроллеры семейств PIC12 и PIC16/17 имеют оптимальные для построения данных систем архитектуру и параметры.
Целью данной работы является создание уровнемера для электропроводящих сред.
Структура микроконтроллера
При разработке работы будем использовать микроконтроллер PIC16F876 из семейства микроконтроллеров фирмы Microchip. Рассмотрим его структуру и возможности.
Рис. 1. Микроконтроллер PIC16F876
Микроконтроллер обладает следующей периферией: Три таймера/счетчика таймер0: 8-ми разрядный таймер/счетчик с 8-ми разрядным предделителем;
таймер1: 16-ти разрядный таймер/счетчик с предделителем и возможностью прибавления в спящем режиме от внешнего источника;
таймер2: 8-ми разрядный счетчик с 8-ми разрядным предделителем и постделителем;
два модуля захвата, сравнения, 10-ти разрядный ШИМ;
Микроконтроллер построен по RISC архитектуре, имеет всего 35 простых в изучении команд, максимальная рабочая тактовая частота 20 МГЦ, при этом время одного машинного такта составляет 200 нс, имеет 256 байт Flash памяти данных, 368 байт ОЗУ и 8 кбайт Flash памяти программ, до 14 источников прерывания, 9-ти уровневый аппаратный стек, сторожевой таймер позволяющий перезагружать микроконтроллер при зависании программы.
Краткая теория
Уровнемеры это устройства предназначенные для контроля или измерения уровня сред в различныхемкостях или резервуарах, которые можно разделить на уровнемеры твердых (сыпучих) сред и уровнемеры жидких сред(диэлектрики и проводники). Диэлектрики- вещества такие, как бензины, масла, растворители, различные химические соединения и нефтепродукты. Так как эти вещества плохо или совсем не проводят электрического тока, то для измерения их уровня чаще всего используют датчики конденсаторного типа, состоящие из двух или нескольких электродов, погруженных в контролируемую среду. Уровень в данном случае определяется по величине емкости датчика. К электропроводным средам относятся кислоты, щелочи, солевые растворы и почти все, что содержит воду (разнообразные пищевые продукты, соки, пиво, молоко и т.д.) Для них можно использовать как емкостные датчики (преварительно покрыв один или оба электрода слоем диэлектрического непроводящего материала), так и резисторные (кондуктометрические).
Рассмотрим применение кондуктометррических датчиков. Они представляют собой 2 или несколько электродов, погруженных в электропроводящую среду с уровнем h (рис.2).
Рис 2
Уровень жидкости в блоке определяют по величине сопротивления датчика. Уровень обычно измеряют в относительных единицах- это или степень заполнения бака от 0 до 1, или процентное заполнение от 0 до 100%.И рассчитывают по формуле: , где H- общая высота датчика или резервуара. Электропроводность кондуктометрического датчика равна сумме электропроводностей отдельных частей датчика: , где Gж - электропроводность единицы длины жидкости, находящейся между двумя проводниками.
Как указывалось выше, часто используют не 2, а несколько электродов датчика. Зачем это нужно? Дело в том, что электропроводность различных жидкостей сильно зависит от изменения температуры. При этом температурная погрешность достигает 2 - 3% на один градус изменения температуры. А как же измерятьуровень с высокой точностью? Для этого используют компенсационный датчик небольших размеров и располагают его на днерезервуара так чтобы онпостояннонаходился в контролируемой среде. Степень заполнения определяют по отношению электропроводностей рабочего и компенсационного датчиков. При этом компенсируется погрешность изменения параметров жидкостей от изменения температуры, давления и т.д. Электропроводность компенсационного и рабочего датчиков вычисляют по формулам: , , где К1 и К2- некоторые константы, определяемые геометрическими размерами датчиков. Из последних выражений выводим формулу для текущего значения уровня:
Из полученного соотношения можно предположить следующий алгоритм измерения уровня: Погрузить оба датчика в жидкость иизмерить Gкд и Gрд
Определить отношение: .
Текущее значение уровня определить по формуле: , Таким образом, предварительно нужно вычислить К3, запомнить ее значение, а текущее значение уровня определять простым умножением. Для реализации алгоритма предполагается использовать микропроцессор.
Описание построения основных узлов и блоков
Самый дешевый датчик это полоска фольгированного стеклотекстолита с конфигурацией дорожек, соответствующих рис2. Однако здесь нужно учитывать то, что при пропускании через датчики переменного тока происходит незначительное растворение электропроводов. Радикальный путь устранения этого недостатка - использование серебрянного, позолоченного или платиновогопокрытия электропроводов, что конечно удорожает конструкцию. Можно использовать и графитовое покрытие, но для его напылениянеобходимо соответствующее технологическое оборудование. Однако, как показали проведенные эксперименты, существенно уменьшить процесс разрушения можно путем повышения частоты переменного тока до 15..20КГЦ.
На более высоких частотах сказывается комплексный характер сопротивления среды (активные и реактивные составляющие). Для уменьшения влияния неровностей стенок резервуара и механической защиты датчик предполагается помещать в плостмассовую трубу соответствующего диаметра. Расстояние между электродами датчика около 10мм.
Рис 3.
На рис 3. представлена измерительная цепь уровнемера. Электропроводность датчика измеряется генераторным методом. Двухтактный генератор построен на таймере DA1. Частота колебаний определяется величинами Gкд, Gрд,С4 и С5. В первом такте работы генератора измеряется проводимость Gкд компенсационного датчика, во втором-проводимость Gрд рабочего датчика. Переключение осуществляется внешним сигналом, приходящим с микропроцессорного блока контакт ‘d’ разъема XS1. При нулевом сигнале подключается рабочий датчик, а при единичном - компенсационный. Подключение датчиков осущесвляется ключами VT1.1, VT2.1, выполненых на полевых транзисторах с малым сопротивлением перехода (Rotkp=0,1Ом). Ключи VT1.1 и VT2.1 образуют цепи зарядов конденсаторов С4 и С5, а ключи VT1.2 и VT2.2 соответственно цепи их разряда. Следует заметить, что всегда подключон только один датчик- рабочий или компенсационный. Этот режим обеспечивается логическими микросхемами DD1 и DD2. Поскольку заряд и разряд конденсаторов С4 и С5 происходит через проводимости Gкд и Gрд компенсационного и рабочего датчиков, то ток, проходящий через эти датчики, будет переменным. Его частота, как и выходная частота генератора (вывод ‘с’РАЗЪЕМАXS1), определяется величинами проводимостей датчиков и номиналами емкостей С4 и С5. Так как компенсационный датчик небольшой, то проводимости рабочего и компенсационного датчиков отличаются друг от друга.
Для того, чтобы датчики могли работать примерно на одних и тех же частотах (15...20КГЦ), в схему введен дополнительный ключ на транзисторе VT3.1, который обеспечиваетподключение емкостей различных величин в зависимости от того, какой датчик используется. Резисторы R1 и R2 служат для ограничения тока через транзисторы изза недостаточной крутизны фронтов.
Питается измерительная цепь от стабилизированного источника питания (рис4.). Ток потребления не превышает 150МА. Микросхема DA1 стабилизатора устанавливается на теплопроводе площадью 8...10 .
рис4.
Микропроцессорный блок (рис 5.) состоит из узлов формирователя входного сигнала, выполненного на транзисторе VT1 (диоды VD1, VD2 ограничительные); микропроцессора DD4, выполняющего функции вычисления значения измеряемого уровня и управление динамической индикацией ( HG1- HG6), стабилизатора напряжения 5В (DA2).
рис 4.
Детали. Кварц ZQ1 может быть любой на частоту3..4 МГЦ. Конденсаторы С4 и С5 в блоке измерительной цепи пленочные типа К73-9, К73-17 или аналогичные импортные. Остальные резисторы и конденсаторы- обычные. Для подключения датчиков к измерительной цепи можно использовать пяти- или трехштырьковый разъем от магнитофона.
Датчик может быть любой длины. При увеличении длины более 1м нужно пропорционально увеличивать расстояние между электродами. Подбором конденсаторов С4 и С5 устанавливается рабочая частота датчиков (15..КГЦ).
Разработка алгоритма
Написание кода программа
#include "pic.h"
#include "stdlib.h"
#include "math.h"
#define PORTBIT(adr, bit) ((unsigned)(&adr)*8 (bit)) static bit SA @ PORTBIT(PORTB, 0);
int Factor;
int Level;
int G_Compens_gauge;
int G_work_gauge;
interrupt void inter(void)
{ if (TMR0IF) switch (SA)
{ case 0: {
G_work_gauge=TMR1;
break;
} case 1: {
G_Compens_gauge=TMR1;
break;
}
}
TMR0IF=0;
} void init(void)
{
TRISA=0x01;//настройка портов
TRISB=0XFE;//настройка портов
TRISC=0x0F;//настройка портов
//T1CON
TMR1CS=1;//работа таймера от внешнего источника тактового сигнала
В ходе выполнения задания была разработана схема уровнемера и создана программа обеспечивающая работу данного устройства под управлением микроконтроллера PIC16F876.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы