grifonul_alb Postat Februarie 21, 2013 Partajează Postat Februarie 21, 2013 Vreau sa fac un controler de temperatura cu histerezis, si ceas.PIC18F4550 este microcontrolerul folosit.In schema folosesc: - 4 senzori LM335 pe intrarile A0-3. - 3 taste (push-button) pe B4-6; - un display Hitachi 2X16 pe iesirile D0-5; - 3 relee(in schema sunt LEDuri) pe iesirile E0-2; - pe iesirea D7 este un LED de test.Am reusit sa programez/implementez in MIkroC for PIC partea de convertor A/D pentru cei 4 senzori sipartea de ceas si programul functioneaza. La ceas mai trebuie sa calculez/reglez deoarece are un avas de 3 minute la una ora.Probleme intampinate: pentru taste am vrut sa folosesc intreruperile externe . Cand le activez din registri programul se blocheazasi nu mai functioneaza nimic. Unde am gresit la setarile registrilor sau de ce nu functioneaza impreuna TMR0 si intreruperile externe?Varianta de acum este cu functia BUTTON din MicroC for PIC.Programul si schema mai jos.Multumesc. Link spre comentariu
Liviu M Postat Februarie 21, 2013 Partajează Postat Februarie 21, 2013 O posibila problema ar fi faptul ca in rutina de tratare a intreruperilor nu resetezi niciodata flagurile de la intreruperile externe. Asta inseamna ca dupa ce ai prima intrerupere externa, PIC-ul tau ramane blocat in rutina de tratare a intreruperilor. void interrupt() { if (INTCON.TMR0IF && INTCON.TMR0IE) { //daca ai eveniment TMR0 [b]SI[/b] TMR0 e activ counter = counter +1; INTCON.TMR0IF = 0; TMR0L=0xFF; T0CON.TMR0ON=1; //START TIMER <<< ey??? } if(INTCON.INT0IF && INTCON.INT0IE){ //daca ai eveniment pe RB0 [b]SI[/b] INT0 e activ INTCON.INT0IF = 0;... }...} PS Am extins testul si la TMR0IE/INT0IE pentru ca flagurile sunt setate si daca intreruperea nu e activa. Fara testul respectiv, odata ajuns in rutina de tratare a intreruperilor vor fi tratate (eronat) si intreruperile (momentan) inactive dar pentru care a fost setat flagul. Link spre comentariu
grifonul_alb Postat Februarie 25, 2013 Autor Partajează Postat Februarie 25, 2013 Pe langa faptul ca am uitat de resetare flaguri am asignat si tastele Enter, Sus, Jos la LATB4_bit, LATB5_bit si LATB6_bit in loc de PortB4 . Sper ca in 2-3 zile sa pun o varianta functionala si testata pe PIC18F4550 nu doar in simulator. Multumesc Liviu M pentru idee. Link spre comentariu
nic20 Postat Iulie 20, 2013 Partajează Postat Iulie 20, 2013 salut sunt interesat si eu de proiectnu ma pricep la programare poti pune fisier hex functional multumesc Link spre comentariu
grifonul_alb Postat Iulie 20, 2013 Autor Partajează Postat Iulie 20, 2013 Da o sa pun un hex. Partea de ceas nu stiu cat de bine merge. Dar partea de controler de temperatura functioneaza perfect. Din luna mai 2013 functioneaza primul montaj si din iunie 2013 functioneaza si al doilea montaj.Probleme: 1. in cazul in care ramane fara tensiune electrica nu salveaza setarile.2. nu am un cablaj facut. Primul montaj este pe oplaca de test si al doilea montajul este facut pe un breadboard. Link spre comentariu
nic20 Postat Iulie 20, 2013 Partajează Postat Iulie 20, 2013 se pare ca nu e completa schema de unde setezi temperaturaai alta schema completacel mai mult ma intereseaza partea de control temp. Link spre comentariu
grifonul_alb Postat Iulie 20, 2013 Autor Partajează Postat Iulie 20, 2013 Da , schema din urma este veche, deja sunt la versiunea 12 - soft + schema. Link spre comentariu
nic20 Postat Iulie 20, 2013 Partajează Postat Iulie 20, 2013 nu postezi?te rog una completa Link spre comentariu
grifonul_alb Postat Iulie 20, 2013 Autor Partajează Postat Iulie 20, 2013 Ba da,dar lucrez la ea sa-i fac actualizarile de pe hartie. Link spre comentariu
aionescu Postat Iulie 21, 2013 Partajează Postat Iulie 21, 2013 Probleme: 1. in cazul in care ramane fara tensiune electrica nu salveaza setarile.Salveaza setarile in EEPROM de fiecare data cand se modifica. Link spre comentariu
grifonul_alb Postat Iulie 21, 2013 Autor Partajează Postat Iulie 21, 2013 Aici este un controler de temperatura cu histerezis care poate fi folosit pentru panou solar, centrala termica, boiler si incalzire in pardoseala. Daca gasiti ceva probleme - prezentatile pentru a putea corecta. Link spre comentariu
nic20 Postat Iulie 22, 2013 Partajează Postat Iulie 22, 2013 interesant in simulare merge binemersi mult Link spre comentariu
grifonul_alb Postat Iulie 22, 2013 Autor Partajează Postat Iulie 22, 2013 In fisierul cu instructiuni am uitat sa scriu despre "reglajul" senzorilor.Daca montajul este folosit doar pentru panou solar cu apa calda si boiler - nu este necesar a se monta senzorii pentru centrala si ambient. Cu cat cablul pentru senzor este mai lung cu atat va indica o temperatura mai mica fata de cea reala.Pentru reglaj: 1. Se ia de baza senzorul cu cablul cel mai scurt.2. Din meniu se activeaza pompa pe ON (functionare continua) (de ex. pompa 0 - panou solar).3. Dupa o functionare de 1-2 minute se citesc temperaturile de pe cei doi senzori (senzor panou si senzor boiler) si se observa cu cat este "mai mica" temperatura din panou fata de cea din boiler.4. Din meniu la Reglaj S Panou se stabileste valoarea care trebuie adaugata la senzor pentru a citi/afisa valearea reala.Atentie la tipul de cablul folosit. La primul montaj am folosit un cablu de la sistemele de alarma , de genul 4 fire , ecranat. Si am 13-15 m de cablu pentru senzorul panou. Citirile senzorului panou sunt facute bine, fara sa apara oscilatii/ diferente mari intre citiri.La al doilea montaj am folosit un cablu, tot 4 fire, ecranat, de la sisteme de telefonie. Distanta 11 m pana la senzorul panou. Apar diferente mari intre citiri, uneori si de 10 grade Celsius, noroc ca, in program, este setat un histerezis de 5 secunde intre actionarile ON-OFF ale pompelor. In acest an va functiona asa, dar la primavara voi schimba firul si sper sa mai gasesc din cel folosit la primul montaj.In schema nu este desenat montajul cu tranzistor si releu pentru pompa centrala si pompa incalzire in pardoseala, dar este la fel cu cel pentru pompa panou. Link spre comentariu
nic20 Postat Iulie 23, 2013 Partajează Postat Iulie 23, 2013 bun proiectul un pic complex cu setarileceva cu doi senzori lm335.cu doua set pointuri reglabile separat si histerzis minim 5 gradeare cineva?daca se poate cu afisaj cu leduri Link spre comentariu
grifonul_alb Postat Iulie 23, 2013 Autor Partajează Postat Iulie 23, 2013 bun proiectul un pic complex cu setarileceva cu doi senzori lm335.cu doua set pointuri reglabile separat si histerzis minim 5 gradeare cineva?daca se poate cu afisaj cu leduriPai ai cel putin 2 senzori LM335Poti seta histerezisul dintre ele pentru ON si pentru OFF.Despre afisaj cu leduri , cred ca se poate, dar acum se gasesc mai usor LCD-uri prin bazaruri, pe la recuperari de electronice.Cred ca ar trebui sa explici la ce-ti trebuie tie un controler de temperatura si ce vrei sa faca pe pasi de executie. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum