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.

Nie zmienia się prędkość obrotowa silnika krokowego

05 Wrz 2017 12:49 1269 14
  • Poziom 9  
    Witam,

    bawię się już jakiś czas z uruchomieniem silnika 42BHH52-150A za pomocą Arduino i DRV8825, ale wciąż mam problem z regulacją prędkości obrotowej. Chodzi o to, że do sterownika dochodzi prawidłowy sygnał o zmiennym wypełnieniu w zależności od ustawień, jednak silnik zachowuje się dwustanowo. Jak jest ustawione 0, to trzyma, ale jeśli choć trochę zmienię wartość, to obraca się ze stałą prędkością obrotową.
    Obserwowałem też przebiegi na wyjściu są z wypełnieniem 50% i przesunięte w fazie, jednak nie zmieniają się wraz ze zmianą PWM na wejściu do sterownika.

    Ma ktoś jakieś sugestie? Jest to objaw uszkodzonego sterownika?
  • PCBway
  • Poziom 29  
    W DS od układu DRV8825 jest jasno napisane, że narastające zbocze pinu STEP powoduje przeskok o jeden krok do tyłu lub do przodu w zależności od polaryzacji pinu DIR.

    Zatem wygląda na to, że prędkość obrotowa silnika jest przestrajana częstotliwościowo a nie przez zmianę wypełnienia PWM.
  • Moderator Mikrokontrolery Projektowanie
    Jak to zwykle bywa PWM służy tylko do regulacji prądu silnika. Szybkość jest regulowana częstotliwością na wejściu STEP.
  • Użytkownik usunął konto  
  • PCBway
  • Poziom 29  
    Może tak, może nie. Nie zajmuję się silnikami. Po prostu przeczytałem DS i wyciągnąłem wnioski...
  • Użytkownik usunął konto  
  • Poziom 9  
    Dzięki za podpowiedzi. Sprawdzę dzisiaj, ale domyślam się, że się uda.

    PS
    Rzeczywiście udało się. Jeszcze raz wielkie dzięki.
    Dodano po 4 [godziny] 45 [minuty]:
    Problem kolejny ma związek z częstotliwością, więc pozwolę sobie kontynuować go tu.
    Bez obciążenia wyjścia są poprawne w całym zakresie częstotliwości, natomiast pod obciążeniem uzwojeniami silnika już tylko dla wybranych (czyli 10, 15 i 29 Hz). Poniżej zamieściłem przykładowe przebiegi. Pierwszy jest dla 10 Hz, a drugi dla 11 Hz. Przy pierwszym obraca się jak należy, a przy drugim tylko się trzęsie.

    Widzi ktoś rozwiązanie problemu?

    Nie zmienia się prędkość obrotowa silnika krokowegoNie zmienia się prędkość obrotowa silnika krokowego
  • Poziom 36  
    demmli napisał:

    Problem kolejny ma związek z częstotliwością, więc pozwolę sobie kontynuować go tu.

    Widzi ktoś rozwiązanie problemu?


    Nie sądzę aby te objawy miały jakikolwiek związek z częstotliwością pulsowania twojego steppera.
    Wygląda że silnik ‘nie ma czym kręcic’ – brak „mocy” i ' wykłada się z synchronizacji'
    Popatrz na to z tej strony:
    Każdy puls zakładamy że powoduje obrót wałka silnika o 1 pełny step(krok).Tu nie ma sprzężenia zwrotnego.
    Rachując odgadnięte parametry silnika (200 steps/obr) przy podanej częstotliwości czy to 10 (11) Hz, 15 Hz czy też 30 Hz; zawsze jesteś w przedziale kilku obrotów na min. Przy tak małych predkościach nie jest wymagane rozpędzanie silnika czyli ramping.
    Byłoby bardzo pomocne gdybyś podał parametry twojego silnika Napięcie i prąd (odczytane z naklejki albo dokumentacji), albo też może byc podany tylko prąd i rezystancja cewek, to wystarcza.
    \Przykład:
    Nie zmienia się prędkość obrotowa silnika krokowego
    Podaj także rzeczywiste parametry zasilania: - również napięcie które podajesz na driver i maxymalny prąd jaki jest ustawiony na płytce drivera /(stepstick); - chyba że go nie ustawiałeś(?!) i jest pozostawiony na fabrycznym ustawieniu czyli minimum.

    Ponadto byłoby wskazane podac rodzaj lub producenta tej płytki.
    Nie wszystkie sa jednakowe, mimo stosowania tego samego układu DRV8825.
    Jeżeli na silniku jest podana wartosc napięcia, nie sugeruj się że to jest jego nominalne napięcie pracy.
    Tak nie jest!!!

    e marcus
  • Poziom 9  
    To teraz parę detali, o które pytasz. Co prawda nie zmieniałem nic z ustawieniem potencjometru, ale gdy silnik trzyma to bierze 1,5 A, więc myślałem, że nie trzeba nic kręcić.
    Jako takiego DS silnika nie znalazłem, ale zebrałem to, co o nim wiem poniżej.
    Nie zmienia się prędkość obrotowa silnika krokowego
    Parametry ustawione na zasilaczu to 12 V i 1,5 A.
    Natomiast o płytce nic nie wiem. Przyszła w srebrnej torebeczce bez oznaczeń.
  • Poziom 36  
    demmli napisał:

    Co prawda nie zmieniałem nic z ustawieniem potencjometru, ale gdy silnik trzyma to bierze 1,5 A, więc myślałem, że nie trzeba nic kręcić.
    ....................
    Parametry ustawione na zasilaczu to 12 V i 1,5 A.

    Pracując z stepperem kontrolowanym przez stepstick, pierwszą zasadniczą sprawą jest ustawienie ograniczenia maxymalnego prądu dla przewidzianego silnika.
    Sposób określenia i ustawienia tego prądu znajdziesz tu:
    http://reprap.org/wiki/Pololu_stepper_driver_board

    Początek artykułu omawia A4988, lecz w dalszej części jest omówiony drv8825. Sprwadź u siebie wartości rezystorów pomiarowych (Rs) (te dwa obok potencjometru); czy są zgodne z przykładem wyznaczania prądu.
    Możesz także znaleźc na stronie Pololu, video-clip jak praktycznie tą procedurę wykonac.

    Jeżeli twój zasilacz ma możliwośc ustawiania ograniczenia poboru prądu, Wyłącz ta opcję, albo ustaw zakres do ok. 3.5A / 4A. Ograniczenie prądowe silnika będzie dostatecznie kontrolowane na samym stepstick.
    Pobór prądu dla silnika 1.5A dotyczy obciążenia tylko jednej cewki. Podczas pracy najczęściej pracują obie cewki zasilane w kombinowany PWM sposób określony algorytmem wbudowanym w DRV8825.

    e marcus
  • Poziom 9  
    No to tak...
    Według moich ustaleń Vref jest u mnie 2,25 V. Wyregulowałem taką wartość i jest lepiej, ale to nadal nie to musi być przyczyną.
    Ustawiłem też na zasilaczu prąd na 5 A.
    Teraz działa dla kilku następnych częstotliwości, ale prędkość nie przyrasta liniowo (dla 10 i 29 Hz obraca się tak samo i bierze 0,4 A). Dla niektórych częstotliwości obraca się bardzo powoli i prąd bierze ok. 1,5 A, np. dla 28 Hz. Ale i tak powyżej 29 Hz już tylko się trzęsie.
    Ma jeszcze ktoś jakiś pomysł?
  • Poziom 37  
    Witam,
    proponowałbym jeszcze zmierzyć sygnały sterujące na wejściach drivera.
    Być może dla "złych" częstotliwości generujesz sygnały zupełnie inne niż powinny być.

    Pozdrawiam
  • Pomocny post
    Poziom 36  
    demmli napisał:
    No to tak...
    Według moich ustaleń Vref jest u mnie 2,25 V. Wyregulowałem taką wartość i jest lepiej, ale to nadal nie to musi być przyczyną.
    Ustawiłem też na zasilaczu prąd na 5 A.
    Teraz działa dla kilku następnych częstotliwości, ale prędkość nie przyrasta liniowo (dla 10 i 29 Hz obraca się tak samo i bierze 0,4 A). Dla niektórych częstotliwości obraca się bardzo powoli i prąd bierze ok. 1,5 A, np. dla 28 Hz. Ale i tak powyżej 29 Hz już tylko się trzęsie.
    Ma jeszcze ktoś jakiś pomysł?


    Przytoczone wyżej liczby nie pasują do wcześniej podanych informacj o posiadanym sprzęcie.
    Zweryfikuj jeszcze raz czy twój stepstick to ten z datasheet:

    https://reprapworld.com/datasheets/datasheet%20drv8825.pdf

    Jeżeli tak, to ustawiane potencjometrem napięcie referencyjnego nie powinno przekroczyc 0.75V
    Regulacja tego napięcia:
    https://www.youtube.com/watch?v=Vp9ZRCEhVYc

    Druga rzecz: Czy absolutnie należy wyeliminowac ewentualną pomyłke w podłaczeniu silnika do płytki; na przykład zamienione początek i koniec którejś z cewek.
    Dalsza sprawa to czy te przytaczane częstotliwości pulsowania sygnałów ‘step’ są w rzeczywistości jak podajesz ( są w Hz)?
    Poniżej masz w załączeniu sposób obliczana granicznych wartości dla silnika krokowego.

    Nie zmienia się prędkość obrotowa silnika krokowego

    e marcus
  • Poziom 9  
    Mój stepstick jest na pewno DRV8825. Różni się tylko od tego w DS gabarytami kondensatorów (u mnie są mniejsze poza tym obok rezystorów R100) i kolor płytki ma fioletowy.
    Z ustawieniem rzeczywiście mi się coś pomyliło. Przestawiłem na 0,75 V, ale nic się nie zmieniło.
    Co do połączenia z płytką to wykluczyć błędu nie mogę całkowicie, bo nie mam opisanych przewodów, który jest A- i A+, a który jest B- i B+. Wydaje mi się jednak, że takiego znaczenia wielkiego to nie ma, bo próbowałem wszystkich kombinacji. Jedyne co mi się zmieniało, to kierunek obrotu. Inna sprawa, że uniwersalna płytka stykowa nie zawsze łączy poprawnie. Bywa, że coś nie do końca ma styk się człowiek męczy (tu jednak skupiłem się, aby styk był poprawny).
    Mam jednak pytanie. Wszędzie jest napisane, aby nie podłączać/odłączać silnika w trakcie pracy stepsticka, bo może to uszkodzić układ. Czy rzeczywiście jest to bardzo prawdopodobne? Bo czasem przewód straci styk na płytce i go zaraz odzyska. Chodzi mi o to jak dopisek przy każdym układzie scalonym, że są wrażliwe na napięcia elektrostatyczne, a w rzeczywistości aż tak źle nie jest.

    I sprawa ostatnia. Program zrobiłem w LabVIEW z pomocą bibliotek MakerHub. Tam jest wejście, które jest ponoć częstotliwością. Jednak coś to przekłamywało dość sporo, bo przy 10 Hz obracał się dość szybko (prawdopodobnie 10 Hz oznacza obroty a nie częstotliwość sygnału), a powinien zrobić zaledwie 10 kroków w ciągu sekundy. Przerobiłem więc program i podałem rzeczywiste 10 Hz. No i robi te kroki jednak nadal nie tak jak bym się tego spodziewał, bo zakłócenia cały czas są.

    Na koniec pewnie się okaże, że była to jakaś głupota, albo układ był walnięty.
    Postaram się za jakiś czas kupić układ Pololu i wtedy zrobię dodatkowo gniazdo, aby kontakt był stuprocentowy.
  • Poziom 9  
    I problem został znaleziony i rozwiązany po części. Wina była ze strony softu, a mianowicie częstotliwości w niskich zakresach nie były prawidłowe. W zakresie od 1 do 31 Hz na wyjściu są losowe częstotliwości, np. dla zadanych 10 Hz w rzeczywistości było 900 Hz i dlatego dobrze wtedy pracował.
    Jeśli chodzi o stepstick DRV8825, to są one dość odporne. Nawet można podać 12 V do resetu i są szanse, że przeżyje. Silniki można odłączać i podłączać, gdy układ jest zasilany. A na koniec dodam, że włożenie odwrotnie do Ramps 1.4 też nie powoduje uszkodzeń. Część testów zrobiłem przypadkowo, a część celowo i nic się nie stało. Oczywiście nie zawsze tak będzie, więc trochę trzeba uważać.

    Dziękuję wszystkim za pomoc w szukaniu rozwiązania.