Sari la conținut
ELFORUM - Forumul electronistilor

Intare analogica


ovy_pas

Postări Recomandate

Merge sa citesti o tensiune alternativa cu pic-ul daca o suprapui peste una continua astfel incat minimul si maximul semnalului rezultat sa nu iasa inafara plajei de 0-5V. Dar pentru cazul tau, controlul unui tiristor, ai nevoie de un detector de trecere prin zero. Cauta pe gogu " zero crossing detector ".

Link spre comentariu
  • Răspunsuri 31
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • francezu

    11

  • ovy_pas

    10

  • puiu

    3

  • Rabulea Sergiu

    2

Top autori în acest subiect

Asa e trebuie suprapusa ca domeniul tensiunii de intrare sa fie pozitiv pentru ca sa poata fi citita de intrarea analogica. Dar ma intrebam daca este suficient de rapid incat sa aiba timp sa proceseze, sunt 50 Hz deci 20 ms pe o periada 10 ms pe semiperioada.Dezvolta te rog ideea cu detectorul de trecere prin zero. Se poate face o logica: cat timp Ur (tensiune de referinta) < Ui (tens la intrare analogica) atunci tiristor blocat.cat timp Ur (tensiune de referinta) >= Ui (tens la intrare analogica) atunci tiristorul conduce. Tensiunea fiind sinusoidala ea va creste, cand Ur >= Ui tiristorul intra in conductie, apoi scade din nou si Ur < Ui dar tiristorul va ramane in conductie pana la trecerea tensiunii sinusoidale a acestuia U prin zero.Ui = procent din U + suparpunere cu tensiune continua astfel ca sa varieze intre 0 - 5V

Link spre comentariu

1. Cred ca pui gresit problema. De obicei sa ia ca punct de referinta trecerea prin zero a tensiunii si se aplica semnalul la tiristor dupa un anume timp(se tine cont ca de exemplu la tensiunea redresata dar nefiltrata semnalul este pulsatoriu 100 Hz, 10 ms) iar intrarea A/D stabileste intarzierea respectiva care este proportionala cu valoarea masurata la intrare.2. Inca o data spun ca trebuie sa fii mai concret si sa vedem schema ca sa-ti spui parerea. Asa raspunsul este da, dar depinde de ce rezolutie se doreste.

Link spre comentariu

Studiaza putin modul de functionare al variatoarelor de tensiune alternativa cu control in faza si ai sa vezi ca nu ai nevoie de convertor analog-digital pentru a sicroniza comanda tiristorului cu reteaua, ci numai de un semnal de sincronizare la trecerea prin zero a tensiunii de retea, semnal obtinut de la "zero crossing detector" despre care aminteam mai sus, si care poate fi interpretat de o intrare digitala a pic-ului. Vezi aici cum este implementat ZCD-ul.

Link spre comentariu

Am 3 variante care vreau sa le exemplific si vreau sa discutam pe ele:Tensiunea la Intrarea analogica AN1 vreau sa fie proportionala cu unghiul de deschidereVarianta V1 si V2 are la baza o comparatie a doua valori in PIC functie de comparatie la iesirea Q digitala va comanda triaculVarianta V3 este cea cum m-ati sfatuit. 1.[attachment=2]V1.JPG[/attachment]Varianta V1 Compara tensiunile de referinta +Ur si -Ur cu semnalul sinusoidal functie de comparatie la iesirea Q digitala va comanda triacul2.[attachment=1]V2.JPG[/attachment]Varianta V2 Compara tensiunea de referinta Ur cu semnalul sinusoidal redresat functie de comparatie la iesirea Q digitala va comanda triaculAcesta varianta are o rezolutie mai buna (Punte redresoare divizor de tensiune) si o simplitate in soft este superioara primei variante;3.[attachment=0]V3.JPG[/attachment]Varianta V3 este cea recomandata de voi si presupune un timp din momentul trecerii prin zero cand triacul nu primeste comanda.Acum vin intrebarile:1. La varianta V1 renunt; dar pentru V2 cu un pic se poate rezolva comanda triacului proceseaza rapid in timp util? 2. La varianta V3 nu stiu cum pot face temporizare in C exsita o functie ceva? Daca folosesc functia Delay_ms(t) picul nu mai actualizeaza intrarile si iesirile decat dupa terminarea intarzierii practic face intarziere de program si nu imi intarzie un doar bit daca m-am facut inteles.3. Daca pic ul are timp pentru procesare de ce ma sfatuiti sa apelez la detectorul cu trecere prin zero tot o intrare consum plus ca mai trebuie sa si construiesc detectorul cu trecere prin zero daca o pot rezolva din soft de ce sa creez hardware.4. Daca tot ma sfatuiti pentru detectorul cu trecere prin zero si nu pentru comparator de tensiune pe intrare analogica; se poate realiza detector cu trecere prin zero din softcompar tensiunea sinusoidala redresata la intrare analogica cu o valoare constanta, cand e mai mica decat constata un bit va fi egal cu 1, apoi fac intarziere pe bit (triac OFF) dupa care deschid triacul. Asta ar fi un fel de varianta hibrida intre V2 si V3.

Link spre comentariu

1. Incerc sa raspund cat mai scurt: In afara de cazul 1 nu trebuie triac, ci tiristor.2. Trecerea prin zero a tensiunii redresate sau altfel spus detectorul de zero se face printr-o rezistenta de valoare mare care se leaga la o intrare a uP.3. Se pare ca nu sti nimic despre PIC-uri deoarece daca faci un calcul ai sa vezi ca intarzierea este masurabila, singurul lucru este nivelul dintre doua intarzieri consecutive. Deci tu trebuie sa faci o intarziere la un ciclu de 10 ms. Procesorul cel mai slab lucreaza la 4MHz deci face 1 instructiune la fiecare microsecunda. De aici rezulta daca vrei prin calcul rezolutia maxima care o poti obtine (prin soft sau prin intreruperi).4. Refefitor la punctul 2 al mesajului tau, raspunsul este ca depinde unde pui in soft rutina de Delay. Vezi ca ti s-a spus mai devreme ce aplicatii ar trebui sa citesti pentru acest lucru.

