Bekomme Mini Ardumower nicht zum laufen

twin850

New member
Hallo an alle,

habe mich vor 1,5 Jahren schon mal mit dem "Großen" Ardumower versucht, bin aber damals gescheitert. Wollte nun nochmal einen Anlauf unternehmen und erst mal mit dem Mini starten. Leider bekomme ich ihn einfach nicht zum laufen.

Jetzige Konfiguration:
-alle Kompontenen des Ardu Mini Kits (Mega mit Shield, Motortreiber L298N, HC-SR04, Dual Drehzahlsensor Modul für Odometrie, Bluetooth
-OHNE PCB
-Firmware 1.0a7, ensprechende Anpassungen lt. WIKI

Der Motortest und der Odometrietest über die Konsole funktioniert wie er soll. Ich bekomme ihn aber einfach nicht gestartet. Die Konsole wirft mir immer einen ERROR aus und weiß einfach nicht wo er her kommt. Der Mini gibt alle 5s einen Piepston ab und verweilt anscheinend im Fehlerstatus.

Code:
t   754 L4103 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 21.7 chg 21.4  0.1 imu  0 adc 97 Mini
t   755 L5846 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 21.7 chg 21.4  0.1 imu  0 adc 97 Mini
t   756 L6018 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 21.7 chg 21.5  0.1 imu  0 adc 97 Mini
t   757 L6017 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 21.7 chg 21.5  0.1 imu  0 adc 97 Mini
t   758 L6012 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 21.7 chg 21.5  0.1 imu  0 adc 70 Mini
ERR_MOTOR_LEFT
ERR_MOTOR_RIGHT
ERR_MOW_SENSE


aktuelle Sensorwerte


Code:
t   391 L4064 m1 ERR  rpm    0    0 set    0    0 sen    0   10    8 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 bat 21.8 chg 21.6  0.1 imu  0 adc 97 Mini
t   392 L5810 m1 ERR  rpm    0    0 set    0    0 sen    0   10    9 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 bat 21.8 chg 21.6  0.1 imu  0 adc 97 Mini
t   393 L5984 m1 ERR  rpm    0    0 set    0    0 sen    0   10    9 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 bat 21.8 chg 21.6  0.1 imu  0 adc 97 Mini
t   394 L5982 m1 ERR  rpm    0    0 set    0    0 sen    0   10    9 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 bat 21.8 chg 21.6  0.1 imu  0 adc 97 Mini
t   395 L5976 m1 ERR  rpm    0    0 set    0    0 sen    0    8    9 bum    0    0 dro    0    0 son    0    0    0 yaw   0 pit   0 rol   0 bat 21.8 chg 21.6  0.1 imu  0 adc 70 Mini
ERR_MOTOR_LEFT
ERR_MOTOR_RIGHT
ERR_MOW_SENSE


Das einzige was mir auffällt sind die Überstromzählerwerte für die Motoren und die Batteriewerte, komme aber hier nicht weiter. Wie gesagt Motoren- und Odemetrietests laufen fehelerfrei. Folgende Änderungen habe ich an der Mower.h vorgenommen

Code:
// ------- Choose one Ardumower PCB revision (1.2, 1.3 etc.) ------------------
#define PCB_1_2    
//#define PCB_1_3    

// ------- Choose robot model (Ardumower or Ardumower Mini) -------------------
//#define ROBOT_ARDUMOWER
#define ROBOT_MINI


Kann mir jemand helfen ?

DANKE
 
Nachtrag,

beim Motortest taucht im Status auch schon ein ERR auf, allerdings drehen sich die Motoren wie gewünscht.


Code:
testing left motor (forward) half speed...
t   312 L4103 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 20.8 chg 21.5  2.0 imu  0 adc  0 Mini
t   313 L4103 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 20.8 chg 21.5  2.0 imu  0 adc  0 Mini
t   314 L4103 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 20.8 chg 21.5  2.0 imu  0 adc  0 Mini
t   315 L4103 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 20.8 chg 21.5  2.0 imu  0 adc  0 Mini
t   316 L4103 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw   0 pit   0 rol   0 bat 20.8 chg 21.5  2.0 imu  0 adc  0 Mini
 
Die Motor Error kommen weil kein mc Motortreiber verbaut ist.
Ich habe in der mower.h oder cpp die Input auf pullup verändert.
z.B:
pinMode(pinMotorRightFault, INPUT_PULLUP);


Das selbe für links und Mow.
Dann kann man nochmal probieren, ob noch andere Fehler auftreten.
 
Danke, die Motorfehler sind weg und er geht zumindest in einen "Bereitschaftszustand". Wenn ich allerdings das Mähprogramm starte drehen ganz kurz die Motoren an und danach ist wieder schluss.


buttonPressed
SEN_BUTTON
t 13 L290 m0 STAT rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.8 0.0 imu 0 adc 1 Mini
t 0 L 1 m0 STCHK rpm 0 0 set -25 -25 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.8 0.0 imu 0 adc 1 Mini
t 0 L 1 m0 STCHK rpm 0 0 set -25 -25 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.7 0.0 imu 0 adc 92 Mini
t 0 L5414 m0 ERR rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.7 0.0 imu 0 adc 73 Mini
t 0 L5414 m0 ERR rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.7 0.0 imu 0 adc 2 Mini
t 1 L4464 m0 ERR rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.7 0.0 imu 0 adc 98 Mini
t 2 L6028 m0 ERR rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.0 chg 21.7 0.0 imu 0 adc 97 Mini
t 3 L6032 m0 ERR rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.1 chg 21.8 0.0 imu 0 adc 97 Mini
t 4 L6033 m0 ERR rpm 0 0 set 0 0 sen 0 0 0 bum 0 0 dro 0 0 son 0 yaw 0 pit 0 rol 0 bat 22.1 chg 21.8 0.0 imu 0 adc 97 Mini
ERR_CHARGER



Irgendetwas haut hier mit den Batteriewerten nicht hin. Betreibe momentan den Mini mit geregelten 7.5 Volt von einem Schaltnetzteil. Welche Werte muss ich anpassen damit er auf dieser Basis rechnet ? Eigentlich sollten doch durch #define ROBOT_MINI in der mower.h die Werte schon passen ?


Code:
// ------ battery -------------------------------------
  #if defined (ROBOT_ARDUMOWER)
    batMonitor                 = 1;          // monitor battery and charge voltage?
		batSwitchOffIfBelow        = 21.7;       // switch off battery if below voltage (Volt)
		batGoHomeIfBelow           = 23.7;       // drive home voltage (Volt)  	
		startChargingIfBelow       = 32.0;      // start charging if battery Voltage is below (99999=disabled)
		batFull                    = 29.4;      // battery reference Voltage (fully charged) PLEASE ADJUST IF USING A DIFFERENT BATTERY VOLTAGE! FOR a 12V SYSTEM TO 14.4V		
		batFullCurrent             = 0.2;       // current flowing when battery is fully charged	(amp), (-99999=disabled)	
	#else  // ROBOT_MINI
		batMonitor                 = 1;          // monitor battery and charge voltage?
		batSwitchOffIfBelow        = 5.0;       // switch off battery if below voltage (Volt)
		batGoHomeIfBelow           = 5.5;       // drive home voltage (Volt)  	
		startChargingIfBelow       = 8.0;      // start charging if battery Voltage is below (99999=disabled)
		batFull                    = 8.0;      // battery reference Voltage (fully charged) PLEASE ADJUST IF USING A DIFFERENT BATTERY VOLTAGE! FOR a 12V SYSTEM TO 14.4V		
		batFullCurrent             = -99999;       // current flowing when battery is fully charged	(amp), (-99999=disabled)	
	#endif


Wer übernimmt bei dem Mini eigentlich jegliche Art der Strom und Spannungsmessung ? Es sind ja gar keine Module die das könnten verbaut oder verstehe ich das was falsch ?

Danke für Eure Hilfe
 
batMonitor = 0;


Man kann alle Sachen die verbaut sind in der Konfiguration mit 0 oder 1 ein und ausschalten. Oder die Werte für z. B.: andere Batterie anpassen(wenn ein Spannungsteiler angeschlossen ist)
 
Änderungen der Konfigurationseinstellungen in der Mower.cpp Datei werden nicht übernommen

Wichtig zu wissen ist folgendes : Es gibt 2 Konfiguration Einstellungen. Eine in der Mower.cpp Datei und dann noch eine im Arduino Speicher.
Sollte eine im Arduino Speicher vorhanden sein wird diese immer vorrangig verwendet unabhängig von den Einstellungen in der Mower-cpp.

Das ist so gewollt.
Es soll es vereinfachen das man wenn man sich eine neue Softwareversion aufspielt man gezwungen wird jedes mal seine Konfiguration neu anpassen zu müssen.

Die Konfiguration Datei im Arduino Speicher wird angelegt wenn man die Handy App das erste mal verwendet und dort seine Einstellungen unter Settings speichert.

Wenn man möchte das die Einstellungen in der Mower.Cpp verwendet werden gibt es 2 Möglichkeiten.

1.- In der Serien Konsole die persönlichen Einstellungen löschen und dann den Mower aus und wieder einschalten.

2.- In der Handy App unter Setting " Load Factory Settings auswählen. Dann werden die Einstellungen aus der Mower.cpp Datei verwendet.

Sollen diese dann verwendet werden in den Settings noch "save Setting" drücken damit die Einstellungen übernommen und gespeichert werden. Neu booten nicht vergessen!


Gruß
Uwe
 
kurzes Feedback....

Danke an alle die mir hier geholfen haben. Nun funktioniert alles erst mal grundlegend und ich betreibe jetzt feintuning.

Für alle Anfänger wie mich die ähnliche Probleme mit dem MINI haben hier eine Übersicht meiner Anpassungen. Ich habe mich noch nicht tiefergehend mit dem Code beschäftigt (um ehrlich zu sein ist das noch ne Nummer zu hoch für mich) sondern nur die Einstellungen soweit angepasst bzw. ausser Kraft gesetzt damit der Mini überhaupt erst mal läuft.

Konfiguration:
-Ardu Mini OHNE PCB, mit Mega inkl. Shield, Motortreiber L298N, HC-SR04 Unltraschallsensor, Dual Drehzahlsensor Modul für Odometrie, Bluetooth Modul HR-SC5, Perimeter Empfänger Modul
-Perimeter Sender Board
-KEIN 7,5 Volt LiPo Pack auf das hier immer eingegangen wird, habe versucht es mit normalen 4x 1,5 Volt AA Batterien zu betreiben
-Firmware ardumower-1.0a7-Azurit

Folgende Anpassungen:

Mower.h


#define PCB_1_2
//#define PCB_1_3

//#define ROBOT_ARDUMOWER
#define ROBOT_MINI

Mower.cpp


pinMode(pinMotorLeftFault, INPUT_PULLUP); (wenn Motortreiber LN298 verwendet wird)
pinMode(pinMotorRightFault, INPUT_PULLUP); (wenn Motortreiber LN298 verwendet wird)

Settings mit der Pfod App (ohne App kann man diese auch in der Mower.h bzw. mower.cpp anpassen, mit der App geht es aber doch um eineges eleganter)
-> Battery -> Monitor OFF (hier werden sonst Werte geliefert die anscheinend immer noch 24 Volt Betriebsspannung vorraussetzen, daher werden immer Errors erzeugt)
-> Motor-> Speed max in pwm 255 (mit der Voreinstellung fangen die kleinen Motörchen nur an zu piepsen)
-> Motor-> Power max. 50 (die Werte die in der APP angezeigt werden reichen von -2 bis 15 Watt, ich vermute das aufgrund fehlender Stromsensoren hier nur utopische Werte zu sehen sind)

Der aber wohl größte Verursacher meiner Probleme war die zu geringe Betriebsspannung die von den 4x 1,5 Volt Batterien geliefert wird. Bei Betrieb aller Module bricht die Spannung hier ziemlich schnell ein und die Sensoren und auch der Mega spielen dann verrückt. Ich habe mir damit beholfen erst einmal noch 2 x 1,5 Volt Batterien dahinter zu hängen. Damit ist bei einer anfänglichen Spannung von 9 Volt erst mal für ein paar Stunden testen und probieren möglich.
 
Ich benötige nochmal einen kleinen Denkanstos,

mein "mini" läuft jetzt erstmal, allerdings immer relativ kurz. Habe in meiner Küche eine Schleife ausgelegt, Abstand dazwischen von 50 cm bis 2m. Ich vermute mal dass er in zu kurzer Zeit zu oft von innen nach aussen fährt und irgendein Timeout greift bzw. Zähler überschritten wird. Er bleibt dann einfach mit einem langen Piepton stehen und geht in State OFF. Alle Errorcounters zeigen 0.

Kann mir jemand einen Tipp geben, wie ich die Fahrzeit verlängern kann (momentan ca. 1min.) ? Welche Settings sind dafür verantwortlich ? Habe schon mit diversen Settings innerhalb der Perimeter- und Motoreinstellungen rumgespielt, ohne genaueres Wissen der Parameter ist das aber eher kontraproduktiv. Manchmal ging dann garnichts mehr und nur ein Factory Reset half das Teil wieder zum Leben zu erwecken.

Gibt es evtl. irgendwo eine Übersicht der Einstellungen die man in der Pfod App machen kann ? Aus vielen der verwendeten Abkürzungen kann ich leider nicht die Auswirkungen der entsprechenden Werte herleiten.

Momentan ist nur Perimeter und Odometrie aktiv.

Danke
 
Oben