Thermostat mcu segment

Termostat - MCU

Pojavila se potreba za jednog klijenta da održava temperaturu u velikom prostoru, koji ima različite termički izolovane zone, konzistentno kroz ceo prostor. Pregledom objekta (dugacka peć je u pitanju) zaključeno je da postoji 5 segmenata sa različitom izolacijom te svaki segment gubi energiju različitom brzinom te jedan termostat za celu peć nije u stanju da održi kvalitetno temperaturu na celoj dužini peći i razlike između extrema može da bude i do 40C. Kako se peć koristi za “osetljiv materijal” nemoguće je u peć staviti ventilator koji bi mešao vazduh i na taj način održavao konzistentnu temperaturu u celoj peći. Kako je klijent već odvojio 5 grupa grejača u tih 5 različitih zona pokušavajući da reši problem tako što je na mesta sa većim gubitcima stavio jače grejače rešio sam da napravim običan digitalni termostat za 5 zona. Prvo pitanje je bilo da li da idem na termokaplere koji su profi senzori za peći i idu do 700C odnosno 1300C zavisno od toga da li se koristi termokapler J ili K tipa. Ono što je problem sa termokaplerima je

Termostat - IO

Termostat - IO

  • koštaju dosta para
  • ja nemam nijedan za testiranje
  • daju napon u milivoltima i nikakvu struju tako da ih je potrebno zakačiti preko drajvera koji onda daje uglavno 10mV po stepenu

Uglavnom iz razloga što nemam nijedan za test, i što peć nikad nema potrebu da ide preko 250C rešio sam da kao senzor koristim dobro isprobani NTC (0.5$ po komadu, 100K RT16 honeywell NTC, farnell code 1383986). Njih je vrlo lako vezati, poštuju svoju RT krivu, daju ponovljive rezultate i rade odlično do 300C.

Termostat - PSU

Termostat - PSU

Za srce termostata je odabran pic16F690. Ima interni oscilator, dovoljno ADC ulaza (12 10 bitnih)… idealno za ovu priliku. 5 termistora je vezano na 5 adc ulaza sa 10K otpornikom prema VDD u razdelniku napona tako da je lako detektovati ako nema termistora ili ako je termistor u kratkom spoju. Komande se unose preko tastature vezane na sesti analogni ulaz (na pločici je 12 tastera ali se ne koriste svi tasteri za rad uređaja).

Termostat - Relays

Termostat - Relays

Grejači se kontrolišu preko 5 releja koje pali i gasi ULN2003A) a vezan je dodatno šesti rele za potrebe alarma (ako je temperatura nekog dela peći mnogo različita od prosečne temperature u peći). Interface prema korisniku je spi display 84×48 pixela (5×8 pixela font daje 5 linija teksta na njemu) sa nokia 3310 telefona. Software je napisan u CSC C-u. U “normalnom” režimu rada, termostat daje mogućnost promene željene temperature sa +10, -10, +1 i -1 tasterima. Prikazuje željenu temperaturu, temperaturu na svim senzorima (ne prikazuje senzore koji nisu zakačeni) i prikazuje srednju temperaturu peći (propuštenu kroz low pass filter). Ako duže od 1sec držite taster “menu” prelazite u setup mode u kome se definiše hysteresis za grejače i razlika u temperaturi između temperature segmenta i prosečne temperature koja aktivira alarm. Izlaskom iz setup moda (pritiskom na menu taster 1sec) trenutna željena temperatura, hysteresis i alarm vrednosti se snimaju u eeprom 16F690 i te vrednosti se automatski učitavaju po sledećem resetu / paljenju uređaja.

HEX file