Link spre comentariu

1. Da se poate, ADC-ul din PIC12F675 de exemplu are o rata maxima de esantionare de ~45kHz.2. Nici eu nu stiu cum se face in C pt ca nu folosesc , dar iti pot spune cum se face in mod general; trebuie sa lucrezi cu cel putin doua tipuri de intreruperi : una de la un timer intern al pic-ului setat sa dea o intrerupere la intervale convenabile de timp, in functie de rezolutia dorita pt comanda triacului, si una externa de la un pin la care vei lega ZCD-ul. In momentul in care ai intrerupere de la ZCD resetezi timer-ul intern si o variabila in care tii un contor. La fiecare intrerupere data de timer-ul intern incrementezi contorul si verifici daca acesta egaleaza valoarea corespunzatoare momentului de timp la care vrei ca tiristorul/triacul sa fie amorsat. Aceasta valoare(prestabilita) o poti obtine de la un potentiometru cuplat la ADC (evident prin conversii, prelucrari in soft).3. E mai simplu sa folosesti o intrerupere exterioara, care iti indica trecerea prin zero imediat, decat sa folosesti ADC-ul care implica oarece timp de achizitie, apoi sa compari valoarea rezultatului cu pragurile setate si sa actionezi comanda triacului in consecinta. Detectorul de trecere prin zero poate insemna si o simpla rezistenta + dioda Zener care sa limiteze tensiunea pulsatorie de la iesirea puntii redresoare la maxim 5V.4. Idem 3 si...mi se pare o complicatie inutila pentru ca vei face in soft ceva ce poti rezolva cu o simpla intrerupere hardware, iar resursele uC-ului ai putea sa le folosesti pentru altceva, ex: interfatare cu o telecomanda IR.

Link spre comentariu
  • 4 luni mai târziu...

Rezolutia in biti este cea a convertorului analog-digital, in cazul pic-urilor 10 biti. In volti se calculeaza in functie de tensiunea de referinta a adc-ului Q= Vref/N, unde Vref este referinta adc-ului si N nr de biti. Ex: Vref=5V, N=10 biti => Q=5V/1024=4.883mV. Link

Numarul efectiv de valori masurate intr-un interval de tensiune este altceva si poate fi calculat astfel : Nv= (Vmax-Vmin)/Rv, unde Vmax este pragul superior al tensiunii de intrare, Vmin-pragul inferior, Rv- rezolutia in volti. Cazul tau: Nv= (1.2-0.05)/4.883 *10^3=235 - numarul de valori discrete masurate in interval. Acesta se poate inbunatatii daca micsorezi referinta adc-ului ( nu recomand, pt ca la tensiuni mici de intrare conteaza offset-ul adc-ului, si probabil mai sunt si alte surse de erori), sau daca se amplifica semnalul de intrare. Amplificarea o poti face cu un operational alimentat simetric, sau cu unul alimentat simplu - in acest caz trebuie sa accepte o excursie a semnalelor de intrare/iesire incepand de la masa. Amplificand semnalul de 4 ori, acesta se va situa in intervalul 0.2-4.8 V. In cod trebuie sa tii cont ca practic semnalul este de 4 ori mai mic decat ce citeste adc-ul.

Link spre comentariu

Am un pic 16f870 si in catalog am urmatoarele posibilitati pentru intrari analogice: [attachment=0]analog_digital.JPG[/attachment]Am cablajul deja facut cu analog input AN0 si AN1, iar la RA2 si RA3 am digital input. Mai exista si alte smecerii care trebuie configurate sa pot obtine ceea ce vreau sau trebuie sa modific cablajul?La ce ajuta Vref+ si Vref - din tabel?Se poate realiza analog output? in catalog nu scrie de asa ceva : "The ADCON1 register, shown in Register 10-2, configures the functions of the port pins. The port pins can be configured as analog inputs (RA3 can also be the voltagereference), or as digital I/O."

Link spre comentariu

Am cablajul deja facut cu analog input AN0 si AN1, iar la RA2 si RA3 am digital input. Mai exista si alte smecerii care trebuie configurate sa pot obtine ceea ce vreau sau trebuie sa modific cablajul?

Nu mai exista alte "smecherii", data viitoare sa verifici atent datasheet-ul inainte sa definitivezi schema/cablajul.

La ce ajuta Vref+ si Vref - din tabel?

Cand sunt configurate, pinii corespunzatori devin intrari analogice la care se cupleaza referinte de tensiune externe.Ambele trebuie sa fie pozitive. Acestea seteaza limitele de tensiune intre care poate masura adc-ul.

Se poate realiza analog output? in catalog nu scrie de asa ceva..

Nu are cum sa scrie, pt ca pic-ul respectiv nu are modul DAC intern. Se poate cupla cu un dac extern; exista integrate specializate cu diverse protocoale de comunicatie. Sau poti face unul cu componente discrete: retea R2R, cu PWM-ul pic-ului( daca are) si un filtru trece-jos. Gasesti destule exemple pe google : pwm dac , r2r dac .

Link spre comentariu
  • 2 săptămâni mai târziu...

Din RA3 Analog pot face un truc ca sa il fac digital sa nu mai modific cablajul?

De ce nu schimbi valoarea PGF3..PGF0 in 0100?Asta, conform tabelului, inseamna RA3, RA1, RA0 intrari ADC, restul ramanand porturi digitale.
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