2016-07-27 20 views
3

Ich habe einige Probleme mit meinem Python-Code auf meinem Raspberry Pi, um meinen Schrittmotor zu bewegen.Testen Schrittmotor mit Python-Code mit easydriver

Ich bin neu in der Python-Sprache und hoffe, wenn ich Hilfe beim Bewegen meines Schrittmotors bekommen könnte.

Ich habe ein Foto von meinem Setup befestigen Stepper Motor Setup

ich Nema 17 Schrittmotoren verwenden, Easydriver Schrittmotor-Treiber und das Raspberry Pi 3.

Python-Version: 2.7.9

Installierte RPi.GPIO

import RPi.GPIO as gpio 
import time 
import sys 

gpio.setmode(gpio.BCM) 

gpio.setup(14, gpio.OUT) #step 
gpio.setup(15, gpio.OUT) #dir 
gpio.setup(23, gpio.OUT) #ms1 
gpio.setup(24, gpio.OUT) #ms2 

def set_stepper_on(): 
     gpio.output(14, 0) 
     time.sleep(0.05) 
     gpio.output(14, 1) 
     time.sleep(0.05) 

def set_cw(): 
     gpio.output(15, 0) 

def set_anticw(): 
     gpio.output(15, 1) 

def ms_steps(): 
     gpio.output(23, 0) 
     gpio.output(24, 0) 

ms_steps() 
set_cw() 

infinite_loop = True 
steps=0 
while (infinite_loop == True): 
     set_stepper_on() 
     steps+=1 
     print steps 

ich weiß nicht, warum mein Motor nicht funktioniert hat ... :(

Editiert: Ich habe sagen viele Führer scheinen, dass ich bis auf Schritt haben und aus Stepper in while-Schleife für den Motor einen Schritt zu tun, aber es funktioniert immer noch nicht ... :(

Antwort

0

Dumme me! Ich überprüfte das Datenblatt meines Motors und führte einen Multimeter-Test durch. ich verdrahtete die A + und A = falsch auf die einfache Treiberplatine ... Jetzt funktioniert es, mein Code funktioniert gut.

0

Sie benötigen Definieren Sie set_stepper, set_cw und set_anticw als Funktionen und nicht als Variablen. Die Art und Weise, wie es jetzt funktioniert, ist, dass Sie die beiden GPIO-Ausgaben zunächst als falsch definieren und nichts in der while-Schleife passiert.

def set_stepper(): 
    gpio.output(14, False) 

def set_cw(): 
    gpio.output(15, False) 

def set_anticw(): 
    gpio.output(15, True) 

Und nennen sie dann in while-Schleife wie:

set_stepper() 
set_cw() 
+0

Ich hatte getan, was Sie angewiesen hatten, aber ohne Erfolg, der Motor bewegt sich immer noch nicht, hmm ich rufe die Funktion und es liest den Ausgang, von rechts sollte es das Signal senden, um nach rechts zu bewegen? Ich werde meinen Code auf die neuesten Änderungen aktualisieren, hmm ich frage mich, was falsch ist –