Главная » 2012 » Октябрь » 28 » Подключаем термопару к микроконтроллеру
04:14
 

Подключаем термопару к микроконтроллеру

Термопары широко применяются там где необходимо точно померить высокие температуры, температуры вплоть до 2500°C. То есть там, где цифровые датчики бы сразу сдохли от перегрева, применяются термопары. Разновидностей термопар существует достаточно много, но самое большое распространение получили хромель-алюмелевые (тип К) термопары, из-за своей дешевизны и практически линейному изменению термоэдс. Этот вид термопар ставятся в водонагреватели и другие бытовые приборы с контролем температуры, их повсеместно используют для контроля температуры при плавке металла, с помощью этих термопар контролируется нагрев жала в паяльной станции. Поэтому будет весьма полезно познакомиться с ними поближе.

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


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


Таким образом значение термоэдс достаточно умножить на нужный коэффициент и получить температуру, не заморачиваясь с табличными значениями и аппроксимацией - один коэффициент на весь диапазон измерений. Очень просто и понятно.
Но встает вопрос о подключении термопары к микроконтроллеру. Понятно что если на выходе термопары напряжение, тогда задействуем АЦП, но разность потенциалов на выходе термопары слишком мала, чтобы уловить хоть что-то. Поэтому прежде его нужно увеличить, например, применив операционный усилитель.

Берём стандартную схему неинвертирующего включения операционного усилителя:


Отношение входного и выходного напряжений описывается простой формулой:

Vout/Vin = 1 + (R2/R1)

От значений резисторов обратной связи R1 и R2 зависит коэффициент усиления сигнала. Величину усиления сигнала нужно подбирать с учетом того, что будет использоваться в качестве опорного напряжения.

Допустим опорным будет напряжение питания микроконтроллера 5V. Теперь необходимо определится с диапазоном температур, которые собираемся измерять. Я взял пределом измерения 1000 °C. При этом значении температуры на выходе термопары будет потенциал примерно 41,3мВ. Это значение должно соответствовать напряжению в 5 вольт на входе АЦП. Поэтому операционник должен иметь коэффициент усиления не менее 120. В итоге родилась такая схема:


В загашнике у меня нашлась давно собранная плата с этим операционником, собирал как предусилитель для микрофона, ее я и применил:

Собрал на бредборде такую схему подключения двухстрочного дисплея к микроконтроллеру:

Термопара тоже валялась без дела долгое время - она шла в комплекте с моим мультиметром. Спай закрыт в металлическую гильзу.


Код Bascom-AVR для работы с термопарой:

$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°C.

После выставления первой контрольной точки, хорошо было бы повторить вышеописанное при другой известной температуре, но дальше экспериментировать не стал. В пламени зажигалки измерил ~700 °C (что похоже на правду), а вот при комнатной температуре девайс выдавал под 50°C, наверно дело в мусоре младших разрядов АЦП. Но думаю собрать, например, терморегулятор для паяльника вполне сгодится.

Просмотров: 2217 | Добавил: hightsent | Рейтинг: 0.0/0
Всего комментариев: 0