Товарищи! Нужна помощь с алгоритмом термостабилизации.
- Войдите на сайт для отправки комментариев
Есть старый алгоритм термостабилизации, необходимо его модернизировать. Принцип такой: с цифрового выхода микроконтроллера подается дискретный сигнал на вход однофазного тиристорного усилителя, что, в свою очередь, открывает тиристор и начинается процесс нагрева столика печки. Температура растет до тех пор, пока сигнал на аналоговом входе микроконтроллера с термопары не достигнет значения в 800оС. При достижении требуемой температуры микроконтроллер перестает подавать сигнал на усилитель.После отключения питания на печке начинается процесс остывания образца который длится N минут. Самый смак в том, что теперь добавилась матричная клавитура 4х4 для ввода параметров. 3 параметра - температура, дельта(число с минусом, задается в зависимости от инерционности печи) и время. Подскажите как можно это реализовать. Прикладываю предыдущий алгоритм:
#include <LiquidCrystalRus.h> LiquidCrystalRuslcd(12, 11, 5, 4, 3, 2); void setup() { Serial.begin(9600); pinMode(6,INPUT_PULLUP); pinMode(13,OUTPUT); lcd.begin(16, 2); } void loop() { lcd.clear(); int val = analogRead(A0); int sensorValue = analogRead(A1); int vax = 0; val = val * 500.0/1023; lcd.setCursor(0,8); lcd.print("TD="); lcd.setCursor(3,3); lcd.print(sensorValue); delay(500); vax = val * 2.5; lcd.setCursor(0,0); lcd.print("Температура"); lcd.setCursor(12,0); lcd.print(vax); delay(500); Serial.println(val); if((vax)>(sensorValue)){ digitalWrite(13,LOW); } if((vax)<(sensorValue)){ digitalWrite(13,HIGH); } }
для работы с клавой пригодиться это http://playground.arduino.cc/Code/Keypad
вообще классика это ПиД алгоритм, но для сильно инерционных вариаторных систем он довольно сложный, ибо диференцал требует дополнительной мат поддержки...
посмотри мой проект там и кнопки и стабилизация и калибровка на высоких температурах http://arduino.ru/forum/proekty/kontroller-mufelnoi-pechi