So, nun bin ich wieder drei Stunden älter, frustrierter und kein bisschen weiter.
Ich habe die Berechnung korrigiert und mein Testcode funktioniert. Die gleiche Berechnung ist auch im Originalcode eingebaut und es funktioniert nicht. Motor dreht, Richtung stimmt, Geschwindigkeit nicht.
Es wird zwar der richtige Originalwert und der richtige Wert für die PWM-Einstellung ausgegeben, aber es wird nichts umgestellt.
Ich habe versucht, an mehreren Stellen time.sleep einzubauen. Einerseits im Modul Umstellen, andererseits direkt im Modul, in dem die Daten empfangen und das Modul Umstellen aufgerufen wird. 20, 30, 100, 250 oder 500 Millisekunden haben nichts geholfen. Insbesondere beim Unterbruch im Empfangsmodul brachte unangenehme Effekte, dass zwischenzeitlich empfangenen Werte mit Verzögerung ausgeführt wurden und der Motor wild herumgesprungen ist. Also wieder raus mit den ganzen Unterbrüchen, 250 Millisekunden habe ich jeweils nach den Richtungswechseln gelassen.
Wenn es am Empfänger nicht funktioniert, dann vielleicht am Sender. Also habe ich am Sender die Sendefrequenz verändert. Statt alle 50 Millisekunden wird jetzt alle 500 Millisekunden ein neues Signal geschickt. Ohne Änderung am Resultat.
Lesezeichen