ArduMower Brushless Drive

3x JQYD 2021 Treiber + die aktuellen BL Motoren aus dem Shop.
Die beiden Gear Motoren jeweils mit der Bremse am Treiber, der Mow Motor ohne und läuft daher 2-3sek nach.
Er wendet perfekt am Ende der Bahn, ganz selten dass er den Punkt mal verfehlt und daher korrigieren muss.

Speed fahre ich aktuell mit 0.23, wobei da glaube noch was mehr geht, muss ich über die Zeit mal testen.

Code:
// ----- gear motors --------------------------------------------------
#define MOTOR_DRIVER_BRUSHLESS   1     // uncomment this for new brushless motor drivers
#define MOTOR_DRIVER_BRUSHLESS_MOW_JYQD 1  // uncomment for brushless JYQD driver and mowing motor (https://forum.ardumower.de/threads/jyqd-treiber-und-sunray.24811/)
#define MOTOR_DRIVER_BRUSHLESS_GEARS_JYQD 1   // uncomment for brushless JYQD driver and gears/traction motor

#define MOTOR_FAULT_CURRENT 6.0    // gear motors fault current (amps)
#define MOTOR_OVERLOAD_CURRENT 2.8    // gear motors overload current (amps)

//#define USE_LINEAR_SPEED_RAMP  true      // use a speed ramp for the linear speed
#define USE_LINEAR_SPEED_RAMP  false      // do not use a speed ramp

#define MOTOR_PID_KP     1.5    // Ori:2.0 , JYQD2017: 1.1 , JYQD2021: 1.5
#define MOTOR_PID_KI     0.03   // Ori:0.03 , YQD2017: 0.01 , JYQD2021: 0.03
#define MOTOR_PID_KD     0   // Ori:0.03 , YQD2017: 0.01 , JYQD2021: 0

#define MOTOR_LEFT_SWAP_DIRECTION 1  // uncomment to swap left motor direction
#define MOTOR_RIGHT_SWAP_DIRECTION 1  // uncomment to swap right motor direction


// ------------ dynamic gear motors speed ----------------

#define ENABLE_DYNAMIC_MOWER_SPEED false


// ----- mowing motor -------------------------------------------------

#define MOW_FAULT_CURRENT 3.3       // mowing motor fault current (amps)
#define MOW_OVERLOAD_CURRENT 2.5    // mowing motor overload current (amps)

#define MOW_TOGGLE_DIR       false

#define ENABLE_OVERLOAD_DETECTION  true    // robot will stop on overload

#define ENABLE_FAULT_DETECTION  true

#define ENABLE_RPM_FAULT_DETECTION  true
//#define ENABLE_RPM_FAULT_DETECTION  false

#define ENABLE_FAULT_OBSTACLE_AVOIDANCE false


// ----------- dynamic mowingm motor RPM --------------

#define ENABLE_DYNAMIC_MOWMOTOR true // set true to activate, set false to deactivate
#define DYNAMIC_MOWMOTOR_ALGORITHM 1 // 1 - linear; 2 - root-Function; 3 - square-Function
#define MIN_MOW_RPM 160   //minimum value of mow RPM
#define MAX_MOW_RPM 235   // maximum value is 255


// ---- path tracking -----------------------------------

#define TARGET_REACHED_TOLERANCE 0.05

#define STANLEY_CONTROL_P_NORMAL  0.6   // Ori:3.0 , JYQD2017: 1.1 , JYQD2021: 0.6
#define STANLEY_CONTROL_K_NORMAL  0.4   // Ori:1.0 , JYQD2017: 0.05 , JYQD2021: 0.4

#define STANLEY_CONTROL_P_SLOW    0.8   // Ori:3.0 , JYQD2017: 1.0 , JYQD2021: 0.8
#define STANLEY_CONTROL_K_SLOW    0.1   // Ori:0.1 , JYQD2017: 0.1 , JYQD2021: 0.1
 

Anhänge

  • 2022-08-21 10_58_25-Ardumower Sunray App.png
    2022-08-21 10_58_25-Ardumower Sunray App.png
    1,4 MB · Aufrufe: 4
Zuletzt bearbeitet:
Danke nochmal für deinen Input zu den Treiber, kann jedenfalls bestätigen dass die Werte so ziemlich gute Arbeit verrichten. :)
Wobei ich bei Speed 0.31 durchaus Probleme bekomme, mein Rasen hat aber auch sehr viele Hubbel wodurch er bei höherem Tempo dann gerne aus der Bahn springt. Mit 0.23 aber kein Thema, reicht mir auch da er den Rasen in einem Zug trotzdem schafft.

Aber mal abwarten bis der Rasen wieder richtig wächst und auch mehr Widerstand leistet als aktuell.
 

Anhänge

  • 20220820_172139.jpg
    20220820_172139.jpg
    5,1 MB · Aufrufe: 31
So heute das zweite mal ohne einen einzigen Aussetzer vom Mähwerk durch zukommen, damit würde ich Zufall beim ersten Versuch ausschließen.
Die A4931 sind der Verursacher der RPM Errors bei mir, Motoren und Software scheint okay zu sein wenn es mit dem JYQD 2021 ohne Probleme läuft.

Jetzt warten wir mal ab ob hier noch dazu was kommt.
Denn optimal sind die JYQD 2021 Treiber dafür nicht weil die nachlaufen beim stoppen.
 
Nope, nicht wirklich. Mittels try and error habe ich diese hier letzten Endes genutzt. Ist aber nicht das Gelbe vom Ei.

Code:
// stanley control for path tracking - determines gain how fast to correct for lateral path errors
//#define STANLEY_CONTROL_P_NORMAL  3.0   // 3.0 for path tracking control (angular gain) when mowing
//#define STANLEY_CONTROL_K_NORMAL  1.0   // 1.0 for path tracking control (lateral gain) when mowing
#define STANLEY_CONTROL_P_NORMAL  1.5   // 3.0 for path tracking control (angular gain) when mowing
#define STANLEY_CONTROL_K_NORMAL  0.3   // 1.0 for path tracking control (lateral gain) when mowing

//#define STANLEY_CONTROL_P_SLOW    3.0   // 3.0 for path tracking control (angular gain) when docking tracking
//#define STANLEY_CONTROL_K_SLOW    0.1   // 0.1 for path tracking control (lateral gain) when docking tracking
#define STANLEY_CONTROL_P_SLOW    1.5   // 3.0 for path tracking control (angular gain) when docking tracking
#define STANLEY_CONTROL_K_SLOW    0.3   // 0.1 for path tracking control (lateral gain) when docking tracking
 
Bleibt das jetzt eigentlich Stand der Dinge dass es keine funktionierende Lösung seitens Marotronics für den BL Mowmotor gibt?
Der DRV8308 (zu mindestens scheinbar alle neueren Platinen) neigen zum durchbrennen und die A4931 fallen regelmäßig aus oder bleiben mit RPM Errors stehen.

Seit Monaten beides bekannt hier und es gibt kein einziges Statement dazu im Forum wenn ich nichts übersehen habe?
Das kann es doch nicht sein oder?

Ich bin dem Projekt echt gut gesonnen und habe mir ja auch eine Ersatzlösung mit dem JQYD Treibern gebaut, dank einiger User Infos und Hilfe hier im Forum und bin damit auch echt happy. Aber wenigstens mal ein Statement hier wäre schon schön gewesen.
Hab glaube mittlerweile 150€+ in Alternativtreiber gesteckt um mein Roboter zum laufen zu bekommen... zusätzlich zu den 149€ die ich damals im Shop ja schon extra für die Brushless Variante bezahlt hatte.

Klar wir nagen hier sicherlich alle nicht am Hungertot wer sich Mähroboter für 2000€ kauft aber so ganz ohne jegliches Feedback kommt irgendwie (zu mindestens bei mir) das Gefühl auf, dass es scheinbar völlig selbstverständlich ist nicht funktionierende Hardware zu verkaufen und das die User sich eigene Bastellösungen auf eigene Kosten schaffen müssen?

Oder sehe ich da was falsch bzw. zu eng?
Ich arbeite auch an der Kundenfront und wenn etwas nicht funktioniert ist ein ehrliches Wort zu der Faktenlage (zeitnah!) immer noch 10x besser als den Kopf in den Sand zu stecken.
 
Hallo Oliver,
ja es gibt eine offizielle Rückmeldung. BerndS entwickelt aktuell den neuen Treiber und wenn alles gut geht, kommt der voraussichtlich im 1Q 2023 auf den Markt.
Also Daumen drücken, das es genug gute Hardware Bauteile gibt und die Tests gut sind.

Grüße
W1976
 
ja es gibt eine offizielle Rückmeldung. BerndS entwickelt aktuell den neuen Treiber und wenn alles gut geht, kommt der voraussichtlich im 1Q 2023 auf den Markt.
Also Daumen drücken, das es genug gute Hardware Bauteile gibt und die Tests gut sind.
Vielen Dank für die Info.
Ich werde dann meinen Ardumower zum Winter einmotten und auf die neuen Treiber warten, anstatt im Zwischenschritt über den JQYD zu gehen, um meine Probleme zu lösen.
 
Hallo Oliver,
ja es gibt eine offizielle Rückmeldung. BerndS entwickelt aktuell den neuen Treiber und wenn alles gut geht, kommt der voraussichtlich im 1Q 2023 auf den Markt.
Also Daumen drücken, das es genug gute Hardware Bauteile gibt und die Tests gut sind.

Grüße
W1976
Könntest Du bitte evtl. auch mal in Erfahrung bringen ob oder warum nicht der "alte" Brushlessadapter seit gut einem Jahr nicht mehr angeboten bzw. produziert wird?
Auch aus Ersatzteilsicht bekomme ich Bauchschmerzen, wenn die nicht wieder angeboten werden.
 
falls jemand noch einen "originalen" Brushlesstreiber für den Mähmotor braucht, laut Beschreibung mit dem DRV8308 Chip, auch wieder bei Marotronics verfügbar:

Für die Antriebe ist leider noch nichts dabei...
 
Oben