in principal modificarea montajului a constat in inlocuirea celor 12 cdb 4192 cu CMOS-urile cd40192 (CMOS-urile se pot pune direct in locul cdb-urilor - pinii lor avand aceeasi corespondenta) consumul insumat al acestora fiind acum de doar aprox. 20mA...
portile cdb400 precum si cdb413 le-am inlocuit pe toate cu cd 4093, iar fata de montajul initial am lasat alimentat permanent si etajul de intrare, (cauza incrementarii aiurea...)
etajul de afisare este lasat nemodificat, dar este alimentat acum dupa punerea contactului (sau pornirea motorului...), deci consumul mare al acestuia (aprox 400mA) nu mai influenteaza instalatia electrica a masinii....
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Membru din: Mar Oct 28, 2003 11:06 am Mesaje: 3025 Localitate: Craiova
vitezometru e un fel de frecventmetru doar ai diferit timpul de citire al impulsurilor ... asa ca daca dai de cap la "soft"-ul unui frecventmetru ai rezolvat si problema vitezometrului
Membru din: Lun Feb 28, 2005 1:55 pm Mesaje: 98 Localitate: Bistrita
la hard nu sunt probleme... problema e cu softul.. am un impuls pe metru de la senzor... nu stiu cum sa contorizez si sa calculez viteza fara sa pierd vreun impuls..
m-am gandit sa calculez timpul dintre impulsuri dar la fiecare 3 impulsuri pierd un timp..
am incercat sa numar impulsurile si sa le esantionez la un timp predefinit..dar am ajuns la concluzia ca la viteze mici nu merge corect.. ca sunt prea putine impulsuri pt a fi contorizate..
Membru din: Mie Mai 18, 2005 3:53 pm Mesaje: 682 Localitate: Bucuresti
Varianta cu măsuratul duratei între impulsuri rezolvă 2 probleme la viteze mici
- precizia
- perioada de afişare
Are şi un dezavantaj. Oricât te-ai chinui, probabil că nu vei putea afişa decât anumite valori ale vitezei şi nu din kmph în kmph.
Situaţia cea mai dezavantajoasă este la viteze mari. De exemplu pentru un cap de scală de 200 kmph ai 55 impulsuri, deci circa 18 ms timp pentru a-ţi face treaba. Pentru un ceas de 4 Mhz nu e nici o problemă.
Cel mai simplu este să comanzi cu semnalul de la senzor intrarea de întrerupere externă şi să lucrezi evident cu întreruperi. O să "numeri" durata dintre impulsuri într-un TMR (TMR0 e pe 8 biţi, TMR1 pe 16, depinde de rezoluţie). La fiecare impuls primit, citeşti valoarea din TMR şi apoi îl resetezi. Asta e tot ce trebuie să faci în întrerupere. În programul principal, faci împărţirea de rigoare şi afişarea. Eu zic că nu va dura mai mult de 18 ms.
Chestia cu precizia la viteze mici nu e chiar aşa de importantă (niciun vitezometru nu are precizie în zona asta). Aşa că dacă vrei să lucrezi numărând impulsurile, tot cu întreruperi te scoţi cel mai uşor. Cel mai bine e să lucrezi cu 2 timere. Unul va da perioada de numărare şi va genera întrerupere periodică, iar celălalt va număra impulsurile primite. La întrerupere se citeşte numărătorul de impulsuri şi apoi se resetează. Foarte probabil că înainte de afişare va trebui să faci o înmulţire. Un truc care te poate salva este să calculezi durata de măsurare, astfel încât înmulţirea să fie cu 4. Pe asta o vei face su shift left de 2 ori.
Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 14 vizitatori
Nu puteţi scrie subiecte noi în acest forum Nu puteţi răspunde subiectelor din acest forum Nu puteţi modifica mesajele dumneavoastră în acest forum Nu puteţi şterge mesajele dumneavoastră în acest forum Nu puteţi publica fişiere ataşate în acest forum