Merkwürdiges Verhalten der Antriebe

Hallo zusammen,

habe nun endlich die Software an meine 2 Gleichstrommotoren angepasst.
Leider passiert folgendes :

In der Konsole beim Motortest drehen die Motoren ganz normal zunächst Linker Motor dann Rechter …
Doch sobald ich per Arduremote verbinde und versuch von dort aus in Manuellen Modus die Antriebe anzusteuern geht gar nichts.
Im Einstellungen Menü lässt sich der Mäher Motor einschalten und ausschalten, sonst passiert gar nichts.
Wieso eigentlich?

Dazu sollte ich sagen dass ich Perimeter Sender aktiviert habe ebenso IMU und Sonar ( alle 3 )

Der Perimeter liefert Fehlermeldungen doch hier muss ich erstmal nachschauen also es wird ein Thema aber evtl. später.
IMU Dass er nicht kalibriert ist ja in alle 3 Richtungen über Kopf zu drehen mit dem Mover ist nicht ganz einfach probiere es mit IMU außerhalb.

Vom Sonar kommt nichts... doch auch hier müsst ich noch schauen. Verwende die US 15 Sonar Sensoren doch die sind mit der HR rel. ähnlich.
Drehen die Motoren nicht weil ich die Fehlermeldungen erhalte oder …. wo sollte ich nachschauen …?

Komisch ist wie bereits geschrieben dass in der Konsole die Antriebe angesprochen werden nur bei der BT Verbindung geht gar nichts …?

Vielleicht doch noch was zur Perimeter Schleife. Habe sie mit der Test Software getestet, lief ganz ok. Ich erhalte auch Daten ( sieht wie in der WIKI aus ) von der schleife.
Doch mein Robi meint: kein Signal; zu weit von der schleife ..; Timeout Perimeter Schleife.... usw.


Hoffe Ihr könnt mir Helfen

Vielen Dank vorab.

mfg

Christoph
 
Hallo,
Ich denke du solltest mal soweit alles abschalten und dann eins nach dem anderen zum laufen bringen.
Ich denke sobald du einen Error anstehen hast wird er nicht fahren.

Gruss michael
 
Hallo Michael,

Danke für die Antwort.
Genau so bin ich vorgegangen habe alle Sensoren : Perimeter IMU … ( Bis auf Sonar habe ich keine mehr ) Sonar ist auch aus GPS ist inaktiv ; Odometrie habe ich nicht also aus .
Leider das gleiche Bild ich bekomme nach wie vor die Meldungen : Siehe Anhang.

Habe die Sensorik in der mover.cpp deaktiviert. ( alle auf 0 gesetzt)
Was bleibt mir noch übrig ??? Was habe ich noch übersehen ?

Nach wie vor drehen die Motoren in der Konsole in der ArduMower App im Manuellen Modus machen die gar nichts...
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/1857/Error_Meldungen.jpg/
 
Zuletzt bearbeitet von einem Moderator:
wegen perimeter: adc schon kalibriert?

Batterie: Nicht angeschlossen? Kein Spannungsteiler installiert? Ist Batterie Monitor aus? Charge voltage zeigt auch an, wenn nicht angeschlossen - als pulldown konfigurieren.
 
Hallo GK

Klar habe ich adc versucht zu kalibrieren doch wie im vorherigem Post ( bin leider immer noch nicht dazu gekommen ) bekomme ich immer noch die Fehlermeldung.
Ich muss nochmal meine Sensorik diesbezüglich überprüfen.

Batterie Überwachung ist nicht angeschlossen ( noch nicht ) doch ich habe es im mover.cpp deaktiviert sollte also keine aus sein...
Batterie werde ich auskommentieren so dass ich auch die inaktiven PINS nicht ansprechen muss.
Doch Perimeter und IMU würde ich gerne schon einsetzten die will ich nur deaktivieren geht das nicht ?
 
Wenn an einem ADC Pin nichts angeschlossen wird, dann floated dieser. D.h. es stellt sich ein zufälliger Wert ein der sich ständig ändert. Ich benutze dies zum erzeugen des Seed values zum initialisieren der Random Funktion.
 
Ich kann Imu und Perimeter ausschalten.
Bei der Batterie bin ich mir nicht sicher, weil ich battvolt und chgvolt angeschlossen habe.
Wenn man es in der mower.cpp ausschaltet, muss man mM in der Konsole einen Factory reset machen, dann stromlos machen, wieder einschalten, adc wieder kalibrieren.

Wegen Adc Meldungen: da werden alle eingestellten Adc kalibriert. steht irgendwo in der mower.cpp oder adc.cpp
 
