Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[avr] + pwm + stabilizacja prądowa diody + teoria

kieszko 13 Sie 2009 20:02 3928 10
  • #1 13 Sie 2009 20:02
    kieszko
    Poziom 9  

    Witam!
    Od niedawna poznaje świat elektroniki. Chciałbym zrealizować za pomocą AVR stabilizację prądu diody 1W. Czytałem trochę i wiem że muszę mierzyć napięcie na Rfb za diodą oraz odpowiednio sterować PWM. I teraz załóżmy mam tak (czysta teoria): Założenia = Układ zasilany 3xAA, chce 300mA na diodzie wtedy na Rfb jest spadek powiedzmy 0,3V (o,3V na Rfb = 300mA na diodzie). I tu moje pytanie. Załóżmy ze napięcie na Rfb wzrasta do 0,35 czyli za dużo . Co ma wtedy zrobic procek: czy wyłączyć PWM całkowicie (tranzystor zamknięty) do momentu gdy napięcie spadnie poniżej chcianego 0,3V i potem znów włącza PWM na max, i tak w kółko. Czy może korygowanie ma się odbywać nie przez wyłączenie całkowite lecz przez spowolnianie i przyspieszanie PWM. Chodzi mi tylko o zasade dzialania tej korekcji. Z góry dzieki za wypowiedzi!

    0 10
  • Pomocny post
    #2 13 Sie 2009 20:06
    Mat_91
    Poziom 25  

    kieszko napisał:
    Czy może korygowanie ma się odbywać nie przez wyłączenie całkowite lecz przez spowolnianie i przyspieszanie PWM. Chodzi mi tylko o zasade dzialania tej korekcji.


    A czy kolega w ogóle wie jak działa PWM? Nie sterujesz częstotliwością PWM (tą ustaw stałą) ale wypełnieniem impulsu. Po prostu jak napięcie za duże to zmniejszasz wypełnienie aż do zadowalającego poziomu.

    0
  • #3 13 Sie 2009 21:09
    kieszko
    Poziom 9  

    Ok fajnie - o to mi chodzilo. Sorki moze za laickie pytanie ale to faktycznie wina mojej niewiedzy. Zawsze lepiej jak ktos nakieruje bo samemu jednak mi ciężko. A mam jeszcze jedno pytanie. Jako że pisze programy w BASCOM i wypełnienie jest od 0 do 255.. Jakie polecicie bezpieczne ustawienie wypelniania na poczatku. I jesli procesor uzna ze napięcie na Rfb jest za duze to wypełnienie ma się zmniejszyć o ile? O jeden? czy zastosować "większe skoki"

    0
  • #4 13 Sie 2009 22:33
    flapo213
    Poziom 21  

    Witaj.

    Jeśli mówimy o wypełnieniu to nie ma od 0 do 255 to jest względne. Ja nie programuję w BASCOMIE tylko w C/C++ i u mnie wypełnienie określa się od 0-100%. PWM - pulse width modulation, czyli jak masz prostokąt to % określa ile w w ciągu jednego okresu prostokąta zajumje jedynka logiczna a ile zero lub w inwersji odwrotnie i jak to w czasie uśrednisz to wyjdzie Ci średnia wartość przekazywanej mocy.

    0
  • Pomocny post
    #5 14 Sie 2009 09:47
    Mat_91
    Poziom 25  

    To jaki zastosujesz krok PWM to już naprawdę zależy tylko od Ciebie i od tego ile poziomów regulacji chcesz posiadać. Dla PWM 8bit masz 256 poziomów przy kroku co 1 i np tylko 25 dla kroku co 10. Wszystko zależy od Ciebie.

    A co do "bezpiecznego wypełnienia" to możesz ustawić PWM na 50% (chociaż ja bym pewnie jechał od 0% w górę przy pierwszych testach takiej diody, cały czas kontrolując jej pracę :] ).

    Pozdrawiam! :)

    0
  • Pomocny post
    #6 14 Sie 2009 11:31
    atom1477
    Poziom 43  

    Można uśredniać przebieg z rezystora pomiarowego (filtrem RC) i uzyskać w ten sposób wartość średnią prądu.
    I w zależności od niego sterować PWMem.
    Ale wymaga to specjalnego algorytmu żeby uzyskać stały prąd. Można też dać coś podobnego do regulacji na wzmacniaczu operacyjnym. Czyli każdej wartości zmierzonego prądu przyporządkować jakąś wartość PWMa.
    Ale spowoduje to niewielkie zmiany prądu (bo układ będzie chodził po dość łagodnej charakterystyce regulacji).
    A najlepiej to chyba mierzyć prąd impulsowy gdzieś w środku impulsu PWMa.
    I odpowiednim wartościom prądu impulsowego przyporządkować odpowiednie wartości PWMa.
    To już nie wymaga filtru (nie może go w zasadzie nawet tam być) i charakterystyka regulacji będzie sztywna i na pewno układ nie będzie się wzbudzał czy coś.
    Uruchamiasz Timer w trybie Phase Correct PWM. W przerwaniu od Compare (czyli w środku impulsu PWM) wyzwalasz pomiar ADC. Potem wartością ADC indexujesz tablicę z wartościami PWM i pobierasz nową wartość PWM. No i ładujesz ją do rejestru Compare Timera.

    0
  • #7 15 Sie 2009 16:57
    kieszko
    Poziom 9  

    wielkie dzięki! Idealna pomoc

    0
  • #8 16 Sie 2009 23:19
    Zajc3w
    Poziom 14  

    Nie radze używać PWM do sterowania diod power LED.
    Są bardzo czułe na nawet chwilowe przekroczenie wartości progowych, tak sterowany LED nie podziała za długo...

    Najlepiej(jak już sie upierać przy PWM) sprawdzi sie tzw Buck Conwerter czyli Mos cewka i dioda shotky'ego.

    Cały schemat jest w nocie AVR450 - ładowarka, ale jest całkiem skuteczny pomiar prądu i napięcia, w dodatku napięcie dla prądów do 30% mocy nominalnej ma minimalne tętnienia(do 0.01%) potem rosną bardzo szybko(z kondensatorem 2200uF).

    0
  • #9 16 Sie 2009 23:28
    atom1477
    Poziom 43  

    Ja sterowałem diody LED 5W. Przy dwukrotnym przekroczeniu prądu maksymalnego (ale średni był OK - wypełnienie w okolicach 50%), działają od kilku miesięcy do dziś.

    0
  • #10 16 Sie 2009 23:32
    Zajc3w
    Poziom 14  

    atom1477 napisał:
    Ja sterowałem diody LED 5W. Przy dwukrotnym przekroczeniu prądu maksymalnego (ale średni był OK - wypełnienie w okolicach 50%), działają od kilku miesięcy do dziś.


    ale żywotność to jakieś 10 000 - 1000 000 godzin. nie za długo to 1000 godzin :D

    0
  • #11 16 Sie 2009 23:37
    atom1477
    Poziom 43  

    Zapomniałem dodać że diody są firmy No Name, najtańsze jakie udało mi się znaleźć.

    Ale ja raczej obawiał bym się szybszego upalenia. Tak po kilku minutach. Myślałem że o to Ci chodzi.
    Mówisz że skróci się ogólna żywotność? No to już prędzej. Katalogowa żywotność moich to chyba 20 000h. A przepracowały faktycznie nie za dużo w stosunku do tego. Ale żadnej zmiany jasności jak na razie nie zauważyłem.

    0