В данной статье речь пойдет о подключении термопары к микроконтроллеру Atmega8. Термопара представляет собой два проводника из разных металлов спаянных в одной точке. В этой точке при разных температурах возникает термоэдс. Метталлы берутся такими чтобы зависимость термоэдс от температуры была наиболее линейна. Это снижает погрешность измерений и облегчает расчет температуры.
Термопары испольщуются там где нам нужно измерить высокую температуру до 2000 градусов. При таких температурах цифровые датчики сразу бы вышли из строя. Есть много разных видов теромопар, но наибольшей популярностью пользуются термопары типа K (хромель-алюминий), это связано с их практически линейным графиком изменения теромоэдс. Такие термопары устанавливаются в различные виды водонагревателей, паяльных станций, их используют в установках по плавке металла.
График зависимости термоэдс от температуры для термопар типа K практически линейный на всем диапазоне температуры.
Измеренно значение термоэдс нужно преобразовать в температуру. Преобразование осуществляется при помощи коэффициента который постояннен для всего диапазано измерения температуры.
Для измерения термоэдс будем использовать АЦП (аналого-цифровой преобразователь). Для того чтобы подлючить термопару к микрокнтроллеру используется ОУ (операционный усилитель) который включается по неинвертирующей схеме. Дело в том что значение эдс очень мало и его необходимо усилить при помощи ОУ.\
Для того чтобы найти отношение входного и выходного напряжения нужно воспользоваться формулой:
Vout/Vin=1+(R2/R1)
От номинала сопротилений R1 и R2 которые выполняют функцию обратной связи, зависит отношение входного и выходного напряжения. Уселение сигнала должно выбирать исходя из выбранного ИОН - источника опорного напряжения. Например если в качестве ИОН выбрано напряжения в 5 В, а максимальный предел измеряемой температуры 1000 градусов, при такой температуре термоэдм состовит 41.3 мВ. Это напряжение необходимо будет преобразовать в 5 В на входе в АЦП. Т.е нам нужно чтобы при такой температуре на входе в АЦП было напряжение в 5 В. Коэффициент усиления получился равным 120.
В результате получилась такой модуль:
А так выглядит теомапара которая шла в комплекте с мультиметром
Код программы
$regfile = "m8def.dat" $crystal = 8000000 Dim W As Integer 'подключение двухстрочного дисплея Config Lcdpin=Pin,Rs=Portb.0,E=Portd.7,Db4=Portd.6,Db5=Portd.5,Db6=Portb.7,Db7=Portb.6 Config Lcd = 16 * 2 Cursor Off Cls 'считывание значения с АЦП по прерыванию от таймера Config Timer1 = Timer , Prescale = 64 On Timer1 Acp 'конфигурация АЦП Config Adc = Single , Prescaler = Auto , Reference = Avcc Enable Interrupts Enable Timer1 Do Cls Rem Температура: Lcd "Teјѕepaїypa:" Lowerline Lcd W Waitms 200 Loop 'работа с АЦП Acp: Start Adc 'запуск АЦП W = Getadc(1) W = W / 1.28 'подгоняем замеры под действ. температуру Return End
Число 1.28 бы подогнато опытным путем. В качестве эталонной температуры была температура кипения воды 100 градусов. Зная температуру и подгоняя коэффициент добиваемся аналогичных показаний на дисплее.
После того как выставил показания, измерил температуру в пламени зажигалки, прибор показал значение в 700 градусов. При комнатной температуре 25 градусов прибор почему то показывал 50.
Комментарии