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.

Nierówna praca silnika DC przy sterowaniu PWM z uC

takaba 05 Sie 2007 11:40 1907 12
  • #1 05 Sie 2007 11:40
    takaba
    Poziom 19  

    Witam,
    chcę sterować silnikiem prądu stałego za pomocą PWM. Chodzi o maleńki silnik 5V DC razem z przekładnią ok 1:50 (zarówno silnik jak i przekładnia pochodzą z serwomechnizmu modelarskiego). A źródłem sygnału PWM jest mikrokontroler Atmega8, tranzystor kluczujący to ULN2803.
    Problem na jaki się natykam jest taki, że: wg tego co wiem, to PWM powinno zapewnić pełną (albo zbliżoną do pełnej) moc silnika przy pełnym zakresie obrotów. Tymczasem przy małym wypełnieniu (10%) silnik nie ma siły poruszyć przekładnią a zwiększając wypełnienie (25%) od razu zaczyna obracać się bardzo szybko. Gdy zwiększę preskaler dla PWM z 64 do 1024 (uC jest taktowany zegarem 1MHz) to sytuacja się poprawia, z tym że, silnik pracuje skokowo bo PWM na długie okresy.
    Nie wiem jak można poprawić ten stan, czy programowo poprawiając parametry PWM'u czy źródła problemu należałoby się doszukiwać w hardware'rze i dodać np. diody zapobiegające prądom wstecznym pochodzącym z silnika.
    Liczę na jakieś sugestie i pozdrawiam
    Takaba

    0 12
  • #2 05 Sie 2007 12:23
    pubus
    Poziom 30  

    To akurat normalne...
    Charakterystyka jest zbliżona do logarytmicznej...
    Przy liniowej zmianie tracisz trochę zakresu regulacji...
    Sprawdź przy jakim wypełnieniu silnik już zaczyna się kręcić i od tego momentu dopiero zacznij regulację...
    Częstotliwość PWM powinna być gdzieś między 1-100kHz...
    Dla mniejszego silnika może być bliżej górnej granicy...

    0
  • #3 05 Sie 2007 12:56
    marek_Łódź
    Poziom 36  

    Tego typu napędy są mocno wrażliwe na częstotliwość PWM, wię może sprawdź w jakim zakresie f silnik zachowuje się najlepiej.

    0
  • Pomocny post
    #4 05 Sie 2007 13:18
    Fajfer2
    Poziom 20  

    Przyczyną może być czas reakcji układu ULN 2803. (tam są wewnętrzne diody zwrotne - trzeba tylko podłączyć + tego układu do zasilania silnika)
    W pdf - ie pisze Turn On max 1uS - to przy sterowaniu PWM
    nie jest szybko - już przy f = 1kHz i wypełnieniu 1/255 mamy czas
    1 impulsu 4uS - jak dasz jeszcze większą częstotliwość - to
    jeszcze gorzej. Musisz dodatkowo uwzględnić Uce sat = ok. 1V
    Czyli rzeczywista amplituda U na silniku to ok. 4V
    Nie znam się jednak na AVR -ach i nie wiem jaka jest w tym układzie
    częstotliwość wyjściowa.
    A to chyba nie jest prawda że PWM zapewni Ci pełną moc silnika.

    0
  • #5 06 Sie 2007 10:28
    Ch.M.
    Poziom 27  

    Prawda prawda, tylko wywal ten stopien wyjsciowy i zrób własny na MOSFET'ach z RdsON rzędu kilku mOhm. Czestotliwość pracy dobierasz tak jak Ci wygodnie. U mnie silnik ze sporym obciazeniem fantastycznie pracował przy 60Hz a przy 30Hz jeszcze bardziej zwiększał sie moment (przy niskich obrotach). Wszystko zalezy od charakteru silnika i jego parametrów oraz obciązenia. Wywal sterownik bo on mimo, ze ma słabe tranzystory to bycmoze ma jeszcze zaimplementowana obsługe regulacji napięciem (nie przeczytałem podfa ale tak podejrzewam)

    0
  • #6 06 Sie 2007 15:22
    takaba
    Poziom 19  

    Fajfer2:

    Cytat:
    (tam są wewnętrzne diody zwrotne - trzeba tylko podłączyć + tego układu do zasilania silnika)

    Mówisz o pinie 10 układu ULN2308? Jak mam go podłączyć bo aktualnie wisi w powietrzu.
    Cytat:
    Musisz dodatkowo uwzględnić Uce sat = ok. 1V

    nie znam takiego parametru, możesz mi to objaśnić?

    0
  • Pomocny post
    #7 06 Sie 2007 15:35
    marek_Łódź
    Poziom 36  

    takaba napisał:
    Mówisz o pinie 10 układu ULN2308? Jak mam go podłączyć bo aktualnie wisi w powietrzu.
    Do plusa zasilania silnika (najwyższy potencjał w układzie. Przy odciętym kluczu tranzystorowym prad silnika zamknie się przez te diody. Brak tego połączenia powoduje przepięcia z możliwością przebicia kluczy, czy zniszczenia mikrokontrolera lub zakłócenia jego pracy.

    takaba napisał:
    Uce sat = ok. 1V. nie znam takiego parametru, możesz mi to objaśnić?
    Napięcie nasycenia wysterowanego tranzystora. Czyli zasilanie 5 rozłoży się tak: 1V na tranzystorze, 4V na silniku
    .

    0
  • #8 06 Sie 2007 21:22
    takaba
    Poziom 19  

    Ch.M.

    Cytat:
    Wywal sterownik bo on mimo, ze ma słabe tranzystory to byc moze ma jeszcze zaimplementowana obsługe regulacji napięciem (nie przeczytałem podfa ale tak podejrzewam)


    Nie za bardzo rozumiem... Sterownik czyli co, uC mam wywalić?

    marek_Łódź:
    Cytat:
    Do plusa zasilania silnika

    Już podłączone :)

    Co do częstotliwości PWM to pojawiają się głosy, że powinno być 100kHz i że przy 30Hz pracuje dobrze :) Więc chyba będę musiał po prostu eksperymentować.
    Rozumiem, że częstotliwość PWM'u w Atmedze to:
    częstotliwość zegara (u mnie 1MHz) ÷ preskaler (1,8,64,256 lub 1024) ÷ rozdzielczość_pwm (8,9 lub 10bit). Czyli mogę uzyskać częstotliwość PWM od 4Hz do 4kHz, dobrze liczę?

    0
  • #9 06 Sie 2007 21:43
    Fajfer2
    Poziom 20  

    Wg. mnie f = 100 kHz to wiele za dużo - nawet dla małych silniczków
    i tranzystorów - będą dawały znać o sobie właśnie takie parametry
    jak "Turn On" Turn off" , moc strat w czasie przełączeń itd.
    Jak wybierzesz kilka kHz to będzie ok. (lub mniej)

    0
  • #10 06 Sie 2007 22:35
    Dr_DEAD
    Poziom 28  

    takaba napisał:

    Rozumiem, że częstotliwość PWM'u w Atmedze to:
    częstotliwość zegara (u mnie 1MHz) ÷ preskaler (1,8,64,256 lub 1024) ÷ rozdzielczość_pwm (8,9 lub 10bit). Czyli mogę uzyskać częstotliwość PWM od 4Hz do 4kHz, dobrze liczę?

    od 1Hz do 4kHz

    Dodano po 3 [minuty]:

    Generalnie tak jak pisze Ch.M. stosując niskie częstotliwości (30, 60Hz) będziesz miał dodatkowy efek w postaci większego momentu przy niższysz obrotach, bo to już nie będzie regulacja napięciem tylko tak jakby impulsowa.

    0
  • #11 08 Sie 2007 12:21
    Ch.M.
    Poziom 27  

    Chodziło mi o ULN2803, myślałem ze to scalony sterownik silników, a to tylko kilka darlingtonów... W każdym razie jak znudzi Ci się podgrzewanie otoczenia to poczytaj o MOSFETach.
    Pozdrawiam

    0
  • #12 09 Sie 2007 16:55
    takaba
    Poziom 19  

    Tak chciałem to zrobić na mosfetach. Ale do ich wysterowania chyba potrzeba 10V-15V a cały układ pracuje na 5V...

    0
  • #13 09 Sie 2007 17:22
    Dr_DEAD
    Poziom 28  

    takaba napisał:
    Tak chciałem to zrobić na mosfetach. Ale do ich wysterowania chyba potrzeba 10V-15V a cały układ pracuje na 5V...

    Eeeee, nie. Jak byś się postarał to na 1.5V byś coś znalazł, albo nawet na 0.6V. Tylko zwracaj baczną uwagę na pojemność między G a S.

    0
  Szukaj w 5mln produktów