dorelb Postat Ianuarie 23, 2011 Autor Partajează Postat Ianuarie 23, 2011 Pentru - fratello - . In cinci ore cam -3 secunde, dar mai astept. Si pentru marik2500, leduri la tehnoelectric.ro. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. Link spre comentariu
critix Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 Am si eu o intrebare... Am facut un termometru, dar cu 16f628 si afisaj LCD 2x16. Termometrul este cu 2 senzori, si vreau sa il pun in masina, alimentat doar cand pun contactul. Am urmatoarea problema. De fiecare data cand alimentez montajul (in casa, pe bancul de proba, de la 12V), ba merge, ba nu merge.. in sensul ca atunci cand nu merge apare pe afisaj caractere ciudate, cateodata si un cursor . A mai intalnit cineva aceasta problema?Multumesc Link spre comentariu
vasile eugen Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 contacte intre montaj si afisor sao semireglabilul de contrast Link spre comentariu
critix Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 Contactele sunt bune intre montaj si afisor, le-am verificat de prima data...La semireglabil? Ce pot sa ii fac? Link spre comentariu
fratello Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 In codul scris de mine, precizia ceasului este afectata de timpul (setarile) alocat citirii senzorilor de temperatura. NU CRED ca pot obtine un compromis acceptabil intre aceste doua "sarcini" alocate PIC-ului. Cum am mai spus, cunostintele mele sunt limitate ... Numai un BUN programator, eventual care foloseste limbaj de asamblare, poate rezolva aceasta problema. Eu, unul, renunt, pentru motivul de mai sus. Numai bine ! Link spre comentariu
aionescu Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 .... Eu, unul, renunt, pentru motivul de mai sus. ...Imi pare rau sa aud asta. Daca insisti o sa gasesti solutia. Cum masori timpul? Nu pe intreruperi? Adica numeri intreruperi care apar la un interval stabilit.Trebuie sa vezi pe simulator ca intervalul pe care l-ai stabilit se mentine, simuland vreo 100 de intreruperi. Asta una.Daca testul asta e OK trebuie sa mai perii putin rutinele de citire a DS-ului.De exemplu la transmisia catre DS, pe perioada transmiterii unui bit trebuie inhibate intreruperile. Asta va genera o mica intarziere, este adevarat, dar doar de cateva microsecunde la fiecare transmisie. Si cum citirea senzorilor o faci cel mai des la o secunda (asa fac eu), desi pentru aplicatia asta o poti face si la un minut, precizia nu se afecteaza cu mult.O corectie in soft pentru ajustarea ceasului se poate face. Altfel, o precizi nativa de 2-3 secunde pe zi este maximumul pe care l-am obtinut, pe LCD.Spor! Link spre comentariu
Liviu M Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 Si cum citirea senzorilor o faci cel mai des la o secunda...Asa as fi sugerat si eu - citirea la o secunda si eventual un singur senzor o data (adica fiecare senzor o data la 2 secunde).Si reimprospatarea afisorului ar trebui facuta tot cel mai des la o secunda (nu m-am prins daca se intampla mai des sau nu) si eventual reimprospatat numai ce se schimba (ora si temperatura); data se poate reimprospata o data pe zi. Link spre comentariu
MatyC Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 Fiind vorba de RTC trebuie pus accent pe precizia ceasului. Cum am recomandat si vad ca sa implementat trebuie o rutina optimizata pentru tratarea intreruperilor TMR0. Sub nici o forma nu trebuie dezactivate intreruperile pentru a face altceva. In cazul senzorilor ce solutie vad eu. Tiind cont ca trebuie trimisa comanda de incepere a conversie temperaturi si abia dupa 94-750 ms trebuie citita valoarea. Eu asi incerca ca in cadrul subrutinei de intreruperi sa folosesc o variabila care sa conditioneze ulterior startul conversiei sau citirea valorilor. Ca idee daca secunda e para start conversion, daca impar read temp, sau facuta din 5 in 5 sec ori te folosesti de valoarea Ticks cum este in programul tau. In programul tau vad ca la fiecare 16,38 ms ai o intrerupere. Este o problema ca 61*16,38 ms =994,3 ms<1s. Intervalul dintre doua intreruperi trebuie facut in asa fel incat sa nu afecteze citirea sau trimiterea comenzilor la DS18XXX. Cuartul de 4,000 Mhz complica rutina de intreruperi.LE. Este vreo problema ca citirea senzorilor se face alternativ? Ce are daca temperatura afisata este veche de cateva sec? Link spre comentariu
Liviu M Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 Sub nici o forma nu trebuie dezactivate intreruperile pentru a face altceva.Ba daca se lucreaza cu mai multe surse de intreruperi, la intrarea in rutina de tratare a intreruperilor se dezactiveaza intreruperile pentru a evita problemele (o noua intrerupere venita in timpul tratarii unei intreruperi).De aia, pentru a minimiza riscurile, in rutina de tratare a intreruperilor trebuie facute cat mai putin operatii (gen setare flaguri pentru programul normal).In rest, de acord cu tine; de altfel aceleasi lucruri s-au mai spus anterior. Ba eu chiar am dat o solutie de "reglare" a ceasului pentru care nu conteaza ca frecventa e 4MHz, prin incarcarea in TMR0 a unui "inceput de numarat".De acum conteaza cat de interesat e fratello de stabilitatea ceasului. Ca daca e in principiu un termometru care arata din cand in cand si ora, poate nu-l intereseaza mai mult. Link spre comentariu
dorelb Postat Ianuarie 24, 2011 Autor Partajează Postat Ianuarie 24, 2011 Lui - fratello -. Ramane cam 11 secunde in urma. Am avut o cadere mare de curent si nu pot sa spun precis cat a ramas in urma. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. Link spre comentariu
gr1ph0n Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 @dorelb- Incearca si varianta atasata. Link spre comentariu
dorelb Postat Ianuarie 24, 2011 Autor Partajează Postat Ianuarie 24, 2011 Pentru gr1ph0n. Este acelasi proiect sau ceva nou, (adica - fratello -) inbunatatit. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. Link spre comentariu
dorelb Postat Ianuarie 24, 2011 Autor Partajează Postat Ianuarie 24, 2011 Incarcat la ora 23:45:00. Asteptam pana maine seara. O mica problema la start. Arata 55:00:00. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. Link spre comentariu
MatyC Postat Ianuarie 24, 2011 Partajează Postat Ianuarie 24, 2011 Atasati careva un pcb sa-l testez si eu. Sa nu mai stau la proiectare pcb. Link spre comentariu
dorelb Postat Ianuarie 25, 2011 Autor Partajează Postat Ianuarie 25, 2011 Pana dimineata (6:30) a ramas 3 secund in urma. gr1ph0n Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. 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