Guten Tag,
hier ein vielleicht etwas außergewöhnliches als Thema.
Thema: Step Motor mit IOBroker steuern.
So mal dirket zum Problem.
Steuern kann ich den Step-Motor natürlich mit dem IOBroker, aber da die Timings nicht so niedrig gehen, wie ich es gerne hätte.
(wechsel zwischen High - Low - High soll 1ms betragen) hatte ich nun die Idee es über ein ausgelagertes Script zu versuchen.
Dies sieht so aus:
source gpio #gpio Ausgänge scharf schalten
gpio mode 5 out #Pin 5 als Output deklarieren DIR
gpio mode 6 out #Pin 6 als Output deklarieren STEP
gpio mode 7 out #Pin 6 als Output deklarieren SLEEP
Richtung=$1 #Variable Richtung(Rechts/Links/Sleep) aus dem IOBroker
Schritte=$2 #Variable Schritte(Zahl) aus dem IOBroker
if [ "$Richtung" == "rechts" ] #If Abfrage ob Laufrichtung rechts
then
gpio write 6 1 #Schreibe Direction Pin
for((x=0;x<"$Schritte";x++)) #For Schleife mit Anzahl der Schritte
do
gpio write 5 1 #Schreibe Pin5 High
sleep 0.0005 #delay von 0.0005s = 500microseconds
gpio write 5 0 #Schreibe Pin5 auf Low
sleep 0.0005 #delay von 0.0005s = 500microseconds
done
else
fi
if [ "$Richtung" == "links" ] #If Abfrage ob Laufrichtung links
then
gpio write 6 0 #Schreibe Direction Pin
for((x=0;x<"$Schritte";x++)) #For Schleife mit Anzahl der Schritte
do
gpio write 5 1 #Schreibe Pin5 High
sleep 0.0005 #delay von 0.0005s = 500microseconds
gpio write 5 0 #Schreibe Pin5 auf Low
sleep 0.0005 #delay von 0.0005s = 500microseconds
done
else
fi
if ["$Richtung" == "stop"] #if Abfrage Richtung stop
then
gpio write 5 0 #Schreibe Pin5 auf Low
gpio write 6 0 #Schreibe Pin5 auf Low
gpio write 7 1 #Schreibe Pin7 auf High
else
fi
Nur verweigert dann der Step-Motor leider seinen Dienst.
Ich hoffe mir kann jemand helfen.
MfG
Torsten S.