Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Silnik krokowy gubi kroki przy małych prędkościach.

nanab 29 Sep 2018 21:22 1821 16
  • #1
    nanab
    Level 27  
    Mam problem ze sterowaniem silnikami krokowymi, po prostu w jakimś paśmie częstotliwości(sygnał na step 115-200Hz) całkowicie głupieją, szarpią, hałasują, czasem kręcą w drugą stronę niż powinny, albo z dużo większą prędkością niż to wynika z zadanej częstotliwości.
    Poniżej i powyżej tego pasma pracuje gładziutko-na filmie widać i słychać ten efekt, płynnie zwiększam i zmniejszam częstotliwość. Pasmo trochę przesuwa się razem ze zmianą napięcia zasilania, silniki mają znamionowe 6V, próbowałem 12-35V, pasmo przesuwa się w inne częstotliwości, ale nie znika. Zmieniałem przetwornicę na zasilacz lab i na akumulator, ale nie ma żadnej różnicy. Oglądałem napięcie zasilania na oscyloskopie i jest gładziutkie(wcześniej dodałem sporo elektrolitów zaraz przy sterownikach i przy przetwornicy).
    Ustawienie prądu czy 150mA czy 1,5A też zero różnicy. Myślałem że może to jakiś mechaniczny rezonans wytrąca silnik z rytmu, ale jest ogromny zapas momentu, poza tym po odłączeniu od przekładni reszty mechaniki jest to samo. Ustawienia mikrokroku też specjalnie nic nie zmieniają, przy "drobniejszym" jest mniej zauważalne, ale i tak występuje, najgorzej jest bez podziału kroków.
    Przejrzałem sygnały step, dir, enable na oscyloskopie czy jakieś śmieci nie przechodzą, ale nic nie znalazłem.
    Czemu jeszcze powinienem się przyjrzeć? Jestem całkiem nowy w silnikach krokowych i skończyły mi się już pomysły co może być nie tak, a to ostatni problem który został do naprawienia w tej maszynie.
    silniki to Vexta PH265M-31, PH266-01-C134, drivery drv8825.
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • #2
    elektronikq
    Level 24  
    Może być problem z sterownikiem. Ile się człowiek naszarpał z tanimi sterownikami.
    A to gubi kroki a to piszczy a to jedzie za daleko ah!

    Zasilanie możesz dać maksymalnie troszkę mniejsze niż ma sterownik (pamiętaj o energii przy hamowaniu silnika). Ważny jest prąd.
    czym wysyłasz impulsy?
    Wraz ze zwiększaniem częstotliwości impulsów silnik będzie kręcił się szybciej ale będzie tracił moment. I w pewnym momencie może być tak że silnik będzie gwizdał, buczał a nie będzie się kręcił, albo będzie się kręcił ale przeskakiwał, albo gubił kroki etc.
    Wiem, że sterownik musi być dograny do silnika. Kiedyś jak podłączyłem sterownik o większym prądzie niż ma silnik to na mniejszych prędkościach było ok ale potem masakra, nie było ruchu płynnego, tylko skoki.
  • #3
    nanab
    Level 27  
    elektronikq wrote:

    Zasilanie możesz dać maksymalnie troszkę mniejsze niż ma sterownik (pamiętaj o energii przy hamowaniu silnika). Ważny jest prąd.

    Zasilanie docelowo ma być 30-35V(max dla przetwornicy, drivery mają jeszcze ponad 10V zapasu), mam trochę za duże przełożenie i muszę wycisnąć jak najwyższe obroty z tych silniczków. Prąd mam ustawiony bardzo mały(ok. 150mA), bo momentu mi nie trzeba, a szkoda marnować energię na grzanie silniczków i driverów.
    Co do sterowników to faktycznie musiałem kupić duży zapas, jeden kręcił tylko w jedną stronę, drugi i trzeci podziałały łącznie ok 20 sekund i zdechły, ten jest czwarty. Podmieniłem na kolejny i to samo.
    elektronikq wrote:
    Wraz ze zwiększaniem częstotliwości impulsów silnik będzie kręcił się szybciej ale będzie tracił moment. I w pewnym momencie może być tak że silnik będzie gwizdał, buczał a nie będzie się kręcił, albo będzie się kręcił ale przeskakiwał, albo gubił kroki etc.

    Tak wiem, ale to powinno razem z prędkością się pogarszać i występować przy dużych obrotach. U mnie to 100-200Hz czyli na silniku bez mikrokroku jakieś 60RPM, a powyżej 200Hz działa znowu płynnie aż do kilka-kilkanaście razy wyższej częstotliwości. Jak dam za dużo, to po prostu się zatrzymuje i piszczy bez żadnego szarpania itp.
    Impulsy generuję z atmega328, oglądałem na oscyloskopie bezpośrednio na pinach drivera, są ok.
    Zauważyłem jeszcze coś dziwnego-kierunek podłączenia cewek nie ma znaczenia, mogę zamienić początek z końcem jednej(tylko jednej, nie obu) cewki i działa bez zmian, chociaż chyba nie powinno?
  • #4
    elektronikq
    Level 24  
    Quote:
    Zauważyłem jeszcze coś dziwnego-kierunek podłączenia cewek nie ma znaczenia, mogę zamienić początek z końcem jednej(tylko jednej, nie obu) cewki i działa bez zmian, chociaż chyba nie powinno?

    Tak to normalne silnik będzie kręcił się w obie strony.

    Trzeba wyczytać jeszcze o jaki czas ma mieć impuls, że impuls na wejście direction ma być przed wejściem pul tzn. impulsowym. Ja na normalnym sterowniku silnika krokowego na Direction zawsze daje sygnał stały 5V albo 0V w zależności od obrotów. Nie daje tam impulsów.

    Silnik krokowy powinien być sterowany przez rampy czasowe, czyli rozruch w jakimś czasie i hamowanie też.

    Ale jak nie ma momentu to i prędkości nie zobaczysz. Jeśli twój silnik ma mały moment a Ty tylko mu dajesz 0,15A a jego prąd In=0,6A to jego moment jest mały i może dlatego się tak dzieje.
    Może być też sterownik do bani, ja kiedyś się męczyłem 2 dni, i po podmianie sterownika wszystko ok. I miałem sterownik za 120 zł i tak skończyło się na 260 zł i dopiero sterownik poprawnie sterował silnikiem.

    Zawsze możesz zrobić że jak silnik się nie kręci to wtedy hamowanie silnika jest mniejszym prądem. W sterownikach są takie rozwiązania.
  • #5
    nanab
    Level 27  
    elektronikq wrote:

    Tak to normalne silnik będzie kręcił się w obie strony.
    Tylko po co wtedy oznaczenia cewek 1A, 1B, 2A,2B, ABCD, skoro nie ważne gdzie początek a gdzie koniec cewki?
    elektronikq wrote:

    Trzeba wyczytać jeszcze o jaki czas ma mieć impuls, że impuls na wejście direction ma być przed wejściem pul tzn. impulsowym. Ja na normalnym sterowniku silnika krokowego na Direction zawsze daje sygnał stały 5V albo 0V w zależności od obrotów. Nie daje tam impulsów.

    Na step jest ładny prostokąt o wypełnieniu 50%. Atmega generuje sygnały na podstawie potencjometru, w środku jest neutrum i silnik nie kręci, dopóki jest przekręcony w którąś ze stron to sygnał dir się nie zmienia.
    elektronikq wrote:

    Silnik krokowy powinien być sterowany przez rampy czasowe, czyli rozruch w jakimś czasie i hamowanie też.

    Jest sterowany z potencjometru, chciałem zaimplementować rampy, ale człowiek nie jest w stanie ruszać rękoma tak szybko żeby były potrzebne. W sumie w pewnym momencie je zaimplementowałem, ale też nic się nie zmieniło.
    elektronikq wrote:

    Ale jak nie ma momentu to i prędkości nie zobaczysz. Jeśli twój silnik ma mały moment a Ty tylko mu dajesz 0,15A a jego prąd In=0,6A to jego moment jest mały i może dlatego się tak dzieje.

    Próbowałem dać mu nawet 1,5A i nic się nie zmienia, ani prędkość max, ani to telepanie przy 100-200Hz. Jest ogromny zapas momentu, jeden który sądził że da rade to zatrzymać ręką teraz ma ją w gipsie.
    elektronikq wrote:

    Zawsze możesz zrobić że jak silnik się nie kręci to wtedy hamowanie silnika jest mniejszym prądem. W sterownikach są takie rozwiązania.

    Mam tak zrobione teraz, steruję sygnałem enable tak że kiedy silnik stoi, to sterownik jest w standby. Wyłączyłem to też na próbę i telepanie dalej jest.
    Edit: kolejny wstawiony sterownik popracował około minuty i eksplodował, chyba będę musiał jednak przejść na normalne przemysłowe sterowniki.
    Poprawka-eksplodowały dwa, drugi nieużywany wpięty obok też.
  • #6
    elektronikq
    Level 24  
    Przejęzyczenie. W przeciwną stronę mi chodziło.
    Oznaczenie jest ważne.

    Eksplodował w momencie ? Zatrzymania silnika?
    Może przepięcie przy wyłączaniu uzwojenia silnika?
    Ten twój driver nie wymaga żadnego radiatora?
  • #7
    nanab
    Level 27  
    Radiatora przy takim małym prądzie nie potrzebuje.
    Wybuchły przy kręceniu z w miarę stałą prędkością, sekundę wcześniej zaczął przerywać. Padł też stabilizator na płytce z atmegą i zenerka która z 30V robi 5V na reset i sleep, więc co było przyczyną a co skutkiem się już nie dowiem.
    elektronikq wrote:
    Oznaczenie jest ważne.

    No to dziwne właśnie, bo nieważne jak podłączę to kręci tak samo.
    Zamówiłem bardziej normalne sterowniki na tb6600, spróbuję czy będzie jakaś różnica.
  • #8
    elektronikq
    Level 24  
    nanab wrote:
    Radiatora przy takim małym prądzie nie potrzebuje.
    Wybuchły przy kręceniu z w miarę stałą prędkością, sekundę wcześniej zaczął przerywać. Padł też stabilizator na płytce z atmegą i zenerka która z 30V robi 5V na reset i sleep, więc co było przyczyną a co skutkiem się już nie dowiem.
    elektronikq wrote:
    Oznaczenie jest ważne.

    No to dziwne właśnie, bo nieważne jak podłączę to kręci tak samo.
    Zamówiłem bardziej normalne sterowniki na tb6600, spróbuję czy będzie jakaś różnica.

    Po zmianie A+ na A- powinna nastąpić zmiana obrotów.
    Kolego z 30 na 5V? To jest 25V różnicy i ty z tego stabilizatora zasilasz silnik i sterowniki? Jeśli tak to bardzo źle.
    Jeśli nie to sama atmega na tym pojedzie ale stabilizator może się bardzo grzać.
    Poza tym sterownik w zależności od sterowania wyłącza i włącza uzwojenia. Więc w chwili wł i wył jest przepięcie które uszkadza sterownik. Jakbyś podrzucił jakiś schemat podłączenia.
    Ten układ będzie służył do zabawy/nauki czy pod konkretne zastosowanie?
  • #9
    nanab
    Level 27  
    elektronikq wrote:

    Po zmianie A+ na A- powinna nastąpić zmiana obrotów.

    Po zamianie dwóch cewek miejscami kierunek się zmienia, ale przy odwrotnym podłączeniu pojedynczej cewki nic się nie zmienia.
    elektronikq wrote:

    Kolego z 30 na 5V? To jest 25V różnicy i ty z tego stabilizatora zasilasz silnik i sterowniki? Jeśli tak to bardzo źle.
    Nie wiem czemu miałbym zasilać silniki z 5V. 5V jest robione z 12V, 30V jest robione z 12V, 30V zasila silniki, 5V zasila atmegę. Drugie 5V(z 30V) zrobione z zenerki nie zasila nic, tylko daje sygnał na sleep i reset dla driverów.
    elektronikq wrote:
    Poza tym sterownik w zależności od sterowania wyłącza i włącza uzwojenia. Więc w chwili wł i wył jest przepięcie które uszkadza sterownik.

    Wszystko podłączone zgodnie z ds, producent przewidział, że sterownik silnika krokowego będzie używany do sterowania silnikiem krokowym i zamontował w nim odpowiednie diody.
    elektronikq wrote:
    Ten układ będzie służył do zabawy/nauki czy pod konkretne zastosowanie?

    Konkretne zastosowanie, dwuosiowa obrotnica do kamery sterowana joystickiem.
  • #10
    elektronikq
    Level 24  
    Zmiana w podpięciu cewki A powinna zmienić kierunek. Chyba, że sterownik ma inaczej.

    Quote:
    Nie wiem czemu miałbym zasilać silniki z 5V. 5V jest robione z 12V, 30V jest robione z 12V, 30V zasila silniki, 5V zasila atmegę. Drugie 5V(z 30V) zrobione z zenerki nie zasila nic, tylko daje sygnał na sleep i reset dla driverów.

    Skoro stabilizator pada to chyba za duży prąd jest pobierany, albo przepięcie.
    Jak 30V jest z 12V? To zasilanie to ja bym troszkę inaczej rozwiązał.
    Może jest problem z przy hamowaniu przy akumulacji energii(zasilacz stabilizowany nie powinien zasilać krokowca ale u mnie zasilał i było ok) ale mówisz, że driver ma zapasu jeszcze 10V. Chyba trzeba załączyć oscyloskop i patrzeć jeśli impulsy są ok to może być problem sterownika. Sterownik kosztuje troszkę porządny a coś za 20 zł może mieć ograniczenia. Masz jakiś datasheet?
    A na innym silniku sprawdzałeś?

    To głupie ale zapytam czy kolega dobrze podłączył np. początek cewki A do A- a koniec cewki A do A+?
    Pytam bo spotkałem się że podłączenie było takie cewki A. Początek cewki A do A- a koniec do B+.
  • #11
    nanab
    Level 27  
    elektronikq wrote:

    Skoro stabilizator pada to chyba za duży prąd jest pobierany, albo przepięcie.

    To 1117, one lubią padać z byle powodu, zwykle wymieniam na 78 zanim padnie, ale w tym nie zdążyłem.
    elektronikq wrote:
    Jak 30V jest z 12V? To zasilanie to ja bym troszkę inaczej rozwiązał.

    Normalnie, z 12V jest generowane 30V do zasilania silników. Mam główne zasilanie 12V z akumulatora, potrzebuję wyższego dla silników, jak to inaczej rozwiązać?
    elektronikq wrote:
    Może jest problem z przy hamowaniu przy akumulacji energii(zasilacz stabilizowany nie powinien zasilać krokowca ale u mnie zasilał i było ok)

    To dzieje się niezależnie od akceleracji, czy hamuje czy przyspiesza, czy ma jechać równo to zawsze w tym paśmie zaczyna nim telepać. Jak już pisałem próbowałem kilku różnych napięć i sposobów zasilania i to samo.
    elektronikq wrote:
    A na innym silniku sprawdzałeś?

    Na kilku różnych, to samo.
    elektronikq wrote:

    To głupie ale zapytam czy kolega dobrze podłączył np. początek cewki A do A- a koniec cewki A do A+?
    Pytam bo spotkałem się że podłączenie było takie cewki A. Początek cewki A do A- a koniec do B+.

    Cewki są dobrze podłączone
    elektronikq wrote:
    Masz jakiś datasheet?

    https://www.google.pl/search?q=drv8825+datash...&sourceid=chrome&ie=UTF-8&safe=active&ssui=on
    elektronikq wrote:
    Chyba trzeba załączyć oscyloskop i patrzeć jeśli impulsy są ok to może być problem sterownika. Sterownik kosztuje troszkę porządny a coś za 20 zł może mieć ograniczenia.

    Sygnały oglądałem. Wiem że tani sterownik może być gorszy, ale myslałem raczej że będzie gorszy pod względem mocy, ilości mikrokroków, niezawodności itd, a nie że nie będzie w stanie zakręcić silnikiem. Większość drukarek 3d pracuje na takich sterownikach i takie problemy nie występują.
  • #12
    elektronikq
    Level 24  
    Ja bym zasilił układy 5V z przetwornicy. przekonałem się, że uC musi być zasilany z bardzo dokładnego źródła napięciowego. Wzbudzanie się układu, resety i inne dziwne zachowania atmegi są tym spowodowane. Nie podoba mi się zasilanie u kolegi.

    Jeśli robisz zasilanie z 12V na 30V to raczej powinno działać. Spróbuj jeszcze zasilić silnik krokowy z innego źródła np. zasilacza 24V. Może ta przetwornica nie daje rady...

    Jeśli podłączenie jest ok, impulsy ok, silnik ok to może być winny sterownik.
    Ja przerobiłem 3 zanim trafiłem na dobry pod mój silnik. A zaczynałem od 60 zł skończyłem na 280 zł.
  • #13
    nanab
    Level 27  
    elektronikq wrote:
    Ja bym zasilił układy 5V z przetwornicy. przekonałem się, że uC musi być zasilany z bardzo dokładnego źródła napięciowego. Wzbudzanie się układu, resety i inne dziwne zachowania atmegi są tym spowodowane. Nie podoba mi się zasilanie u kolegi.
    Najlepsza przetwornica ma podobne parametry do przeciętnego stabilizatora, przetwornica zawsze wprowadza więcej śmieci niż stabilizator, poza tym
    nanab wrote:
    Przejrzałem sygnały step, dir, enable na oscyloskopie czy jakieś śmieci nie przechodzą, ale nic nie znalazłem.

    elektronikq wrote:
    Spróbuj jeszcze zasilić silnik krokowy z innego źródła np. zasilacza 24V. Może ta przetwornica nie daje rady...

    nanab wrote:
    Zmieniałem przetwornicę na zasilacz lab i na akumulator, ale nie ma żadnej różnicy. Oglądałem napięcie zasilania na oscyloskopie i jest gładziutkie(wcześniej dodałem sporo elektrolitów zaraz przy sterownikach i przy przetwornicy).
  • #14
    elektronikq
    Level 24  
    A używa kolega przy stabilizatorów kondensatorów ceramicznych?
    Nie prawda, że przetwornica więcej daje zakłóceń i jest gorsze napięcie wyjściowe.
    Jak kolega znajdzie rozwiązanie to niech się nie zapomni podzielić.
  • #15
    nanab
    Level 27  
    elektronikq wrote:

    A używa kolega przy stabilizatorów kondensatorów ceramicznych?

    Zaraz przy atmedze ze trzy, na każdym zasilaniu, przy stabilizatorach zaraz przy wyprowadzeniach, tak samo na przetwornicy i na płytkach driverów.
    elektronikq wrote:
    Nie prawda, że przetwornica więcej daje zakłóceń i jest gorsze napięcie wyjściowe.

    Pokaż przetwornicę która daje szum na poziomie 50uV albo mniejszym i tłumienie syfu z wejścia na poziomie chociaż 76dB, albo podaj jakiś racjonalny powód dlaczego w precyzyjnym sprzęcie mikrofalowym za dziesiątki i setki tysięcy funtów używa się 78 i 79 zamiast przetwornic :D
  • #16
    elektronikq
    Level 24  
    Może do mniejszych prądów to się nadaje.
    Kiedyś testowałem przetworniczkę od atnel i było 4-5mV/ na działkę a stabilizator nie trzymał tak napięcia i wahania też oscylowały w okolicy 5mV ale się zmieniały.
    Stabilizator się grzeje i a od temp. też zależy napięcie. Więc moim zdaniem te mity że przetwornice sieją zakłócenia uważam za jakieś przeszłości. Oczywiście mówimy o poprawnie wykonanej przetwornicy.

    Co do stosowania LM moim zdaniem są tańsze i wystarczają po prostu do tych zastosowań.
  • #17
    wasi
    Level 12  
    Temat stary, ale nie zamknięty a ja mam/miałem podobny problem.
    Pełny krok, 36V zasilanie silników, Arduino Uno i GRBL, Silniki stare NEMA23 z prądem znamionowym na obudowie 2,1A (stare, wymontowane ze starych drukarek). Stepstick A4988.
    Przy prędkości dokładnie 30RPM dwa silniki tego samego modelu skakały w dość nieprzewidywalny sposób. Prawo, lewo jakby przyciągały się do przypadkowych "cel" rdzenia.
    W tej samej maszynie mam jeszcze 5 innych silników, które przy tych samych parametrach, na tych samych sterownikach działały dobrze. Ustawienie mikrokroków nie wpływało na zachowanie silnika, efekt pojawiał się przy identycznej prędkości.
    Wymieniałem kable, ekranowanie, sterowniki, zamieniałem kierunki cewek.
    Okazało się, że ten efekt dzieje się przy określonym prądzie sterowania. Wystarczyło, że nieco zwiększyłem prąd albo zmniejszyłem to silnik pracował normalnie.
    Dodatkowo, jak dotykałem nieizolowanym śrubokrętem do potencjometru regulacji prądu to też się silnik uspokajał.
    Co Państwo na to?

    Nie mam aktualnie oscyloskopu, żeby sprawdzić przebiegi ale tak jak u kolegi prawdopodobnie przebiegi będą idealne.
    Dodam, że ustawienie prądu, w którym silnik tak pracował nie było max sterownika tylko jakieś 3/5 (~1,7A?). Podniosłem do max i śmiga choć prędkości nie uzyskuje większych niż 440RPM mimo, że obok, taki sam silnik takiego efektu nie generuje przy żadnej prędkości i potrafi się wykręcić na ponad 2000RPM.

    Gdzieś czytałem o zjawisku "przesycenia" silnika - ktoś potrafi to wyjaśnić?