David36 Napisano Grudzień 29, 2019 Udostępnij Napisano Grudzień 29, 2019 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() Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!