Hab den Code eben mal versucht zu nutzen aber nicht wirklich erfolgreich.
Nutze die JYQD 2021 Treiber und da nutzen wir die Remote Pins als Bremse.
Die werden auf HIGH geschaltet wenn 0 rpm anliegen und dann zieht der Treiber die Bremse.
Das passiert mit dem simplen Codeschnipsel in der AmRobotDriver.cpp, siehe auch
hier.
Code:
//Brake über RC Buchse für die JYQD 2021
if (leftPwm == 0) digitalWrite(pinRemoteSwitch, HIGH);
else digitalWrite(pinRemoteSwitch, LOW);
if (rightPwm == 0) digitalWrite(pinRemoteSpeed, HIGH);
else digitalWrite(pinRemoteSpeed, LOW);
//ENDE
Hab die Remote Pins entsprechend in der config.h wieder umbenannt, die heißen bei dir ja anders und auch den LED Treiber Part komplett aus der robot.cpp rausgenommen.
Code:
// if (stateChargerConnected) { //************ LED LIGHTS
// digitalWrite(pinRemoteSwitch1, HIGH);
// } else {
// digitalWrite(pinRemoteSwitch1, LOW); //************ LED LIGHTS
// }
Die Bremse funktioniert aber nicht wirklich, die wird die ganze Zeit an/aus geschaltet, man kann das Rad also im Stillstand immer für 3ms drehen, dann ist die Bremse wieder für 3ms aktiv usw...
Das führt dann schnell dazu dass die Treiber komplett aussteigen, da scheint also irgendwas immer noch auf den Remote Pins rum zu werkeln.
Irgendeine Idee warum das passiert? Machst du mit den RemotePins noch etwas anderes was ich übersehen habe?
Edit: Oder nutzt du die "leftPwm" und "rightPwm" Variablen gar nicht und da passiert irgendwas komplett anderes mit?
Falls ja welche Variablen für links/rechts könnte man nutzen damit der Treiber weiß wann keine Bewegung vorliegt?