- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: Schrittmotor zittert nur

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Schrittmotor zittert nur

    Hallo Forum,

    ich habe ein Problem mit der Ansteuerung meines Schrittmotors. Zur Zeit gehe ich davon aus das es sich um ein Hardwareproblem handelt. Falls sich rausstellen sollte das es ein Softwareproblem ist bitte ich die Mod´s meine Frage zu verschieben.

    Ich nutze einen NEMA 17 Schrittmotor:
    Stepper Motor DC 5V Schrittmotor
    Specs
    Nema 17 (42x42)
    200 step
    1.8°Angle
    200 gram
    Torque 130 m/Nm
    4 Wires
    Pairs
    Red & Red White
    Green & Green White
    Compatible
    Ramps
    A4988

    Laut Datenblatt ist die Kabelbelegung:
    1B ROT
    1A ROT/WEIß
    2A GRÜN
    2B GRÜN/WEIß

    Als Treiber nutze ich einen L298N Schrittmotorenendstufe Dual H Brücke die ich folgendermaßen angeschlossen habe ( Bild angefügt )

    Als Code nutze ich folgendes python Script:
    Code:
    import RPi.GPIO as GPIO
     import time
    
     GPIO.setmode(GPIO.BCM)
     GPIO.setwarnings(False)
    
     enable_pin = 18     # nur bei ULN2003 Treiber IC wichtig
     coil_A_1_pin = 23   # 
     coil_A_2_pin = 24   # 
     coil_B_1_pin = 17   # 
     coil_B_2_pin = 18   # 
    
     # anpassen, falls andere Sequenz
     StepCount = 4
     Seq = range(0, StepCount)
     Seq[0] = [0,1,0,0]
     Seq[1] = [0,1,0,1]
     Seq[2] = [0,0,0,1]
     Seq[3] = [1,0,0,1]
     Seq[4] = [1,0,0,0]
     Seq[5] = [1,0,1,0]
     Seq[6] = [0,0,1,0]
     Seq[7] = [0,1,1,0]
    
     GPIO.setup(enable_pin, GPIO.OUT)
     GPIO.setup(coil_A_1_pin, GPIO.OUT)
     GPIO.setup(coil_A_2_pin, GPIO.OUT)
     GPIO.setup(coil_B_1_pin, GPIO.OUT)
     GPIO.setup(coil_B_2_pin, GPIO.OUT)
    
     GPIO.output(enable_pin, 1)
    
     def setStep(w1, w2, w3, w4):
         GPIO.output(coil_A_1_pin, w1)
         GPIO.output(coil_A_2_pin, w2)
         GPIO.output(coil_B_1_pin, w3)
         GPIO.output(coil_B_2_pin, w4)
    
     def forward(delay, steps):
         for i in range(steps):
             for j in range(StepCount):
                 setStep(Seq[j][0], Seq[j][1], Seq[j][2], Seq[j][3])
                 time.sleep(delay)
    
     def backwards(delay, steps):
         for i in range(steps):
             for j in reversed(range(StepCount)):
                 setStep(Seq[j][0], Seq[j][1], Seq[j][2], Seq[j][3])
                 time.sleep(delay)
    
     while True:
         delay = raw_input("Zeitverzoegerung (ms)?")
         steps = raw_input("Wie viele Schritte vorwaerts? ")
         forward(int(delay) / 1000.0, int(steps))
         steps = raw_input("Wie viele Schritte rueckwaerts? ")
         backwards(int(delay) / 1000.0, int(steps))
    Wenn ich das Script starte und den Motor vor oder zurückfahre zittert der Moror nur ohne sich zu drehen. Hätte jemand eine Idee was ich falsch gemacht habe ?

    Gruß

    Frank
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Stepper.jpg  

Ähnliche Themen

  1. [ERLEDIGT] Servo mit externem Potentiometer zittert
    Von Lukas. im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 30.05.2012, 08:52
  2. Gelöst: Servo zittert an AtMega8
    Von DEC im Forum Assembler-Programmierung
    Antworten: 6
    Letzter Beitrag: 23.03.2008, 02:23
  3. Schrittmotor stottert nur
    Von funmaker im Forum Motoren
    Antworten: 7
    Letzter Beitrag: 29.08.2007, 23:36
  4. Schrittmotor zittert
    Von schmek im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 17.07.2006, 22:20
  5. Schrittmotor nur an Mega8 ?
    Von khazad im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 04.03.2005, 00:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress