logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sterownik silnika DC - Kontrola prędkości obrotowej

maras723 06 Sty 2016 01:00 1593 7
  • #1 15305129
    maras723
    Poziom 9  
    Posty: 17
    Cześć,

    Projektuję zdalnie sterowany pojazd kołowy o masie około 2kg, prędkości maksymalnej 1-2m/s, napędzany 4 silnikami - jeden na jedno koło. Na podstawie obliczeń dobrałem wstępnie silniki szczotkowe DC z przekładnią o maksymalnym prądzie 5A (przy zablokowanym wale) zasilane z 12V. Całość będzie sterowana bezprzewodowo - sygnał z pilota zostanie odebrany i przetworzony w sterowniku głównym, a następnie najlepiej w postaci PWM i stanów H/L przesłany na odpowiednie piny sterownika silnika, który chciałbym wykonać samemu na jakimś gotowym układzie scalonym. Jednak dodatkowo chciałbym dodać sprzężenie zwrotne od prędkości obrotowej, aby automatycznie zwiększyć wypełnienie PWM w bardziej obciążonym kole.

    Zastanawiam się tylko w jaki najlepszy sposób do tego podejść, aby zbytnio nie komplikować. Chodzi mi tylko o prędkość obrotową, położenie kątowe mnie nie interesuje. Mogę zakupić silniki z wbudowanym enkoderem, tylko nie wiem czy będzie potrzebny. Czytałem też o sterownikach z wykorzystaniem back EMF, jednak nie wiem czy będzie to wystarczające. Prosiłbym o porady, może macie inne, lepsze propozycje. W sterowniku głównym dodałbym później jakiś regulator (PI, PID) i dobrał jego nastawy - porównał też samą pracę z różnymi nastawami.

    Pozdrawiam
  • #2 15305164
    pawel1029384756
    Poziom 21  
    Posty: 360
    Pomógł: 33
    Ocena: 277
    Wydaje mi się, że jedynym dobrym pomysłem jest enkoder, nawet nie musi być jakiś bardzo precyzyjny, możesz poszukać czegoś z myszek kulkowych, powinny takie enkodery się nadać.
  • #3 15305981
    maras723
    Poziom 9  
    Posty: 17
    No dobra, ale czy sam sygnał z enkodera wystarczy - zliczanie liczby impulsów w przedziale czasu i stąd informacja o prędkości? Z tym back EMF nie próbować? Dodatkowo w jaki sposób najlepiej zrealizować takie zliczanie impulsów, bezpośrednio na mikrokontroler czy może jakiś układ scalony z czasowym resetowaniem licznika?

    Zastanawiam się jeszcze jaki układ scalony wybrać jako sterownik silnika. L298D nie wystarczy, myślałem nad układem VNH3SP30, ale może znacie lepsze, bo ten jest nawet na 40A, a ja potrzebuje tylko 5A.

    A jak wygląda zmiana kierunku obrotowego w takich sterownikach. Wiem, że to kwestia sterowania jednym pinem, ale chodzi mi o uniknięcie sytuacji, gdy rozpędzony pojazd nagle dostaje informacje, że ma jechać w drugą stronę i silnik załącza się pełną mocą w przeciwnym kierunku, co nie byłoby raczej wskazane. Czy te układy scalone mają możliwość kontroli tego czy musiałbym sam to zrobić w kodzie mikrokontrolera na podstawie prędkości obrotowej?
  • #4 15314081
    maras723
    Poziom 9  
    Posty: 17
    Nikt nie pomoże?
  • #5 15319118
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    Obsługa enkodera polega na liczeniu impulsów w określonym przedziale czasowym, nie potrzeba do tego żadnych dodatkowych układów. Najprościej wykorzystać do tego układ przerwań zewnętrznych danego mikrokontrolera.
    Cytat:
    A jak wygląda zmiana kierunku obrotowego w takich sterownikach. Wiem, że to kwestia sterowania jednym pinem

    Chętnie bym zobaczył jak chcesz jednym pinem sterować mostek H chyba że bez stop, proponuje poczytaj sobie o sterowaniu mostkami H oraz o obsłudze enkodera artykułów jest cała masa na forum i w sieci.
  • #6 15319264
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    Proponuję sterowanie silnika prostokątem zmiennym. W zależności od wypełnienia silnik zmienia płynnie kierunek obrotów. Dodatkowa korzyść to trwałość silnika.
  • #7 15319622
    maras723
    Poziom 9  
    Posty: 17
    Prostokątem zmiennym? Chodzi o PWM? Tak, chce go wykorzystać, ale nie wiem w jaki sposób miałbym samym PWM zmieniać również kierunek obrotów. Chyba, że chodzi o płynne zmniejszenie prędkości obrotowej (programowo), potem zmiana kierunku obrotu i dalej zwiększenie prędkości obrotowej.

    Generalnie chodzi mi tylko o to czy ten enkoder wystarczy i czy będzie to najlepsze rozwiązanie i dlaczego lepsze od innych, np. back EMF.
  • #8 15320430
    Zbigniew 400
    Poziom 38  
    Posty: 4356
    Pomógł: 283
    Ocena: 792
    Generujesz przebieg prostokatny nad osią i pod osią. W zależności od wypełnienia uzyskujesz odpowiednie obroty. Przy symetrycznym przebiegu uzyskujesz hamowanie zależne od wypełnienia.

Podsumowanie tematu

✨ Użytkownik projektuje zdalnie sterowany pojazd kołowy z napędem na cztery silniki szczotkowe DC z przekładnią, zasilane z 12V i maksymalnym prądem 5A. Chce zastosować kontrolę prędkości obrotowej z wykorzystaniem PWM oraz sprzężenie zwrotne z enkodera. Dyskutanci sugerują użycie enkodera do zliczania impulsów w celu określenia prędkości, a także omawiają różne układy scalone do sterowania silnikami, takie jak L298D i VNH3SP30. Poruszają również kwestie zmiany kierunku obrotów silnika oraz metody hamowania. Wskazują na możliwość wykorzystania prostokątnego sygnału PWM do płynnej regulacji prędkości i kierunku obrotów.
Wygenerowane przez model językowy.
REKLAMA