2016-07-27 12 views
3

ステッピングモーターを動かすために私のラズベリーパイのPythonコードにいくつかの問題があります。easydriverでpythonコードを使ってステッパーモーターをテストする

私はPython言語に新しく、私がステッパーモーターを動かす際に助けを得ることができたら願っています。

私はネマ17ステッピングモーター、EasyDriverステッピングモータドライバとラズベリーパイ3.

Pythonのバージョンを使用しています私のセットアップ Stepper Motor Setup

の写真を添付し​​ています: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 

をインストール:(

編集:私は、私は一歩を踏み出すためにモータのwhileループにステッパーにし、ステッパーオフに持っているが、それはまだ動作していないことを言って、多くのガイドがいるようですが... :(

答えて

0

愚かな私!私は自分のモーターのデータシートをチェックし、マルチメーターテストを行った。 私はA +とA =を簡単なドライバボードに間違って配線しました...今は動作していますが、私のコードはうまく動作します。

0

あなたが必要set_stepper,set_cwおよびset_anticwを関数として定義し、変数ではありません。現在動作している方法は、最初に2つのGPIO出力をfalseに定義し、whileループでは何も起こりません。

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

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

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

そして、その後、として、whileループでそれらを呼び出す:

set_stepper() 
set_cw() 
+0

私は、あなたが指示したもののようにしたが役に立たなかったが、モーターは動かず、うーん、私は関数を呼び出し、出力を読む。右に動くように信号を送るべきだろうか? 私のコードを最新の変更に更新します。うーん、何が間違っているのだろうか? –

関連する問題