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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.