Danke für die Antworten

PIN 5 also Perimeter Left ist bei mir angeschlossen und zwar auf der Analog Seite nur der PIN5 …
Habe restet gemacht bzw. durchgeführt alles neu geladen … keine Änderung.

Reicht es nicht wenn ich die Software neu hochlade ?
Falls ich ein anderes Programm hochlade ( also kein Azurit ) ZB. um die Sensorik nacheinander zu testen. Explizit Sonar ; IMU usw. und dann ( wieder) die Azurit hochlade ist es dann nicht kpl. gelöscht ?

Sorry das verwirrt mich ein wenig denn bis jetzt habe ich angenommen dass einem erneuten hochladen der Software diese immer restlos gelöscht und mit neu hochladen dann quasi eine bereinigte Software sich auf dem Arduino befindet ....

Ist das etwa in diesem Fall nicht so ?
 
Verwendest du Mega oder Due?

Beim Mega wird in den Eeprom im Mega gespeichert, der wird beim flashen nicht überschrieben.

Beim Due wird in den i2c Eeprom von der Rtc gespeichert. der wird natürlich auch nicht gelöscht beim flashen.


Deshalb der Factory reset. Da werden dann die Einstellungen vom Code übernommen.
 
ok

Ich verwende Mega

das hat aber nur die Auswirkung auf Azurit Software oder ?
Falls ich ein Test programm einspiele ( für US Sensoren zB.) hat dies natürlich keine auswirkung.


Habe ich auch testweise durchgeführt , Factory raset meine ich --- ohne Erfolg immer noch keine Funktion .

Ne nebenfrage :

Kann ich den Speicher Hardware seitig löschen ? ( zB. duch Tasten combo oä)
 
Der Speicher wird durch Factory reset gelöscht (wichtig ist stromlos machen).

Die Magicnumber wird geändert und beim erneuten einschalten sollten die Einstellungen aus dem code übernommen werden. Vielleicht nochmal save settings ausführen.

Wie Michael schon geschrieben hat, müssen alle Error beseitigt sein.

Ich würde in der Konsole anfangen.
Steht noch immer Battery not connected? Mit der App kontrollieren ob Batterie Monitor aus ist. Wenn ja: entweder Spannungsteiler anschließen oder im code die Abfrage suchen und kommentieren.
Steht noch immer Perimeter too far? Mit der App kontrollieren ob Perimeter auf aus ist.

Welcher Error kommt dann?


In der App gibt es auch eine Statusanzeige. Wenn chgVolt anzeigt glaubt der Mäher er steht in der Station.
 
Jou Update,

habe endlich das Problem mit der schleife gelöst leider kämpfe ich mit der Batterie …

Was mir aufgefallen ist die Sonar Werte kommen seeehhhr laaaangsamm rein.Ist das normal ?
Mein Sonar habe ich mit extra sensor SOftware getestet lüppt perfekt.
In der App wird er auch angezeigt und läuft doch seeeeehr langsamm?
Liegt das an denm immer noch anstehendem Fehler ( wie gesagt jetzt spinnt nur die Battery rum )

Oder brauche ich eher DUE um vernünftigt arbeiten zu können ?


glg

Chris


Ou Gk vlt . kannst du mir mit der Batterie helfen
Ich kaufe jetzt den IMA Sensor Wir wird er verschaltet? gibt es dazu irgend eine Doku ? Welche Pins hast du benutzt Sensor und Arduino seitig
hast du evtl. ein kleines Schema für mich ?

Danke ;-)
 
Mit Sonar kann ich leider nicht helfen.
Die Geschwindigkeit vom Due ist laut Aussage von anderen besser. Mit dem Imu könnten die nächsten Probleme kommen, weil im code steht das es zu Problemen mit einem Mega führt.
Aber trotzdem zuerst die Error beseitigen. Die hast du beim Due auch, wenn nicht das Pcb verwendet wird.
Wegen Batterie: kommt noch immer switch on Battery?
In Battery.h : if (batVoltage < 4.0){
Console.println(F("BATTERY NOT FOUND - PLEASE SWITCH ON BATTERY!"));

Vielleicht die 4 ändern.

Wegen dem Schema: ich bin nach dem Ardumower Schaltplan vorgegangen. Der ist ja beim Download dabei.


Welcher Ina wird eingebaut? chgcurrent? Den braucht man nur, zum Relais schalten(z.B bei 200mA Ladestrom abschalten) für die Ladespannung und eventuell die Spannungsversorgung. Wie hast du vor die Batterie zu laden?

ChgVolt und BattVolt sind ganz normale Spannungsteiler mit 2 Widerständen. beim Pcb 1.3 100k von +, und 10k auf Gnd, und zwischen den Widerständen geht's zum jeweiligen Anschluss am Mega

Welche Fehler kommen noch? weil Batterie spinnt rum findet man im Code nicht :)
die genaue Fehlerbeschreibung aus der Konsole kann man im code suchen.
 
