Термопару можно использовать совместно а ардуино. Можно для этого купить какой нибудь специальный готовый модуль http://ali.pub/19zosn. Или использовать самодельный на операционном усилителе (см. http://electe.blogspot.ru/2017/03/blog-post_25.html). Допустим мы выбрали второй вариант.
Рассмотрим схему:
На выходе усилителя термопары, напряжение прямо пропорциональное разности температур которую измеряет термопара. Это напряжение можно измерить используя аналого цифровой преобразователь ардуино. При правильной настройке усилителя термопары, на выходе этого усилителя напряжение будет примерно равно разности температур холодного и горячего спаев термопары делёной на 100. Для того чтобы получить примерно температуру горячего спая термопары надо к этой разности прибавить температуру холодного спая термопары т.е. скорее всего это будет температура окружающего пространства, комнатная 22 градуса или в случае если измерение производиться на улице зимой при температуре 0 градусов то можно ничего не прибавлять. Рассмотрим скетчь:
#define thermocouplePin A3 // номер порта к которому подключен выход усилителя термопары
double Ups = 5; //напряжение питания усилителя и ардуино
double kt = 100; //коэффициент для преобразования напряжения в температуру
double ADCmaxVal = 1023; //максимальное значение выдаваемое АЦП ардуино
double tHome = 0; //комнатная температура
int thermocoupleVal = 0; //полученное с АЦП число
double t = 0; //температура спая термопары
void setup()
{
pinMode(thermocouplePin, INPUT);
Serial.begin(9600); // установка связи по serial
}
void loop()
{
thermocoupleVal = analogRead(thermocouplePin);
t = (thermocoupleVal*Ups/ADCmaxVal)*kt+tHome;
Serial.println(t);
}
Скетчь можно скачать по ссылке https://yadi.sk/d/jKIiM3Ls3GYuAC
Если необходимо заменить номер порта к которому подключается выход усилителя термопары то можно это сделать изменив константу "thermocouplePin" в скетче. Далее идёт переменная в которую записывется напряжение питания усилителя т.к. операционный усилитель не может выдать больше напряжения питания на своём выходе. Следующая переменная - это коэффициент который следует выставить в зависимости от коэффициента усиления усилителя термопары который регулируется переменным резистором этой термопары. Т.о. есть два способа подстройки усилителя: первый - это резистор, второй - это коэффициент в скетче. Максимальное значение выдаваемое АЦП нужно для расчёта реального напряжения которое подаётся на вход АЦП - эту переменную менять не надо. Комнатная температура - это температура холодного спая термопары чтобы прибавкой этой температуры получить реальную температуру горячего спая термопары.
Испытания и др. полезную информацию можно посмотреть на видео:
Ардуино http://ali.pub/1v22bh
Термопара http://ali.pub/18s8uv
Операционный усилитель lm358 http://ali.pub/18s9ew
КАРТА БЛОГА (содержание)
Рассмотрим схему:
Рисунок 1 - Подключение термопары к Ардуино
На выходе усилителя термопары, напряжение прямо пропорциональное разности температур которую измеряет термопара. Это напряжение можно измерить используя аналого цифровой преобразователь ардуино. При правильной настройке усилителя термопары, на выходе этого усилителя напряжение будет примерно равно разности температур холодного и горячего спаев термопары делёной на 100. Для того чтобы получить примерно температуру горячего спая термопары надо к этой разности прибавить температуру холодного спая термопары т.е. скорее всего это будет температура окружающего пространства, комнатная 22 градуса или в случае если измерение производиться на улице зимой при температуре 0 градусов то можно ничего не прибавлять. Рассмотрим скетчь:
#define thermocouplePin A3 // номер порта к которому подключен выход усилителя термопары
double Ups = 5; //напряжение питания усилителя и ардуино
double kt = 100; //коэффициент для преобразования напряжения в температуру
double ADCmaxVal = 1023; //максимальное значение выдаваемое АЦП ардуино
double tHome = 0; //комнатная температура
int thermocoupleVal = 0; //полученное с АЦП число
double t = 0; //температура спая термопары
void setup()
{
pinMode(thermocouplePin, INPUT);
Serial.begin(9600); // установка связи по serial
}
void loop()
{
thermocoupleVal = analogRead(thermocouplePin);
t = (thermocoupleVal*Ups/ADCmaxVal)*kt+tHome;
Serial.println(t);
}
Скетчь можно скачать по ссылке https://yadi.sk/d/jKIiM3Ls3GYuAC
Если необходимо заменить номер порта к которому подключается выход усилителя термопары то можно это сделать изменив константу "thermocouplePin" в скетче. Далее идёт переменная в которую записывется напряжение питания усилителя т.к. операционный усилитель не может выдать больше напряжения питания на своём выходе. Следующая переменная - это коэффициент который следует выставить в зависимости от коэффициента усиления усилителя термопары который регулируется переменным резистором этой термопары. Т.о. есть два способа подстройки усилителя: первый - это резистор, второй - это коэффициент в скетче. Максимальное значение выдаваемое АЦП нужно для расчёта реального напряжения которое подаётся на вход АЦП - эту переменную менять не надо. Комнатная температура - это температура холодного спая термопары чтобы прибавкой этой температуры получить реальную температуру горячего спая термопары.
Испытания и др. полезную информацию можно посмотреть на видео:
Ардуино http://ali.pub/1v22bh
Термопара http://ali.pub/18s8uv
Операционный усилитель lm358 http://ali.pub/18s9ew
КАРТА БЛОГА (содержание)