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

Silnik krokowy DRV8825 na Raspberry Pi - trzepotanie przy obciążeniu kopułą

Canna40 19 Gru 2024 07:05 330 10
REKLAMA
  • #1 21354417
    Canna40
    Poziom 2  
    Posty: 2
    Cześć. Jestem inżynierem mechanikiem i potrzebuję informacji z zakresu inżynierii elektronicznej do zaprojektowania układu silnika krokowego. Mój silnik kręci kopułą obserwatorium w domu.

    Silnik jest sterowany przez program Python na Raspberry Pi poprzez napięcie 9V. Sterownik DRV8825 zasilany transformatorowo (Link) połączenie. Załączam schemat mojej konfiguracji i poniżej wyszczególniłem odpowiednie specyfikacje komponentów elektronicznych.

    Wszystkie silniki działają dobrze w powietrzu (nie są podłączone do kopuły), więc myślę, że nie ma nic złego w okablowaniu i programowaniu. Jestem pewien, że wybrałem właściwy moment obrotowy silnika, moc i liczbę silników do napędzania kopuły (przy dużym przeprojektowaniu liczby silników, aby kopuła mogła poruszać się w oparciu o zmierzony moment rozruchowy).

    Mój problem polega na tym, że gdy silnik przez większość czasu kręci kopułą, silnik często gaśnie („trzepocze”) w przypadkowy sposób, a wał silnika przestaje się obracać i oscyluje w prawo i w lewo przez krótki czas, dopóki nie wyłączę zasilania lub nie dam kopule pomóc w ponownym uruchomieniu. Liczba zainstalowanych silników napędowych nie ma znaczącego wpływu na problem przeciągnięcia.

    Teraz, gdy mam pewność, że wykluczyłem wszelkie potencjalne problemy mechaniczne, które mogłyby uniemożliwić obracanie się kopuły, podejrzewam, że jest to spowodowane moim brakiem zrozumienia doboru zastosowanych komponentów elektronicznych.
  • REKLAMA
  • #2 21354431
    ArturAVS
    Moderator
    Posty: 26147
    Pomógł: 2295
    Ocena: 7749
    Efekt który opisujesz to przeciążenie silnika. Wstaw zdjęcia tej kopuły oraz sposobu napędu i dane silnika.
  • #3 21354460
    viayner
    Poziom 43  
    Posty: 10609
    Pomógł: 1559
    Ocena: 2032
    Witam,
    wygląda ze doprowadzasz do sytuacji "zacięcia wirnika" (to chyba tak się po polsku nazywa), obciążenie jest tak duże w stosunku do momentu silnika, że w pewnym momencie wirnik nie nadąża za wirującym polem magnetycznym i masz "przeskok jednej z faz". Jeżeli dzieje się tak przy rozpędzaniu, musisz przemyśleć parametry i sposób przyspieszania, jeżeli dzieje się tak podczas pracy, tu zapewne pracujesz "na granicy" mocy. Jeżeli masz możliwość wpływania na parametry kontroli silnika, po prostu zwiększ nieco prąd zasilania silnika, to powinno wystarczyć.
    Pozdrawiam
  • REKLAMA
  • #4 21354468
    ArturAVS
    Moderator
    Posty: 26147
    Pomógł: 2295
    Ocena: 7749
    viayner napisał:
    "zacięcia wirnika"

    Po naszemu to chyba utknięcie. Może być również ustawiony zbyt mały prąd na sterowniku DRV8825.
  • #5 21354556
    _jta_
    Specjalista elektronik
    Posty: 48880
    Pomógł: 3200
    Ocena: 4199
    Ja wiem o kilku rodzajach problemów: (1) moment siły, jaki daje silnik, nie wystarcza do poruszania tego, co ma napędzać (i myślę, że tu autor sprawdził, że moment siły jest wystarczający); (2) duża bezwładność tego, czym silnik porusza powoduje, że silnik zbyt wolno się rozpędza, nie zdąża osiągnąć odpowiedniego położenia przed kolejnym krokiem (związanym ze zmianą pola) i pole hamuje jego ruch zamiast napędzać; i (3 - to jest najtrudniejsze do zrozumienia) cały układ wpada w drgania polegające na rozhuśtaniu wirnika względem położenia, jakie próbuje się uzyskać, aż wypada z synchronizacji z krokowymi zmianami pola. I zwłaszcza wystąpieniu (3) sprzyja duża bezwładność przy małych oporach ruchu (duża dobroć mechanicznego układu rezonansowego pozwala na dłuższe oscylacje, i tylko trzeba trafić w rezonans).

    Przydałoby się dobrze zrozumieć, jak działa napęd silnikiem krokowym: zmiana pola o jeden krok daje układ, w którym moment napędzający ma wartość maksymalną, zmiana o następny przed obróceniem wału silnika na skutek tego momentu daje niestabilne położenie bez momentu napędzającego, kolejny krok spowoduje moment hamujący, a czwarty - położenie stabilne bez momentu napędzającego. Jeśli natomiast spróbujemy obracać wał bez zmian pola, to w zakresie odpowiadającym 4 krokom mamy sinusoidalną zależność momentu siły od położenia wału - w całym zakresie moment siły jest skierowany w stronę położenia równowagi, w zakresie od -1 kroku do +1 moment siły rośnie z odchyleniem (sinus od -90° do +90°), dalej maleje - jeśli przy obracaniu położenie wału silnika względem pola będzie średnio poza tym zakresem, stanie się ono niestabilne, co prowadzi do problemu (2). A problem (3) zaczyna się w zakresie od -1 do +1 - występują w nim wahania względem położenia równowagi, i kroki zmian pola trafiają w taki czas, że powiększają energię tych wahań, aż spowodują wypadnięcie poza zakres stabilności.
  • #6 21354570
    jarek_lnx
    Poziom 43  
    Posty: 22587
    Pomógł: 4172
    Ocena: 6046
    Silnik krokowy to silnik synchroniczny, obraca się tak jak wynika z impulsów podawanych na cewki, nie może sie obracać wolniej, jeśli moment obciążenia przekroczy maksimum w danym punkcie charakterystyki to, przestanie się obracać.
    Jeśli kopuła ma duży moment bezwładności, to musisz dostosować przyśpieszenie tak aby moment w żadnym punkcie nie przekraczał tego co wynika z charakterystyki silnika.
    Jest to ogólnie trudne zadanie, dlatego nikt tego nie robi. silniki krokowe najczęściej dobrane są z nadmiernym zapasem a przyśpieszenia są bardzo niskie.

    Podłączenie kilku silników do jednej kopuły to bardzo ambitne zadanie, silniki obracają się synchronicznie i trudno zrobić tak aby wszystkie dostarczały ten sam moment. Jak zrealizowałeś przeniesienie napędu?
  • REKLAMA
  • #7 21354722
    gklub
    Poziom 34  
    Posty: 1704
    Pomógł: 291
    Ocena: 726
    Jeżeli używasz kilku silników "równolegle" do napędu wspólnego obciążenia/elementu, to powinny mieć zsynchronizowane sterowanie tak, aby wykonywały kroki jednocześnie.
    Dobrze jest wprowadzić elestyczne elementy pomiędzy wirniki silników i napędzany element/masę.
    Elastyczność nie powinna być zbyt duża, aby nie "odbijała" tj. nie utrudniała wykonywania kolejnych kroków silnikom, i jednocześnie nie może być zbyt mała, żeby była skuteczna..
    Jej działanie ma ułatwić wykonywanie kroków silnikom czyli zmniejszyć wpływ bezwładności/momentu bezwładności i jednocześnie wyrównać różnice obciążeń mechanicznych silników wynikające z różnic w sterowaniu i różnic w obciążeniu mechanicznym.
  • REKLAMA
  • #9 21356311
    emarcus
    Poziom 21  
    Posty: 347
    Pomógł: 41
    Ocena: 69
    Canna40 napisał:
    Cześć. Jestem inżynierem mechanikiem i potrzebuję informacji z zakresu inżynierii elektronicznej do zaprojektowania układu silnika krokowego. Mój silnik kręci kopułą obserwatorium w domu.

    Jak z dotychczasowej dyskusji wynika to silnik nie kręci tą kopułą!
    Może ma takie zadanie ‘kręcić’, ale nie spełnia oczekiwań z kilku (!) zasadniczych powodów jak niżej.
    Canna40 napisał:

    Silnik jest sterowany przez program Python na Raspberry Pi poprzez napięcie 9V. Sterownik DRV8825 zasilany transformatorowo

    Do zasilania tego układu potrzebujesz dwa rodzaje napięć:
    Jeden 5-Voltowy do zasilania Raspberry Pi i część logicznej drivera DRV8825 oraz drugi zasilacz do zasilania silnika /(silników) o napięciu grubo(!) powyżej 8 Volt, do 45V.
    Te wspomniane 9Volt jest zbyt niskim napięciem aby zasilać kilka (?) silników.
    Jeżeli masz kiepski zasilacz, obciążysz go trochę i napięcie spadnie ci do poziomu poniżej 8 V i w konskwencji stepstick przestaje poprawnie funkcjonować!

    Co u ciebie znaczy „Sterownik DRV8825 zasilany transformatorowo”?
    Jak dobrałeś (czym się kierowałeś) wielkość /wydajność prądową, oraz napięcie wyjściowe) zasilacza dla silników ?
    Jakie są parametry tych silników?
    Oczekujesz pomocy, musisz więc podać trochę więcej informacji o systemie/projekcie, który tworzysz.
    Jak rozumiem, projektowany system nie zawiera dużych obciążeń dynamicznych, a głównie chodzi o przemieszczenie/ (kinetykę) obiektu, czyli pozycjonowanie.
    Tak na początek, podpowiem: wytestuj zasilanie dla silników 18V lub nawet 24V.
    Nie musisz obawiać się o silniki. Nie spalą się z tego powodu, jeżeli prąd na steptickach został doregulowany do poziomu (około 70% ) określonego na ich etykiecie lub w datasheet.
    Czytałem reszte dyskusji w tym wątku i nie mam zamiaru tego komentować, aby nie urazić godności dyskutantów i nie narazić się na skargi co jest nagminne na tej grupie!

    e marcus

    P.s. Odwiedź ta stronę poniżej, gdzie znajdziesz wiele pomocnych rzeczy w twoim projekcie.

    https://www.pololu.com/product/2133
  • #10 21356356
    jarek_lnx
    Poziom 43  
    Posty: 22587
    Pomógł: 4172
    Ocena: 6046
    emarcus napisał:
    Czytałem reszte dyskusji w tym wątku i nie mam zamiaru tego komentować, aby nie urazić godności dyskutantów i nie narazić się na skargi co jest nagminne na tej grupie!
    Jak ktoś pisze głupoty, to podaj argumenty które wskazują na to że to są głupoty. Nie musisz komentować, tym się różni inżynieria, od publicystyki że można analizować same fakty.
    Pisząc nie mam zamiaru komentować sugerujesz że odpowiedzi są na kiepskim poziomie, na co nie podałeś żadnej argumentacji.
  • #11 21356473
    _jta_
    Specjalista elektronik
    Posty: 48880
    Pomógł: 3200
    Ocena: 4199
    Sądząc po takim stwierdzeniu, jego autor może jeszcze nie mieć orientacji w temacie.
    emarcus napisał:
    Te wspomniane 9Volt jest zbyt niskim napięciem aby zasilać kilka (?) silników.


    Zakładam, że autor tematu zadbał o sprawy tak oczywiste, jak odpowiedni zasilacz. Są inne sprawy, mało oczywiste, które mogą powodować wadliwe działanie, i przydałoby się je zauważać.

    Do autora tematu: jesteś inżynierem mechanikiem, pewnie na studiach miałeś coś o równaniach ruchu - może trzeba je zastosować do analizy właściwości budowanego systemu?

    Na wszelki wypadek o problemach, jakie mogą być spowodowane złym zasilaniem:
    * zbyt niskie napięcie zasilania może spowodować, że prąd uzwojeń nie będzie mógł osiągnąć zaprojektowanej wartości, i moment siły będzie zmniejszony; a nawet, jeśli prąd będzie osiągał zaprojektowaną wartość, to będzie na to potrzebny na tyle długi czas, że trzeba będzie spowalniać kroki, by pole nadążyło (nota katalogowa silnika powinna podawać opór i indukcyjność uzwojeń, żeby można było wyliczyć to opóźnienie);
    * jeśli napięcie zasilania ma duże tętnienia, a silnik ma wykonywać kilkadziesiąt kroków na sekundę, to może wyjść zdudnianie częstotliwości tętnień z krokami silnika, powodujące nierówny obrót i możliwość utraty synchronizacji.

Podsumowanie tematu

✨ Dyskusja dotyczy problemu z silnikiem krokowym DRV8825, który napędza kopułę obserwatorium na Raspberry Pi. Użytkownik zauważa, że silnik "trzepocze" i przestaje się obracać pod obciążeniem. Odpowiedzi wskazują na kilka potencjalnych przyczyn, takich jak przeciążenie silnika, zbyt mały prąd na sterowniku, zbyt duża bezwładność obciążenia oraz niewłaściwe parametry przyspieszania. Uczestnicy sugerują zwiększenie prądu zasilania, dostosowanie przyspieszenia oraz synchronizację kilku silników, jeśli są używane równolegle. Podkreślają również znaczenie odpowiedniego zasilania, aby uniknąć spadków napięcia, które mogą wpływać na wydajność silnika.
Wygenerowane przez model językowy.
REKLAMA