Jestem nowicjuszem i staram się zrozumieć, jak mogę uruchomić silnik krokowy. Pomysł, o którym myślałem, był taki, że stepery potrzebują cyfrowych impulsów do uruchomienia, a ja też tego wypróbowałem. Byłem w stanie uruchomić stepper, którego używam bardzo łatwo. Ale ostatnio natknąłem się na link, w którym użyli rampy do uruchomienia steppera, uzasadniając to mówiąc
„jeśli spróbujemy uruchomić silnik krokowy za pomocą szybkich impulsów, wtedy on po prostu tam stoi i nuci, nie obracając się. Musimy powoli uruchomić silnik krokowy i stopniowo zwiększać prędkość kroków (przyspieszanie)”. Źródło: http://www.societyofrobots.com/member_tutorials/book/export/html/314
Moje pytanie brzmi: dlaczego stepper uruchamia się z regularnymi kwadratowymi impulsami? Dlaczego potrzebujemy rampy? Wszystkie pozostałe fora i samouczki zawsze mówią o dostarczaniu impulsów cyfrowych do steppera w celu jego uruchomienia, dlaczego nie jest tam omawiana koncepcja generowania rampy? Czy złą praktyką jest bieganie krokowo za pomocą impulsów cyfrowych?
źródło
Odpowiedzi:
Gdy sterownik przesuwa silnik, wirnik musi się poruszać na tyle daleko (kąt), że gdy następna cewka (lub para cewek) zostanie pobudzona, pociągnie wirnik we właściwym kierunku. Jeśli wirnik nie przesunął się pod wystarczającym kątem, cewki pociągną wirnik do tyłu, a silnik po prostu tam będzie i brzęczy. W Internecie można znaleźć wiele ilustracji i animacji wyjaśniających, jak działa normalne działanie - wyobraź sobie, że wirnik poruszył tylko ułamek zamierzonej ilości.
Wirnik, wał i wszystko, co jest połączone z wałem, ma bezwładność i występuje tarcie różnego rodzaju.
Maksymalna prędkość, którą silnik krokowy może obracać wałem, jest związana z momentem obrotowym dostępnym z silnika i momentem wymaganym do obracania wału (dostępny moment obrotowy spada wraz ze wzrostem prędkości obrotowej, a wymagany moment obrotowy ogólnie rośnie wraz ze wzrostem prędkości obrotowej). Nie jest to bezpośrednio związane z bezwładnością.
Aby faktycznie osiągnąć maksimum (lub jego część), możesz tylko przyspieszyć RPM tak szybko, nie tracąc kroków. Maksymalne przyspieszenie jest związane z bezwładnością i nadmiarem dostępnego momentu obrotowego przy danej prędkości obrotowej. Jeśli silnik robi wszystko, co w jego mocy, aby nadążyć za bieżącymi obrotami, nie można już przyspieszyć. Jeśli obroty są wystarczająco niskie, nie musisz go zwiększać, możesz po prostu powiedzieć mu, aby zrobił krok, ale zwykle będzie to tylko ułamek obrotów, do których jest zdolny silnik. Często dla uproszczenia stosuje się rampy liniowe, ale optymalna byłaby bardziej wypukła krzywa.
Tutaj krzywa momentu obrotowego silnika od Oriental Motor (głównego japońskiego producenta):
Aby przewidzieć maksymalne tempo przyspieszenia, musisz znać moment obrotowy i moment bezwładności masy . Jeśli przekroczysz maksymalne przyspieszenie przy danym obciążeniu, silnik straci kroki, więc rozsądny margines bezpieczeństwa jest dobrym pomysłem.
źródło
Wygląda na to, że opis, który przeczytałeś, mówi o zwiększeniu prędkości , innymi słowy, częstotliwości kroków. Impulsy dla każdego kroku są nadal kwadratowe.
Powodem jest to, że silnik krokowy może generować tylko tyle momentu obrotowego. Gdy przekroczymy ten maksymalny moment obrotowy, silnik pomija kroki.
Ponadto przyspieszenie silnika wymaga momentu obrotowego zgodnie z drugą zasadą ruchu Newtona : siła jest równa masie razy przyspieszenie:
W przypadku układu obrotowego warunki nieco się zmieniają, ale są one w większości analogiczne: moment obrotowy jest momentem bezwładności razy przyspieszenie kątowe:
W konsekwencji natychmiastowe przyspieszenie silnika wymagałoby nieskończonego momentu obrotowego, co nie jest możliwe. Dlatego musimy ograniczyć przyspieszenie, to znaczy „zwiększyć” prędkość, aby ograniczyć wymagany moment obrotowy do czegoś, co silnik może wygenerować bez pomijania kroków.
źródło
Dwa lata później ... Chciałem dodać kilka szczegółów na temat typowej prędkości w stosunku do wibracji / hałasu dla dowolnego silnika krokowego.
Podczas kroczenia bardzo powoli, np. Raz na sekundę, wałek przesunie się w nowe miejsce i przereguluje, a następnie cofnie się wiele razy, aż ustabilizuje się na tym kroku. Proces powtarza się na każdym nowym kroku.
Napięcie / prąd elektryczny musi być wystarczające do obciążenia, a rozmiar silnika musi być dobrany tak, aby pasował do wymaganego momentu obrotowego.
Gdy silnik nie musi się poruszać, napięcie / prąd można zmniejszyć o około 50% do 75%, aby utrzymać tę pozycję. W przypadkach, w których tarcie jest dominujące lub przy użyciu pewnego rodzaju przekładni, silnik można całkowicie odłączyć od napięcia. Jest to podobne do przekaźników, które wymagają na przykład 12 woltów do aktywacji, ale z łatwością utrzymują kontakt aktywowany tylko 9 woltami.
Podczas zwiększania prędkości do około 20 na sekundę wibracje / hałas osiągają maksimum. Jest to prędkość, której większość inżynierów spróbuje uniknąć.
Wraz ze wzrostem prędkości zmniejsza się wibracja / hałas, a moment obrotowy również spada. Jeśli wykreślisz hałas w funkcji częstotliwości, kształt pokaże wyraźny kierunek z pewnymi lokalnymi maksimami, często o częstotliwości harmonicznej.
Załóżmy, że przy typowej wartości przekraczającej 100 kroków na sekundę wibracje są wystarczająco niskie, aby były tolerowane, i powiedzmy, że moment obrotowy staje się zbyt słaby, aby zapewnić niezawodną pracę powyżej 500 herców.
Możesz natychmiast uruchomić silnik krokowy, używając dowolnej z tych częstotliwości, bez zwiększania prędkości od 100 Hz do 500 Hz. Podobnie możesz nagle zatrzymać kroki, bez względu na częstotliwość. Prąd podtrzymania jest wystarczający do zablokowania silnika na tym etapie.
Rampowanie jest potrzebne, gdy chcesz przekroczyć maksymalną częstotliwość. Biorąc pod uwagę „typową” liczbę powyżej, może się okazać, że twój silnik nadal ma wystarczający moment obrotowy, przy płynnym przyspieszeniu, do pracy od 500 Hz do 700 Hz. Sztuczka dla niezawodnego działania polega na uruchomieniu rampy gdzieś na przykład 400 Hz, a następnie zwiększeniu jej do 700 Hz. Utrzymuj ją z tą prędkością, aż zbliży się do pozycji docelowej.
Następnie zwalniaj płynnie od 700 Hz do 450 Hz. Jeśli pozycja docelowa nadal nie jest osiągnięta, utrzymuj silnik na tej prędkości. Następnie, od 450 Hz, możesz zatrzymać. Utrzymuj silnik pod napięciem przy maksymalnym prądzie / napięciu przez 0,1 sekundy do 1 sekundy, aby mieć pewność, że wszystkie źródła drgań zostaną rozproszone.
Rampa liniowa jest łatwiejsza do utworzenia. Ale optymalny jest kształt „S”. Zaczynasz z bezpieczną częstotliwością, początkowo powoli zwiększasz i zmieniasz tempo wzrostu prędkości wykładniczej aż do osiągnięcia maksimum.
Kiedy nadchodzi czas zwolnienia, stosuje się ten sam algorytm, powoli zmniejszając prędkość i wykładniczo zmieniając szybkość zmniejszania prędkości, przestań zmniejszać prędkość po osiągnięciu bezpiecznej prędkości, co pozwala na gwałtowne zatrzymanie silnika.
Faktyczny kod robiąc to wszystko, używając mikrokontrolera motorola 68HC05, zajmował około 500 bajtów (wewnętrzna pamięć EPROM miała łącznie 8 KB, a pamięć RAM 128 bajtów). Został napisany w asemblerze.
Jeśli masz sprzęt do mikrokrokowania, możesz zignorować całą wzmiankę o hałasie i wibracjach. Nadal potrzebujesz przyspieszenia kształtu „S”, jeśli chcesz przekroczyć zwykłą maksymalną prędkość. Ale ponieważ nie ma wibracji bez względu na prędkość, możesz spowolnić tak szybko, jak chcesz.
Lekcje wyciągnięte z napędu falą kwadratową wciąż trwają. Oznacza to, że dla najbardziej wydajnego sposobu dotarcia do celu chcesz, aby opóźnienie było ustawione na częstotliwości tuż poniżej punktu, w którym moment obrotowy silnika jest wystarczający do nagłego zatrzymania i uruchomienia.
źródło