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

Wibrowanie silnika krokowego oraz brak regulacji prędkości

21 Lip 2018 14:51 297 7
  • Poziom 3  
    Witam, posiadam silnik NEMA 17 1A 0,52 Nm oraz sterownik A4988. Podczas pracy silnika z poniższym kodem jest wszystko ok oprócz tego, że przy starcie silnik wibruje i wydaje dziwny odgłos, ale potem pracuje normalnie w porównaniu ze startem cicho. Niestety gdy tylko zmienię delaya między krokami z 400 np. na 300 silnik ledwo się rusza wibruje cały czas itp. tak samo dzieje się gdy ustawię 700+. Silnik zasilam starą ładowarką która output ma 6V, ale naprawdę daje 9V. Prąd na sterowniku ustawiony na 0.8 (przynajmniej tak wyszło z tego co liczyłem jeżeli coś źle zrobiłem to proszę o poprawę :) ). Używam kondensatora 100uF 100V przy zasilaniu silnika, a program jest na arduino MEGA. Ktoś wie w czym problem?

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • PCBway
  • Poziom 27  
    Pierwszym problemem jest u Ciebie "sztywność" zasilania. Sprawdź, czy podczas pracy napięcie jest utrzymane. W trybie pracy ze stabilizacją prądu zaleca się zasilanie możliwie wysokim napięciem. Daje to możliwość zapewnienia przepływu zadanego prądu niezależnie od częstotliwości przełączania uzwojeń (w pewnym zakresie, oczywiście). Poza tym silniki krokowe nie wystartują z wysoką prędkością - podczas rozruchu musi być zwiększana płynnie. Czynnikiem decydującym jest bezwładność mechaniczna wirnika i napędzanego mechanizmu.
  • PCBway
  • Poziom 3  
    Poszukam jakiegoś innego zasilacza, ale problem jest w tym, że gdy napisałem program składający się z 2 pętli, który co każdy obrót zmniejszał prędkość (zwiększał tego drlaya między krokami) to przy wartości około 470+ silnik co jakiś czas wibrował, zacinał się a pod koniec czasem nawet przestawał się ruszać. To raczej nie wina tego że startuje odrazu z dużą prędkością, spróbuję zmienić zasilanie i zobaczymy co dalej.
  • Specjalista elektronik
    Po pierwsze, czy silnik wykonuje zadaną ilość kroków? Jeśli dasz naprawdę duży delay, powinien tak zrobić. Nie dawaj nieskończonej pętli, tylko na określoną ilość kroków.

    Można spróbować podawać dokładnie dwa impulsy, zmieniać czas między nimi i obserwować, co się dzieje z silnikiem (głównie słuchać dźwięku - jest krótki, czy długi?).
  • Poziom 3  
    Silnik wykonuje poprawną liczbę kroków przy dealyu 400 - 700 inaczej nie robi nic poza wibrowaniem, a dźwięk jest długi, taki jakby silnik chciał się obracać ale coś by go blokowało.

    Jutro nie ma mnie w domu, więc wszystko przetestuję w poniedziałek i dam znać jak to działa.
  • Specjalista elektronik
    A próbowałeś dawać duży delay, na poziomie dziesiątek ms (czyli np. 20000)?
  • Poziom 3  
    Po podłączeniu ładowarki od laptopa chyba dział dzisiaj jeszcze sprawdzę dokładnie
  • Specjalista elektronik
    Niestety działanie silnika krokowego jest dość oczywiste tylko przy dużych odstępach czasu między krokami: podajesz sygnał, silnik wykonuje jeden krok, potem przez chwilę trwają zanikające oscylacje wokół punktu równowagi, zatrzymują się, podajesz sygnał do następnego kroku...

    Przy mniejszym odstępie czasu oscylacje nie zdążą wygasnąć przed następnym krokiem i wynik zależy od tego, w jaką fazę oscylacji się trafi; co gorsza, jest możliwe trafienie w taki sposób, że wprawdzie silnik mógłby kręcić się równo, ale odchylenie od "idealnego" ruchu będzie narastać i po chwili pojawią się oscylacje - zupełnie inne, niż te po pojedynczym kroku. I mam wrażenie, że równania opisujące ruch silnika nie dają się rozwiązać analitycznie - można tylko zrobić numeryczną symulację ruchu.

    Uproszczona teoria sugeruje, żeby przy rozpędzaniu silnika liniowo zwiększać częstotliwość impulsów - np. tak, żeby kolejny impuls dawać wtedy, gdy wirnik silnika przechodzi przez punkt równowagi po poprzednim. Po osiągnięciu zadanej prędkości trzeba opóźnić następny impuls, dając odstęp czasu 1.5X większy, a kolejne impulsy dawać znowu w mniejszych odstępach czasu, ale już stałych. Hamowanie zaczyna się znowu odstępem 1.5X większym, po nim raz odstęp normalny, i liniowe zmniejszanie częstotliwości. Już to jest dość skomplikowane, a ta teoria nie bierze pod uwagę, co się stanie, jeśli pojawi się odchylenie rzeczywistego położenia wirnika od teoretycznego - czy w kolejnych krokach zaniknie, czy będzie oscylować i te oscylacje będą narastać?