Sari la conținut
ELFORUM - Forumul electronistilor

Masurare rezistente cu microcontroler PIC


Vizitator marinbogdan92

Postări Recomandate

Vizitator marinbogdan92

Ma poate ajuta cineva si pe mine cu un aparat de masura sa masoare  rezistente cu ajutorul unui microcontroler PIC(schema in proteus si cod in MicroC).... domeniul de masurare al rezistentelor 200ohmi-20kohmi..am atasat o schema ca punct de plecare....ast raspunsuri...

post-221082-0-12101900-1430920049_thumb.jpg

Editat de marinbogdan92
Link spre comentariu
  • Răspunsuri 18
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Trebuie totuși să dai mai multe detalii - schema de măsurare e impusă sau se poate opta pentru alta , domeniul de valori trebuie acoperit într-o gamă sau mai multe , dacă sunt mai multe game (cum bănuiesc) cum trebuie făcută comutarea - mecanic sau electronic, ce precizie trebuie să aibă , cum se afișează rezultatul , etc.

Și este important și răspunsul la întrebarea lui thunderer - pentru ce este ? că modul de abordare e diferit . 

Se va realiza și practic ?

Și încă ceva , nu rezultă clar din postare , dorești să ți se facă totul , sau să fi ajutat ???

Link spre comentariu

Pe forum exista mai multe variante de "multimetre" - volt + ampermetre folosite pentru diverse surse.

Partea de ampermetru poate fi folosita linistit la ce-ti trebuie tie - trebuie modificata formula de calcul de la rezistenta cunoscuta & tensiune masurata => curent, la curent cunoscut & tensiune masurata => rezistenta.

Asta daca vrei sa faci singur si sa fii ajutat unde nu-ti iese (la asta e buna sectiunea asta). Daca vrei proiect complet "de-a gata", sectiunea potrivita e Electrojob).

Editat de Liviu M
Link spre comentariu
Vizitator marinbogdan92

O Sa revin cu mai multe detalii..imi trebuie pt un proiect la scoala ... domeniul de masurare nu kred k trb impus intr.o gama de valori ... domeniul de masurare ar trebuii sa fie intre 200ohmi-20kohmi iar kand este o rez mai mare decat domeniul de mas sa scrie in afara domeniului (nu trebuie sa fie de precizie ).... nu doresc sa mi se faca totul doar putin ajutor... oricum multumesc pt ajutor si pt sfaturi

Link spre comentariu

Bogdan, acest proiect cere un program relativ simplu. Citesti o tensiune (intre 0 si 5V sau 3,3V depinde de controller) si faci apoi o convertire in valoare rezistenta. Ceva matematica genul inmultiri/impartiri.Hard-ul este problematic:1. Sursa de curent constant cu 317 poate fi de ajuns pentru un proiect scolar.2. Va trebui sa aplici legea lui Ohm U=R×I ca sa stii ce curent sa dea acel 317 (la valoarea superioara a rezistentei de masurat) ca sa ai sub 5V la iesirea operationalului.3. Acel diferential e pacatos de pus la punct caci rezistentele din jurul lui au un rol anume si cer sa fie destul de precise.4. La ce foloseste acel tranzistor?Odata schema facuta se trece la program. Asta e cea mai mica grija :) .

Link spre comentariu
Vizitator marinbogdan92

Multumec pt ajutor ...schema am rezolvato mai am programarea in MicroC......dar aici am o problema ....Nu stiu daca am declarat bn intervalul de masurare (200ohmi-20kohmi)....ma poate ajuta si pe mine cineva ?va rog.

       

post-221082-0-60832300-1431081209_thumb.png

Link spre comentariu

Pentru o de tensiuni de la 0 la 5V ar trebui sa ai generator de curent constant de 250 microamperi , nu se poate asa de mic cu LM317 care are doar pe pinul adjust intre 40 si 100 microamperi care mai e si variabil cu temperatura , banuiesc ca nu vrei o eroare de +/- 50%. trebuie sa gasesti alt generator de curent mai precis in grenul celui atasat:, zenerul poate sa fie lm285 , referinta de tensiune de precizie , tranzistorul cu amplificare cat mai mare.post-177316-0-64928200-1431348974_thumb.png

