Jump to content
ELFORUM - Forumul electronistilor

DAC doar cu at2313+ftj


Guest yoco

Recommended Posts

Merita studiat ?

 

am reusit sa obtin mai multe forme de unda analogice prin folosirea unui singur port i/o din uc si se pare ca da rezultate dar mai e nevoie de putin efort si/sau eventual ajutor.

imi este greu sa inteleg legatura dintre PWM-ul generat si dependenta in timp a semnalului dar sper ca voi reusi....

 

...niste rezultate:

Posted Image

Posted Image

 

bogdanm: se muta la "atmel"

Link to comment
  • Replies 20
  • Created
  • Last Reply

Top Posters In This Topic

  • cirip

    6

  • bogdanm

    5

Top Posters In This Topic

Ok, atunci ce anume te intereseaza? Ca nu mi-e foarte clar.

daca s-a mai facut asa ceva si de ex cod sursa de implementare ca nu prea am gasit documentatie pe net expres pentru asa ceva....
Link to comment

Asa cum spunea si bogdanm, nu este clar ce nu intelegi, totusi... am sa incerc sa zic si eu cateva vorbe.PWM-ul este in esenta un semnal dreptunghiular cu factorul de umplere variabil. Daca tragi un ochi la valoarea medie a semnalului dreptunghiular, o sa vazi ca depinde liniar de factorul de umplere. Daca esti la curent cu Fourier, componenta medie este in acest caz coeficientul termenului C0 din transformata Fourier, adica componenta de CC.Daca filtrezi celelalte componente (fundamentala si armonicele) cu un filtru trece jos, o sa ramai numai cu componenta continua. Daca modifici factorul de umplere dupa o lege oarecare (de exemplu sinusoidala), dupa filtrare, componenta de CC a undei dreptunghiulare va urmari variatia in timp a factorului de umplere; va fi o valoare medie variabila in timp. Prin urmare, componenta de CC va fi, in cazul nostru, un sinus.Poate ar trebui sa faci niste experimente, ca sa simti un pic ce se intampla. Ruleaza ce soft ai acolo, dar mentine fact de umplere constant si vezi ce se intampla cu nivelul de dupa filtrare. Schimba fact de umplere si vezi ce nivel e la iesire. In felul asta sper sa simti dependenta dintre fact de umplere si nivelul continuu de la iesire.Se leaga ceva?Cirip

Link to comment

Ok, atunci ce anume te intereseaza? Ca nu mi-e foarte clar.

daca s-a mai facut asa ceva si de ex cod sursa de implementare ca nu prea am gasit documentatie pe net expres pentru asa ceva....
Pe langa explicatiile excelente ale lui Cirip pot sa adaug ca poti gasi cod sursa chiar la adresa pe care ti-am dat-o mai sus ... nu e comentat prea bine, dar e destul de clar. Foloseste exact ideea de care vorbesti tu.
Link to comment

ok asta am inteles dar ma lovesc de urmatoarea problema:cum sa modific amplitudinea semnalului analogic obtinut la iesire ?, ai vazut pozele ? am obtinut sinusul dar nu stiu cum sa implementez softul pentru a obtine o variatie a amplitudinii semnalului......totul este asa cum ai zis tu dar ai dreptate nu sunt la curent cu Fourier...mai vb. Yoco

Link to comment

ok asta am inteles dar ma lovesc de urmatoarea problema:cum sa modific amplitudinea semnalului analogic obtinut la iesire ?, ai vazut pozele ? am obtinut sinusul dar nu stiu cum sa implementez softul pentru a obtine o variatie a amplitudinii semnalului......totul este asa cum ai zis tu dar ai dreptate nu sunt la curent cu Fourier...mai vb. Yoco

Pai stai nitel, ca amplitudinea si frecventa sunt doua chestii tare diferite ... iti trebuie un mic amplificator pe iesire. Probabil ca in cazul asta rezolvi linistit cu un singur operational. Cu amplificare supraunitara sau subunitara, dupa cum ai nevoie.

Link to comment

cum sa modific amplitudinea semnalului analogic obtinut la iesire ?,

Cum spuneam, semnalul de la iesire este proportional cu factorul de umplere. Deci daca maresti domeniul de variatie al factorului de umplere, se mareste si amplitudinea.exemplu. Daca variatia factorului de umplere va fi 40-60% vei obtine un nivel. Daca variatia va fi 10-90%, nivelul va fi mai mare. Astea se fac din constantele de timp. Atentie sa mentii perioada constanta (desi strict vorbind, C0 nu depinde de perioada (frecventa), dar conteaza la filtrare), adica timpul cat sta in "1" + timpul cat sta in "0" sa fie constant.Cirip
Link to comment

si... intr-adevar. Ptr aplicatie nepretentioasa, nu ai nevoie de operational. Un simplu RC la iesirea portului digital e suficient. Eu am facut un filtru de telegrafie la stilul asta si merge de rupe. Totul e ca frecv de taiere a FTJ sa se afle undeva mai jos decat frecv PWM-ului, dar mai sus decat cea mai inalta frecventa din spectrul analogic pe care vrei sa il generezi. In felul asta suprimi mazgalelile bagate de PWM, dar lasi sa treaca semnalul util. Consecinta: cu cat frecv pwm e mai mare, cu atat e mai usor de filtrat, dar (totul se plateste) scade nr de biti echivalenti cu care se face codarea esantionului si apare zgomot de cuantizare... Cred ca m-ai pierdut de mult :lol: dar daca e nevoie repet mai in detaliu ... :lol: Cirip

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines