Plötzlicher Reset im Idle liegen geblieben

Die dynamische Mähsteuerung wahr wohl das Problem für den Speicherüberlauf. User Mr.Tree hatte das schon hier diskutiert und auch selber eine Funktion erstellt.
 
Wie ich sehe, die pwmMaxMow wird weiterhin in der Software verwendet. Die Definition MAX_MOW_RPM ist wohl aus versehen aus der config_example.h rausgeflogen.
 
Brauen wir das wirklich noch? In den einzelnen Treibern ist es doch begrenzt auf 255, oder sehe ich das falsch?

// JYQD brushless driver
JYQD.driverName = "JYQD"; // just a name for your driver
JYQD.forwardPwmInvert = false; // invert PWM signal for forward? (false or true)
JYQD.forwardDirLevel = LOW; // logic level for forward (LOW or HIGH)
JYQD.reversePwmInvert = false; // invert PWM signal for reverse? (false or true)
JYQD.reverseDirLevel = HIGH; // logic level for reverse (LOW or HIGH)
JYQD.usePwmRamp = false; // use a ramp to get to PWM value?
JYQD.faultActive = LOW; // fault active level (LOW or HIGH)
JYQD.resetFaultByToggleEnable = true; // reset a fault by toggling enable?
JYQD.enableActive = HIGH; // enable active level (LOW or HIGH)
JYQD.disableAtPwmZeroSpeed = false; // disable driver at PWM zero speed? (brake function)
JYQD.keepPwmZeroSpeed = false; // keep PWM zero value (disregard minPwmSpeed at zero speed)?
JYQD.minPwmSpeed = 0; // minimum PWM speed your driver can operate
JYQD.maxPwmSpeed = 255;
JYQD.pwmFreq = PWM_FREQ_3900; // choose between PWM_FREQ_3900 and PWM_FREQ_29300 here
JYQD.adcVoltToAmpOfs = -1.65; // ADC voltage to amps (offset) // brushless-adapter: 0A=1.65V, resolution 132mV/A
JYQD.adcVoltToAmpScale = 7.57; // ADC voltage to amps (scale)
JYQD.adcVoltToAmpPow = 1.0; // ADC voltage to amps (power of number)
 
Ich finde schon, wenn MOW und GEAR gleiche Treibervariante sind, dann würde ich über den Wert zwangsläufig beide Motoren begrenzen
 
Hey, ist bei euch das Problem mit dem liegen bleiben im Idle behoben mit der neuen Version?
Bei uns besteht das Problem weiterhin.
 
Hey, ist bei euch das Problem mit dem liegen bleiben im Idle behoben mit der neuen Version?
Bei uns besteht das Problem weiterhin.
Hallo Basti,

bei mir läuft die FW einwandfrei. Also mit 1.0.298 ist das jetzt tatsächlich so, dass ich einen autonomen Mäher habe, bei dem ich nicht mehr eingreifen muss. Seit einer Woche kein einziges mal, er fährt los macht seinen Job und kommt auch von alleine wieder.

Was steht unter der Statistik beim reset cause? Und wird dein free memory (ebenfalls unter Statistik) beim Mähen immer kleiner?

Gruß
Alexander
 
Ich finde schon, wenn MOW und GEAR gleiche Treibervariante sind, dann würde ich über den Wert zwangsläufig beide Motoren begrenzen
Du könntest in der AmDriverRobot.cpp
die Werte jeweils noch anpassen ist ab Zeile 276 etwa, das überschreibt dann die Standardwerte von der allgemeinen Treiberbeschreibung weiter oben:

void AmMotorDriver::begin(){

#ifdef MOTOR_DRIVER_BRUSHLESS
CONSOLE.println("MOTOR_DRIVER_BRUSHLESS: yes");

// All motors (gears, mow) are assigned individual motor drivers here.
// NOTE: you can adjust/override default motor driver parameters here if required for a certain motor!
// example: mowDriverChip.minPwmSpeed = 40;

#ifdef MOTOR_DRIVER_BRUSHLESS_MOW_DRV8308
mowDriverChip = DRV8308;
#elif MOTOR_DRIVER_BRUSHLESS_MOW_A4931
mowDriverChip = A4931;
mowDriverChip.minPwmSpeed = 40;
mowDriverChip.keepPwmZeroSpeed = true;
mowDriverChip.disableAtPwmZeroSpeed = true;
mowDriverChip.usePwmRamp = false;
#elif MOTOR_DRIVER_BRUSHLESS_MOW_BLDC8015A
mowDriverChip = BLDC8015A;
#elif MOTOR_DRIVER_BRUSHLESS_MOW_JYQD
mowDriverChip = JYQD;
mowDriverChip.maxPwmSpeed = 210; //z.B. sooo
#else
 
Basti86, welche Firmware und welcher Mäher? Vielleicht mal eine Log mit der SD-Karte erstellen oder falls Ardumower über den seriellen Monitor ansehen.
 
Also bei mir löst der Watchdog mit der 1.0.298 nicht mehr aus.

Ich würde mich aber freuen, wenn man in der nächsten Version wieder die Mow Drehzahl komfortabel in der config.h begrenzen kann. (ich habe immer bisschen Angst um meinen BL Treiber mit 255)
Außerdem würde ich es gut finden, wenn man das ständige an/aus schalten des Mow bei auslösen des Bumpers aktivieren/deaktivieren kann.

Aber sonst läuft Robi nun echt gut ;)
 
Ist hier jemand mit dem DUE unterwegs, wo noch Probleme mit der aktuellen 1.0.298 Firmware hat?

Wegen dem dynamischen Mähen wird sich Alexander sicher was einfallen lassen.
 
Hallo EinEinach,

eine bescheidene Frage zur config.h und MAX_MOW_RPM 255
Kenn mich mit den Interna zum Alfred leider noch nicht so aus.
Habe aktuell die 1.0.298 auf dem Alfred.
Autonom Mähen tut der Alfred mit der 1.0.298 prinzipiell bis zum Schluss, also Dock raus, mähen, ab und zu die für den Alfred bekannten Aussetzer mit Denkpausen und Wiederanlaufen des Motors und wieder rein in den Dock zum Aufladen, jedoch habe ich gehäuft diese für mich eigentlich grundlosen Einträge in der Syslog stehen:

SerialRobot: CRC ERROR2A,88
SerialRobot: CRC ERRORF9,85
WARN: SerialRobot unmet communication frequency: motorFreq=48/7 summaryFreq=2/0
SerialRobot: CRC ERROR2B,F4
SerialRobot: CRC ERROR2D,E8
138:47:13 ctlDur=0.02 op=Mow(initiatedByOperator 1) mem=3096 bat=27.86(0.56) chg=3.28(0.26) tg=-1.06,-1.98 x=-0.78 y=-2.04 delta=0.17 tow=481917400 lon=12.30727321 lat=51.04771742 h=215.9 n=-2.04 e=-0.78 d=2.49 sol=2 age=0.16
ERROR: mow motor, average rpm too low: pwm=209.27 pwmLP=106.32 rpmLP=9.41 (NOTE: choose ENABLE_RPM_FAULT_DETECTION=false in config.h, if your mowing motor has no rpm sensor!)
motor fault recover counter 1
serialRobot: resetting motor fault
batTemp=-9999 cpuTemp=54
138:47:18 ctlDur=0.02 op=Mow(initiatedByOperator 1) mem=3096 bat=27.84(0.56) chg=3.27(0.16) tg=-1.06,-1.98 x=-0.78 y=-2.04 delta=0.17 tow=481922400 lon=12.30727344 lat=51.04771743 h=215.9 n=-2.04 e=-0.78 d=2.48 sol=2 age=0.17
ERROR: mow motor, average rpm too low: pwm=-203.41 pwmLP=-100.10 rpmLP=0.00 (NOTE: choose ENABLE_RPM_FAULT_DETECTION=false in config.h, if your mowing motor has no rpm sensor!)
motor fault recover counter 2
serialRobot: resetting motor fault
138:47:23 ctlDur=0.02 op=Mow(initiatedByOperator 1) mem=3096 bat=27.84(0.50) chg=3.28(0.10) tg=-1.06,-1.98 x=-0.78 y=-2.03 delta=0.17 tow=481927400 lon=12.30727321 lat=51.04771744 h=215.9 n=-2.03 e=-0.78 d=2.49 sol=2 age=0.18
SerialRobot: CRC ERROR2B,CF
SerialRobot: CRC ERROR36,76
SerialRobot: CRC ERROR38,F4
SerialRobot: CRC ERROR2A,E5

Die config.h habe ich mir mit WinSCP unter /home/pi/sunray_install/config_files/sunray mal auf den PC kopiert und sehe, dass MAX_MOW_RPM Eintrag wie von dir beschrieben nicht vorhanden ist.
Meine Frage nun, würde der Eintrag MAX_MOW_RPM 255 den geloggten mov motor error beseitigen und wenn ja, muss der Eintrag in der config.h ohne die Schrägstriche bei Zeile 191 eingefügt werden.
Die Schrägstriche sind doch vermutlich ähnlich bei Batch etc. zum Remarken.
Also so:
// should the PWM value be limited?
#define MAX_MOW_RPM 255 // maximum value is 255

Oder gibt es noch andere Stellschrauben, damit der Alfred flüssiger läuft und schneller fertig wird?

Gruß und vorab Danke.
 
Oben