EinEinfach
Well-known member
Ich denke ohne Leistungswiderstand ist hier nichts zu machenUnd wenn Du es eingestelllt hast, wie hast Du das gemacht?
Ich denke ohne Leistungswiderstand ist hier nichts zu machenUnd wenn Du es eingestelllt hast, wie hast Du das gemacht?
bzw. wie Hartmut schon schrieb
"Drehen die Motoren nicht an, dann die Zeilen auskommentieren. Drehen die Motoren im Stillstand dann Wert um 1 erhöhen.
Das Ding fuhr richtig flussig, hat richtig Spaß gemacht, habe manuell den ganzen Graten abgefahren und geguckt, wo ich kein FIX habe . Muss ich schauen, ob es hier noch was besseres geht.// motor speed control (PID coefficients) - these values are tuned for Ardumower motors
// general information about PID controllers: https://wiki.ardumower.de/index.php?title=PID_control
#define MOTOR_PID_KP 1.0 // do not change 2.0 (for non-Ardumower motors or if the motor speed control is too fast you may try: KP=1.0, KI=0, KD=0)
#define MOTOR_PID_KI 0 // do not change 0.03
#define MOTOR_PID_KD 0 // do not change 0.03
Irgendwo oben hast du geschrieben, das es auf 0 gesetzt werden soll, das habe ich aktuell. Jedenfalls probiere ich 0,1 auch mal ausSTANDLEY_Control auf 0.1
Du kannst die auskommemtierten Zeilen wieder Aktivieren und testen ob die Motoren dann stehen und anlaufen. Wenn sie nicht anlaufen dann von -2 auf Minus 1 erhöhen. Drehen die Motoren bei Minus 2 immer noch dann auf Minus 3 gehen.Welche Zahlen muss ich um 1 erhöhen? Ich spiele die ganze Zeit mit den Codezeilen, aber das Verhalten bleibet gleich.
Hier in den roten Zeilen ändern.AmRobotDriver.cpp zu finden in sunray/src/driver/ ab etwa Zeile 135
void AmMotorDriver::setBrushless(int pinDir, int pinPWM, int speed) {
//DEBUGLN(speed);
if (speed < 0) {
digitalWrite(pinDir, HIGH) ;
//if (speed >= -2) speed = -2; //>hier
pinMan.analogWrite(pinPWM, ((byte)abs(speed)));
} else {
digitalWrite(pinDir, LOW) ;
// if (speed <= 2) speed = 2; //>hier
pinMan.analogWrite(pinPWM, ((byte)abs(speed)));
}
Hello,Ich habe die BL Motoren und das V1.0 Board, eines der super ersten.
Das stoppen war bei einer älteren Firmware aufgetaucht, dann war es mal weg, und nun ist es bei mir wieder da.
Es liegt nicht am Treiber, da bin ich mir sicher. Der setzt einfach das um was an PWM Wert reingeht.
Es ruckt ja auch nur bei Fernsteuerung, im Betrieb gibt es das nicht. Du fährst 2 sek, dann ruckstopp, dann weiter...
Für mich ist es aber nicht schlimm, da ich zum Programmieren oder manuelle Mähen die Funke im RC Modus und einen Gartenstuhl nehme ^^
Hello,
yes, I've seen sometimes this behavior. I don't have a V1.0 Board, (it is a homemade). I haven't really understood the problem.
I'm closed to restart my investigations. I ll let you know
// bluetooth low energy (BLE) | |
#define USE_BLE 1 // comment this line to remove BLE support | |
#define BLE_MTU 20 // max. transfer bytes per BLE frame | |
#define BLE_MIN_INTERVAL 2 // connection parameters (tuned for high speed/high power consumption - see: https://support.ambiq.com/hc/en-us/articles/115002907792-Managing-BLE-Connection-Parameters) | |
#define BLE_MAX_INTERVAL 10 | |
#define BLE_LATENCY 0 | |
#define BLE_TIMEOUT 30 |