motor test

This commit is contained in:
2021-03-04 15:18:24 +01:00
parent eb32f05367
commit 08bea5ab6a
2 changed files with 32 additions and 11 deletions

View File

@@ -60,8 +60,7 @@ class motor():
def vorwaerts(self, schritte):
ges_schritte = schritte * 8
#print(str(ges_schritte))
if self.halten == 1:
self.pwm4.ChangeFrequency(self.freq)
@@ -87,17 +86,44 @@ class motor():
else:
self.pwm4.ChangeDutyCycle(0)
def rueckwaerts(self, schritte):
ges_schritte = schritte * 8
if self.halten == 1:
self.pwm4.ChangeFrequency(self.freq)
for i in range(int(schritte)):
if GPIO.input(self.endschalter) == GPIO.LOW:
self.pos = 0
break
else:
self.pos -= 1
temp_pos = i * 8
einzelschritt(self.pwm3, 1, ges_schritte, temp_pos, self.t1, self.t2)
einzelschritt(self.pwm4, 0, ges_schritte, temp_pos + 1, self.t1, self.t2)
einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, self.t1, self.t2)
einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 3, self.t1, self.t2)
einzelschritt(self.pwm1, 1, ges_schritte, temp_pos + 4, self.t1, self.t2)
einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, self.t1, self.t2)
einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, self.t1, self.t2)
einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 7, self.t1, self.t2)
if self.halten == 1:
self.pwm4.ChangeFrequency(self.freq_halten)
self.pwm4.ChangeDutyCycle(self.cyc_halten)
else:
self.pwm4.ChangeDutyCycle(0)
def einzelschritt(spule, status, ges_schritte, schritt, t1, t2):
w = (schritt * 100 / (ges_schritte - 1)) * 1.8
s = round(math.sin(math.radians(w)), 2)
t = t2 - (s * (t2 - t1))
#print(str(t))
if status == 1:
for i in range(0, 91, 5):
dc = round(math.sin(math.radians(i)) * 100, 0)
spule.ChangeDutyCycle(dc)
#print(str(dc))
time.sleep(t)
else:
for i in range(0, 91, 5):