2016-07-27 4 views
3

У меня возникли проблемы с моим кодом python на моем малине pi для перемещения моего шагового двигателя.Тестирование шагового двигателя с кодом python с easydriver

Я новичок в языке python и надеюсь, что если я смогу получить помощь по перемещению моего шагового двигателя.

меня приложить фотографию моей установки Stepper Motor Setup

Я использую драйвер шагового двигателя Nema 17 шаговых двигателей, EasyDriver и малиновый пи версии 3.

Python: 2.7.9

Установленная 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 

Я не знаю, почему мой двигатель не работает ... :(

Отредактировано: У меня, кажется, многие гиды говорят, что я должен на степпере и от шагового в то время как петля для двигателя, чтобы сделать шаг, но он по-прежнему не работает ... :(

ответ

0

Silly меня! Я проверяю техническое описание моего мотора и выполняю многомерную проверку. Я подключил A + и A = к плохой плате драйвера ... Теперь он работает, мой код работает нормально.

0

Вам нужно определить set_stepper, set_cw и set_anticw как функции, а не переменные. Теперь он работает так, что вы сначала определяете два выхода GPIO как false, и ничего не происходит во время цикла.

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

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

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

А, а затем вызвать их в то время как цикл, как:

set_stepper() 
set_cw() 
+0

Я сделал то, что вас проинструктировал, но безрезультатно, двигатель все еще не двигается, хм, я вызываю функцию, и он читает вывод, по праву он должен послать сигнал, чтобы двигаться вправо? Я обновлю свой код до последних изменений, хм, интересно, что случилось –