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

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

demmli 05 Wrz 2017 12:49 2148 14
REKLAMA
  • #1 16682175
    demmli
    Poziom 10  
    Posty: 19
    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?
  • REKLAMA
  • #2 16682207
    czareqpl
    Poziom 33  
    Posty: 1955
    Pomógł: 196
    Ocena: 580
    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.
  • #3 16682246
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2206
    Jak to zwykle bywa PWM służy tylko do regulacji prądu silnika. Szybkość jest regulowana częstotliwością na wejściu STEP.
  • REKLAMA
  • #4 16683363
    Konto nie istnieje
    Konto nie istnieje  
  • #5 16683467
    czareqpl
    Poziom 33  
    Posty: 1955
    Pomógł: 196
    Ocena: 580
    Może tak, może nie. Nie zajmuję się silnikami. Po prostu przeczytałem DS i wyciągnąłem wnioski...
  • #6 16683630
    Konto nie istnieje
    Konto nie istnieje  
  • #7 16683776
    demmli
    Poziom 10  
    Posty: 19
    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
  • #8 16685055
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #9 16685907
    demmli
    Poziom 10  
    Posty: 19
    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ń.
  • #10 16686994
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #11 16687934
    demmli
    Poziom 10  
    Posty: 19
    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ł?
  • #12 16688387
    krzysiek_krm
    Poziom 40  
    Posty: 4612
    Pomógł: 716
    Ocena: 599
    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
    #13 16688470
    Konto nie istnieje
    Poziom 1  
  • #14 16688528
    demmli
    Poziom 10  
    Posty: 19
    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.
  • #15 16712162
    demmli
    Poziom 10  
    Posty: 19
    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.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik borykał się z problemem regulacji prędkości obrotowej silnika krokowego 42BHH52-150A przy użyciu Arduino i sterownika DRV8825. Mimo prawidłowego sygnału PWM, silnik działał w trybie dwustanowym, co sugerowało problemy z synchronizacją i mocą. Uczestnicy dyskusji wskazali, że prędkość silnika jest regulowana częstotliwością sygnału STEP, a nie wypełnieniem PWM. Zwrócono uwagę na konieczność odpowiedniego ustawienia prądu na sterowniku oraz na problemy związane z obciążeniem silnika. Po kilku próbach i regulacjach, użytkownik odkrył, że problem leżał w błędnych częstotliwościach generowanych przez oprogramowanie, co prowadziło do nieprawidłowego działania silnika. Ostatecznie, po dostosowaniu ustawień, problem został rozwiązany.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA