Motoren "Stottern" ungleichmäßig

Schweden05

New member
Hallo zusammen liebes Ardumover-FAN Team,

Ich bin erst seit einer Woche in Besitz eines Baukastens und habe soweit alles fertig. Leider hatte der DC-DC Wandler gefehlt und Mutter etwas warten.

Benutzen tue ich die Long-Range Version mit sunray und habe diese erfolgreich auf den M4 gespielt und eingerichtet.
Ob es so einen Fall schon gibt habe ich gesucht aber leider nichts gefunden.

und zwar kann ich die App nicht über Alan sonder nur über Bluetooth verbinden (das ist erstmal egal).
Wenn ich den "Joystick" bewege, dreht erstens das linke Rad verkehrt herum und die Motoren stocken unregelmäßig.

Ich denke, dann sich das Problem sicherlich leicht beheben lässt. Wenn ich diesen "im Forum gefunden" Rad-Test mache mit glaube ich AT+E, dann läuft der Test durch und nach dem Test piepst das Mainboad weiter.

Also mit dem Test-Programm läuft zwar das Rad falsch herum, aber durchgehend.
Wenn ich den Joystick nehme, dann stottert es.


16:42:21.059 -> motor fault recover counter 5

16:42:21.059 -> ERROR: motor recovery failed

16:42:21.091 -> ERROR motor current too high: current=0.11,12.05,0.00

16:42:22.112 -> motor fault recover counter 1

16:42:22.178 -> ERROR motor current too high: current=0.00,12.17,0.09

16:42:23.165 -> 0:1:13 ctlDur=0.02 op=Idle(initiatedByOperator 0) freem=244883 sp=11DCB bat=29.74(12.15) chg=0.18(0.00) tg=0.00,0.00 x=0.00 y=0.00 delta=0.00 tow=0 lon=0.00000000 lat=0.00000000 h=0.0 n=0.00 e=0.00 d=0.00 sol=0 age=73.17

16:42:23.165 -> motor fault recover counter 2

16:42:23.231 -> ERROR motor current too high: current=0.00,12.08,0.00

16:42:24.253 -> motor fault recover counter 3

16:42:24.290 -> ERROR motor current too high: current=0.14,12.02,0.00

16:42:25.309 -> motor fault recover counter 4

16:42:25.375 -> ERROR motor current too high: current=0.00,12.07,0.27
PS. Wie kann ich die Konsole ganz kopieren?
PPS. die Platine passt leider nicht in das Gehäuse und liegt deshalb schräg. Sie kommt nicht an leitende Teile!

Hat jemand eine Idee woran das liegt? Gerne schicke ich Infos nach :)
Liebe Grüße und aller besten Dank Tim :)

Anhang anzeigen IMG_1547.MOV
Anhang anzeigen RPReplay_Final1663857547.MP4
 
Die 12,3A müssen eigentlich ein Auslesefehler sein, das wären ~350W... die Motoren müssten nach nur paar Sekunden glühend heiß sein oder das Board irgendwo am qualmen. Wenn nicht vorher eine Sicherung gegriffen haben sollte.

Am besten sowas mit Labornetzteil und Stromstärkenbegrenzung machen, dann sieht man was wirklich los ist.

Wie schon erwähnt schau mal ob du nicht einen Motor falsch rum verdrahtet hast, mess dafür mal mit einem Multimeter die Polung der Stecker auf dem PCB durch, die sind bei den Motorenports unglücklicherweise anders herum als bei den anderen Ports außen rum.
 
Zuletzt bearbeitet:
Könnte auch noch eine falsche Einstellung in der Config.h sein. Vielleicht mal den Part hier reinstellen wo man die Motoren auswählen kann.
 
Hallo ihr lieben!!

Vielen Dank für eure zahlreichen Tipps.
Als erstes meine Config. Evtl. muss im rot markiertem Bereich etwas eingestellt werden?
// ------ odometry -----------------------------------
// values below are for Ardumower chassis and Ardumower motors
// see Wiki on how to configure the odometry divider:
// https://wiki.ardumower.de/index.php?title=Ardumower_Sunray#PCB1.3_odometry_divider
// NOTE: It is important to verify your odometry is working accurate.
// Follow the steps described in the Wiki to verify your odometry returns approx. 1 meter distance for
// driving the same distance on the ground (without connected GPS):
// https://wiki.ardumower.de/index.php?title=Ardumower_Sunray#Odometry_test
// https://forum.ardumower.de/threads/andere-räder-wie-config-h-ändern.23865/post-41732
// NOTE: if using non-default Ardumower chassis and your freewheel is at frontside (gear motors at backside), have may have to swap motor cables,
// more info here: https://wiki.ardumower.de/index.php?title=Ardumower_Chassis_'mountain_mod')
#define FREEWHEEL_IS_AT_BACKSIDE true // default Ardumower: true (change to false, if your freewheel is at frontside) - this is used for obstacle avoidance
#define WHEEL_BASE_CM 35.5 // wheel-to-wheel distance (cm)
#define WHEEL_DIAMETER 250 // wheel diameter (mm)
//#define ENABLE_ODOMETRY_ERROR_DETECTION true // use this to detect odometry erros
#define ENABLE_ODOMETRY_ERROR_DETECTION true
// choose ticks per wheel revolution :
// ...for the 36mm diameter motor (blue cap) https://www.marotronics.de/2-x-36er-DC-Planeten-Getriebemotor-24-Volt-mit-HallIC-30-33-RPM-8mm-Welle
//#define TICKS_PER_REVOLUTION 1310 / 2 // odometry ticks per wheel revolution
// ...for the 36mm diameter motor (black cap) https://www.marotronics.de/MA36-DC-...-30-33-RPM-8mm-Welle-ab-2-Stueck-Staffelpreis
// #define TICKS_PER_REVOLUTION 975 / 2
// ...for the newer 42mm diameter motor (green connector) https://www.marotronics.de/MA42-DC-...-30-33-RPM-8mm-Welle-ab-2-Stueck-Staffelpreis
#define TICKS_PER_REVOLUTION 696 / 2 // odometry ticks per wheel revolution
// ...for the older 42mm diameter motor (white connector) https://wiki.ardumower.de/images/d/d6/Ardumower_chassis_inside_ready.jpg
//#define TICKS_PER_REVOLUTION 1050 / 2 // odometry ticks per wheel revolution
// ...for the brushless motor april 2021 https://wiki.ardumower.de/index.php?title=Datei:BLUnit.JPG
//#define TICKS_PER_REVOLUTION 1300 / 2 // 1194/2 odometry ticks per wheel revolution
// #define TICKS_PER_REVOLUTION 304 // odometry ticks per wheel revolution (RM18)

// ----- gear motors --------------------------------------------------
// for brushless motors, study the sections (drivers, adapter, protection etc.) in the Wiki (https://wiki.ardumower.de/index.php?title=DIY_Brushless_Driver_Board)
//#define MOTOR_DRIVER_BRUSHLESS 1 // uncomment this for new brushless motor drivers
//#define MOTOR_DRIVER_BRUSHLESS_MOW_DRV8308 1 // uncomment for brushless DRV8308 driver and mowing motor
//#define MOTOR_DRIVER_BRUSHLESS_MOW_A4931 1 // uncomment for brushless A3931 driver and mowing motor
//#define MOTOR_DRIVER_BRUSHLESS_MOW_BLDC8015A 1 // uncomment for brushless BLDC8015A driver and mowing motor
//#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_DRV8308 1 // uncomment for brushless DRV8308 driver and gear/traction motors
//#define MOTOR_DRIVER_BRUSHLESS_GEARS_A4931 1 // uncomment for brushless A4931 driver and gear/traction motors
//#define MOTOR_DRIVER_BRUSHLESS_GEARS_BLDC8015A 1 // uncomment for brushless BLDC8015A driver and gear/traction motors
//#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 0.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

// 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 2.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.03 // do not change 0.03
#define MOTOR_PID_KD 0.03 // do not change 0.03
//#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 ----------------
// speed will be adjusted by the mowing motor current. If USE_MOWMOTOR_CURRENT_AVERAGE is set to false, the Speed
// will be changed if the mow Current is lower or higher than MOWMOTOR_CURRENT_FACTOR * MOW_OVERLOAD_CURRENT.
// If USE_MOWMOTOR_CURRENT_AVERAGE is set to true the algorithm will detect the current at the middle PWM of the mowMotor.
// The mowing average will be calculate over 10000 loops and start at MOWMOTOR_CURRENT_FACTOR.
#define ENABLE_DYNAMIC_MOWER_SPEED false
#define SPEED_ACCELERATION 0.005 // Speed factor will be changed with every programm loop
#define SPEED_FACTOR_MAX 1.2
#define SPEED_FACTOR_MIN 0.5
#define USE_MOWMOTOR_CURRENT_AVERAGE true
#define MOWMOTOR_CURRENT_FACTOR 0.25

// ----- mowing motor -------------------------------------------------
// NOTE: motor drivers will indicate 'fault' signal if motor current (e.g. due to a stall on a molehole) or temperature is too high for a
// certain time (normally a few seconds) and the mower will try again and set a virtual obstacle after too many tries
// On the other hand, the overload detection will detect situations the fault signal cannot detect: slightly higher current for a longer time
#define MOW_FAULT_CURRENT 8.0 // mowing motor fault current (amps)
#define MOW_OVERLOAD_CURRENT 2.0 // mowing motor overload current (amps)
// should the direction of mowing motor toggle each start? (yes: true, no: false)
#define MOW_TOGGLE_DIR true
//#define MOW_TOGGLE_DIR false
// should the error on motor overload detection be enabled?
#define ENABLE_OVERLOAD_DETECTION true // robot will stop on overload
//#define ENABLE_OVERLOAD_DETECTION false // robot will slow down on overload
// should the motor fault (error) detection be enabled?
#define ENABLE_FAULT_DETECTION true
//#define ENABLE_FAULT_DETECTION false // use this if you keep getting 'motor error'
#define ENABLE_RPM_FAULT_DETECTION true // use mow rpm signal to detect a motor fault (requires mowing motor with rpm output!)
//#define ENABLE_RPM_FAULT_DETECTION false // do not use mow rpm signal to detect a motor fault
// should the robot trigger obstacle avoidance on motor errors if motor recovery failed?
#define ENABLE_FAULT_OBSTACLE_AVOIDANCE true

Als zweites habe ich gemessen und habe +/- beim linken Antrieb getauscht. Jetzt passt die Polarität auch.

Die 10-Fache Radumdrehung stelle ich erst ein, wenn die Motoren sich anständig bewegen, damit ich nichts kaputt mache.

Zu hoher Motorstrom. 12,3A laut App!!!!
Bitte überprüfe den Multiplikator in der App und miss mit einem Multimeter den Strom nach
Was ist damit gemeint? Wo finde ich den Multiplikator ?

Vielen Dank schonmal für eure super Hilfe!
 
Die Option heißt:
#define CURRENT_FACTOR xxx

„xxx“ steht für den Multiplikator. Je nach dem, welches Board du mit oder ohne lötbrücke beim ina169 hast.
 

Anhänge

  • image.jpg
    image.jpg
    5,8 MB · Aufrufe: 20
Vielen Dank lieber Andre87,

Ich habe keine Lötbrücke auf meinem 1.4 mit einem M4. Und die Einstellung habe ich denke ich richtig gemacht.

Leider komme ich gar nicht weiter und habe an der Config schon alles probiert.
Kann es daran liegen, dass ich die Motoren mit Signal an Ch1 verbunden habe und nicht an Ch2?
Ich dachte aber das sei egal.

Die ganze Platine ist Eis kalt außer der Dc-Dc Wandler. Also keine Ahnung was da los ist :cry:

10:13:59.333 -> motor fault recover counter 4

10:13:59.397 -> ERROR motor current too high: current=0.07,12.06,0.00

10:13:59.463 -> 0:2:47 ctlDur=0.02 op=Idle(initiatedByOperator 0) freem=244163 sp=28CF8 bat=29.74(12.23) chg=0.16(0.02) tg=0.00,0.00 x=5.14 y=-2.99 delta=3.06 tow=0 lon=0.00000000 lat=0.00000000 h=0.0 n=0.00 e=0.00 d=0.00 sol=0 age=167.16

10:14:00.392 -> motor fault recover counter 5

10:14:00.392 -> ERROR: motor recovery failed

10:14:00.454 -> ERROR motor current too high: current=0.00,12.10,0.00

10:14:01.477 -> motor fault recover counter 1

10:14:01.509 -> ERROR motor current too high: current=0.09,12.10,0.00

10:14:02.532 -> motor fault recover counter 2

10:14:02.597 -> ERROR motor current too high: current=0.00,12.05,0.00

10:14:03.623 -> motor fault recover counter 3

10:14:03.655 -> ERROR motor current too high: current=0.07,12.10,0.18




Anbei meine ganze Config. was kann ich euch noch geben? Was hilft euch?

Vielen Dank schon mal :)
 

Anhänge

  • config.txt
    33,4 KB · Aufrufe: 13
Zuletzt bearbeitet:
Hallo Ihr lieben,

Ich habe leider kein Labornetzteil aber ich kann mir eines zulegen, wenn das von Nöten ist.
Ich habe gedacht, mein 30a Akku kommt und wollte diesen anschließen, da ich evtl. dachte, dass es an zu wenig "Saft" liegt.
Gerade habe ich meine 200a Lifepo4 aus meinem Camper (24v) angeschlossen und der gleiche Fehler.

Am 1.4 habe ich ja 3 "Steuerkabel" (+, -, Signal) die ich an den Motor anschließe. Am Motor habe ich die Versorgung "dicke Kabel" und vier Anschlüsse für das 1.4.
Ich habe das Signalkabel vom 1.4 an ch1 an den Motor angeschlossen. (Am Motor gibt es GND, +, CH1, CH2)

Die Lötbrücke habe ich versucht aber wieder zurückgesetzt, da ich ja aktuell gar kein Ladekabel verwende, denke ich nicht dass der Fehler hiervon kommt. Probiert habe ich es mit der richtigen Config Einstellung.

Ich habe euch mal ein paar Bilder angehängt. Meint ihr es ist ein Hardware Fehler? Soll ich euch mal detaillierte Fotos von der Platine und der Module schicken?
Motortreiber habe ich die, die beim Paket dabei waren.
Habe mir extra das Paket bestellt um nichts falsch machen zu können und habe mich an die Anleitungen im Web bzw. auf YouTube gehalten.

Ich hoffe ich kann das Problem lösen. Bei 6000m2 wäre der Ardumover die Beste und coolste Lösung.
Ich wohne in der nähe von Augsburg, wenn jemand in der nähe wohnt, könnte ich gerne auch ein Obolus springen lassen, um zusammen nach zu schauen. :)

PS. die graue gedruckt Halterung ist später für das GPS Modul. Die kann man einfach einschieben und das Loch für die Antenne bohren. Was meint Ihr? wäre das eine gute Lösung?




Vielen vielen Dank!!! Ist seit wirklich super hilfsbereit :)
 

Anhänge

  • IMG_1632.JPG
    IMG_1632.JPG
    2 MB · Aufrufe: 24
  • IMG_1633.JPG
    IMG_1633.JPG
    1,2 MB · Aufrufe: 23
  • IMG_1634.JPG
    IMG_1634.JPG
    1,2 MB · Aufrufe: 24
  • IMG_1635.JPG
    IMG_1635.JPG
    1,2 MB · Aufrufe: 23
  • IMG_1636.JPG
    IMG_1636.JPG
    1,2 MB · Aufrufe: 25
@Schweden05 Mach mal bitte den Motortest und poste die Ausgabe vom Monitor hier.

Danach kannst du mal folgendes probieren: tausche die Odometriestecker mal auf dem PCB - wandert der Fehler mit? Du kannst auch die komplette Motorenseite mal tauschen, also den rechten Motor zum linken Motor machen. Wandert der Fehler (falsch drehender Motor) mit?

Ich glaube es nicht das es daran lieget aber auch die Motortreiber kannst du mal durchwechseln, also den von oben nach unten tauschen - auch hier wieder: wandert der Fehler mit?
 
Die Treiber zu tauschen, ist eine gute Idee. Probiere auch mal bitte die Motoren einzeln (seitenweise) und schau ob der Strom bei beiden Motoren gleich hoch ist und ob der Mäher mähmotorstrom bei beiden Treibern identisch ist. Wäre der motorstrom tatsächlich so hoch, wie in der App gezeigt, würde die Sicherung Durchbrennen. Daher geht meine Tendenz eher Richtung Software, allerdings würde ich auch einen Hardwarefehler nicht ausschließen
 
Software würde ich fast ausschließen, dann hätten ja mehrere das Problem.
config.h sieht soweit gut aus.

Wenn das eigentliche Problem gelöst ist dann wäre es der Übersicht halber noch mal gut wenn @Schweden05 noch mal einen kurzen Stand der Fehler gibt.
Das stottern per Joystick über WLan ist relativ "normal", bei BT ist es etwas besser.
Wenn der Mäher eine Karte hat und im Mähmodus auch stottert dann ist da noch was im argen.
 
Hallo zusammen!

Danke für die vielen Kommentare.

Aktuelles Problem: Der Rover stottert wenn mit dem Joystick über die App mit Bluetooth Verbindung kommuniziert wird.

Lösungsansatz: Der Drucker druckt gerade die GPS Halterung für den Rover und ich bereite alles für einen Live Test vor um zu schauen ob es im "Normalen" Mäh-Betrieb noch stottert.

Ich danke allen und auch @kermi für den Tipp und das werde ich erstmal so probieren.

Ich melde mich ob alles geklappt hat oder ob der Fehler weiterhin besteht.

LG
 
Oben