Hallo GK

absolut richtig es kommt :Console.println(F("BATTERY NOT FOUND - PLEASE SWITCH ON BATTERY!"));
Andere habe ich weg bekommen.

Das mit dem Stromsensor habe ich mir fast schon gedacht Ich verwende den ACS 712 der müsste eigentlich nur angepasst werden. Wollte aber der Anpassung halber auf den INA 169 gehen

Gibt es zu den Spannungsteiler ein Schema ?

Danke für den Tipp mit der Battery.h

Werde es morgen testen.

Vielen Dank erstmal.

glg

Chris
 
Hallo
absolut richtig es kommt :Console.println(F("BATTERY NOT FOUND - PLEASE SWITCH ON BATTERY!"));
Diese Meldung kommt eigentlich nur dann wenn du den Mega oder Due über den USB mit Spannung versorgen tust. Beim Stecken des USB Steckers fährt der Due oder Mega hoch.
Aber: Er schaltet nicht automatisch die Unterspannungsabschaltung ein. Das heißt das der Mower z.B nicht fahren kann weil die Motortreiber nicht mit der Batteriespannung versorgt wird.
Das heißt: Das der Start Taster (Button) einmal gedrückt werden muss damit der Arduino einmal das Signal des Starttasters bekommt. Darauf hin schaltet der Arduino ein Spannungssignal zur Unterspannungsabschaltung durch. Damit wird dann der Hauptstrom für die Motortreiber durchgeschaltet. Solange das Spannungssignal vom Arduino vorhanden ist bleibt jetzt der Mower eingeschaltet. Sollte das Signal wegfallen z.B durch Unterspannung schaltet der ganze Mower sofort aus.
Wenn er jetzt aber an sein sollte kann es sein das er immer noch nicht laufen tut weil das als Fehler interpretiert wird. Der Fehler muss erst gelöscht werden damit dieser nicht mehr auftritt.
Vermeiden lässt sich das nur wenn man den Mower erst über den Starttaster einschaltet und dann erst das USB Kabel ansteckt.

Gruß
Uwe
 
Hallo GK und Kurzschuss,

erstmal danke euch es läuft endlich und …. die Us Sensoren sind erheblich schneller :)
Die Fehlermeldung mit der Batterie ist immer noch da doch ich arbeite dran um zumiendest rudimentäre abfrage der Batterie vorhanden sind .


Allerdings … es geht in Richtung gk

Du hast mir vor paar Posts ( Antriebe betreffend ) Code zugeschickt um die Motoren überhaupt anzusprechen.

Hast du ne Idee warum die gegenläufig laufen … egal was ich drücke Vorwärts … der Rechte läuft rückwärts Links der Rechte läuft rückwärts Rechts der rechte … genau rückwärts. ( der Linke immer vorwärts) Nur wenn ich reverse drücke läuft der Rechte Vorwärts und der Linke andersrum.

Hast du ne Idee wo ich es am besten korrigieren kann / muss ?
Im Drivers.cpp habe ich nur die initiale Richtungsangabe, entweder vorwärts oder rückwärts.

Wo werden die Richtungen angesteuert ?

1000 Dank
 
was passiert beim Motortest in der Konsole?

Da werden die Motoren angesteuert, und es steht in der Konsole welche Seite, und vorwärts oder rückwärts.
Ich glaube bei dir dreht der rechte umgekehrt.
Wenn das stimmt, kannst du entweder die beiden Dir_Pins vertauschen oder beim Motor + und - vertauschen.
 
Hi gk ,

das mit dem vorwärts bzw rückwärts falsch drehen an einem Motor ist kein Thema, das kriege ich hin, in dem ich die Pins für den Rechten Motor anders zuweise.
Wonach ich suche ist ... wie dreht der Mower ? Es ist nirgends eine Funktion zum nach links oder rechts drehen ersichtlich.
Danach suche ich quasi verzweifelt.

Wie dreht der Ardumower ? Manuell oder im Autmatikmodus ?

Bestimmt habe ich was übersehen oder denke zu kompliziert ….

Daher würde mich freuen wenn Ihr mir helfen könnt …

Vielen Dank
 
Oben