dorelb Postat Ianuarie 30, 2011 Autor Partajează Postat Ianuarie 30, 2011 Pentru vasile eugen. Acest ceas a mai fost facut de cineva (marik2500) si a avut probleme cu softul. Daca te uiti mai in spate o sa vezi ca la -*C, arata tot felul de minuni. Eu am acest ceas (de la bogdi.ro, varianta veche) si nu ma plang de el, este chiar foarte precis. Plus ca se mai poate regla precizia din butoane. Asa arata ca mai jos, dar nu are "carapace". 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
vasile eugen Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Un cod complet, eventual comentat, ar opri scrierea atator posturi si ar rezolva problema.Ai dreptate, asa ar fi cel mai bine.Din pacate, n-am senzori, n-am LCD disponibil, n-am... Incercam sa ajut pe cineva care "are tot" sa optimizeze putin codul.Cum nu sunt sigur ca in varianta mea ar merge mai bine decat variantele voastre, as fi vrut sa pot sa si testez ce incerc.Nu de alta, da' eu incercam sa ma prind de ce nu reusiti sa-i dati de cap si incercam sa va ajut cu ceva idei, Cum nu sunt Number 1 in nimic, sunt sanse mari ca ce zic eu sa fie batut de campi; in cazul asta, mi-ar prinde bine daca cineva mi-ar arata ce gresesc. Asa, pentru cultura mea generala (si evitarea unor eventuale batai de cap pe viitor).Pen'ca nu am nici o contributie utila pe topicul asta, imi cer scuze pentru "poluare" si ma duc pe topicuri la care ma pricep mai bine (adica nicaieri ).postati codul si am sa testez si am sa pun poze am si senzori Ds1820 ,pic si afisoare... Link spre comentariu
vasile eugen Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Pentru vasile eugen. Acest ceas a mai fost facut de cineva (marik2500) si a avut probleme cu softul. Daca te uiti mai in spate o sa vezi ca la -*C, arata tot felul de minuni. Eu am acest ceas (de la bogdi.ro, varianta veche) si nu ma plang de el, este chiar foarte precis. Plus ca se mai poate regla precizia din butoane. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. la termometru este OK, este vorba de rezistenta cea de 4k7 daca a montat sau nu pun si poza cu temperatura Link spre comentariu
dorelb Postat Ianuarie 30, 2011 Autor Partajează Postat Ianuarie 30, 2011 Si doar ceasul este afectat? Ia legatura cu marik2500 si vezi daca si la el sunt aceleasi probleme. Din cate imi aduc aminte nu scris nimic de precizia ceasului. Pun o poza mai clara. Am adaugat un buton de off a display-ului pentru noapte, si o batreie de back-up. 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
vasile eugen Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Si doar ceasul este afectat? Ia legatura cu marik2500 si vezi daca si la el sunt aceleasi probleme. Din cate imi aduc aminte nu scris nimic de precizia ceasului. Pun o poza mai clara. Am adaugat un buton de off a display-ului pentru noapte, si o batreie de back-up. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. da am sa incerc sa inlocuiesc condesatori de linga quart sa vad daca se schimba Link spre comentariu
Liviu M Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Initial s-a folosit TMR0 dar acum se foloseste TMR1 si sunt 10ms intre intreruperi nu 15. 100 Ticks/sec.Mi-am amintit o chestie pe care voiam s-o zic aseara.TMR1 e pe16 biti si are prescaler 1:8. Asta inseamna 65535 * 8 = 524280. La ceasul vostru de 4MHz asta inseamna 524,... ms intre Tikcs si 2 Ticks-uri. Nu?postati codul si am sa testez si am sa pun poze am si senzori Ds1820 ,pic si afisoare...Cand spuneam ca nu am nimic, ma refeream si la orice functie pentru 16f628 (pentru afisare pe LCD). Si nici nu prea-mi vine sa le scriu acum.Am sa modific un proiect pentru 16F877/18F452 de la quarz de 32 khz la ceas intern folosind intreruperile de la TMR1, si comunicatie cu un senzor de temperatura cu interfata i2c sa vad ce iese. Link spre comentariu
dorelb Postat Ianuarie 30, 2011 Autor Partajează Postat Ianuarie 30, 2011 Daca nu ai pus de 30pF, cum scrie in schema, pot sa-ti faca probleme. 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 30, 2011 Partajează Postat Ianuarie 30, 2011 Nu, prescaler-ul este 1:1 iar TMR1 este incarcat cu valoarea 55543.Mai jos aveti atasat un calculator care va ajuta cu astfel de calcule + altele Link spre comentariu
Liviu M Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Ai vreun motiv special sa nu folosesti prescaler?Cum spuneam, facand invers, 1000000us/8 (prescaler) = 125000. Asta se imparte la 2 Ticks * 62500 . => TMR1 trebuie sa numere de 62500 de ori inainte sa genereze o intrerupere si ai nevoie de 2 intreruperi ca sa-ti iasa o secunda. Ca sa numere de 62500, trebuie sa incarci TMR1H:TMR0L cu 0xFFFF - 0xF424 (62500 in hexa) = 0x0BDB. Adica incarci 0x0B in TMR1H si 0xDB in TMR1L. Poate ca e nevoie sa ca valorile astea sa fie corectate cu cativa LSB in TMR1H, da' ar trebui sa fie destul de aproape. La mine pare sa mearga, mai am sa fac testul de "durata".LE: daca folosesti prescaler, asta trebuie incarcat de fiecare data cand scrii valorile in TMR1L:TMR1H. Link spre comentariu
vasile eugen Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Daca nu ai pus de 30pF, cum scrie in schema, pot sa-ti faca probleme. Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. ma gindeam sa scad la 27pF sa vad cum se comporta,in rest foarte multumit Link spre comentariu
dorelb Postat Ianuarie 30, 2011 Autor Partajează Postat Ianuarie 30, 2011 Oscilatorul este de 4mHZ? 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 30, 2011 Partajează Postat Ianuarie 30, 2011 Nu am niciun motiv evident sa nu folosesc si prescaler-ul. Incerc si la 500 ms.In documentatia de la Microchip se stipula ca de la aparitia intreruperii pana la gestionarea ei dureaza 3-4 us si zic eu(sper sa nu ma insel) + salvarea celorlalte variabile din sistem. Cred ca de aici vine diferenta de timp. Si atunci valoarea de 3035 trebuie scazuta spun eu prin incercari. Link spre comentariu
vasile eugen Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 Oscilatorul este de 4mHZ? Ceea ce face un lucru valoros, este nu ceea ce ai tu de castigat facandu-l, ci ceea ce pierzi daca nu-l faci. da de 4mhz,din recuperari Link spre comentariu
Liviu M Postat Ianuarie 30, 2011 Partajează Postat Ianuarie 30, 2011 @gr1ph0n: mie cu socotelile de mai sus (si oscilator de 20MHz) imi zice simulatorul 100,0132 ms pauza intre 2 intreruperi pe TMR1. Cu o corectie de 8 LSB in TMR1L (nu TMR1H cum am scris mai sus, evident), am 100.000200 ms intre 2 intreruperi. Sa vad acum ce zice montajul "pe masa". Link spre comentariu
dorelb Postat Ianuarie 30, 2011 Autor Partajează Postat Ianuarie 30, 2011 Se vede clar pe el scrisul? Mai este acel 4,1943Mhz care nu era presat pe carcasa, ci era scris cu vopsea, si la cateva manipulari cu mana disparea scrisul sau se estompa, si era greu vizibil. Mai jos. Primul nici nu se mai vede. 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