2012-05-28 17 views
6

buduję system z Arduino Uno, tarcza mocy (REf to model) i bipolarny silnik krokowy.Arduino krokowy

Nie mogę zainicjować silnika krokowego przy użyciu biblioteki z Arduino. Wykonuję instancję mojego steppera z

I dalej z przykładowym kodem dostarczonym z Arduino.

Kiedy uruchomić kod na Arduino, silnik emituje jakieś dźwięki, ale nie włącza.

Jak określić właściwe sworznie silnika, których należy użyć? Na ekranie zasilania, jaki tryb ma być używany, PWM lub PLL?

Odpowiedz

3

To normalne, że szkic arduino nie działa. napędza go silnik tak:

  • PIN1: cewka 1, naprzód prąd
  • PIN2: cewka 1, do tyłu prąd
  • PIN3: cewka 2, prąd naprzód
  • Pin4: cewka 2, tył prąd

tarczę napędza stepper ten sposób:

  • PI N1: prąd do przodu/do tyłu
  • PIN2: natężenie prądu z PWM
  • PIN3: natężenie prądu z PWM
  • Pin4: prąd do przodu/do tyłu

Nie jest to dobry pomysł, aby prowadzić silnik krokowy, jak nie potrzebujesz nawet PWM do napędzania steppera. Ma napędzać silnik prądu stałego. Możesz napisać swój własny szkic, by poprowadzić steppera z tą tarczą, ale powinieneś znaleźć tarczę, która pasuje do arduino, by prowadzić steppera. Poszukaj czegoś takiego jak "UL2003 stepper module", kosztuje to kilka dolarów.

Edit: Mam jeden z tych modułów i działa jak czar. Uważaj na moc, której potrzebujesz. Może potrzebujesz czegoś takiego jak L298N module. Też mam ich kilka i działają dobrze.

+0

Co z tego: http://www.adafruit.com/products/81? – gpasse

5

Jak sugerują, osłona silnika Adafruit powinny pasować Arduino bibliotekę krokowego, gdyż wykorzystuje L293D aby napędzać silnik. Może sterować 2 krokami z prądem 0,6A (dobrze dla większości małych silników krokowych, które można znaleźć w drukarkach, czytniku dyskietek/CD/DVD ...).

Bądź ostrożny, zdają się wykorzystywać własną bibliotekę dla tej tarczy, można go znaleźć tutaj:

http://www.ladyada.net/make/mshield/download.html

I wiedzieć, w jaki sposób podłączyć stepper, zajrzyj tutaj:

http://www.ladyada.net/make/mshield/use.html

Niestety odpowiedzieć na komentarz w ten sposób, ale nie mam wystarczająco dużo reputacji komentarz ...więc proszę dać +1, jeśli uważasz, że to dobra odpowiedź :)

0

W silniku krokowym ile przewodów masz? 4 lub 6.

Twoje połączenie jest wadliwe. Właśnie dlatego wydaje takie brzmienie.

Test z multimetrem. dwa druty dają wysoką odporność. pozostałe dwie dają połowę z tego. Połącz pierwsze dwa z wyjściem sterownika silnika1 i drugim z wyjściem2.

Nie wspomniano, którego sterownika używasz. Spróbuj z ekranem sterownika silnika L298.

0

Myślę, że problem, który masz, jest związany z rodzajem tarczy, której próbujesz użyć. Połączona osłona mocy jest zaprojektowana dla silników prądu stałego i próbujesz użyć silnika krokowego (zobacz stronę internetową this, aby uzyskać wyjaśnienie różnicy).

Polecam wypróbowanie innej tarczy (takiej jak Sparkfun EasyDriver), która obsługuje użycie silnika krokowego.

0

Problem polega na nieprawidłowym podłączeniu sworzni silnika. Czy na pewno łączysz prawdziwe uzwojenia z silnikiem? Zmierz sworznie silnika za pomocą omomierza. Powinny być dwa zwoje, które mają sworznie A1-A2 i B1-B2. Pomiędzy tymi pinami powinieneś zobaczyć wartość oporu. Następnie upewnij się, że łączysz się z tarczą z właściwą kolejnością.

0

Jeśli silnik wydaje dźwięk, jest to dobra wiadomość. Przynajmniej masz z nim kontakt. Ponieważ jest to po prostu dźwięk, ale nie ma ruchu, pod tym zachowaniem mogą leżeć trzy rzeczy;

  1. Niewłaściwe połączenia stykowe z silnikiem
  2. Niewystarczająca prąd zasilający ze sterownikiem silnika.
  3. Liczby kroków określone za pomocą kodu z wykorzystaniem PWM mogą być o za niskie lub za wysokie, jak na silnik może obsłużyć.

Mogę zaoferować ten link URL, aby określić pin-out silnika;

How Can I Determine My Stepper Motor Wiring Without the Stepper Motor Pinout

0

W projektach mil używam dwubiegunowy silnik (a nema17) i można jeździć łatwo z Pololu A4988 (lub drv8825, większej wydajności i droższe). sterowniki te posiada mostek H w środku, i pozwala sterować silnikiem za pomocą prostego:

while(1){ 
    digitalWrite(PIN_STEP, HIGH); 
    delay(1000); 
    digitalWrite(PIN_STEP, LOW); 
    delay(1000); 
//1RPM = 100 microsecond delay for a 1.8 degree angle motor (200 steps per 
    turn) 
    }