Schema pe care ai trimis-o este pentru rezistente mici , tranzistorul nu are nici un rost acolo , a fost pus doar pentru ca in schema originala se folosea acelasi generator de curent pentru masurarea a doua rezistente cu doua circuite identice si acelasi generator de curent , intrarile operationalului sunt gresit inversate intre ele tensiunea pe microcontroller ar fi negativa.

  Operationalul are doar rolul sa anuleze caderea de tensiune de pe tranzistorul inutil in circuitul tau si in concluzie e si el inutil. Tot ce-ti trebuia era generatorul de curent ,  rezistenta de masurat  cu un capat la masa si o intrare ADC in microcontroler.

 Chiar si asa , erorile se sumeaza , ai o eroare provenita de la generatorul de curent si una de la referinta de tensiune. Ai putea gasi si o varianta de masurare a rezistentei care nu depinde de referinta de curent si de tensiune.

Editat de mdorian
Link spre comentariu

De ce nu poti obtine 250uA cu 317? Cu o rezistenta de 5k (2x10k in paralel) obtii 250uA. E proiect scolar, precizia pe masura.Iar opampul il alimentezi asimetric la maxim 5,5V ca sa eviti orice problema. Variatia iesirii fiind intre 50mV si 5V. Perfect pentru multe opamp-uri rail to rail. Vorbesc de ceva ieftin.Dar fara schema, discutam despre ce?!

Link spre comentariu

Daca nu ai inteles din ce am scris mai devreme de ce nu poti sa faci un generator de curent de 250 uA cu schema de mai sus atunci e inutil sa-ti mai explic si abtine-te sa mai dai sfaturi la ce nu te pricepi. Operationalul e inutil daca intrarea ADC are impedanta suficient de mare. Daca mai are rabdare Bogdan pana maine o sa postez o schema mai precisa care la care masuratoarea nu depinde de tensiunea si curentul de referinta

Link spre comentariu

@mdorian Ai dreptate , nu se poate obține un curent atât de mic cu LM317 . Explicația ta legată de curentul Iadj este însă doar o parte a răspunsului ( cea mai mică ).

Valoarea și instabilitatea lui Iadj afectează , cum spui , precizia , dar nu împiedică fundamental obținerea unui curent de 250µA. 

Motivul esențial este curentul minim de sarcină care se situează între circa 1mA la diferențe mici de  tensiune intrare-ieșire și circa 3,5mA la diferențe mari ( valori tipice ) . Acest curent este format de curentul care polarizează referința de tensiune și celelalte etaje ale circuitului și care nu are pe unde să se închidă ( Iadj fiind mic ) decât prin ieșire - a se vedea schema internă.

Link spre comentariu

Ok , hai sa vedem cum se face daca tot am vazut cum nu se face.

 

Cel mai simplu , pentru ca tot foloseste C si are biblioteci matematice la dispozitie:

post-177316-0-21853900-1431414965_thumb.png

Avem:

Vadc = VCC*R/(Rref+R)

Valoarea n  citita de ADC daca legam referinta la VCC si rezolutia e de 10 biti este n = 1024*Vadc/VCC

Inlocuind Vadc din prima formula n = 1024*R/(Rref+R) care nu depinde decat de Rref si R

Extragem R = Rref*n/(1024-n) , nu trebuie decat sa stim cu precizie valoarea rezistentei Rref

Pentru a ramane cat de cat in portiunea liniara putem alege Rref = 20 Kohm

Eroarea data de rezolutia adc-ului e cam de 1% spre valoarea de 20 kohm si cam de 20% spre valoarea de 200 ohm , normal pentru valori mici

 

Un pic mai complicat dar cu precizie ceva mai mare:

post-177316-0-11941500-1431416067_thumb.png

Curentul generat prin Rref este Iref = (Vcc*R1/(R1+R2))/Rref

 Alegem R2= 3*R1 pentru ca tensiunea pe Rref sa fie 1/4 din Vcc si curentul Iref astfel incat la 20 Kohm Vadc sa fie aproximativ 1/2 din Vcc

Vadcmax=Vcc/2 = Iref*Rmax=VccRmax/4Rref deci Rref = Rmax/2 = 10 kohm

 

Valoarea n citita de ADC cu referinta la VCC este n = 1024*Vadc/VCC = 1024* Iref*R/Vcc = 1024*(Vcc/4Rref)*R/Vcc = 1024*R/4Rref = 256*R/Rref care nu depinde decat de R. Chiar daca R1, R2, Rref nu sunt de precizie rezultatul este de forma R = n*alfa care nu depinde decat de raportul intre R1,R2 si Rref ,se poate concepe o calibrare intr-un singur punct pentru a se determina alfa.

 

 

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări