motor eichen
This commit is contained in:
		@@ -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()
 | 
			
		||||
m2.start()
 | 
			
		||||
 | 
			
		||||
m1.eichen()
 | 
			
		||||
 | 
			
		||||
#m1.vorwaerts(10)
 | 
			
		||||
#m1.stop()
 | 
			
		||||
#m2.stop()
 | 
			
		||||
 
 | 
			
		||||
@@ -58,8 +58,15 @@ class motor():
 | 
			
		||||
        self.pwm3.stop()
 | 
			
		||||
        self.pwm4.stop()
 | 
			
		||||
 | 
			
		||||
    def vorwaerts(self, schritte):
 | 
			
		||||
    def vorwaerts(self, schritte, eichen=0):
 | 
			
		||||
        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:
 | 
			
		||||
            self.pwm4.ChangeFrequency(self.freq)
 | 
			
		||||
@@ -71,14 +78,14 @@ class motor():
 | 
			
		||||
                self.pos += 1
 | 
			
		||||
 | 
			
		||||
            temp_pos = i * 8
 | 
			
		||||
            einzelschritt(self.pwm1, 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.pwm1, 0, ges_schritte, temp_pos + 3, self.t1, self.t2)
 | 
			
		||||
            einzelschritt(self.pwm3, 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.pwm3, 0, ges_schritte, temp_pos + 7, 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, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 3, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm3, 1, ges_schritte, temp_pos + 4, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 7, temp_t1, temp_t2)
 | 
			
		||||
 | 
			
		||||
        if self.halten == 1:
 | 
			
		||||
            self.pwm4.ChangeFrequency(self.freq_halten)
 | 
			
		||||
@@ -86,9 +93,16 @@ class motor():
 | 
			
		||||
        else:
 | 
			
		||||
            self.pwm4.ChangeDutyCycle(0)
 | 
			
		||||
 | 
			
		||||
    def rueckwaerts(self, schritte):
 | 
			
		||||
    def rueckwaerts(self, schritte, eichen=0):
 | 
			
		||||
        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:
 | 
			
		||||
            self.pwm4.ChangeFrequency(self.freq)
 | 
			
		||||
 | 
			
		||||
@@ -100,14 +114,14 @@ class motor():
 | 
			
		||||
                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)
 | 
			
		||||
            einzelschritt(self.pwm3, 1, ges_schritte, temp_pos, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm4, 0, ges_schritte, temp_pos + 1, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm2, 1, ges_schritte, temp_pos + 2, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm3, 0, ges_schritte, temp_pos + 3, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm1, 1, ges_schritte, temp_pos + 4, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm2, 0, ges_schritte, temp_pos + 5, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm4, 1, ges_schritte, temp_pos + 6, temp_t1, temp_t2)
 | 
			
		||||
            einzelschritt(self.pwm1, 0, ges_schritte, temp_pos + 7, temp_t1, temp_t2)
 | 
			
		||||
 | 
			
		||||
        if self.halten == 1:
 | 
			
		||||
            self.pwm4.ChangeFrequency(self.freq_halten)
 | 
			
		||||
@@ -115,6 +129,13 @@ class motor():
 | 
			
		||||
        else:
 | 
			
		||||
            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):
 | 
			
		||||
    w = (schritt * 100 / (ges_schritte - 1)) * 1.8
 | 
			
		||||
    s = round(math.sin(math.radians(w)), 2)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user