Sari la conținut
ELFORUM - Forumul electronistilor

Transfer date intre doua Mc-uri


nickrvl

Postări Recomandate

Vizitator beamrider

1) Sunt pierderi disipative mari pe reteaua R2R deoarece curentul prin consumator este obligat sa treaca si prin rezistori tip R.2) Daca cel care a deschis topicul vrea sa faca o sursa in comutatie atunci trebuie sa ia o schema de undeva pentru ca asa pe incercari este foarte greu sa le construiesti.

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

Top autori în acest subiect

  • nickrvl

    6

  • script22

    3

  • godFather89

    3

  • matache

    3

Top autori în acest subiect

Imagini postate

Intimpin in continuare aceasi problema, in gol reusesc sa stabilizez foarte bine tensiunea, cu o sarcina chiar si mica i-mi scade tensiunea invariabil pina pe la 6,7V indiferent de "tensiunea setata"

 

"script22", cunosc respectivul site insa nu-mi e clar daca respectiva schema poate stabiliza tensiunea, oricum cel putin momentan continui sa testez ce am inceput, cel putin de curiozitate.

Inteleg si exemplul tau de cod dar asta deja face si "codul" meu, numai ca doar in gol functioneaza bine.

 

Cu acest cod s-au facut ultimele teste, mai simplu de atit.....

 

 

Dim Voltcontrol As WordConfig Portb.0 = OutputComtrz Alias Portb.0Comtrz = 1Dim Tensiunesetata As ByteTensiunesetata = 100    'corespunde a 10VConfig Adc = Single , Prescaler = 8 , Reference = Internal  Start AdcDoVoltcontrol = Getadc(0) If Voltcontrol > Tensiunesetata Then Comtrz = 1 If Voltcontrol < Tensiunesetata Then Comtrz = 0Loop

Si schema:

post-9441-139829543028_thumb.jpg

Link spre comentariu

Schema aceea este un regulator de tensiune perturbat de un semnal parazit. Nu are cum sa mearga.

Pe figura stabilizatorului standard de mai jos,

Posted Image

Uout=Uz-Ube=5.6-5=5V

La tine in loc de Uz ai o tensiune variabila deci Uout se va modifica instantaneu in acord cu fluctuatiile acesteia, pentru situatia cind ai sarcina standard la iesire.

 

Cind stabilizatorul tau este in gol, incarci de fapt lent condensatorul si pe urma il descarci prin: curentul invers al diodei, curentul divizorului de tensiune de la intrarea ADC-ului, curentul invers al jonctiunii BE, etc., care fiind mici dau suficient timp de reactie buclei de reglaj cu microcontroller sa actioneze pentru reincarcarea condensatorului. Astea sunt niste artefacte. Din cauza asta stabilizezi tensiunea doar in gol.

Link spre comentariu

Între baza tranzistorului şi pinul Comtrz trebuie o rezistenţă de câţiva kohm, ca să limitezi curentul maxim prin acel pin.

 

Rezistenţa e utilă atât la comanda tranzistorului, dar mai ales în caz de avarie, când te poţi trezi cu toţi cei 21V pe pinul Comtrz. Fără o rezistenţă serie, AVR-ul se va arde. Cu o rezistenţă calculată astfel încât să nu depăşeşti curentul maxim admis de diodele de protecţie ale AVR-ului, are şanse să scape (scapă dacă şi alimentarea AVR-ului e gândită astfel încât să îşi păstreze tensiunea de 5V chiar şi atunci când se injectează 21V/câţiva miliamperi în ieşirea sursei de 5V).

 

Pune schema completă, cu valorile componentelor, cu divizorul de tensiune care merge la ADC, etc.

 

Revenind la sursa reglabilă, contează atât valoarea lui C1 cât şi curentul absorbit de consumator.

Teoretic, ar trebui să meargă. Practic, metoda aleasă nu e prea bună. Ar putea merge, dar numai în anumite condiţii foarte restrânse.

 

Mai bine, foloseşte un PWM ca să dictezi tensiunea de referinţă + o buclă analogică de reglaj care să ţină ieşirea sursei la aceeaşi tensiune cu referinţa.

Link spre comentariu

Intimpin in continuare aceasi problema, in gol reusesc sa stabilizez foarte bine tensiunea, cu o sarcina chiar si mica i-mi scade tensiunea invariabil pina pe la 6,7V indiferent de "tensiunea setata" "script22", cunosc respectivul site insa nu-mi e clar daca respectiva schema poate stabiliza tensiunea, oricum cel putin momentan continui sa testez ce am inceput, cel putin de curiozitate.Inteleg si exemplul tau de cod dar asta deja face si "codul" meu, numai ca doar in gol functioneaza bine.Cu acest cod s-au facut ultimele teste, mai simplu de atit.....

Dim Voltcontrol As WordConfig Portb.0 = OutputComtrz Alias Portb.0Comtrz = 1Dim Tensiunesetata As ByteTensiunesetata = 100    'corespunde a 10VConfig Adc = Single , Prescaler = 8 , Reference = Internal  Start AdcDoVoltcontrol = Getadc(0) If Voltcontrol > Tensiunesetata Then Comtrz = 1 If Voltcontrol < Tensiunesetata Then Comtrz = 0Loop
Si schema:[attachment=0]Clipboard03.jpg[/attachment]
ce ai facut tu aici nu cre ca va merge ai facut un loop cu acd ul tu acm trimiti multi 010101 cat poate uc ul tau la frec respectiva. nici teoretic nu poti tine frecventa stabila cu loop ul tau tot va creste cu 1 si scadea cu 1 incearca macar sa cresti sau scazi o subunitate.
Link spre comentariu

