Термопара К типа и AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Термопара К типа и AVR

Сообщение grinay »

Вообще делаю терморегулятор для ИК станции (тоже самодельной).
Схема с термисторами отпала по простой причине что их просто тяжело было достать.
Решено было делать на термопаре.
Схема типа LM358 + термопара отпала сразу так как точности тут нету не какой, а для чипсетов и прочей дребедни даже градус имеет не малую роль.
В общем схема такая.
Термопара заходит на дифференциальный вход MCP3421 - это 18 битная дельта сигма ацп. Далее по I2C передается на контроллер, на компенсацию холодного спая идет датчик DS18B20. Была идея поставить max6675 уже готовая ацп с компенсацией спая как раз для К типа, но я их просто не смог найти)
Далее в контроллере это необходимо все перевести в температуру.
Есть так называемый аппроксимирующий полином - берется из
GOST8_585-2001.pdf
ГОСТ Р 8.585—2001
(483.12 КБ) 1250 скачиваний


Интересует полином от 0С до 1372С на странице 65 данного госта.
В общем помогите преобразовать данный полином в код на си. Программирую в CodeVisionAvr( в принцепи можно в чем угодно код- разберусь)

Или же может у кого есть более удачная реализации линеаризации аппаратным методом - важна точность.
Последний раз редактировалось grinay Сб дек 03, 2011 17:23:20, всего редактировалось 1 раз.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Не въехал, нужен негр-наборщик? Полиномы-то простые, умножай да складывай. Или..?
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

Так в том то и дело что не простые...Для к типа как раз самый сложный полином и есть. И если брать алгоритм найденный на просторах инета

http://webcache.googleusercontent.com/s ... clnk&gl=ru


*output =
poly1->C[0] + input * (poly1->C[1] + input * (poly1->C[2] + input *
(poly1->C[3] + input * (poly1->C[4] + input * (poly1->C[5] + input *
(poly1->C[6] + input * (poly1->C[7] + input * (poly1->C[8] + input *
(poly1->C[9])))))))))
+
(double) ( (long double) poly1->alpha[0] *
powl( (long double) 2.718281828,
(long double) (poly1->alpha[1]*
(input - 126.9686)*(input - 126.9686))));

Все это будет считаться очень долго к тому же типа long double от контроллера не добиться - поэтому и прошу помощи разложить полином так, чтобы максимально просто его можно было посчитать с помощью контроллера..

P.S. контроллер тактируется от кварца 12 МГц
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Стоп, стоп. Это раскладывается(для от 0 до 500) как
Изображение
Берем float'ы и пишем.
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

Куда то вы не туда смотрите...Это точно не для К типа.
Вот какой полином интересуетИзображение
Вложения
Untitled-1.jpg
(3.96 КБ) 3814 скачиваний
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

pyzh_man писал(а):Стоп, стоп. Это раскладывается(для от 0 до 500) как
Изображение
Берем float'ы и пишем.

т.е это уже второе выражение расчета.
Последний раз редактировалось grinay Сб дек 03, 2011 17:28:27, всего редактировалось 1 раз.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Изображение
А на следующей как раз для температур от 0 до 500 и от 500 до 1372.
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

Так стоп. 71 страница - это по версии Adobe Reader если брать страницу госта то 65.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

на странице 71 данного госта
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

pyzh_man писал(а):
на странице 71 данного госта

Извиняюсь - не доглядел.Исправил.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Извинения приняты. :) (Походу меня троллят. Кто будет оплачивать мой трафик?)
Ну да вся разница в том, что к сумме прибавите еще одно значение. (Там же нет скобок, просто +).
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

Я так понимаю сначала надо сделать это -
Изображение
Потом вот это
Изображение
Помогите%) Это как то упростить чтоли...
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

просто есть еще такой документик.
http://www.picad.com.ua/0105/pdf/50-54.pdf

он дает такой полином.
Изображение

Но как это выразить на си что-то не могу сообразить..
Вложения
Untitled-2.jpg
(10.39 КБ) 3671 скачивание
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Это не документ, а, как вы верно заметили, документик, журнальная статья, которая может содержать опечатки. Так что ориентируемся на ГОСТ. И конкретно на полиномы стр.72 ГОСТа (а не ридера). Вам же нужна температура из напряжения, а не наоборот.
Итого насколько понял: измерили АЦПом, получили 18-ти разрядное число, привязанное к Aref. Это число преобразуем в напряжение. Далее тупо подставляем коэффициенты и считаем - полинома два по разделу температур.
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

Т.е. ты хочешь сказать что Изображение этого полинома достаточно для вывода правильной температуры?:)
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Не хочу, а уже сказал. В личку отписал.
Docendo discimus
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

Просьба коммерсантов вроде pyzh_man не писать. Прощу просто помочь хотя бы уж разобраться как все же правильно получить температуру. Имеется напряжение термопары. Имеется температура холодного спая.

А вот как это сложить в единое целое и получить результатирующую температуру не догоняю)
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Термопара К типа и AVR

Сообщение pyzhman »

Дабы расставить точки над i привожу текст своего сообщения:
Добрый день! Вроде все разжевали, не составит труда особого самим написать. Могу, конечно, написать, но за оплату работы.

??? Сижу, обтекаю. :)
Docendo discimus
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Термопара К типа и AVR

Сообщение oleg110592 »

Вот код Леонида Ивановича без полинома:
http://telesys-ru.1gb.ru/wwwboards/mcon ... 2932.shtml
применил в своей поделке, а Леониду Ивановичу коньяка с пивом не проставил :beer:
grinay
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Re: Термопара К типа и AVR

Сообщение grinay »

А целиком код покажешь?:)
1.От куда взялась таблица?
2 Из какой ацп данные показания.?
const int __flash Lin[TC_POINTS] =
{
-824, -531, -259, //-3..-1 мВ
0, 250, 495, 736, 976, 1220, 1466, 1715, 1965, 2215, // 0.. 9 мВ
2462, 2707, 2950, 3190, 3430, 3668, 3906, 4143, 4378, 4614, //10..19 мВ
4849, 5083, 5318, 5553, 5787, 6022, 6258, 6494, 6731, 6969, //20..29 мВ
7208, 7449, 7690, 7933, 8177, 8423, 8670, 8919, 9169, 9421, //30..39 мВ
9674, 9929, 10186, 10445, 10706, 10969, 11234, 11501, 11772, //40..48 мВ
12045, 12321, 12600, 12883, 13169, 13460 //49..54 мВ
};

3.Как выглядит функция Code2uV

Это я уже все видел.... Но все не то%)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»