motor eichen
This commit is contained in:
parent
08bea5ab6a
commit
cda9bffd2a
@ -26,6 +26,8 @@ m2 = motor('kippen', m2_a1, m2_b1, m2_a2, m2_b2, m2_t1, m2_t2, m2_te, m2_es, 1,
|
|||||||
m1.start()
|
m1.start()
|
||||||
m2.start()
|
m2.start()
|
||||||
|
|
||||||
|
m1.eichen()
|
||||||
|
|
||||||
#m1.vorwaerts(10)
|
#m1.vorwaerts(10)
|
||||||
#m1.stop()
|
#m1.stop()
|
||||||
#m2.stop()
|
#m2.stop()
|
||||||
|
@ -58,8 +58,15 @@ class motor():
|
|||||||
self.pwm3.stop()
|
self.pwm3.stop()
|
||||||
self.pwm4.stop()
|
self.pwm4.stop()
|
||||||
|
|
||||||
def vorwaerts(self, schritte):
|
def vorwaerts(self, schritte, eichen=0):
|
||||||
ges_schritte = schritte * 8
|
ges_schritte = schritte * 8
|
||||||
|
|
||||||
|
if eichen == 1:
|
||||||
|
temp_t1 = self.te
|
||||||
|
temp_t2 = self.te
|
||||||
|
else:
|
||||||
|
temp_t1 = self.t1
|
||||||
|
temp_t2 = self.t2
|
||||||
|
|
||||||
if self.halten == 1:
|
if self.halten == 1:
|
||||||
self.pwm4.ChangeFrequency(self.freq)
|
self.pwm4.ChangeFrequency(self.freq)
|
||||||
@ -71,14 +78,14 @@ class motor():
|
|||||||
self.pos += 1
|
self.pos += 1
|
||||||
|
|
||||||
temp_pos = i * 8
|
temp_pos = i * 8
|
||||||
einzelschritt(self.pwm1, 1, ges_schritte, temp_pos, self.t1, self.t2)
|
einzelschritt(self.pwm1, 1, ges_schritte, temp_pos, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm4, 0, ges_schritte, temp_pos + 1, self.t1, self.t2)
|
einzelschritt(self.pwm4, 0, ges_schritte, temp_pos + 1, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, self.t1, self.t2)
|
einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 3, self.t1, self.t2)
|
einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 3, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm3, 1, ges_schritte, temp_pos + 4, self.t1, self.t2)
|
einzelschritt(self.pwm3, 1, ges_schritte, temp_pos + 4, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, self.t1, self.t2)
|
einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, self.t1, self.t2)
|
einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 7, self.t1, self.t2)
|
einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 7, temp_t1, temp_t2)
|
||||||
|
|
||||||
if self.halten == 1:
|
if self.halten == 1:
|
||||||
self.pwm4.ChangeFrequency(self.freq_halten)
|
self.pwm4.ChangeFrequency(self.freq_halten)
|
||||||
@ -86,9 +93,16 @@ class motor():
|
|||||||
else:
|
else:
|
||||||
self.pwm4.ChangeDutyCycle(0)
|
self.pwm4.ChangeDutyCycle(0)
|
||||||
|
|
||||||
def rueckwaerts(self, schritte):
|
def rueckwaerts(self, schritte, eichen=0):
|
||||||
ges_schritte = schritte * 8
|
ges_schritte = schritte * 8
|
||||||
|
|
||||||
|
if eichen == 1:
|
||||||
|
temp_t1 = self.te
|
||||||
|
temp_t2 = self.te
|
||||||
|
else:
|
||||||
|
temp_t1 = self.t1
|
||||||
|
temp_t2 = self.t2
|
||||||
|
|
||||||
if self.halten == 1:
|
if self.halten == 1:
|
||||||
self.pwm4.ChangeFrequency(self.freq)
|
self.pwm4.ChangeFrequency(self.freq)
|
||||||
|
|
||||||
@ -100,14 +114,14 @@ class motor():
|
|||||||
self.pos -= 1
|
self.pos -= 1
|
||||||
|
|
||||||
temp_pos = i * 8
|
temp_pos = i * 8
|
||||||
einzelschritt(self.pwm3, 1, ges_schritte, temp_pos, self.t1, self.t2)
|
einzelschritt(self.pwm3, 1, ges_schritte, temp_pos, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm4, 0, ges_schritte, temp_pos + 1, self.t1, self.t2)
|
einzelschritt(self.pwm4, 0, ges_schritte, temp_pos + 1, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, self.t1, self.t2)
|
einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 3, self.t1, self.t2)
|
einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 3, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm1, 1, ges_schritte, temp_pos + 4, self.t1, self.t2)
|
einzelschritt(self.pwm1, 1, ges_schritte, temp_pos + 4, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, self.t1, self.t2)
|
einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, self.t1, self.t2)
|
einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, temp_t1, temp_t2)
|
||||||
einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 7, self.t1, self.t2)
|
einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 7, temp_t1, temp_t2)
|
||||||
|
|
||||||
if self.halten == 1:
|
if self.halten == 1:
|
||||||
self.pwm4.ChangeFrequency(self.freq_halten)
|
self.pwm4.ChangeFrequency(self.freq_halten)
|
||||||
@ -115,6 +129,13 @@ class motor():
|
|||||||
else:
|
else:
|
||||||
self.pwm4.ChangeDutyCycle(0)
|
self.pwm4.ChangeDutyCycle(0)
|
||||||
|
|
||||||
|
def eichen(self):
|
||||||
|
if GPIO.input(self.endschalter) == GPIO.LOW:
|
||||||
|
self.vorwaerts(10, 1)
|
||||||
|
|
||||||
|
self.rueckwaerts(self.schritte_max, 1)
|
||||||
|
self.pos = 0
|
||||||
|
|
||||||
def einzelschritt(spule, status, ges_schritte, schritt, t1, t2):
|
def einzelschritt(spule, status, ges_schritte, schritt, t1, t2):
|
||||||
w = (schritt * 100 / (ges_schritte - 1)) * 1.8
|
w = (schritt * 100 / (ges_schritte - 1)) * 1.8
|
||||||
s = round(math.sin(math.radians(w)), 2)
|
s = round(math.sin(math.radians(w)), 2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user