"Problema" cu instabilitatea era de la tranzistor fiind un bipolar comanda sa se face in curent si depinde de facorul de amplificare etc etc, probabil ca o configuratie Darlington ar fi mers totusi, am inlocuit bipolarul cu un IGBT cu rezultate net superioare, intr-un cuvint astfel teoretic e capabil sa functioneze in regimul pe care il vreau.

Mai departe alte probleme: una este ca IGBT-ul se incalzeste si la 1A (cu un mic radiator U) cred ca o pot rezolva din driver-ul de comanda, in testele de pina acum comanda sa facut primitiv;

si alta, functionarea buna am obtinut-o in continuare doar daca softul se ocupa strict doar de controlul si stabilizarea tensiunii, aici am folosit totusi preponderent doar doua variante.

 

Mai jos variantele folosite:

 

Schema si softul cu cele mai bune rezultate

 

3.pdf

 

 

$regfile = "m8def.dat"Config Portb.0 = OutputComtrz Alias Portb.0Comtrz = 1Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.0       'pentru atmega 8Config Lcd = 16 * 2Cursor OffClsDim Voltcontrol As WordDim Tensiunesetata As ByteTensiunesetata = 100Config Adc = Single , Prescaler = 8 , Reference = Internal  'aref'avcc'Start AdcDoVoltcontrol = Getadc(0) If Voltcontrol > Tensiunesetata Then Comtrz = 1 If Voltcontrol < Tensiunesetata Then Comtrz = 0LoopEnd

 

 

Si varianta cu rezultate slabe la care probabil ca o sa renunt, varianta cu initiere la trecere prin 0.

 

 

4.pdf

 

 

$regfile = "m8def.dat"Config Portb.0 = OutputPinb.0 = 1Comtrz Alias Portb.0Comtrz = 1Config Portb.2 = OutputLed Alias Portb.2Led = 0Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.0       'pentru atmega 8Config Lcd = 16 * 2Cursor OffClsDim Voltout As WordDim Aratavolt As String * 4Dim X As WordX = 0Dim Nr As ByteNr = 0Dim Voltcontrol As WordDim Voltinit As WordDim Tensiunesetata As ByteTensiunesetata = 90Config Adc = Single , Prescaler = 8 , Reference = InternalStart AdcDoVoltinit = Getadc(1)                                        'se face citire pe forma de unda din curent continuu nefiltratIf Voltinit < 5 Then                                        'daca forma unda descreste sub 0.5V Do If Voltcontrol < Tensiunesetata Then Comtrz = 0 Voltcontrol = Getadc(0)   If Voltcontrol > Tensiunesetata Then   Comtrz = 1   Upperline   Aratavolt = Str(voltcontrol)   Aratavolt = Format(aratavolt , "00.0")   Lcd " " ; Aratavolt ; " V      "   Exit Do   End If LoopEnd IfLoopEnd

 

L.E.

Cu alte cuvinte nu reusesc sa scriu "informatie" pe LCD intr-un timp scurt in asa fel incit sa pot controla in totalitate "procesul". Daca afisarea pe LCD o fac dupa si in timpul cit IGBT e deschis tensiunea pe iesire va creste cu cel putin 3V fata de referinta, daca incerc asta atunci cind IGBT este inchis tensiunea va scadea mult, acea scriere in LCD se poate compara cu WAITMS, adica ca si cum as opri bucla din program citeva ms.

Link spre comentariu
Vizitator beamrider

Ceea ce vrei sa realizezi este un convertor step down in comutatie.

Faci incercari degeaba ca pina la urma tot la asemenea convertor vei ajunge.

 

Aici este teoria convertorului:

http://en.wikipedia.org/wiki/Buck_converter

 

Schema sa de principiu:

Posted Image

 

Schema practica:

Posted Image

Vezi si calculatorul de aici: http://www.daycounter.com/LabBook/BuckC ... ions.phtml

care iti da valorile componentelor schemei.

 

Ideea este sa comanzi tranzistorul in baza cu un semnal dreptunghiular generat de un pin PWM al microcontrolerului si a carui frecventa este modificata prin program in functie de valoarea tensiunii de iesire a convertorului in asa fel incit aceasta sa oscileze cit mai putin in jurul unei valori presetate.

Link spre comentariu

Ceea ce vrei sa realizezi este un convertor step down in comutatie.

Faci incercari degeaba ca pina la urma tot la asemenea convertor vei ajunge.

 

Aici este teoria convertorului:

http://en.wikipedia.org/wiki/Buck_converter

 

Schema sa de principiu:

Posted Image

 

Schema practica:

Posted Image

Vezi si calculatorul de aici: http://www.daycounter.com/LabBook/BuckC ... ions.phtml

care iti da valorile componentelor schemei.

 

Ideea este sa comanzi tranzistorul in baza cu un semnal dreptunghiular generat de un pin PWM al microcontrolerului si a carui frecventa este modificata prin program in functie de valoarea tensiunii de iesire a convertorului in asa fel incit aceasta sa oscileze cit mai putin in jurul unei valori presetate.

Cum sa nu mearga, deja merge, nu am spus mai sus? am stabilizare a tensiunii la nivel de maxim 200mV chiar si in sarcina, "problema" e cu timpul pe care il consuma Mc-ul cu afisarea datelor, acolo m-am inpotmolit.

Oricum e la nivel de test si e posibil ca totusi sa nu mearga pina la final "perfect", studiez deja si ce mi-ai sugerat

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