Skocz do zawartości

Sterowanie silnikiem krokowym - rozbudowanie programu w Pythonie


David36

Pomocna odpowiedź

Witam,

Potrzebuje pomocy w sterowaniu silnikiem krokowym Nema17HS5425. Do sterowania uzywam Raspberry Pi 3 wraz ze sterownikiem drv8825. Nie mam zbyt duzej wiedzy na temat programowania w Python i utknalem w... Znalazlem przykladowy program, wszystko polaczylem, silnik porusza sie w obu kierunkach. Chodzi mi o to zeby byla mozliwosc sterowania czestotliwoscia oraz amplituda  podczas pracy a nie mam wystarczajacej wiedzy zeby to zrobic. Planuje tez uzyc jednej badz dwoch krancowek zeby silnik znajdowal punkt zerowy przed startem. Dolanczam kod bazowy, jesli ktos mialby jakies pomysly jak to usprawnic, z gory dziekuje. 
 

from time import sleep
import RPi.GPIO as GPIO

import subprocess
from time import sleep

DIR = 20   # Direction GPIO Pin
STEP = 21  # Step GPIO Pin
CW = 17     # Clockwise Rotation
CCW = 0    # Counterclockwise Rotation
SPR = 200   # Steps per Revolution (360 / 1.8)


GPIO.setmode(GPIO.BCM)
GPIO.setup(DIR, GPIO.OUT)
GPIO.setup(STEP, GPIO.OUT)
GPIO.output(DIR, CW)


MODE = (14, 15, 18)   # Microstep Resolution GPIO Pins
GPIO.setup(MODE, GPIO.OUT)
RESOLUTION = {'Full': (0, 0, 0),
              'Half': (1, 0, 0),
              '1/4': (0, 1, 0),
              '1/8': (1, 1, 0),
              '1/16': (0, 0, 1),
              '1/32': (1, 0, 1)}
GPIO.output(MODE, RESOLUTION['Full'])


step_count = SPR
delay = .0008


for x in range(step_count):
    GPIO.output(STEP, GPIO.HIGH)
    sleep(delay)
    GPIO.output(STEP, GPIO.LOW)
    sleep(delay)
    

sleep(.005)
GPIO.output(DIR, CCW)


for x in range(step_count):
    GPIO.output(STEP, GPIO.HIGH)
    sleep(delay)
    GPIO.output(STEP, GPIO.LOW)
    sleep(delay)


GPIO.cleanup()

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.