PrimussTh
PrimussTh

жало T12 + MAX6675 + ATMega8,88,168,328 + N1202 or SSD1306. Схема и прошивки.

0 Пользователей и 1 Гость просматривают эту тему.

slav0n

  • Администратор
  • .
  • *****
    • Сообщений: 5338
    • Карма: +7/-0
По факту, для более-менее достоверных показаний температуры конца жала были подобраны следующие параметры:
смещение: -65°
усиление: 1.75
т.е.
РеальнаяТемпература = МАХ6675 * 1.75 - 65°

Вот пара слов про предполагаемый тип термопары
« Последнее редактирование: 01 Апрель 2021, 08:32:43 от slav0n »
while(1||!1);
зберігай спокій


slav0n

  • Администратор
  • .
  • *****
    • Сообщений: 5338
    • Карма: +7/-0
Известно, что для калибровки показаний температуры нам по сути надо решить систему из двух линейных уравнений с двумя неизвестными:



Для определения значений двух точек устанавливаем в контроллере gain(a)=1, offset(b)=0 и измеряем термопарой жала T12 две заведомо известных температуры.
Допустим, при измерениях температуры окружающего воздуха, а вернее корпуса чипа МАХ6675 (29°), и температуры тела человека (36°) получилась такая система уравнений:



Запишем и решим это в матричной форме:




Стандартные решения.
Способ сложения:
для компенсации неизвестного b сначала умножаем одно уравнение на -1



Затем складываем оба уравнения и получаем:




Сложение через компенсацию a:






Решение системы способом подстановки.
Через подстановку b:



через подстановку a:



Результат вполне соответствует истине даже на такой небольшой разнице температур. Естественно, при увеличении этой разницы коэффициенты будут еще точнее.

ссылки с полезной инфой:
https://habr.com/ru/post/277275/
http://ua.onlinemschool.com/math/assistance/matrix/multiply/
while(1||!1);
зберігай спокій


slav0n

  • Администратор
  • .
  • *****
    • Сообщений: 5338
    • Карма: +7/-0
новая прошивка с агрессивным набором температуры.
график выхода на уставку почти вертикальный.

PID:
Kc - 125
Ti - 020
Td - 005

для ориентира метки на графике - 5 секунд
при этом период опроса датчика - 0.4 секунды
« Последнее редактирование: 15 Июнь 2021, 22:34:33 от slav0n »
while(1||!1);
зберігай спокій


slav0n

  • Администратор
  • .
  • *****
    • Сообщений: 5338
    • Карма: +7/-0
прошивка 290809

Сделал период обновления графика ошибки равным периоду опроса датчика температуры - 0.4 сек.
Шаг меток - 10 сек.

Добавил сохранение измененных параметров коррекции индикации температуры (GAIN, OFFSET).
В предыдущих прошивках после перезагрузки контроллера эти параметры сбрасывались в стандартные значения для Т12:
GAIN = 1.75
OFFSET = -65
Изменяя эти параметры надо быть осторожным и понимать суть происходящего.

Сохранение всех настроек происходит на 30-й секунде после последнего нажатия любой кнопки.

atmega8 fuse
   L - 0xE4
   H - 0xD1
   
atmega328p fuse
   L - 0xE2
   H - 0xD7
   E - 0xFF default
« Последнее редактирование: 10 Август 2021, 08:01:13 от slav0n »
while(1||!1);
зберігай спокій