Hallo liebe RPi-Freunde,
Ich versuche derzeit 2 Schrittmotoren NEMA17 mit 2 Motortreiber L298N Controller Board anzusteuern über GPIOs vom Raspberry Pi.
zur Verdrahtung:
siehe Bild im Anhang
Als Spannungsversorgung des Motors habe ich 12V angelegt .
Das erste Problem ist, das Schrittmotor funktioniert aber mein Motortreiber wird sehr sehr heiß so dass es kaum anfassen kann .
Zur Zeit gehe ich davon aus dass es ein Software Problem ist. aber ich bin trotzdem nicht sicher.
Das zweite Problem ist, dass ich nicht weiß wie ich meine Motoren rückwärts ansteuern kann.
Bitte um Lösungsvorschläge
Python
#!/usr/bin/python3.2
# -*- coding: utf-8 -*-
import time
from time import sleep
import RPi.GPIO as GPIO
#GPIOs unter GPIO-Nummern ansprechen
GPIO.setmode(GPIO.BCM)
# Verwendete Pins am Rapberry Pi
# A bis D = Ausgangspins für Schrittmotor starten
A=23 # IN1
B=24 # IN3
C=18 # IN2
D=25 # IN4
# time = Pause zwischen den Schaltzyklen des Drehteller-Schrittmotors
time = 0.006
# Pins A, B, C, D, Schrittmotor als Ausgänge definieren
GPIO.setup(A,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.setup(C,GPIO.OUT)
GPIO.setup(D,GPIO.OUT)
GPIO.output(A,0)
GPIO.output(B,0)
GPIO.output(C,0)
GPIO.output(D,0)
# Schrittmotor wird in 4 Steps angesteuert
# Schritte 1 - 4 Schrittmotor festlegen
def Step1():
GPIO.output(A,1)
GPIO.output(B,0)
GPIO.output(C,1)
GPIO.output(D,0)
sleep (time)
def Step2():
GPIO.output(A,0)
GPIO.output(B,1)
GPIO.output(C,1)
GPIO.output(D,0)
sleep (time)
def Step3():
GPIO.output(A,0)
GPIO.output(B,1)
GPIO.output(C,0)
GPIO.output(D,1)
sleep (time)
def Step4():
GPIO.output(A,1)
GPIO.output(B,0)
GPIO.output(C,0)
GPIO.output(D,1)
sleep (time)
try:
while(1):
Step1()
Step2()
Step3()
Step4()
except KeyboardInterrupt:
print("Programm vom User gestoppt")
GPIO.cleanup()
Alles anzeigen