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

płynne obracanie silnikiem krokowym

Przemotv 24 Cze 2008 14:27 3337 9
  • #1 24 Cze 2008 14:27
    Przemotv
    Poziom 11  

    Witam
    jak wysterować silnik krokowy , żeby robił 1 obrót na minutę z zastrzeżeniem ze obrót ten będzie płynny.
    teraz mam układ na procku który podaje poprzez darlingtony impulsy w ośmiu krokach( powtarzanychw kółko) i teoretycznie usyskuję 1 obrót na minutę ale silnik "skacze" krok po kroku. a chodzi mi o płynny obrót. słyszałem że jakoś można to przechodzenie z kroku do kroku zrealizować poprzez sterowanie PWM ? ma kto jakiś pomysł ?
    nie chodzi mi o silnik który ma bardzo duża liczbę kroków ale o sposób sterowania pomiędzy krokami
    silnik 5 kabli 4 uzwojenia+1 wspólny styk
    pozdrawiam
    PC

    0 9
  • #2 24 Cze 2008 15:20
    sheeeep
    Poziom 25  

    No tak, można PWM przechodzić pomiędzy kolejnymi uzwojeniami zwiększając wypełnienie kolejnego i zmniejszając poprzedzającego. Mogło by się udać nawet to zrealizować.
    Na czym masz oparty sterownik? jakiś uC??

    0
  • #3 24 Cze 2008 15:38
    Przemotv
    Poziom 11  

    at 90S2313 choroba nie bardzo imam ten PWM tzn wiem o co chodzi ale nie wiem jak napisac, a pisze w bascomie bo latwiej niz asm na szybko

    0
  • #4 24 Cze 2008 16:05
    sheeeep
    Poziom 25  

    at90S2313 ma tylko jednego 'hardarowego' PWMa. Jakby były dwa to by można to przekluczować i by dało się to sprawnie zrobić. A teraz Ci zostaje rozwiązanie softwarowe.
    Najlepiej napisz w C, bo bascom trochę przymula.
    Robisz tak, Licznik, preskalujesz go jakoś sensownie, on bije impulsy, jak osiągnie max, następuje przeładowanie i odnowa. 4 zmienne bajtowe, dla każdego wyjścia. Zmienne sobie zmieniasz wraz z obrotem, a pozatym porównujesz stan licznika do tych zmiennych. Jeśli zmienna > licznik włączasz odpowienie wyjście.

    0
  • #5 24 Cze 2008 23:30
    PiotrPirat
    Poziom 10  

    Witam.

    Jakiś czas temu zajmowałem się tematem silników krokowych i sposobów ich sterowań. To, co chcesz zrobić, to sterowanie mikrokrokowe.W tym linku znajdziesz trochę podstawowych informacji na ten temat:

    http://www.edw.com.pl/index.php?module=ContentExpress&file=index&func=display&ceid=60&meid=13 - szukaj cyklu artykułów "Silniki krokowe od podstaw" (o sterowaniu mikrokrokowym jest coś w 4 części).

    Jakiś czas temu próbowałem zrobić licznik do roweru na bazie silnika z dysku twardego 2.5 cala. Silnik był nieco inny, jak twój, bo miał 3 grupy uzwojeń i 18 kroków na pełny obrót. To trochę za mało na dokładne wskazania prędkości, więc przyjąłem założenie, że sterownik będzie dysponował 40 mikrokrokami. Czyli na 270° obrotu silnika (13,5 kroku) jest 540 mikrokroków (55 km/h). Po uporaniu się z napisaniem kodu, wskazówka chodziła płynnie nawet przy bardzo małych prędkościach. Wszystkim sterował ATMEGA16, ale nie użyłem PWM, tylko wzmacniaczy operacyjnych, sterowanych bezpośrednio z każdego z trzech portów. Stopnie końcowe to tranzystory BD140 sterowane liniowo, więc się grzały. Nie polecam tego sterowania, jest strasznie prądochłonne. Ja tak to zrobiłem, ponieważ chciałem odciążyć procek od obliczeń związanych z PWM i z perspektywy czasu, sądze, że użycie wbudowanych kanałów PWM w AVR nie powodowałoby większych błędów w obliczaniu prędkości.

    Jeżeli chodzi o same sterowanie PWM, to płynność przejścia pomiędzy kolejnymi krokami uzyskuje się najlepiej przez zależności sinusa i cosinusa. Myślę, że najlepiej zadeklarować sobie tabele tych wartości dla 360° elektrycznych twojego silnika, przy czym jest to trochę pamięciożerne przy większej ilości mikrokroków, ale za to bardzo ułatwia późniejsze sterowanie takim silnikiem.

    Myśle, że to chyba najważniejsze wskazówki do twojego projektu. Jak coś, to pytaj. Postaram się odpowiedzieć na twoje pytania, w miarę moich możliwości.

    Jeszcze na zakończenie ciekawi mnie, co chcesz zrobić z tak kręcącym się silnikiem ?

    0
  • #7 02 Lip 2008 11:55
    Przemotv
    Poziom 11  

    chce zrobic tacke na ktorej bedzie leżał mały przedmiot i obracał się raz w prawo a raz w lewo o kąt 180 stopni a tacka przesuwa się 1 obr/min. postawię to ma mojej półce w sklepie i będę pokazywał różne przedmioty. warunek jest taki że musi to być bardzo płynny obrót

    0
  • #8 02 Lip 2008 12:14
    Tomasz.W
    Poziom 35  

    Przemotv napisał:
    ....chce zrobic tacke na ktorej bedzie leżał mały przedmiot i obracał się raz w prawo a raz w lewo o kąt 180 stopni...
    No, jeżeli tak to z tym silnikiem krokowym robisz sam sobie pod górkę. Dlaczego nie weźmiesz jakiegoś zwykłego silniczka np. modelarskiego, do tego jakiś, najprostszy z możliwych, układ regulatora PWM na LM555 i masz problem z głowy. Chyba że to coś to ma być jedynie sztuka dla sztuki.

    0
  • #9 02 Lip 2008 13:12
    Przemotv
    Poziom 11  

    silniki modelarskie kręcą się za szybko. to ma być 1 obr/min a chcialbym miec mozliwosc różnych ustawień np 20 st. w prawo , 30 st. w lewo albo 150 st w prawo i 150 w lewo itd
    poprzez różne programy w procku bede mógł mieć wybór. Chyba że Ty mówiłeś o servo modelarskim . Na serwie niemożna zrobić pełnego obrotu a to czasami musi chodzić jak zwykły silnik i kręcić sie w kółko zależnie jak klient sobie wymyśli

    0
  • #10 02 Lip 2008 13:36
    Tomasz.W
    Poziom 35  

    Przemotv napisał:
    ....silniki modelarskie kręcą się za szybko. to ma być 1 obr/min a chcialbym miec mozliwosc różnych ustawień np 20 st. w prawo , 30 st. w lewo albo 150 st w prawo i 150 w lewo itd....
    Pisałeś że to "coś" ma robić jeden obrót na minutę. Nie ma żadnego problemu żeby to zrobić na silniczku modelarskim. Do tego potrzebny jest tylko regulator. Teraz okazuje się że mają być jeszcze jakieś wartości pośrednie, jakieś stopnie. To jest również do zrobienia na "zwykłym" silniku komutatorowym. Ale może najpierw zdecyduj się co tak na prawdę chcesz zrobić. Jak to ma działać. Tak będzie o wiele prościej coś wykombinować.
    Przemotv napisał:
    ....Na serwie niemożna zrobić pełnego obrotu....
    Zapewniam Cię że można. Wymaga to jedynie drobnej przeróbki serwa.

    0