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.

Silnik krokowy bipolarny - sekwencja sygnałów

Jakub17 11 Lut 2017 12:15 498 3
  • #1 11 Lut 2017 12:15
    Jakub17
    Poziom 6  

    Witam.

    Napisałem sobie program do sterowania silnikiem krokowym bipolarnym. Problem w tym że nie wiem jak zapodawać w kolejności sygnały na silnik aby kręcił się w jedną stronę. Przytykałem sobie końcowki zasilacza do lutów i udało mi się ustalić sekwencję taką jak zamieściłem na zdjęciu, ale to raz dziala raz nie.... Czy ktoś zna jakiś prosty wygodny sposób określenia kolejności zapodawania sygnałów?
    Silnik to MITSUMI M42SP-5A Silnik krokowy bipolarny - sekwencja sygnałów Silnik krokowy bipolarny - sekwencja sygnałów

    0 3
  • Pomocny post
    #3 11 Lut 2017 17:19
    emarcus
    Poziom 35  

    Jakub17 napisał:
    Witam.


    Problem w tym że nie wiem jak zapodawać w kolejności sygnały na silnik aby kręcił się w jedną stronę.
    Czy ktoś zna jakiś prosty wygodny sposób określenia kolejności zapodawania sygnałów?

    Przeglądnij te niżej 3 video-clips w tej kolejności co podane i bez trudu napiszesz sobie sam odpowiednią sekwencję, szczególnie po drugim linku.
    Trzeci link przedstawia pewnego todzaju 'trick' - bez stosowania żadnego drivera (aby tylko obracac wirnikiem).

    https://www.youtube.com/watch?v=bkqoKWP4Oy4
    https://www.youtube.com/watch?v=IEmGOuMFPKQ
    https://www.youtube.com/watch?v=ZEcQW5rCbSQ

    e marcus

    0
  • #4 15 Lut 2017 11:03
    Jakub17
    Poziom 6  

    Bardzo spoko filmiki, szczegolnie ten trick z baterią. Dzięki bardzo :)

    Dodano po 5 [godziny] 35 [minuty]:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Mam jeszcze jeden problem. Silnik się obraca ale jest zauważalny tak jakby przeskok pod koniec funkcji obrot(). Pokazane na filmiku. Dlaczego tak sie dzieje?
    Jak uzyje instrukcji ktore sa zakomentowane w petli while() to nie ma takiego przeskoku i wszystko działa płynnie. Ale ja chce miec funkcje odpowiedzialne za obrot bo program zamierzam wzbogacić o zmiane kierunku obrotu itp. ale jak widac narazie mam problem z tym by kazdy krok silnika był wykonywany w równym odstępie.

    Tutaj filmilk
    https://www.youtube.com/watch?v=TtJ-EBm3PqU

    Zmienna kr jest najpierw zwiększana a póżniej porównywana więc gdy wykona się KROK4 (kr=3) to zmienna kr zostanie zwiększona do 4 i tym samym wyzerowana i powinien wykonać się KROK1 po uprzednim odczekaniu 100 ms. Coś źle rozumiem?

    0