Sfaturi - control al temperaturii în Assembler Language

G

gricesj

Guest
Salut,

Am nevoie de ajutor!Am interfaced cu succes o SHT15 cu senzor de ATMega8 ľController, şi afişarea de ambele Temp şi Rel Umiditate (la 8-bit rezoluţie) la un LCD.Cu toate acestea, acest lucru este vazut ca pentru un incubator, am nevoie pentru a controla temperatura.

Ideea mea a fost de a trece hardcode 6 poziţii, fiecare reprezentând o poziţie temperatura din uita-te de masă utilizată pentru a determina temperatura.Ce trebuie să faceţi este să compare 8-bit valoare măsurată prin SHT15, si comparati-l cu 8-bit valoare care reprezintă temperatura dorită.Rezultatul va produce o valoare.

Dacă real Temp> Temp dorita, apoi dorita - real = valoare negativă

Dacă real Temp <Temp dorita, apoi dorita - real = valoare pozitivă

Deoarece eu sunt folosiţi ca putere rezistenţe încălzitoare, şi pulsul Lăţime Modulation (PWM) pentru a controla cantitatea de energie de rezistenţe.Ca PWM are o valoare, atunci logic, pentru a creşte nivelul de energie termică, pot adăuga valoare pozitivă la PWM, prin urmare, de încălzire în incubator.Alternativley, scăderea de valoare negativă va reduce PWM, prin urmare, reducerea puterii de rezistenţe, prin urmare, de răcire incubator.

Temperatura intrerup măsuri la fiecare 30 de secunde, astfel actualizarea reală a temperaturii.Deci, în teorie, ca şi valoarea reală a reduce diferenţa dorita, va exista un efect de amortizare, care să conducă la o stare destul de starea de echilibru (thats teoria).

Thats destul explaing: 0), astfel încât oricine poate sugguest sau oferi un control algoritm în limbaj de asamblare pentru a face acest lucru, sau de o ştiu deja existente?Aş fi foarte recunoscători pentru orice ajutor în acest sens.

Mulţumesc,

Steve.

 
Salut,

Nu uitaţi să adăugaţi câteva temperatura hysteresis.

Aici este de exemplu, pentru încălzire şi pentru a două ventilatoare cu 2 C hysteresis

# define H1on 10 / / activa H1 la 10C
# define H1off 12 / / a opri H1 la 12C
# define H2on -7 / / activa H2 la -7 C
# define H2off -5 / / a opri H2 la -5 C
# define F1on 32 / / activa F1 la 32 C
# define F1off 30 / / a opri F1 la 30 C
# define F2on 42 / / activa F2 la 42 C
# define F2off 40 / / a opri F2 la 40 C

nesemnate caracter H1, H2, F1, F2;

nule temp_process ()
(
caracter TBC; / / 8-bit temperatura valoare cu semn

read_temp_sensor (TBC);
dacă (TBC <= H2on) H2 = 1;
dacă (TBC> = H2off) H2 = 0;
dacă (TBC <= H1on) H1 = 1;
dacă (TBC> = H1off) H1 = 0;

dacă (TBC <= F1off) F1 = 0;
dacă (TBC> = F1on) F1 = 1;
dacă (TBC <= F2off) F2 = 0;
dacă (TBC> = F2on) F2 = 1;
)

Acest C rutină este uşor de codificare în AVR assembller.

 
hello poate u ajută-mă de a construi un incubator (pui ou incubator) în detalii, vă rugăm săcare temperatura şi humiduty senzori si camera de incubator, şi cum se poate de ouă se deplasează în incubator
 

Welcome to EDABoard.com

Sponsor

Back
Top