XAN77 Postat Noiembrie 19, 2005 Partajează Postat Noiembrie 19, 2005 am facut un controler de acvariu cu masurare 2 temperaturi cu 2xLM75 afisare pe LCD 2x20, comanda neon, incalzitor si ventilator; ceas electronic etc l-am dat si prin conex. Intr-o zi la o cadere de tensiune a ramas picu intepenit adica aveam datele afisate pe LCD, mergeau setarile din taste pt. ceas etc. dar secundarul era blocat iar incalzitorul blocat pe oprit cu toate ca incalzirea era setata pe 25 iar senzoru arata 23 (daca ramanea blocat pe pornit :rolleyes: ) . De atunci tot incerc sa implementez functia de WDT, am activat la programare WDT-ul, prescaleru este la TMR0 care face ceasul (quartz de 4,194304 pt. precizie ceas) am inteles ca fara prescaler resetu se produce la cca.~ 18ms. Am impanzit softu de CLRWDT dar dupa ce afiseaza toate info pe lcd face reset non stop. Softu e facut de mine in Proton PicBasic+ 2.1.3.. Intreruperea de la TMR0 se produce de 16 x pe sec. deci pauze de 62,5 ms.. Unde gresesc ca nu vreau sa fierb pestii cand o ia picu prin porumb ? Link spre comentariu
Filipone Postat Noiembrie 20, 2005 Partajează Postat Noiembrie 20, 2005 am facut un controler de acvariu cu masurare 2 temperaturi cu 2xLM75 afisare pe LCD 2x20, comanda neon, incalzitor si ventilator; ceas electronic etc l-am dat si prin conex. Intr-o zi la o cadere de tensiune a ramas picu intepenit adica aveam datele afisate pe LCD, mergeau setarile din taste pt. ceas etc. dar secundarul era blocat iar incalzitorul blocat pe oprit cu toate ca incalzirea era setata pe 25 iar senzoru arata 23 (daca ramanea blocat pe pornit :rolleyes: ) . De atunci tot incerc sa implementez functia de WDT, am activat la programare WDT-ul, prescaleru este la TMR0 care face ceasul (quartz de 4,194304 pt. precizie ceas) am inteles ca fara prescaler resetu se produce la cca.~ 18ms. Am impanzit softu de CLRWDT dar dupa ce afiseaza toate info pe lcd face reset non stop. Softu e facut de mine in Proton PicBasic+ 2.1.3.. Intreruperea de la TMR0 se produce de 16 x pe sec. deci pauze de 62,5 ms.. Unde gresesc ca nu vreau sa fierb pestii cand o ia picu prin porumb ?Din descrierea ta (haioasa apropo) ai gresit undeva sigur si anume la acea impanzire de CLRWDT. Instructiunea trebuie pusa in interiorul tuturor buclelor de asteptare si bineinteles unde timpul intre 2 CLRWDT este mai mare decat 18ms. Tu cum faci comunicarea cu LCD-ul...? Testezi bitul busy? Ce PIC ai folosit? Link spre comentariu
sofian Postat Noiembrie 21, 2005 Partajează Postat Noiembrie 21, 2005 degeaba il pui in toate buclele ptr ca daca picul se intepeneste intr-o bucla tot nu se reseteaza picul ca acolo are un wdtdaca vrei sa lucrezi cu wdt trebuie programul bine structurat. Link spre comentariu
Cristiano Postat Noiembrie 22, 2005 Partajează Postat Noiembrie 22, 2005 Daca vrei sa lucrezi cu WDT, e recomandat sa ai o bucla (timer + intrerupere, ca sa stii ca se executa mereu) in care sa resetezi WDT. Perioada buclei trebuie sa fie mai mica decat intervalul MINIM al WDT (perioada WDT are fluctuatii relativ mari, in functie de temperatura, tensiune, etc. poate fi, la 16F628 de ex., de 7 la 33ms). Link spre comentariu
XAN77 Postat Noiembrie 23, 2005 Autor Partajează Postat Noiembrie 23, 2005 singura chestie de care imi era teama era sa nu stiu io bine care e temporizarea data de wdt fara prescaler si daca clrwdt afecteaza tmr0 sau prescaleru acestuia fiind cuplat la TMRo. Imi e clar ca nu am pus clrwdt cum tre. Am raspuns greu ca am avut o problema cu contu. Mersi oricum abia in weekend o sa am chef si timp sa ma mai ocup de el 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