78ATI Postat Septembrie 13, 2007 Partajează Postat Septembrie 13, 2007 Buna tuturor. Am o mica problema legata de masurarea unei tensiuni pe o rezistenta de valare mica 2 Ohm. Doresc sa fac un voltmetru cu PIC16F675, cat mai simplu posibil. Ma puteti ajuta cu exemple de scheme electronice si/sau exemple de conversie A/D pentru acest controler. Problema in cazul meu este ca voi masura tensiunea intr-un curcuit exterior celui de 5V (24V), si nu stiu cum as putea seta tensiunea de referinta. Sincer nu as dorii sa folosesc surse calibrate pentru tensiunea de referinta, deoarece precizia sau rezolutia nu este foarte importanta. Va multumesc! Link spre comentariu
puiu Postat Septembrie 13, 2007 Partajează Postat Septembrie 13, 2007 1. roblema este ca va trebui sa pui 0V de la montajul PIC la 0V de la montajul cu 24V.2. Pe rezistenta ta de masura 2 Ohmi pui in paralel un divizor rezistiv de exemplu 5K+20K, daca nu pot sa apara semnale mai mari de 24V, si iei semnalul de masura de pe rezistenta de 5 K care are un capat legat la masa.3. Pentru sursa de referinta eu iti recomand MCP1541, care este un SMD care iti da 4, 096V tocmai 4 mV pe diviziune daca ai 1024 de diviziuni sau 16 mV pe diviziune daca ai 256 de diviziuni.4 pentru reglaj poti utiliza un potentiometru de 1k in serie cu rezistenta de 5K care devine rezistenta de 3,9K (mai ales daca folosesti monzajul de la pt. 3) Link spre comentariu
XAN77 Postat Septembrie 13, 2007 Partajează Postat Septembrie 13, 2007 mai bine zi la ce curent maxim te astepti prin rezistenta de 2 ohm, ca sa sti astfel ce cadere de tensiune maxima poate fi pe rezistenta si apoi poti calcula divizoare rezistive etc Link spre comentariu
78ATI Postat Septembrie 13, 2007 Autor Partajează Postat Septembrie 13, 2007 Am simulat in ElectronicWorkbanch, pentru 12V si 10A, cu rezistenta de 0.1Ohm as avea o cadere de tensiune de 1V.In cazul in care voi avea 24V / 10A rezistenta de 2Ohm as avea o cadere de tensiune 18.5V. Nu este nici o problema realizarea unui divizor rezistiv, ceea ce ma intereseaza este cum fac montajul de voltmetru? Pentru varianta 12V/10A as avea o cadere de maxim 1V ceea ce s-ar incadra in carcateristicile de masura 0-5V.Montajul il doresc sa fie exact ca in figura de mai jos (voltmetrul sa fie inlocuit cu 12F675). Link spre comentariu
78ATI Postat Septembrie 27, 2007 Autor Partajează Postat Septembrie 27, 2007 Revin cu problema mea, conversia A/D facuta cu un pic 12F675. M-ar interesa o schema electronica pentru montajul de masura a tensiunii ce cade pe rezistenta. Este corect? GPIO.1 conectat la masa (ce coincide cu primul picior a rezistorului GPIO.0 conectat la celalat picior al rezistorului. Va multumesc Link spre comentariu
cirip Postat Septembrie 28, 2007 Partajează Postat Septembrie 28, 2007 Este corect? GPIO.1 conectat la masa (ce coincide cu primul picior a rezistorului GPIO.0 conectat la celalat picior al rezistorului. Nu este corect. F675 masoara o tensiune pozitiva fata de masa pe cate o intrare de convertor A/D. Tensiunea de masurat trebuie aplicata intre Vss-ul picului si una dintre intrarile A/D: AN0...AN3Cirip Link spre comentariu
78ATI Postat Septembrie 28, 2007 Autor Partajează Postat Septembrie 28, 2007 Cirip, am inteles, voi conecata masa F675 cu reyistorul meu, iar la celalat capat voi conecat una din intrarile AD. Intrebare: Ce trebuie, sau cum trebuie sa setez Vref? Nu am surse calibrate de tensiune. Link spre comentariu
Abram Burel Postat Septembrie 28, 2007 Partajează Postat Septembrie 28, 2007 VCFG=0; VCFG este bit 6 din ADCON0 Link spre comentariu
cirip Postat Septembrie 28, 2007 Partajează Postat Septembrie 28, 2007 Ce trebuie, sau cum trebuie sa setez Vref? Nu am surse calibrate de tensiune.Daca nu iti trebuie o precizie mare, poti folosi Vcc ca referinta. Eu asa fac in general. Daca vrei ceva putin mai pricopsit, foloseste referinta saracului, adica un TL431 la pinul dedicat referintei si configureaza picul corespunzator. Sper ca asta a fost sensul intrebarii.Cirip Link spre comentariu
78ATI Postat Septembrie 28, 2007 Autor Partajează Postat Septembrie 28, 2007 Acesta a fost sensul intrebarii. Precizia nu este deosebita, ci mai presus de tot ma intereseaza depasirea unui prag al tensiunii (1V). Am sa setez ca si referinta tensiunea de alimentare.Va multumesc inca o data tuturor pentru ajutor Link spre comentariu
78ATI Postat Octombrie 7, 2007 Autor Partajează Postat Octombrie 7, 2007 Am facut un programel in Proton PicBasic, insa nu reusesc sa fac sa porneasca conversia...sau cel putin...nu stiu ce ar putea avea. Va rog daca puteti arunca o privire: Device = 12F675 Dim ADVAL as ADRESL.Word Delayms 30 GPiO=0 CMCON=7 TRISIO = %00000100 ' GPI0.2 Input ANSEL = %00110100 ADCON0 = %10001001 ' ADC input on GPIO.2/AN2/pin5 Convert: ADCON0.1 = 1 ' Start Conversion While ADCON0.1 = 1: Wend Delayms 500 ' Wait 0.5 second If ADVAL > 200 then GPIO.5=1 'Led ON Else GPIO.5=0 'Led OFF End ifGoto Convert Rog o mana de ajutor daca se poate, bininteles! Multumiri! Link spre comentariu
Abram Burel Postat Octombrie 7, 2007 Partajează Postat Octombrie 7, 2007 Secventa de cod e corecta. Singura chestie care ma intriga este declararea variabilei rezultat. Nu ma pricep la Basic-ul ala, dar esti sigur ca in felul asta variabila iti intoarce resultatul din ADRESL? Link spre comentariu
78ATI Postat Octombrie 7, 2007 Autor Partajează Postat Octombrie 7, 2007 Din cele citite ca si "tutotial" si ceva exemple mai complexe...acesta este modalitatea extragerii conversie..insa, la mine nu functioneaza!In mod normal 10biti pentru o tensiune de 5V trebuie sa fie un word cu valoarea 1024.Sper sa nu fi gresit cu ceva socotelile!...mai incerc pe un alt controler, poate asta nu vrea Link spre comentariu
cirip Postat Octombrie 7, 2007 Partajează Postat Octombrie 7, 2007 Nici eu nu ma pricep la Basic; lucrez cu picii in special in asembler, dar...Rezultatul conversiei este depus in ADRESH:ADRESL prin hardware. De acolo trebuie citit si adus in variabila ADVAL, care este apoi testata. Unde se face citirea rezultatului in cadrul buclei?"Nu functioneaza" este extrem de vag. Ce tensiune aplici la intrare? Care te astepti sa fie rezultatul conversiei? Cat citesti in realitate? ... si asa mai departe. Ai posibilitatea sa simulezi? Rularea pas cu pas pe un simulator iti permite sa vezi in orice moment ce se intampla in procesor. Poti forta, de exemplu, un rezultat al conversiei si apoi sa vezi daca este preluat si testat in bucla de decizie. MPLAB stie sa faca asa ceva.Proton asta genereaza si un fisier asembler? Daca da, ar fi o solutie sa il postezi ca sa vedem ce face picul de fapt. De asta nu-mi plac limbajele de nivel inalt la controlere ptr ca nu stii ce face de fapt procesorul.Cirip Link spre comentariu
XAN77 Postat Octombrie 8, 2007 Partajează Postat Octombrie 8, 2007 nu stiu de ce te astepti sa gasesti in ADVAL valoarea conversiei, trebuia sa folosesti un ADVAL = ADIN 2, in exemplul din proton este foarte simplu si este folosita instructiunea variabila = ADIN_chanel, adica ADIN2. Nu stiu de ce teai complicat singur. 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