PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rasenmäher mit Navigation => neu mit A* Wegfindung!



Seiten : [1] 2

damfino
06.08.2008, 16:27
Hallo zusammen!

Da ich seit kurzem in den Genuß komme Rasen mähen zu müssen, und ein Automower derzeit unerrreichbar teuer ist, habe ich mich auf die Suche nach Alternativen gemacht und bin hier schon mal mit guten Beiträgen über Eigenbauten fündig geworden.
Mich stört aber ,idass alle mehr oder weniger ohne Navigation unterwegs sind, dh nach dem Chaosprinzip das Grundstück abfahren.
Daher meine Überlegung eine Navigation mit einer Karte einzuplanen, entweder mit fixem Grundstückplan und/oder selbstlernend, beides dürfte nicht so schwer sein.

Aber hat das hier schon einmal jemand umgesetzt?

Und eine andere Frage? Kann man so eine Karte in den üblichen Kontrollern umsetzen? Der Speicherbedarf liegt bei mindestens 16kB, und die Karte wird immer wieder beschrieben, macht dass der Flash Speicher lange mit?
Ansonsten spiele ich mit dem Gedanken ein antikes Notebook zu besorgen, 386er ohne Display genügt, und dort die Navigation zu erledigen. Nur, je weniger Geräte, desto besser wird ein System.

Vorschläge und Ideen sind jederzeit willkommen, habe vor dieses Projekt ab Dezember umzusetzen um im Frühjahr startklar zu sein.

LG Werner

Jon
06.08.2008, 17:23
Ich dachte erstmal, als ich den Betreff gelesen habe, du hättest ein fertiges System und hab mich schon gefreut, dass ich mich damit dann nicht mehr soo intensiv beschäftigen muss.
Da das aber für mich auch nur Vorbereitung ist, werde ich mal versuchen, nen bisschen dazu zu schrieben.

Ein fertiger Roboter ist für dich wohl nicht bezahlbar. Aber dir sollte klar sein, dass der Bau eines eigenen Roboters sehr teuer ist. Je nachdem, wenn du nur neue Materialien verwendest und noch Wert auf Design legst, landest du bestimmt mit Lehrgeld bei etwa 500€. Hinzukommen noch viele Stunden Programmierarbeit.

Auch solltest du nicht davon ausgehen, dass das erstellen einer Karte oder eines selbst lernenden Systems einfach ist und mal in nen paar Monaten geschrieben ist.
Machbar ist es, aber du musst dich dafür mit verschiedenen Problemen auseinandersetzten.

Ich will mal ein paar Schwierigkeiten bei deinen beiden verschiedenen Systemen nennen.

Karte:
-Was machst du, wenn ein Rad durchdreht?
-Was machst du, wenn du einen Stein im Garten hast, darüber fährst und nicht mehr die ursprüngliche Bahn hast. Wie findest du heraus, dass du die Bahn verlassen hast und wie findest du die Bahn wieder?
-Wie reagiert du auf nicht eingezeichnete Gegenstände?
-Was machst du bei z.B. Tulpen in deiner Bahn, die nicht weggemäht werden sollen? Wie erkennst du die?
-Arbeitest du mit einem Raster oder mit Vektoren?
-Wie viel Speicher brauchst du? (16kb werden da nicht reichen)
-Was brauchst du an Rechenleistung? Reicht ein µC oder brauchst du einen Laptop? (sollte Energiesparend sein)

Selbstlernendes System:
-Wie unterscheidest du einen Baum von höherem Gras? Mit einem komplexen Kamera System?
-Wie bringst du dem Roboter bei, dass es im Frühjahr nicht deine Tulpen wegmähen soll, sondern sie umfährt?
-Ist das mit einem µC realisierbar?
-Wie viel Speicher brauchst du für die ganzen Infos, die du sammeln wirst? (aus hier werden 16kb nicht reichen)

Allgemein:
-Was für Programmierkenntnisse hast du?
-Was für Hardwarekenntnisse, inklusiv Sensorik hast du?
-Was für ein Budget steht dir zur Verfügung?
-Wie viel Zeit hast du am Tag, wenn du das in, sagen wir mal vier Monaten, machen willst?


Soweit mal die Fragen, die mir schon so durch den Kopf gegangen sind.
Bisher habe ich mich noch nicht entschieden, was ich nehme, da alles so viele Vorteile, aber auch soo viele Nachteile hat.
Mich würde mal interessieren, was du bei meinen Fragen antworten würdest und dann kann ich auch mal schrieben, was für KI Vorstellungen ich mir für meinen Roboter gemacht habe. Auch wenn ich erstmal das Projekt IMADEIT-V3 beenden will, ich mache mir darüber in der letzten Zeit recht viele Gedanken und mich interessiert was brennend, was andere auf meine Fragen antworten würden.

Ich hoffe, ich konnte dir mit meinen Fragen helfen und ich hoffe auch, dass du an ihnen nicht verzweifeln willst.
Mir gefällt die Idee sehr gut, nur weiß ich im Moment ehrlich gesagt nicht, wie ich das umsetzten soll. Ich bin sehr gespannt, wie du vorgehen willst!

Viele Grüße,
jon

Christian H
06.08.2008, 18:31
Hallo,

das größte Problem bei der Navigation dürfte die genaue Ortsbestimmung sein. Immehin musst da deinen Rasenmäher auf einige cm genau lokalisieren. GPS ist zu ungenau. DGPS ist sehr aufwendig und von der Umgebung (wegen Abschattung der Satelliten, Reflexion, Mehrfachausbreitung der Signale) abhängig und ist auch, soweit ich es im Forum verfolgt habe, noch nicht umgesetzt worden. Ultraschall zur Positionsbestimmung ist insb. im Freien ungenau. IR-Baken: sicherlich auch eine Herausforderung, wenn man hohe Genauigkeit erreichen will.

Wie denkst Du Dir denn die Postitionsbestimmung deines Roboters ?


Viel Erfolg und viele Grüsse,

Christian

damfino
06.08.2008, 19:20
Danke für die schnellen Antworten!

-> Jon:
Leider habe ich nur einen fertigen Rasen, aber keinen fertigen automatischen Mäher ;-) Um die 500 habe ich schon vor zu investieren, ist immer noch bedeutend weniger als ein fertiges Gerät.

Aber zuerst zur Karte: Gedacht ist eine Rasterkarte, ca alle 25cm ein Feld, ist einfach umzusetzen. In jedes Feld kommt eine Kennzahl, zB 0=noch nicht angefahren, 1= gemäht, 9= fixes Hindernis (Haus, Zaun). 2-8 wird für variable Hindernisse verwendet, hier kann die Umgebung gelernt werden.
Ich habe das schon vor langer Zeit in einfacherer Form für die Wegfindung in einem Raster in Scilab programmiert, und das Ergebnis war ein Mini-Programm. Es hat nicht immer den kürzesten Weg um Hindernisse gefunden, aber immerhin einen Weg.
Viel mehr als Odometrie wird für die Positionierung nicht umsetzbar sein, eventuell an allen Rädern um mit Mittelwertbildung genauer zu werden oder um durchdrehende Räder zu erkennen, vielleicht noch um einen Kompass ergänzt.
Die Position könnte man an den fixen Hindernissen korrigieren.

Andere Hindernisse im Garten sind derzeit eher massiv, da genügt ein Kollisionsschalter, und Blumen in die freie Wiese zu setzen geschieht dann auf eigenes Risiko :-)

Das Hauptziel soll sein dass man halbwegs planmäßig das Grundstück abfährt und damit effizient arbeitet. Wenn er jetzt ein paar Mal aus der Bahn geworfen wird, wird das in der nächsten Runde sicher anders verlaufen und es wird trotz allem schneller sein als mit Fahren nach Zufallsprinzip. Soweit die Theorie...

Meine Hardwarekenntnisse sind beschränkt, ich kann keine eigenen Schaltungen entwerfen. Programmieren kann ich einfachere Sachen in C.

-> Christian: deinen Beitrag habe ich genau gelesen, und ist auch Vorbildgebend. Nur bin ich mir mit der Induktionsschleife nicht sicher ob ich damit nicht EMV Störungen in der Nachbarschaft verursache. Da Stadtgebiet und Polizei und Krankenhaus in der Nähe sind werden solche Störungen im Funkverkehr sicher sofort bemerkt.
GPS ist trotz allem eine Option, damit könnte man zumindest bestimmen in welchen Bereich man schon in letzter Zeit war, und in welchem nicht.

LG Werner

Jon
06.08.2008, 20:30
Wie groß soll den der Roboter werden? Je nachdem sollte man nämlich die Rastergröße wählen und könnte dann grob durchrechnen, was für einen speicher du brauchst.
Du musst nämlich bedenken, dass du pro Kästchen dann ein Byte brauchst. Das summiert sich dann bei einem entsprechenden Rasen doch...

Je nachdem, was für Motoren du hast, macht es sinn, einen Sensor so zu positionieren, dass der die Anker vom Motor zählen kann, die am Sensor vorbei gekommen sind. So kann man bei einer recht hohen Übersetzung mm genaue Ergebnisse erhalten. Wenn man einen Sensor am Rad befestigt, wäre das deutlich ungenauer und es wäre schwieriger durchdrehende Räder zu erkennen.
Was für einen Antrieb willst du wählen? Allradantrieb? Es sollten nämlich an alle Räder Sensoren, die durch einen Motor angetrieben werden. Wenn ein Rad durchdreht wäre nämlich alles an Messergebnissen für die Katz.

Ein Kompass solltest du auf jeden Fall montieren, musst aber darauf achten, dass er einen ordentlichen Abstand zu den Motoren hat und auch nochmal zusätzlich abgeschirmt ist. Sonst sind die Messergebnisse nicht zu gebrauchen.

Das GPS Irgendwie sinn macht bezweifle ich, da die Abweichungen doch mal bei 2m liegen, was bei einem Roboter verdammt viel ist.
Das wäre aber auch davon Abhängig, wie groß die Rasenfläche ist. Wenn das ein Acker ist, so wären 2m für's Grobe ok, wenn's ein 10m² Garten ist, kannst du GPS vergessen.

Was du noch machen solltest, wäre eine IR Bake, damit der Roboter, wenn er seine Position völlig verloren hat, einen fest definierten Punkt suchen und finden kann. Dann könnte er sich wieder neu orientieren und ohne jegliches Eingreifen weiter machen.

Wie das mit Induktionen bei Polizei etc. in der Nähe ist weiß ich nicht. Da müsste sich mal jemand melden, der damit Erfahrungen hat oder etwas drüber weiß.

Bei deinen eingeschränkten Hardwarekenntnissen kann man bestimmt hier im Forum helfen. Erst sollte mal aber entschieden werden, ob du einen Laptop einbaust oder einen µC.
Ich wäre ja der Meinung, dass das mit nem µC und einer entsprechenden Speicher-Erweiterung machbar ist. Mit einem Laptop wäre es zwar machbar, aber den würde ich als oversized bezeichnen.
Was sagen andere dazu?

Viele Grüße,
jon

P.S.: Ich finde das suuper interessant, da das auch auf mich zukommen wird, bzw. gerade Thema ist! Nur, dass IMADEIT-V3 erstmal mit gepflasterten Wegen zu kämpfen haben wird.

damfino
07.08.2008, 10:47
Hallo Jon,

Der Roboter soll einen Mähdurchmesser von 25cm haben, ich will Rasierklingen auf einem Blech befestigen. Die sind sehr scharf, leicht mit Schrauben zu fixieren, und zerbrechen nicht wenn sie an festes Material anstoßen. Die Gesamtgröße wird dann eine Länge von ca 60cm und Breite von ca 35-40cm ergeben. Den Antrieb vom Mähwerk soll ein 540er mit Übersetzung übernehmen, ergibt dann viel Kraft mit ca 2500u/min das einen leisen Betrieb bringen soll.
Für den Radantrieb sind 2 RB35 1:200 vorgesehen, mit Zahnriemenantrieb auf die Räder (D=200mm), hier kann noch eine kleine Übersetzungsstufe eingebaut werden. Vorne kommt ein freilaufendes Rad.

Der Garten ist 40x25m, das Haus steht in der Mitte. Wenn der Roboter die Orientierung verliert kann man den dann zB nach Norden schicken, und dann nach Westen, und somit hat er einen Fixpunkt im Garten und auf der Karte erreicht.

Wie gesagt, das Hauptziel soll sein einen geordneten Weg zu finden um effizient den Rasen zu mähen. Wenn jetzt zwischendrinnen der richtige Weg verlassen wird schätze ich das als nicht so tragisch ein. Denn im Vergleich zu den anderen Rasenmähern fährt er dann immer noch viel geordneter seine Bahnen und man vermeidet das manche Stellen oft und andere fast nie angefahren werden.
Und das Prinzip der Karte ist einfach, das Hauptproblem ist der Speicherbedarf und wie oft der Speicher beschrieben werden darf.
Man kann mit der Karte befehlen von Punkt A nach B zu fahren, man kann Stellen anfahren wo man die Position neu kalibrieren kann, und Stellen suchen wo man noch nicht war.

Ich dachte mir das schon mehrere vor dem selben Problem standen, mit jedem Staubsaugerroboter macht man sich Gedanken über die Ortung, und du mit deinem Projekt willst sicher auch nur am Weg den Schnee wegschieben, und nicht im Garten.

LG Werner

jeffrey
07.08.2008, 14:08
hallo,
wegbestimmung über odometrie im gelände kannst glaub ich mal voll vergessen. und da liegt eben der knackpunkt, genau zu wissen wo man ist. und bei deinem fahren nach plan hast du das problem, wenn du doch mal daneben ligst, dass dann der rasen dort eben stehen bleibt.
und dann hast du ja noch das problem, dass du eine gescheite startegie brauchst, wie verfahren wird, wenn ein hinderniss vorm roboter aber nicht in der karte ist. dann musst du ja ne neue bahnplanung machen. und diese muss so sein, dass dabei weiterhin der ganze rasen gemäht wird.
aber du knnst es gerne bauen, wenn es funktioniert mach ich das auch gleich.
mfg jeffrey

damfino
07.08.2008, 15:07
Ich gehe davon aus das eine schlechte Ortung immer noch viel besser ist als gar keine Ortung zu haben und darauf zu hoffen dass nach dem Zufallsprinzip irgendwann alles abgefahren wird.
Die Bahnplanung von A nach B hatte ich schon mal programmiert, waren 4 if-Befehle. Für die Umfahrung von Hindernissen kamen noch mal 8 Zeilen dazu. Eine Rasterkarte kann man leicht um neue Hindernisse erweitern, einen Lern- und auch Vergessenmodus einführen, das ist ja der interessante Punkt.

Jon
07.08.2008, 15:16
Und das Prinzip der Karte ist einfach, das Hauptproblem ist der Speicherbedarf und wie oft der Speicher beschrieben werden darf.
Der EEPROM vom ATMega maximal 10.000 Mal. Wobei die Werte mal höher, mal aber auch niedriger sein können.
Rechne mal durch, was für nen speicher du bräuchtest. das wird nie und nimmer in nen ATMega passen. Da brauchst du was externes.


Ich dachte mir das schon mehrere vor dem selben Problem standen, mit jedem Staubsaugerroboter macht man sich Gedanken über die Ortung, und du mit deinem Projekt willst sicher auch nur am Weg den Schnee wegschieben, und nicht im Garten.
Das Problem haben viele, wagen sich aber entweder nicht daran, versuchen es und geben irgendwann auf oder basteln alleine daran und rücken keine oder nur sehr wenige Infos heraus. Die große Minderheit beschäftigt sich damit lautstark, also so, dass andere es mitkriegen.

Viele Grüße,
jon

ikarus_177
07.08.2008, 15:26
Hallo alle zusammen,

ein Rasenmähsystem wäre auch für meinen Bot in der endgültigen Ausbaustufe mal geplant, eher aber ein universelles Gerät, welches verschiedene Aufgaben im Haushalt erledigen kann.

Ich will aber keinen Bot mit Rädern nehmen, sondern meinen Hexa, welcher gerade im Aufbau ist, auf diese Aufgaben "trainieren". Das Ganze ist eh als Langzeitprojekt gedacht, sodass es mit dem Fertigstellungstermin nicht so genau ist.

Ich denke mir, dass ein Roboter mit Beinen mehr Bodenhaftung bzw. Flexibilität im Gelände hat, als einer mit Rädern (ist ja genau das gleiche in der Natur: ich hab noch kein Säugetier mit Rädern gesehen ;-)).

Auch ich wollte ein System zur Orientierung verwenden, welches auf einer Rasterkarte aufbaut.


Um auf die Fragen von Jon zurückzukommen:


-Was machst du, wenn ein Rad durchdreht?
Hab ich nicht, ist also schon mal hinfällig ;-)


-Was machst du, wenn du einen Stein im Garten hast, darüber fährst und nicht mehr die ursprüngliche Bahn hast. Wie findest du heraus, dass du die Bahn verlassen hast und wie findest du die Bahn wieder?
hmm, ich hätte mir gedacht, da ich sowieso einen IR und einen US-Sensor - vertikal sowie horizontal schwenkbar - am Bot haben will, kann der doch während des "Mähens" den Boden nach Hindernissen abtasten und dann das jeweilige Bein woanders hinsetzen, und eben nicht aufm Stein drauf.


-Wie reagiert du auf nicht eingezeichnete Gegenstände?
erst mal schauen, ob es sich bewegt (Haustiere etc.), wenn nicht, einfach die Karte aktualisieren.


-Was machst du bei z.B. Tulpen in deiner Bahn, die nicht weggemäht werden sollen? Wie erkennst du die?
Ich hätte daran gedacht, am Anfang einen "Einlernprozess" zu starten, in dem der Besitzer des Bots gemeinsam mit ihm die Grenzen des Gartens "abgeht", um ihm später (vllt. per PC-Interface) jene Bereiche vorzugeben, die er wann nicht mähen darf.


-Arbeitest du mit einem Raster oder mit Vektoren?
vorläufig wäre Raster gedacht, da wir in der Schule die Vektoren wohl erst kommendes Schuljahr durchnehmen werden.


-Wie viel Speicher brauchst du? (16kb werden da nicht reichen)

ist wohl abhängig von der Größe des Gartens. Ich wollte aber sowieso eine SD-Karte am Bot haben, auf der er z.B.: dann die Karte sichern kann.


-Was brauchst du an Rechenleistung? Reicht ein µC oder brauchst du einen Laptop? (sollte Energiesparend sein)
ich teile bei meinem Bot die Aufgaben auf verschiedene µCs auf, wenn die Leistung trotzdem nicht reichen sollte, kann man ja ausbauen.


-Wie unterscheidest du einen Baum von höherem Gras? Mit einem komplexen Kamera System?
ich glaube, wenn das Gras erst so hoch ist, muss man eh mit ner Sense ran ;-)


-Wie bringst du dem Roboter bei, dass es im Frühjahr nicht deine Tulpen wegmähen soll, sondern sie umfährt?
s. o.


-Was für Hardwarekenntnisse, inklusiv Sensorik hast du?
ich wollte eine US sowie eine IR-Sensor verwenden (schwenkbar). Zusätzlich noch einen Kompass zur gröberen Orientierung.


-Was für ein Budget steht dir zur Verfügung?
Bis jetzt stecken schon über 600€ in diesem Projekt, ich werd aber noch vom Elternverein meiner Schule mit 500€ gefördert.


-Wie viel Zeit hast du am Tag, wenn du das in, sagen wir mal vier Monaten, machen willst?
also, in 4 Monaten wäre das für mich absolut undurchführbar, ich würde schon ein oder zwei Jahre einplanen.


Nochmal zur Navigation: man könnte es doch so lösen, den Bot einfach mal gerade aus auf ein Hindernis zu laufen zu lassen, und dabei ständig den Abstand zu messen. So könnte man doch die Karte justieren, bezüglich der Abstände.

Außerdem hat die Fortbewegung mit Beinen den Vorteil, dass man die IK sicher so erweitern kann, dass sie den zurückgelegten Weg eines Beines berechnet.

Das war mal mein Senf zur ganzen Geschichte.

Viele Grüße
ikarus_177


... ich glaube, das war der längste Post meines Lebens ...

jeffrey
07.08.2008, 15:31
hallo,

Ich gehe davon aus das eine schlechte Ortung immer noch viel besser ist als gar keine Ortung zu haben und darauf zu hoffen dass nach dem Zufallsprinzip irgendwann alles abgefahren wird.

nicht unbedingt. weil wenn man denkt man ist an einer anderen stelle, als man wirklich ist, wird dort der rasen als gemäht markiert, obwohl dort nie gemäht wurde. sprich dein mäher fährt seinen weg ab, und hat laut seiner messung alles gemäht, macht also feierabend. in wirklichkeit steht aber noch der halbe rasen, weil der bot die genaze zeit von falschen postitionen ausgegangen ist. dann ist das ergebnis nicht wirklich berauschend. dann doch lieber einen mäher, der von haus aus darauf ausgelegt ist planlos zu mähen. dieser mäht die ganze zeit, und wird somit irgendwann den ganzen rasen gemäht haben. der bot weiß das aber nicht und mäht weiter. im gegensatz dazu deiner mit schlechter navigation. der theoretisch "weiß" dass er den ganzen rasen gemäht hat. aber in wirklichkeit eben nicht.
also entweder du hast nen gemähten rasen und einen dummen bot, der einfach trotzdem weiter arbeitet. oder aber einen halb gemähten rasen, aber einen schlauen bot, der das ganze nach plan und energieparend, zeitsparend, ... abgearbeitet hat.
was ist vom mähergebnis her nun besser?
also ich will damit nicht sagen, dass die idee blöd ist, aber deine vorstellung das mal ruckzuck umzuseten halte ich für etwas leichtsinnig.
mfg jeffrey

Jon
07.08.2008, 15:38
weiteres Problem, wenn du die planmäßige Spur verlierst:
Wenn du zu einem Baum oder ähnlichem kommst, was eigentlich wo anders eingetragen ist und du änderst die Karte, verlierst du deine Position vollständig und kannst noch nicht mal damit beginnen, an einem klar definierten Punkt zu starten. dann musst du erstmal die Karte vollständig neu machen...

jon

damfino
07.08.2008, 16:03
Ob Räder oder Hexa ist egal, Ziel ist es eine vernünftige Navigation durchzuführen, und als Ergebnis muss der Bot nur von einem Feld zum anderen Feld fahren können.
Ein Raster hat den Vorteil der vereinfachten Programmierung, mit ein paar Schleifen kann ich das ganze Feld auf Hindernisse, leere Felder, etc untersuchen. Die Navigation im Feld basiert wieder auf Vektoren, wenn man es genau nimmt.
Wenn ich den Code von meinem Test-Raster noch finde werde ich ihn posten.

Bei dem Speicherbedarf habe ich schon gefürchtest das ein Atmega nicht ausreicht, das heisst ein altes Notebook besorgen, alles unnötige entfernen, und über RS232 verbinden. Zumindest kann man ein so altes nehmen das man einfach unter Dos laufen lassen kann, die brauchen keinen Lüfter und wenig Strom.

Hat schon jemand Erfahrung wie groß die Abweichung der Postion bei Odometrie ist? Denn man kann sicher mehrere Stellen im Garten finden wo man die Position neu kalibrieren kann, mir fallen schon mal 6 Stellen ein wo ich mit 5m Abweichung immer noch eine Ecke zur Kalibrierung finde. Damit wird es kaum vorkommen dass das halbe Grundstück ungemäht bleibt. Und sonst kann man auf die gleiche Statistik wie beim dummen Bot hoffen, dh dass beim nächsten Durchgang der Rest gemäht wird.

Man sollte hier ein bisschen was neues wagen, weg von High Tech Lösungen mit Funkbaken, DGPS und ähnlichem das man als privater nicht umsetzen kann.
Oft sind Lösungen so einfach das man gar nicht daran denkt.

LG Werner

Baunix
07.08.2008, 16:43
HI,

man könnte doch auch vieleicht 2 Compasse an dem heck und vorne drann bauen. wenn sie genau genug sind könnte man doch in jedem feld die Himmelsrichtung bestimmen so dass er genau weis in welchem feld er ist oder??

ist nur eine idee ausprobirt habe ich das nicht

Gruß dominik

damfino
08.08.2008, 09:44
Ich wüsste jetzt nicht was 2 Kompasse bringen sollen...

Die Karte darf natürlich nicht an jedem Hinderniss neu ausgerichtet werden, sondern nur an Punkten die sich sicher nicht verändern, zB die 4 Ecken des Grundstückes. Andere Hindernisse werden nur temporär in die Karte eingetragen.

Ein einfacherer Ansatz etwas planmäßiger das Grundstück abzufahren wäre, ein ganz grobes Raster (5x5m) anzuwenden und nur zu protokollieren in welchem Feld man wie lange war. Dann lässt man den Bot nach Lust und Laune fahren, kontrolliert in größeren Abständen wo er noch nicht oder nur selten war, schickt ihn dann dorthin, und lässt ihn ab dieser Position wieder nach Lust und Laune weiterfahren. Das sollte auch schon mal einiges effizienter als das reine Zufallsprinzip sein, und braucht auch kaum Speicher. Hier kann man auch GPS verwenden, eine Ungenauigkeit von ein paar Metern ist für eine statistische Auswertung nebensächlich und ohne Bedeutung.

Aber das wäre für mich nur eine halbe Lösung gegenüber eines geordneten Abfahrens des Grundstückes.

LG Werner

apfelsafft
08.08.2008, 10:12
Hi zusammen,

letztes Jahr habe ich mich auch mal mit nem Rasenroboter beschäftigt.
Allerdings stockte das Projekt dann aus Zeitmangel.

Zur Navigation hätte ich vielleicht eine Idee, wobei ich gleich sagen muss, dass die weder komplett durchdacht noch dass nach bereits vorhandenen Lösungen/Technologien gesucht wurde.

Vielleicht könnte es aber ein Denkansatz sein!
Die Idee leite ich von einem Touchscreen ab. Es gibt Touchscreens, die nach einem akustischen Prinzip arbeiten (GAW / SAW).
Hierbei wird der Bildschirm mit Schallwellen "überzogen". Berührt der Finger die Oberfläche werden diese Wellen verändert und der Controller kann daraus die Position ermitteln.

Könnte man sowas nicht auch für den Garten einsetzen?
Um die Gartenfläche werden akustische Sender und Empfänger plaziert, die die Rasenfläche mit einer "Schalldecke" überziehen, und zwar von mehreren Seiten.

Ein Rechner ermittelt so das Gebiet und statische (größere) Hindernisse wie Bäume können erkannt und rausgerechnet werden.

Ähnlich wie bei Radar wird der fahrende Mäher erkannt und es kann ihm seine Position zugefunkt werden bzw. gleich ein Fahrauftrag.
Der Robomäher braucht natürlich noch eine eigene Welt, in der er fährt. Seine grobe Positionierung erhält er aber von außen.

Wie erwähnt habe ich mir noch keine Gedanken über alle Probleme gemacht, ich möchte mit der Idee nur eine Diskussion anstossen, die die Vor- und Nachteile aufzeigt.


Viele Grüße
René

damfino
08.08.2008, 15:02
Wahrscheinlich wird ein akustisches Prinzip wieder bei Ultraschallbaken enden... Die Schalldecke wird im Garten zuviele Fehler produzieren, wenn die Vögel einfallen sieht er dann auf einmal 20 Bots durch die Gegend rennen ;-)

Baken sind halt aufwendig, man braucht viele, man muss sie mit Strom versorgen, etc. IR geht nicht weit genug, US auch, Laser sind zu gefährlich (Siehe Anleitungen von Laserpointern), und ich habe hier viele Beiträge gefunden wo über Baken diskutiert wird, aber noch nichts über einsetzbare Versionen.

Man sollte sich über die notwendige Genauigkeit Gedanken machen, ich lese hier immer wieder "..will auf cm genau navigieren".
Gegenfrage: genügt nicht auch auf 10cm genau? Oder noch größer?
Wenn man das beantwortet hat, kann man ein Navigationsverfahren suchen das so einfach wie möglich ung so genau wie notwendig ist.

Wer fährt mit seinem Benzinmäher schon ernsthaft auf 1cm genau herum....

LG Werner

jeffrey
08.08.2008, 15:07
hallo,
die genauigkeit ist immer von der bahnplanungabhängig. wenn bei 60cm schnittbreite die nächste geplante bahn in 30cm entfernung ist, dann reichen 10 cm geneauigkeit, wenn aber der bahnabstand 59 cm ist, dann hast du wenn du pech hast dazwischen noch einen streifen stehen, wenn du nur 10 cm genau messen kannst.
man könnte mehrere drähte verlegen, und dann wie bei induktionsschleifen schauen, wo sich der bot innerhalb des gitters befindet. aber ich weiß nicht wie genau man das messen. aber dann könnte man auch gleich einen drahht verlegen, dem der bot nachfährt.
mfg jeffrey

damfino
10.08.2008, 12:02
Ok, also gibt es anscheinend 3 Möglichkeiten:
einen dummen Bot,
einen halbdummen Bot den man nachhilft wo er schon ungefähr war und wo nicht,
und einen intelligenten Bot mit genauer Karte und Navigation mittels Baken.

Wobei man wahrscheinlich gleich eine Arbeitsgruppe für universelle Baken starten kann, ich kann die Hardware nicht zusammen stellen, ich kann nur die mathematische Berechnung der Position erarbeiten.

Im Anhang habe ich den Code meiner Wegfindung in einer Rasterkarte, ist in Scilab programmiert, aber halbwegs verständlich. Es gilt von einem Startpunkt (unten) aus einen Zielpunkt (oben zu erreichen, dazwischen ist ein Hufeisenförmige Hinderniss in das er zuerst hineinfährt, aber dann den Weg zurück heraus und um das Hindernis zum Zielpunkt findet.
Es sind 4 Richtungen umgesetzt (rwf 1-4), entspricht daher nur 90° Kurven, kann man sicher leicht erweitern das man auch in 45° abbiegen kann.

Ich habe das vor ca 1 1/2 Jahren programmiert und schon wieder vergessen.
Aber dieses simple Programm schafft eine verlässliche Bahnplanung, es errechnet nicht den kürzesten Weg, aber es kommt am Ziel an.

LG Werner

jeffrey
10.08.2008, 12:38
hallo,
die bahnplanung stellt kein zu großes problem dar, weil man nicht irgendwie zeit oder wegoptimal fahren muss, sondern nur alles abfahren.
das problem dabeoi ist die positionsbestimmung und dann daraus die bahnregelung.
beim rasterfeld würden sich auch 6-ecke anbieten. dann hat man immer gleiche strecken, falls mal irgendwelche optimierungen gemacht werden sollen.
mfg jeffrey

damfino
10.08.2008, 15:44
ok, und welche Positionsbestiimung schlägst du vor?
Das ist ja einer der Hauptgründe für diesen Thread.

Idealerweise soll ein Bot autonom sein, dh ohne Daten zu einem PC zu übertragen der dann wie auch immer die Position errechnet.
Funktionierende Baken kenne ich nicht, auch bin ich wenig begeistert mehrere davon im Garten aufzustellen, zu vermessen, Stromleitungen hinlegen, und dann sollte man auch die Kosten nicht vergessen.

4 oder 6 eck ist mir egal, 4eck ist leichter als Raster umsetzbar, und wenn man Diagonal von einem 4-eck zum anderen fährt ist die Länge gleich Rasterlänge x (2^0,5), da kommt bei Diagonalfahrten einfach dieser Faktor dazu und fertig.

LG Werner

HeXPloreR
12.08.2008, 22:48
hallo alle zusammen,

also ich finde die idee mit dem erstmal neu an einer grundstückskante ein-norden und dann in eine ecke gehen um neu zu starten in ordnung, allerdings sollte er den weg dann quasi anderrum gehen um nicht nochmal alles was schon gemäht ist noch einmal abmähen zu wollen... Vielleicht könnte man ihm sich merken lassen in welcher rasterkoordinate er den weg verloren hat? ...um ihn dort chaotisch des ganze rasterfeld abfahren zu lassen, deshalb sollte das raster also auch nicht unbedingt zu groß sein, wenn man zur sicherheit die umliegenden auch noch mal abfahren würde hätte man wohl einen saubere fläche. Zu oft sollte dieser vorgang dann aber nicht ausgelöst werden. ;)
Übrigens ist ein sind sich schnell drehender laser zum beispiel wie sie in einem 360° Laserprojektor vorhanden sind nicht so sehr gefährlich ..also ich meine man kann damit nichts verbrennen, denn soweit ich weiß kommt es dabei auf die wattzahl und die einwirkdauer (z.B. auf netzhaut) an...und könnte daher als Bake durchaus dienlich sein...vielleicht je eine an den hausecken oder ecken vom garten. allerdings weiß ich dazu auch nicht wie dann die reichweite ist, wenn der laser sich in den grenzwerten des erlaubten bewegt.

mfg

apfelsafft
13.08.2008, 09:13
An die Vögel habe ich gar nicht gedacht... geht also nur überdachter Rasen ;-)

Zur Umwelterkeennung gibt es doch diese 360° (Laser-)Scanner.
Allerdings Auswertung der Laserabtastung sehr rechenintensiv, glaube ich.
Dann kennt der Mäher auch nur sein Umfeld (Bäume, Pflanze und auch sich bewegende Objekte).
Wie er damit navigiert ist dann immer noch eine Frage.

Eine andere Idee könnte sein, die Funktionsweise von optischen Mäusen für eine Fahrkontrolle (ist der Robo so gefahren wie ich es ihm vorgegeben habe?) anzupassen. Es werden dann keine Tischplatten sondern Rasenflächen erkannt.
http://de.wikipedia.org/wiki/Optische_Maus

Gruß
René

Vogon
13.08.2008, 12:40
Zur Optischen Maus haben wir doch schon einige Versuche:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=363705#363705

damfino
13.08.2008, 16:04
Naja, wenn schon Laser, dann soll der Laser das Gras abschneiden, eine 360° Drehung, und in ein paar Sekunden wäre alles erledigt ;-)

Laserabtastung ist sicher zu rechenintensiv, ist gleichzusetzen mit Bilderkennung.
Laserbaken wären sicher genau, fraglich ist ob man einen normalen Laserpointer im freien auf 40m noch erkennen, und wie genau man dann den Einfallswinkel der einzelnen Laser auf den Bot messen kann.

LG Werner

HeXPloreR
13.08.2008, 17:17
ich würde dann eine rotierenden laser auf eine angekippte scheibe stellen, da der rasen mal angenommen nicht wirklich ganz eben sein wird, um also gewisse höhen und tiefen auszugleichen....habmal geguckt, son teil hat Laser Klasse 2, 2,2mW Leistung und nen delta von 630-670 nm....leider auch eine automatische nevillierung die es quasi selbst ausrichtet und damit immer gegen meine drehscheibe arbeiteten würde...doch könnte ich die nevillierung abschalten...würde sich ein schöne schwingende laserscheibe über meinen garten bewegen die der bot empfangen kann.

damfino
14.08.2008, 10:39
Ein Laser Klasse 2 kann schon gefährlich werden, anscheinend ist alles über 1mW und Optik gefährlich für die Augen.
Mir ist noch eine Idee zur Laserabtastung und Umwelterkennung gekommen,
und zwar in einer stark verinfachten Form: alle 45° Sensoren, zB US, und dann das erste Hinderniss in jeder Richtung auswerten, mit einer gespeicherten Karte vergleichen, und so die Position bestimmen.

Man kennt die Ausgangs, bzw letzte Position, muss also nicht jede Position auf der Karte nach Übereinstimmungen absuchen.
Der Rechenaufwand mit der fixen 45° Einteilung ist gegenüber einer 360° Abtastung sehr stark verringert, und es gibt normalerweise genug Hindernisse im Garten nach denen man sich orientieren kann (Zaunsäulen, Bäume). Lücken werden dann mit Odometrie überbrückt.
Oder für einen einfacheren Programmablauf wird man eher die Odometrie als Positionierung verwenden, und diese mit den Sensoren wann immer möglich kalibrieren.
Das sollte einfach umzusetzen sein, ich kenne die Sollposition, und versuche das Ergebnis von jeden Sensor zu dieser Position zuzuordnen, verwerfe unsinnige Ergebnisse, und berechne aus den brauchbaren Ergebnissen die Istposition.
Eigentlich eine schöne Aufgabe für neuronale Netze, aber ein paar Schleifen mit Vergleichsbedingungen werden auch den Zweck erfüllen.

LG Werner

jeffrey
14.08.2008, 11:12
hallo,
zur selbstlokalisation mit landmarken gibt´s hier mal nen groben überblick: http://www.ipvs.uni-stuttgart.de/abteilungen/bv/lehre/lehrveranstaltungen/vorlesungen/SS08/Robotik_II_material/start/robotik_6_sensorauswertung2005.pdf
http://www.ipvs.uni-stuttgart.de/abteilungen/bv/lehre/lehrveranstaltungen/vorlesungen/SS08/Robotik_II_material/start/lokalisierung.pdf
mfg jeffrey

Baunix
14.08.2008, 16:30
Ja

das mit dem Laser kannst du eher nicht machen musst ja acuh an die Katzen denken und das klein Vieh

damfino
12.09.2008, 11:05
Nachdem etwas Geld in der Kassa ist, werde ich mich demnächst mit µC Hard und Software befassen, schließlich ist diese Aufgabenstellung umfangreicher als meine bishereigen µC Miniprogramme.
Ich werde mit der RN Control und Dualmotor Ansteuerung anfangen, um mal ohne Bot die Motoren zum laufen zu bekommen.
Ich wollte eigentlich 2x RB35 1:200 Motoren verwenden, aber nach dem Onlinetool zur Drehmomentberechnung wären die viel zu schwach?
Gehen die für einen Bot mit 5-7kg?
Oder liegt das Berechnungstool um den Faktor 10 daneben? (Ich hatte einen RC Wagen mit 540er Motor, 4.5kg schwer, schaffte 40% Steigung bei 8km/h, nach dem Tool wäre er gar nie losgefahren)
LG Werner

H6C12O6
15.11.2008, 21:05
Hallo ,

hoffentlich schläft der Thread hier nicht ein , den mich interessiert das Thema
hier auch brennend.

Ich hab mir auch schon ein paar Gedanken gemacht.

Zum Thema Navigation:

Hier wäre meine Idee über den gesamten Rasen eine Art Koordinatensystem zu legen.
Der Roboter soll dann seinen Abstand zu bestimmten Punkten ( deren Positon
bekannt ist ) bestimmen.
Und dann einfach vorgegebene Koordinaten abfahren.

Mein Problem ist nun folgendes:

Wie soll der Roboter seine Position betimmen , wenn im die Abstände zu 3 bekanneten Punkten bekannt sind?
Ich als Mensch würd mir hierzu einfach die Situation aufzeichnen und dann einen Kreis um die bekannten Punkten mit den Abständen als Radien machen und dann die Position ablesen.
Aber wie ist dies für einen Prozessor möglich ?

BjoernC
17.11.2008, 16:03
Hallo H6C1206
Das problem hat mich auch beschäftigt.
Ich habe folgende Überlegung gemacht und zwar wollte ich folgendermaßen vorgehen.
Ich meinte das es so funktionieren würde.
Wenn du die Abstände ermittelst von P1, P2, P3, dann ist es genau das gleiche VOrgehen wie mit einem Zirkel. (sry. mein deutsch ist irgendwie nciht so wie es sein sollte :))
Hierbei bestimmst du den Abstand von P1 und P2, dies ergibt dann ein Dreieck, so kannst du eine Verbindung von P1 und P2 herstellen, darüber kannst du dann den Abstand auf der Verbindungslinie von P1 und P2 den Abstand ermitteln. mit P2 und P3 kannst du dann den anderen Punkt ermitteln :) ich hoffe du kannst mir folgen :)

H6C12O6
17.11.2008, 18:42
So etwas meinte ich , wie kann man daraus die Position errechnen ,wenn p1,p2 und p3 bekannt sind.
(vorsicht , freihand paint bild)

BjoernC
17.11.2008, 18:44
ja genau so hab ich es mir auch gedacht, nur das ich halt das Dreieck in zwei kleinere Dreiecke geteilt habe :)

BjoernC
17.11.2008, 19:35
Also, ich bin mal ganz ehrlich ich selbst kenne das verfahren nur grob.
Nur du musst dich ein wenig mit Vektor Basics auseinandersetzen.
du hast halt nun folgende Abstäde:
|P1R|=sqrt((X1-XR)^2+(Y1-YR)^2)
|P2R|=sqrt((X2-XR)^2+(Y1-YR)^2)
|P3R|=sqrt((X3-XR)^2+(Y1-YR)^2)
Damit gehts in folgendesüber:
P1R^2=(X1-XR)^2+(Y1-YR)^2
P2R^2=(X2-XR)^2+(Y1-YR)^2 => Kreisgleichungen.
P3R^2=(X3-XR)^2+(Y1-YR)^2
Der Rest ist dann "nur" noch Gauß...
Aber gut beschrieben ist es hier (in dem Falle mit GPS aber das Prinziep ist das gleiche)
http://projekte.fh-aargau.ch/elektrotechnik/2004ss/siam-schae/GPS_Basics(GPS-X-01006).pdf
PS: ich selbst bin mir grad nicht so ganz sicher ob meine o.g. Formeln jetzt richtig sind, daher sind diese mit vorsicht zu genießen.

damfino
18.11.2008, 14:33
Die Vektorrechnung stimmt schon, nur wird man in der Praxis nie einen perfekten Schnittpunkt aller 3 Kreise erreichen, da müsste man eine Unschärfe zulassen, oder erkennen welche Signale genauer sind, und dieser in der Berechnung stärker gewichten als schlechte Signale.
Die Mathematik ist hier das kleinere Problem, die bekommt man bald hin.

Aber das geht alles nicht, solange man kein einfaches System der Positionsfindung hat. Keine Baken mit aufwändiger Elektronik und Mechanik. Ein Grundstück hat nunmal Bäume, Büsche, ein Haus, alles massive Behinderungen für Infrarot, Laser, und Ultraschall.

Mir ist bis jetzt keine bessere Lösung eingefallen, als das normale System mit Begrenzungsdraht mittels GPS zu unterstützen. Andere Lösungen (umgebungserkennung) sind möglich, brauchen aber viel mehr Rechenleistung als ein µC bietet.

Vielleicht findet sich hier eine Lösung in Form von einfachen Baken, die man billig nachbauen kann.
Oder es finden sich genug Leute damit man zusammen billige Rasenrobos in China kaufen kann (ab 500$ ohne Zoll und Transport, Qualität unbekannt)

BjoernC
18.11.2008, 15:30
Hallo damfino, ja du hast recht, das gleiche Problem hatte ich auch gehabt/ bzw. durchgespielt, deswegen bin ich von dieser idee schnell abgewichen :) man muss die Bakes mit sehr viel Bedacht aufstellen, und dann kommen ja wieder hindernisse hinzu, diese müssen nciht zwangsläufig statisch sein, das könnte man ggf. noch irgendwie in den Griffbekommen.
Schlimmer sind Hindernisse wie zB. Schubkarre, oder größere Hindernisse, die zB. das Signal von einem Bake blockieren, da hier kein Sichtkontakt herscht.
Daher bin ich auf GPS wieder zurück gekommen - Das problem hierbei ist:
teuer und noch teurer als gedacht und sehr viel Aufwand - die "billigen" Chips tuen es einfach nicht (Abweichungen von 8m sind realistisch).
Um genauere Positionen zu erhalten muss man dann zusätzlich das CW-Signal auswerten, was nun gelinde gesagt nicht einfach ist und die Chips die das können die kosten schon etwas und sind eig. nicht für den Hausgebrauch gedacht was schon alleine der preis sagt (>100 Euro).
Einen Chip werde ich mir demnächst Bestellen, und dann die ergebnisse hier Präsentieren - ich hoffe mal das es keine fehl investition ist :).

damfino
19.11.2008, 10:05
Gegen Baken habe ich prinzipiell nichts, aber ich müsste 8 Stück aufstellen um das Grundstück halbwegs abdecken zu können, diese müssten mindestens 20m Reichweite haben, benötigen Stromversorgung, etc. Das geht nur wenn man eine Bake erfindet die nur ca 25€ kostet.

Ansonsten hatte ich meine Ideen schon beschrieben:
1 GPS: normaler Robo mit Begrenzungsschleife, dazu ein grobes Raster ca 5x5m in dem mittels GPS festgehalten wird wie oft man in einem Quadranten war und dann den Robo gezielt in Quadranten zu schicken in denen er noch nicht war.

2 Einfache Umgebungserkennung: zB mittels Ultraschall alle 45° nach Hindernisse abfragen, diese mit einer gespeicherten Karte vergleichen und daraus die Position errechnen. Dazu benötigt man ausreichend statische Hindernisse, viel Rechenleistung, daher viel Energie und das nötige Kleingeld für die vielen Sensoren und MiniPC. Dafür erspart man sich die Begrenzungsschleife und hat eine exakte Positionierung. Eigentlich sollte hier auch eine Selbsterstellung der Karte möglich sein.

3 Ich vergesse das alles, baue einen dummen Robo der bei Hindernissen einfach irgendwie anders weiter fährt, versorge den über Solarzellen, und brauche mir damit auch keine Gedanken zu machen wie er seine Ladestation findet.

Ich sehe alle 3 Möglichkeiten für durchführbar an, wobei ich persönlich mangels Erfahrung sicher große Probleme mit der Programmierung des µC haben würde. Version 1 würde die Effizienz steigern, Version 2 wäre der Rolls Royce unter den Mähern, Version 3 wäre dagegen so schön primitiv :)

H6C12O6
19.11.2008, 11:08
Wie wäre es mit einem dreh und schwenkbaren Aufbau auf dem Roboter , an dessen Kopf ein Laserentfernungsmesser ausm baumarkt und ne kamera
zum finden von ir-licht.
Am Rand des Gartens stehen dann so ne art Reflektorplatten , mit ner ir-led die zur Rasenfläche zeigt.

Das Verfahren liefe dann so:

Die Kamera dreht sich und sucht sozusagen die ir-leds , dann werden diese anvisiert und die Entfernung zu den ReflektorPlatten wird gemessen.
usw.

Die Reflektorplatten bräuchten aber dann unterschiedliche muster aus mehreren Leds, damit der robo auch weiß , welche Entfernung er gerade misst.

Das System hätte dann den Vorteil ,dass die Reflektoren am rand sehr billig wären, den man braucht ja nur ein paar leds und ne kleine solarzelle zur Stromversogung und irgendwas , was als reflektor dienen kann.

BjoernC
19.11.2008, 13:59
Die Kamera dreht sich und sucht sozusagen die ir-leds , dann werden diese anvisiert und die Entfernung zu den ReflektorPlatten wird gemessen.
usw.

Die Reflektorplatten bräuchten aber dann unterschiedliche muster aus mehreren Leds, damit der robo auch weiß , welche Entfernung er gerade misst.

Das System hätte dann den Vorteil ,dass die Reflektoren am rand sehr billig wären, den man braucht ja nur ein paar leds und ne kleine solarzelle zur Stromversogung und irgendwas , was als reflektor dienen kann.
Hmm das gleiche hatte ich mir ja schon mal gedadcht aber ich sehe da ein problem in der Geschichte, vielleicht trifft das bei dir nicht so zu. Aber wen halt Geräte im Garten stehen, so ist es so, dass wenn der Roboter sich bewegt evtl. zu 2 Bakes keinen sichtkontakt hat, und so nicht mehr weiß wo er sich grad befindet dh. man braucht daher noch eine Fehler behandlung, die dieses abdeckt.
Eine idee wäre das er einfach wirr herum fährt aber das könnte auch in einem Disaster enden zB. das er auf die Straße fährt oä. :)

H6C12O6
19.11.2008, 14:33
bei mir stehen nur bäume im rasen , schubkarren und so müsste man halt vorher aufräumen.
(wir wollen dem robo ja nicht das leben schwer machen.)
Außerdem könnte er ja in einem " Funkloch " mittel Odometrie weiter navigieren.

theborg
19.11.2008, 14:44
Hi so als idee zur positionsbestimmung was ist den wen man nen raster aus drat unter den rasen legt natürlich isoliert und dadrauf nen moduliertes schwaches signal gimt anhand der robotter durch die laufzeit die position bestimmen kann.

Des einbuddeln solte net so doll den rasen beschedigen da man eigentlich nur mit dem sparten nen kleinen Schlitz machen muss wo man es reinlegt.

irgentwo hatte ich des auch schonal gesehen im netz nur da ht der das über ne vorhandene fusbodenheitzung gemacht.

damfino
21.11.2008, 14:52
Das mit dem Drahgitter habe ich mir auch schon überlegt, aber ich würde auf über 3km Verlegedraht kommen, das ist mir doch zuviel Aufwand.


Die Kamera dreht sich und sucht sozusagen die ir-leds , dann werden diese anvisiert und die Entfernung zu den ReflektorPlatten wird gemessen.
usw.

Die Reflektorplatten bräuchten aber dann unterschiedliche muster aus mehreren Leds, damit der robo auch weiß , welche Entfernung er gerade misst.

Dazu habe ich im Internet recherchiert und bin bei Wikipedia auf die Lasernavigation gekommen: Drehender Laser mit Empfangseinheit, jeder Winkel zu einem passiven Reflektor wird gemessen, und aus den verschiedenen Winkeln der verschiedenen Reflektoren wird die Position errechnet.
So gesehen braucht man nur einen Laserpointer, einen Empfänger, gute Winkelmessung, ein paar billige Reflektoren, und eine Software die damit was anfangen kann. Die Positon der Reflektoren muss auf einer Karte vermerkt sein, und aus dem Messergebnis der Winkel muss die einzig mögliche Position auf der Karte errechnet werden.

Frage an die erfahrenen Programmierer: hat das schon jemand angedacht, ist das umsetzbar für einen µC?

BjoernC
21.11.2008, 15:03
Hi also das mit den Grad zahlen ist eig. nicht soo schwer man kann dafür einen Schrittmotor benutzen, der dann 400 Schritte/umdrehung braucht dh. man hat dann 360/400° genaue ergebnisse (theoretisch), man kann dies noch ein wenig untersetzen, um so noch genauer zu werden (Vorraussetzung ist aber das die Mechanik aureichend genau angepasst/gebaut wird). Ob das mit einem uC zu realisieren ist, ich denke schon... zur not kann man ja auch instanzweise rechnen lassen und so nacheinander mehrere uC's rechnen lassen (der eine Gauß, der andere Winkelfunktionen usw.) somit würdest du die uC's entlasten und so mehrere Rechnungen parallel laufen lassen :)

H6C12O6
21.11.2008, 15:47
Dazu habe ich im Internet recherchiert und bin bei Wikipedia auf die Lasernavigation gekommen: Drehender Laser mit Empfangseinheit, jeder Winkel zu einem passiven Reflektor wird gemessen, und aus den verschiedenen Winkeln der verschiedenen Reflektoren wird die Position errechnet.
So gesehen braucht man nur einen Laserpointer, einen Empfänger, gute Winkelmessung, ein paar billige Reflektoren, und eine Software die damit was anfangen kann. Die Positon der Reflektoren muss auf einer Karte vermerkt sein, und aus dem Messergebnis der Winkel muss die einzig mögliche Position auf der Karte errechnet werden.

Frage an die erfahrenen Programmierer: hat das schon jemand angedacht, ist das umsetzbar für einen µC?

woher soller der dann wissen , dass der passive reflektor nicht z.b. ein baum ist?

jeffrey
21.11.2008, 16:38
hallo,
das mit den passiven refeloktoren ist theoretisch schon möglich. aber im gelände werde nie alle sichtbar sein. außerdem muss man gewährleisten, dass der laserstrahl den reflektor trifft. dann müssen die reflektoren so aufgestellt sein, dass eine eindeutige zuordnung möglich ist, auch wenn einige nicht erfasst werden.
das ganze sollte man dann auf jeden fall mit einer trägheitsnavigation, oder so verbinden. und dann ausgehend von der bekannten startposition, bzw der position an der man als letztes war, und den bewgenungen dann eine grobe positionsschätzung durchszuführen, bzw. wahrscheinlichkeiten zu berechenen, wo man sich befindet. das schränkt den rechenaufwand ein, und verbessert die navigaton. daraus kann man dann auch eine fehlererkennung für falsche reflektoren durchführen, es kann ja z.b. nicht sein, dass der bot innerhalb von 5s um 10m springt (außer es ist der absolute turbomäher ;-)) also kann z.b. die reflektion nicht stimmen, und an verwirft den reflektor.
mfg jeffrey

damfino
24.11.2008, 16:29
Schon klar dass nie alle Reflektoren sichtbar sein werden. Das wären Baken aber auch nie, der Unterschied ist dass die Reflektoren billig sind und die Elektronik nur in einem Gerät vorhanden ist. Da kann ich den Garten so mit reflektoren zupflastern, dass am Zaun alle 5m einer ist, dazu an den Hausecken, Bäumen, etc. Dann ist der Robo nur selten weiter als 5m von einem Reflektor entfernt, das würde eine hohe Positionsgenauigkeit ergeben.
Der Robo muss in der Lage sein seine Position zu erkennen, daher Aufgrund der Winkel der Reflektoren seine Lage auf einer Karte zu erkennen.
Dafür habe ich noch kein brauchbares Konzept, eine Karte auf alle möglichen Positionen zu durchsuchen wird funktionieren, aber viel zu langsam sein. So wie jeffrey geschrieben hat, kann man von der letztgültigen Position ausgehen, und muss daher nur im Umkreis davon die neue Position suchen. Das wäre etwa Odometrie die alle paar Sekunden neu kalibriert wird.
Trotzdem wäre es besser wenn man auch so die Position feststellen kann, so kann man einen fixen Startpunkt für jeden Mähvorgang entfallen lassen.

Ich kann mir so ein Konzept für eine Rasterkarte vorstellen, das schließt aber einen µC aus. Mit einer Vektorkarte wäre der Speicherbedarf viel geringer, nur kann ich mir dazu eine Suchfunktion für die Position nicht vorstellen.
Wenn ich eine Idee für so eine Suchfunktion habe, ist es zur Fehlererkennung von falschen oder fehlenden Reflektoren und deren Korrektur nur mehr ein kleiner Schritt.

Da solche Konzepte in der Industrie funktionieren, sollte man mit etwas Hirnarbeit dass auch für den Heimgebrauch hinbekommen :)
Das wäre auch eine tolle Lösung für die meisten Roboter hier.

jeffrey
24.11.2008, 18:25
Schon klar dass nie alle Reflektoren sichtbar sein werden. Das wären Baken aber auch nie, der Unterschied ist dass die Reflektoren billig sind und die Elektronik nur in einem Gerät vorhanden ist. Da kann ich den Garten so mit reflektoren zupflastern, dass am Zaun alle 5m einer ist, dazu an den Hausecken, Bäumen, etc. Dann ist der Robo nur selten weiter als 5m von einem Reflektor entfernt, das würde eine hohe Positionsgenauigkeit ergeben.
hallo,
ich denke das prinzip "viel hilft viel" ist hier eher falsch. stell dir vor du hast einen 50m zaun mit 11 reflektoren. jetzt erfasst der roboter 3 davon, woher soll er nun wissen, wo am zaun er sich befindet. ich denke es ist sehr kompliziert sich die reflektor positionen so zu überlegen, dass daraus eine eindeutige positions ermittlung möglich ist, wenn nicht bekannt it, welche reflektoren erfasst werden.
mfg jeffrey

HeXPloreR
24.11.2008, 19:39
Hi,

tatsache ist doch das ein System bzw Kombinationen von mehreren in der Industrie erfolgreich anwendung finden, weil die ganze Umgebung auch direkt darauf zugeschnitten wird. Die Systeme kommunizieren untereinander und/oder über einen Hauptrechner. Das eizige was jeden hier davon abhält solche Systeme zu verbauen sind der Preis und ggf das Gewicht verschiedenster Einrichtingung zur Positionsbestimmung. Denoch gibt es funktionierende Systeme auch hier schon zu finden sind und sich im Rahmen der Hobbykasse befinden.

Bekannte Probleme sind die die jeffrey hier anspricht...tatsache ist aber auch das ein Mäher seine aktuelle Position garnicht braucht um zu mähen...was er braucht sind "Wegweiser" wie z. B.Induktionsschleifen und Sicherheitseinrichtungen für Fremdkörperekennung ----> schliesslich soll er sichja in einem bekannten Raum fortbewegen den man dementsprechend vorbereiten kann.


mfg

damfino
25.11.2008, 09:45
Es stimmt das ein Rasenmäher keine Navigation braucht, es genügt eine Kollisionserkennung, da brauch ich nicht einmal eine Induktionsschleife solange das Gartentor geschlossen ist. Aber sobald ich ein automatisches aufladen haben will, muss er zumindest irgendwie die Ladestation finden.
Auch dann ist das ganze immer noch sehr ineffzient, da braucht der Mäher 1-2 Tage um die 1000m2 nach dem Zufallsprinzip abzufahren anstatt 2-3h.

Wenn man es als Odometrie mit laufender Kalibrierung betrachtet, brauche ich auch keine eindeutige Position der Reflektoren, die letzte Position ist bekannt, wo die neue sein soll auch, jetzt brauche ich nur die errechnet Position mit den Reflektoren der Umgebung zu vergleichen und korrigieren.
Es ist mit der Karte auch bekannt welche Reflektoren in der Nähe sind, daher brauche ich nur diese zu suchen.

Trotzdem sollte man einen Weg finden unabhängig von der Odometrie eine Position zu errechnen, und wenn diese nicht eindeutig ist, soll er ein paar Meter weiter fahren und wieder versuchen die Position zu bestimmen bis es eindeutig ist. Erst mit so eine Routine wird das System idiotensicher.
Hier wäre es auch egal wie lange er für die Positionsbestimmung braucht, hauptsache er findet eine, dann soll er auf den einfacheren Navigationsmodus umschalten und mähen.

Nur wie gesagt, mir fehlt ein Konzept wie man eine Vektorkarte erstellt und auf dieser dann die Position bestimmt. Komme nur auf eine Lösung mit 2 dimensionalen Arrays die den verfügbaren Speicherplatz sprengen und eigentlich nur ein Raster mit Vektorrechnung darstellt, aber es sollte ohne Raster funktionieren. Naja, sind schon einige Jährchen vergangen seit ich mich mit Vektorrechnung abgegeben habe, und da war auch kein Kapitel über Kartenerstellung dabei ;-)

-----------

Habe mich am Abend noch mit einer Vektorkarte beschäftigt, ein Blatt Papier zum zeichnen hat die Erkenntnis gebracht: eine Vektorkarte ist einfach, es ist auch sehr einfach darin zu navigieren und festzustellen ob man in- oder ausserhalb einer bestimmten Fläche ist.
Das schlechte daran: wenn man zusätzlich feststellen will wo man schon überall war, landet man praktisch wieder bei einer Rasterkarte. Denn am einfachsten ist es, Punkte festzuhalten und damit steigt der Speicherbedarf extrem an. Man könnte aus diesen Punkten dann Linien, und daraus dann Flächen errechnen, und so bereits abgefahrene Bereiche markieren, das würde Speicherplatz verringern. Damit haben aber schon professionelle CAD Programme Schwierigkeiten, mit einem µC wird man da gar nicht erst probieren müssen.
Das ergibt für mich das eine Rasterkarte am einfachsten zum programmieren und zu verwenden ist.
Nachteil ist der große Speicherbedarf, da verwendet man am Besten einen PC/Laptop, benötigt wieder viel Energie und mach den Bot unnötig groß und schwer.

GregorSW
08.12.2008, 21:58
Hi Ihr,

da das dingens ja Autonom sein soll. Und eigentlich wie ein Auto ist. Wieso schaut ihr euch denn nicht paar ideen bei denn DARPA challenge teilnehmern was ab. OK alles ein wenig überdimensional aber die ein oder andere Idee is da bestimmt dabei.

MfG

Gregor

H6C12O6
09.12.2008, 17:46
na ja , des wäre echt der overkill , die benötigen ja mehrere quadcore cpus zum berechnen von dem ganzen zeugs.

und dass dann auf nem rasenmäher mit strom zu versorgenn , na ich weis nicht.

fadtma
09.12.2008, 18:03
Das ergibt für mich das eine Rasterkarte am einfachsten zum programmieren und zu verwenden ist.
Nachteil ist der große Speicherbedarf, da verwendet man am Besten einen PC/Laptop, benötigt wieder viel Energie und mach den Bot unnötig groß und schwer.

Man kann doch relativ einfach eine SD-Karte an einen uC anschließen. Versuch mal 64MB (und das ist ja heutzutage eine winzige Karte) mit Punkten vollzuschreiben. Da ist schneller der Akku vom Roboter leer

damfino
18.08.2009, 14:28
So, nachdem ist jetzt sehr viel Freizeit habe, und das Rasenmähen bei dieser Hitze alles andere als lustig ist, habe ich mein Rasenmäherprojekt wiederbelebt.
Es gibt hier schon mehrere die solche Roboter erfolgreich gebaut haben, die meisten aber für eher kleine Flächen, ich habe aber über 900m2. Daher habe ich meinen Roboter mit einem etwas größeren Scheidebereich von 30cm gegenüber dem Automower von ca 23cm geplant. Habe auch 2 Bilder angehängt, wird ca 340mm breit, 565mm lang, und weniger als 200mm hoch damit er gut unter Bäume und Büsche fahren kann. Raddurchmesser geplant sind 160mm an den Antriebsrädern, vorne 100mm. Antriebsmotoren 385er mit 1:148 Übersetzung, Mähmoter auch ein 385er mit 1:6 damit sollten 2000U/min erreicht werden. Die Räder werden unter der Bodenplatte gelagert, die Motoren oberhalb, dazwischen gibts 2 Zahnräder, erstens um die Distanz zu überbrücken, zweitens kann man da leicht die Übersetzung ändern. Ich wollte zuerst alles genauer zeichnen, aber da die Maße am Motortypenplatt sich ziemlich widersprechen wird sich erst beim zusammenbau zeigen wie es wirklich aussehen wird.

Als erstes werde ich mich mit der Begrenzungsschleife befassen, wenn die funktioniert wird der Rest bestellt. Im erstellen elektronischer Schaltungen bin ich eine Niete, daher ist es ganz nett das solche Schaltpläne hier zu finden sind!! Wenigstens kann ich löten :)

Richard
18.08.2009, 20:17
Moin moin.

Mit son Laserpointer wird das eher nix, außer der Rasen ist < 10 m². :-(
Der laser braucht schon etwas mehr Leistung und damit hat man dann
gleich ein Sicherheitsproblem! Dann muß Der Laser nicht nur im Kreis
herum sondern auch in der Senkrechten schannen außer der Rasen
ist extrem eben oder die Spiegel sind 3...5m Hoch. Wenn die Spiegel
überwiegend nur die Wellenlänge des Lasers reflecktieren, sollte ein
"Spiegelreflex" sich in der Stärke deutlich von anderen Reflektionen
abheben.

Das so etwas Funktioniert steht außer Zweifel, ganze Stäte werden
vom Flugzeug aus 3D Laser vermessen und das mit einer Auflösung
von ca. 15 cm!

Nur Diese Scanner kosten etliche 100 k Euro und dürften um einiges
Größer als ein Rasenmäher sein. :-(

Für eine Positionsbestimmung reichen 3 Baken (Spiegel) in bekannten
Winkel und Abstand zueinander und wenn der Rasen nicht allzu
verwinkelt angelegt ist, sollten diese sich so aufstellen lassen das diese
von der Rasenfläche aus immer alle gesehen werden können.

Trotzdem muß der Mäher immer seine Richtung kennen, damit errechnet
werden kann welcher Spiegel Spiegel Nr. 1 ist. Was aber auch über
Zeitmessung, Spiegel Abstände und einen Sensor am Spiegel
Antrieb ermittelt werden könnte?

Gruß Richard

damfino
19.08.2009, 11:31
Naja, zuerst muss ich mich mal mit der normalen Elektronik und nach langer Zeit wieder einmal mit Programmieren befassen, bevor ich den Laserpointer in Angriff nehmen kann...
Wenn der Roboter einmal läuft kommt sicher wieder die Frage nach Navigation auf. Eine einfache Lösung ist GPS und das Grundstück in verschiedene Bereich aufteilen, und den Roboter einfach dahin schicken, wo er am seltensten war.
Eine bessere Lösung ist eine echte Postionsbestimmung. Mit nur 3 oder 4 Baken geht es nicht, da stört das Haus, Büsche, Bäume, etc viel zu viel. Deswegen hatte ich damals die Idee einfach viele billige Reflektoren zu montieren, und damit wenn immer möglich die errechnete Position aus der Odometrie zu korrigieren.
Aber das ist für mich noch in ferner Zukunft, wie gesagt, muss erst die Grundlagen wieder einmal beherrschen.

Richard
19.08.2009, 18:22
Moin moin,

Ich habe zwar ein "Musterfahrgestell" halbwegs bereit, aber die Ödomitrie
oder ähnliches lenkt mich (neben der Arbeit) halt zu sehr ab. :-)

Auf der Arbeit setzen wir öfters Transponder und Passende Lesegeräte
ein. Die Trasponder sind vergossen und werden vom Lesegerät über
Funk mit Spannung versorgt. Abmessung rund etwa 3 x 0,8 cm. Die
würden sich mit den "Fußtritt" im Rasen versenken lassen.

Leseabstand Max rund 10 cm, Übertragen wird eine Art Seriennummer,
welche sich (hier) am PC zuortnen läßt. Mit einer größeren Sende/Empfangs Antenne sollte die Reichweite Tiefe/Umkreis steigen.

Mit einem guten PID Regler dürfte es mit Ödometrie möglich sein 10 oder
einige 10 m so genau zu überbrücken das der nächste Transponder
gefunden wird und aus dessen ja bekannter Lage, die Ödometrie dann
nachgeeicht werden kann?

Aber wie Du ja auch erfahren durftest wirklich einfaches und geniales
"kann" noch erfunden werden. :-)))

Gruß Richard

damfino
26.08.2009, 18:15
Ich habe jetzt die Induktionsschleife aus RN-Wissen nachgebaut, habe aber irgendwo einen Wurm drinnen, am Empfänger kommt nichts raus was einem Signal ähnlich sind, nur konstante Werte.
Wie kann man überprüfen ob zumindest der Sender in Ordnung ist? R5 wird heiss wie beschrieben, Frequenzen kann ich nicht messen da ich nur Multimeter (analog+digital) zur Verfügung habe.
Wenn ich weiss dass der Sender ok ist, dann kann ich den Sensor unter die Lupe nehmen.
Getest wurde mit ca 50m Kabel, ein paar Meter ausgelegt, der Rest aufgerollt.

021aet04
26.08.2009, 18:21
Das du das Kabel aufgerollt hast könnte Probleme bereiten (Induktion/Induktivität). Du hast eine Induktivität gebaut. Am Besten ist es wenn man ein Oszi hat oder ein Multimeter it Frequenzmesser.

damfino
26.08.2009, 18:40
Hab grad gesehen dass mein Multimeter Frequenzen messen kann, leider nur im 20kHz Bereich. Damit komme ich auf 400Hz ohne Drahtschleife, aber 1-2kHz wenn ich denn Draht anschließe. Die Schaltung sollte aber von 5-200Hz gehen. Der Draht selber hat 0,8Ohm.
Der Sensor hat immer 4.7V am Ausgang, egal ob Schleife an, aus, innerhalb, ausserhalb...
Dachte dass ich wenigstens Schaltungen nachbauen kann.. :(

Christian H
26.08.2009, 18:46
Hallo damfino,

eine einfache Möglichkeit zu testen ob die Schleife funktioniert ist eine Spule (z.B. von einem Relais, wie auch für die Sensoren) direkt mit einem einfachen Kopfhörer zu verbinden. Wenn´s knackt ist die Schleife o.k.

Viel Erfolg!

Christian

damfino
27.08.2009, 20:33
Der Tipp mit dem Kopfhörer war gut, aber leider ist das was man hört die 1kHz und mehr die auch mein Multimeter anzeigt. Ich kann beim Sender mit dem Poti die Frequenz zwischen 1 und 4 kHz regeln.
Wobei mir jetzt absolut nicht klar ist, warum.
Soweit ich die Schaltung verstehe wird mit R2, R3 und C2 die Frequenz bestimmt, wobei mir die Funktion der Brücke nach den Dioden bei R3 nicht klar ist. Aber all diese Bauteile sind in Ordnung, da ich, wie man leicht merkt, nicht der Elektronik Experte bin, messe ich alle Bauteile nach bevor ich sie einlöte damit ich ja die richtigen erwische.
Kann der Timer defekt sein? Obwohl, es kommt ja eine Frequenz raus, nur weit daneben?
Bin mal ratlos...

Christian H
27.08.2009, 22:15
Die Wiederholfrequenz wird durch C2 und R3 bestimmt. Da müßte doch mit 99%iger Wahrscheinlichkeit die Ursache für die falsche Frequenz (etwa Faktor 100) zu finden sein. Die 330 KOhm lassens sich ja leicht messen und werden wohl stimmen. Sind´s wirklich 470 nF ?

damfino
28.08.2009, 12:22
Es ist dieser Kondensator http://shop.conrad.at/ce/de/product/481653/ was halt grad beim C auf Lager war.
Die Schaltung geht jetzt nicht mehr, R5 bleibt im Gegensatz zu früher kalt, da wird sich ein Bauteil verabschiedet haben. Können nur der NE555 oder 3205 sein, werde mal wieder zum C spazieren und Nachschub holen.

damfino
28.08.2009, 17:34
Mit den neuen Bauteilen geht es anscheinend, jetzt hört man es im Kopfhörer knacken :)
Jetzt muss nur noch der Empfänger funktionieren, habe immer konstant 4,7V an den Ausgängen, habe schon den OP getauscht.

vohopri
28.08.2009, 17:40
servus,

Einkaufstipp: Neuhold, Griesgasse.

Hannes

021aet04
28.08.2009, 23:39
Griesplatz oder?

vohopri
29.08.2009, 09:26
Ja, dort wo die Griesgasse in den Griesplatz übergeht.

damfino
29.08.2009, 12:33
Neuhold kenne ich, C ist ist für mich viel näher, praktisch um die Ecke.

Irgendwo habe ich beim Empfänger einen Fehler, die Ausgänge sind auch ohne Spule immer auf 4,7V. Fehler finde ich keinen, schon x-mal den Schaltplan verglichen, sind eh so wenig Teile. Ich werde mal einen 2. bauen, habe dafür alles schon zuhause.

damfino
29.08.2009, 15:23
Mit dem 2. Empfänger funktioniert es endlich! Ich kann ehrlich gesagt keinen Unterschied zwischen meinen beiden Empfängern erkennen, aber einer geht, und einer geht nicht.
Aufgefallen ist mir dass der Empfang viel schlechter wird wenn die Schleife nicht eben war, anfangs lag das eben abgerollte Kabel noch etwas wellenförmig herum, und wenn ich es ganz flach gebogen hatte ging es viel besser. Ich habe es jetzt mit einer Schleife von 2x3m im Keller versucht, Rest vom 50m Kabel blieb aufgerollt. Der Stromverbrauch war sehr gering, erstens nur ein 14W Netzteil verwendet, und das war nicht mal ausgelastet.
Jetzt wird dann der Roboter selbst gebaut, Mechanik liegt mir viel mehr als Elektronik, das wird dann einfacher gehen, bis ich mit dem Controller anfange.

damfino
28.09.2009, 20:39
So, mein RasenRobo ensteht schön langsam. Hat sogar eine gewisse Ähnlichkeit mit meinen vorigen 3D Skizzen ;)
Kleine Änderungen haben sich aus der Überlegung ergeben den Bot so leise wie möglich zu machen. So haben die Antriebsmotoren nur mehr eine Übersetzung von 50:1, und dazu noch eine 4:1 Übersetzung auf die Achse. Wenige große Zahnräder machen eben weniger Lärm als viele kleine. Die Antriebsräder haben auch D=185mm anstatt wie geplant 160mm, die vorderen Räder blieben bei 100mm. Der Mähmotor ist ein Johnson Langsamläufer geworden. Ich wollte die Welle vom Mähteller nochmals mittels Kugellager lagern um den Motor zu schonen, aber da ich mit der Kupplung keine gerade Verbindung zwischen Motorwelle und Tellerwelle bekommen habe, hat das zu mehr Vibrationen und Lärm geführt. Also Kugellager rausgerissen, kürzere Tellerwelle montiert, und schon war es einiges leiser. Es gab früher mal gute Klauenkupplungen die etwas Spiel zuließen, habe jetzt aber nichts derartiges gefunden.
Wie man auf den Fotos sieht ist alles aus Sperrholz, ist leicht, stabil, und vor allem leicht zu bearbeiten. Denn bei mir ist derzeit noch alles auf Hausrenovierung eingestellt, so dass einerseits der Platz mit anderem Zeugs belegt ist, andererseits meine Heimwerkerausrüstung auch eher auf Bau als auf Modellbau ausgelegt ist.
Aber auch so kann man nach dem Motto "was nicht passend ist wird passend gemacht" recht exakte Ergebnisse bringen. Etwa die Kugellager der Antriebswellen:
Die Lager stehen an der Grundplatte an, damit hat man die exakte Höhe. Jetzt kann man die Lager mit kleinen Holzstreifen in der Positon fixieren, wo sie in Längsrichtung sind ist egal. Denn im nächsten Schritt werden die fertigen Lagerböcke auf der Grundplatte fixiert, und zwar mit der gesamten (noch ungeteilten) Welle. Die Welle kann man schön an der Grundplatte ausrichten und somit sind die Lagerböcke alle exakt ausgerichtet und können so fixiert sein. Die maximale Abweichung ist das Lagerspiel und je nachdem wie sorgfältig man Markierungen zur ausrichtung der Welle angebracht hat, schließlich soll die Kiste mal geradeaus fahren.
Ansonsten, die Schnitthöhe kann man zwischen ca 40-60mm einstellen, deswegen auch die Ausnehmung in der Mitte. Vorgesehen ist auch der alles von unten her dicht gemacht wird, damit kein Schmutz ins Getriebe oder zur Elektronik kommt.
Die Elektronik ist gerade im entstehen, ein Atmega 32, 3x L298N (für jeden Motor einen), Hallsensoren an den Antriebrädern und auch am Mähwerk, ich habe vor Anhand des Mähwerks die Fahrgeschwindigkeit zu steuern. Kollisionsschalter vorne, und hinten, ebenso die Schleifensensoren. Wenn ich das jetzt noch diese Mähsaison hinbekomme bin ich fürs erste zufrieden, bei Erfolg sind weitere Ausbaustufen vorgesehen.

damfino
13.10.2009, 16:42
Aktueller Status:
Nachdem einige Meter Kabel verlötet sind, sieht es einem Roboter schon ähnlicher. Einen großen Rückschlag gab es mit dem Programmieren, besser gesagt mit dem ISP Adapter. Schön nach dem Plan von rn-wissen gebaut, aber nichts ging. Die Suche im Forum nach Problemen mit dem Adapter ergab über 1000 Treffer, dazu 5 verschiedene Schaltpläne und 3 mögliche Fehlerquellen (PC, Adapter, µC) so dass ich zur Erkenntnis kam dass das Ding kaum zuverlässig läuft. Aber bei Ebay gibts USB Programmierer um 20€ die noch dazu mit AVR Studio funktionieren. Sollte man vielleicht bei rn-wissen eintragen, damit nicht andere Anfänger wie ich freudestrahlend etwas nachbauen wenn es Alternativen gibt die sehr günstig sind und sicher funktionieren

Ansonsten könnte ich theoretisch schon die ersten Fahrten antreten, Odometrie mit Hallsensoren funktioniert (auch wenn die Magnete zuerst falsch herum eingeklebt waren...), wenn nicht das Problem wäre dass die Motoren, bzw die L298, nur einzeln arbeiten wollen, aber nicht zusammen :(
https://www.roboternetz.de/phpBB2/viewtopic.php?p=465074#465074

oberallgeier
13.10.2009, 16:58
... bei Ebay gibts USB Programmierer um 20€ die noch dazu mit AVR Studio funktionieren ...So etwas gibts nicht nur bei der 3-2-1-keins-Site. Christian (auch hier im Forum) macht das billiger - heißt UsB AvR Lab (http://shop.ullihome.de/catalog/product_info.php/products_id/67), kostet 15 € ohne Versand - und das Lab gibts glaube ich im 1,60-Brief. Funktioniert im AVRStudio als STK500, als AVRISPmkII (Atmel AVRISPmkII kompatibles Programmiergerät), als JTAGICEmkII (Atmel JTAGICEmkII kompatibles JTAG Programmiergerät) und und und *ggg*.

damfino
13.10.2009, 17:13
Nachher weiss man es immer besser ;)
Ich bin schon froh das mein Teil das Programm in ein paar Sekunden auf den Atmega schickt, nachdem hier in Österreich manche Teile kaum zu bekommen sind und der C Programmierer um ein vielfaches anbietet.
Habe mich sehr über ich selbst geärgert dass ich mich zuvor nicht näher erkundigt und meine Zeit mit dem Paralleladapter verschwendet habe. Die Seite im rn-wissen ist ja eine richtige Werbung, es wird nicht erwähnt das kaum ein neuer PC eine von den Pegeln her passende parallele Schnittstelle hat, obwohl mein PC eigentlich antik genug sein müsste.

Richard
13.10.2009, 18:51
Moin moin.

Wenn der Bot nicht voll Autonom sein darf kan man eine Kamera auf/an
den Schornstein schrauben und das Kamerabild in Raster aufteilen. Der
Rasenmäherbot bekommt eine Bunte Kappe wie diese Fußballbots welche
mittels Kamera über den Spielfeld gesteuert werden. Die Fußballbots
sind wahnsinnig schnell und präziese! Fürs Rasenmähen reicht das allemal
und in passenden Foren sollte man auch an die Software kommen können.

Leider nicht autonom, dafür aber halbwegs "Einfach" und genau. :-)
Außerdem kann man dann (DSL macht es möglich) von Urlaub aus den
Rasen trimmen:-)

Demnächst gibt es Urlaub, ich hoffe dann komme ich mit meinen
Mäherprototyp auch wieder ein wenig weiter.

Gruß Richard

damfino
18.10.2009, 16:30
Eine Kamera genügt nicht, das Hausdach verdeckt zu viele Stellen. Die Kamera am höchsten Punkt am Haus wäre ausserdem ein unfreiwilliger Blitzableiter!

Nachdem die Elektronik defekt ist, kann ich morgen einkaufen gehen und bei Null anfangen. Das sich strickt an den Schaltplänen der Datenblätter zu halten hat anscheinend nicht geholfen dass mit der Zeit gar nichts mehr funktionierte.
Wenn alles funktioniert hätte, wäre er schon vor einer Woche unterwegs gewesen, so wird es erst zur nächsten Mäh Saison etwas werden.

Richard
19.10.2009, 10:41
Nachdem die Elektronik defekt ist, kann ich morgen einkaufen gehen und bei Null anfangen. Das sich strickt an den Schaltplänen der Datenblätter zu halten hat anscheinend nicht geholfen dass mit der Zeit gar nichts mehr funktionierte.
Wenn alles funktioniert hätte, wäre er schon vor einer Woche unterwegs gewesen, so wird es erst zur nächsten Mäh Saison etwas werden.

Ärgerlich! Ich "vergesse" beim Lyout auch immer gerne Sicherungshalter
einzuplanen. :-(

Gruß Richard

damfino
19.10.2009, 17:57
Wenn wenigstens etwas sichtbar in Rauch aufgegangen wäre, könnte ich noch damit leben. Aber dass die Motorsteuerung zuerst gar nicht geht, dann ein einziges Mal perfekt, und dann nie wieder, das ist schon äusserst eigenartig.

Das einzige Erfolgserlebnis ist, dass ich nach 5 Jahren "Abstinenz" doch noch in C programmieren kann, zugegeben nicht elegant, aber es funktioniert zumindest im Simulator, wenn der Rest schon nicht geht. ;)

Richard
19.10.2009, 18:11
Moin moin.

Ich würde nicht gleich alles in die Tonne treten und als erstes die
Software komplett entsorgen. Da ändert man hier und dort undwasweisich,
glaubt alles wieder auf original gestellt zu haben und sieht vor lauter
zeichenwirrwar den selbstgebastelten Fehler nicht mehr. :-(

Da wird auch schon mal ne komplette Ariane 5 wegen einen Punkt
anstatt ";" geschreddert......

Neme eeinfach ein Steckbrett und schecke die Motortreiber +
Motoren einzeld. Als PWM Ersatz nen NE555 oder ähnlich. Wenn das
klappt papp son mega8 aufs Steckbtett und nehme ein ganz
einfaches PWM Testprogramm...Schritt für Schritt schauen was noch
brauchbar ist und dann die Software mit freiem Kopf komplett neu
aufbauen.

Alles wird Gut, Richard

damfino
19.10.2009, 20:10
An Softwarefehler glaube ich nicht, im anderen Thread ist auch der Code gepostet. Im Simulator hats auch 0 Warnings, 0 Errors, und alle Pins werden mit dem richtigen Level angezeigt.

Zum Schluss hatte ich schon PWM entsorgt und nur mehr fix auf high geschaltet, und trotzdem ging es nicht (mehr). An den Pins lag immer das richtige Signal an.
Aber der µC fällt schnell in einen Reset, zB wenn man im Betrieb den 2. Spannungsregler (ohne Last) anschloss, obwohl 1000µF Kondensatoren für eine sichere Stromversorgung da sind, einmal für 12V und einmal für 5V. Und nichts ausser dem Quarz mehr angeschlossen ist. Das ist für mich überraschend empfindlich, der 1A Spannungsregler muss sich für den µC ja richtig langweilen, und nicht in Kombination mit dem großen Kondensator sofort einbrechen und den µC somit in den Reset schicken.

Habe auch zu spät gelesen dass die L298 sehr empfindlich sind, so soll schon das Messen der Ausgänge den Treiber ruinieren, was ich natürlich gemacht habe. Wenn dann einer kaputt ist, genügen anscheinend ein paar unfreiwillige Resets um die anderen Treiber auch zu vernichten.

PWM Frequenz hatte ich zuerst auch zu hoch angesetzt, wobei mir aufgefallen ist dass hier immer möglichst hohe Frequenzen empfohlen werden, aber nur die wenigsten Treiber über 20khz verarbeiten können. Fahrtregler im Modellbau arbeiten durchwegs mit 1khz, neueste Modelle mit höchstens 16khz, mein alter PWM Trafo für die Modelleisenbahn hat sicher unter 100hz und regelt super.

Werde alles mit L6205 Motortreiber neu aufbauen, diese sollten recht unempfindlich sein. Wenns funktioniert habe ich auch gleich eine Vorlage für einen Staubsauger Bot :).

LG

beatle95
22.10.2009, 12:59
Ich träum ja immer noch von nem ferngesteuerten Mäher...dürfte aber ziemlich schwer werden.....

Richard
22.10.2009, 14:54
Ich träum ja immer noch von nem ferngesteuerten Mäher...dürfte aber ziemlich schwer werden.....

Moin moin.

Nicht wirklich und gab es auch schon. Hat sich aber nicht bewärt.
Um dabei halbwegs sicher zu sein das man nicht die Blumen kappt,
müßte man vom Balcon im 3. Stock mit Sicht von oben steuern.

Flach von der Terasse im Liegestul aus kann Mensch nicht entscheiden
wo genau gemäht wird. :-( Außer man Bastzelt ein 3d Kamerasystem
auf den Mäher und giebt das Bild auf einem passenden Monitor aus.

Da wird ein 1 Euro Gärtner aber günstiger. :-)

Gruß Richard

damfino
25.10.2009, 18:35
Vorgestern kamen die neuen Teile, gestern und heute wurde gelötet und geschraubt, und es gab die erste Ausfahrt!!
Vorerst nur mit Kollissionsschaltern vorne und hinten, die Schleifensensoren werden als nächstes in freier Wildbahn getestet. Das Mähwerk hat wie geplant 30cm Durchmesser mit 4 Teppichmessern, ist derzeit auf 5cm Schnitthöhe eingestellt, geht ruhig, und vor allem mäht wirklich das Gras.
Die Antriebe verursachen am meisten Lärm, Nachschmieren der Getriebe nutzt wenig, muss die Getriebe irgendwie dämmen. Habe noch Schaumstoff und Anti-Dröhn Beläge herumliegen und werde damit mein Glück versuchen. Es fehlt sowieso noch das ganze Gehäuse, eine Arbeit für den Winter.
Auffallend war, dass ich mit den 385er Motoren eine niedrige PWM Frequenz (2kHz) wählen musste damit die Motoren auch mal langsamer geregelt werden konnten. Bei hohen Frequenzen liefen sie entweder voll, oder gar nicht. Die L6205 würden ja bis zu 100khz gehen. Ich habe 2 L6205 verbaut, einen für den Antrieb, einen "halben" für den Mähmotor. Werde die bei anderen Projekten auf alle Fälle wieder wählen, der Platzbedarf ist viel geringer als bei den L298, und auch der Schaltungsaufwand ist um einiges geringer. Bei jemanden wie mich mit praktisch Null Erfahrung in Elektronik und Schaltungsaufbau auf Lochraster ein riesen Vorteil. Die "Charge Pump" kann man sich für mehrere IC's teilen, wie das geht steht nicht im normalen Datenblatt, sondern in den Application Notes.
Der Ausflug wurde abgebrochen nachdem ein Hallsensor die Postion verändert und keine Signale mehr empfangen hat, die mögen es gar nicht wenn mehr als ein paar Millimeter zwischen Sensor und Magnet sind. Bis morgen wird er neu in ein schützendes Gehäuse eingeklebt und es wird sicher weiter gemäht. :)

Carlson
26.10.2009, 18:35
Hallo Damfino,

ich stehe derzeit vor ähnlichen Herausforderungen wie Du: Einen Rasenmähroboter für einen vergleichsweise großen Rasen zu bauen (ca. 1300 qm sinds bei mir).

Nachdem ich den Thread von Anfang bis Ende gelesen habe, interessiert mich, nach welchen Kriterien Du die Dimensionen von Deinem Mäher gewählt hast (speziell Fahrgeschwindigkeit des Mähers, Größe und Drehzahl der Messerscheibe sowie die Anzahl der Klingen). Bist Du bei den geplanten Daten auf der dritten Seite geblieben?


PS: Ich finde es toll wie Du den Thread über die lange Zeit Deiner "Projektreifung" gepflegt hast.

Grüße,

Carlson

damfino
26.10.2009, 23:25
Hallo Carlson,
also die Dimensionierung basiert auf 3 Dingen:
1) wie sind andere Modelle aufgebaut
2) wie würde ich diese verbessern
3) was kann ich mit den vorhandenen Werkzeugen verarbeiten.

Vorbild ist sicher der Automower, er scheint am Besten zu funktionieren und ist sehr leise. Daran stört mich die geringe Mähbreite und dass das Ding für diese Mähbreite riesig ist. Trotzdem soll dieser für bis zu 1500m2 geeignet sein, wahrscheinlich muss er dann aber rund um die Uhr im Einsatz sein.
Prinzipiell wollte ich eine größere Mähbreite, beim normalen Rasenmäher ist diese auch größer je größer das Grundstück ist.
Dagegen spricht, dass ein möglichst kleiner Roboter sich am Besten bewegen kann und es sehr unwahrscheinlich ist dass er sich zwischen Büschen festfährt.
Bei mir kam dabei raus das 30cm Mähdurchmesser von den Fliehkräften noch halbwegs beherrschbar sein werden, und ebenso bei Engstellen im Garten von ca 1m50 sich ein Roboter von ca 55cm Länge und 35cm Breite drehen kann ohne gleich überall anzustoßen.
Drehzahl der Messerscheibe entspricht ca dem Automower und anderen Projekten hier mit 2-2500 U/min. Die Anzahl der Klingen ergab sich aus dem Messerteller. Dieser ist ein Blumentopfunterteller, ist aus schön zähen Kunststoff, und hat ein schönes Muster mit Riefen an denen man perfekt die Bohrungen ausrichten kann. Das rechtwinkelige Muster ergab 4 Bohrungen für 4 Messer und ergab gleichzeitig einen guten Rundlauf.
Der Roboter kann relativ schnell fahren, ca 30m pro Minute lt Motorenberechnung im wiki. Das ist bei mir ca 1 Seite im Garten und ungefähr meine halbe Geschwindigkeit mit dem Benzinmäher.
Was wichtiger ist, ich kann auch recht langsam fahren, derzeit sind es nur 35% PWM und trotzdem hats mir heute die Räder runtergeholt. Geplant ist die Fahrgeschwindigkeit dem Mähverhalten anzupassen, je schwerer das Mähen geht, desto langsamer soll er fahren und umgekehrt.

Die Daten habe ich so halbwegs eingehalten, die endgültige Konfiguration ist auf dieser Seite ein paar Einträge weiter oben mit den Fotos.

Vielleicht ist die Projektbeschreibung für jemand anderen hilfreich, ich bin immer noch ein Anfänger und kann bei Elektronik noch einiges lernen, und vielleicht bewahrt es andere die selben Fehler zu machen.


Heute beim Test gab es zwei Erkenntnisse:
- ich habe mal im Scherz geschrieben dass eher die Räder abgehen bevor der Antrieb blockiert, das ist heute passiert, trotz verkleben und mechanischer Verbindung mit Nut mit Madenschraube,
- mein Gras ist zu zäh oder der Mähantrieb zu schwach.

Den ganzen Abend habe ich damit verbracht die Antriebsräder zu demontieren, der Kleber hat sie axial noch toll auf der Achse gehalten. Und dann 2 Löcher durch die Welle gebohrt, war ein Geduldsspiel. Wollte die Räder zuerst mit Draht verstifen, das hatte aber zu viel Spiel, aber es funktionierte mit 2mm Holzschrauben, die halten perfekt in der Nabe und in der Welle. Jetzt frage ich mich nur was nun im Fall des Blockierens daraufgehen wird.

Das Prinzip der mit Fliehkraft ausklappenden Messer funktioniert bei meinem Gras überhaupt nicht. War der billigste Samen und wächst locker 1cm pro Tag... Und es ist so stabil dass sich die Messer einfach eingeklappt haben und daher bei dichten Stellen nur wenig geschnitten wurde. Mit fixierten Messern ist es schon besser, nur kommt der Johnson Motor an seine Grenzen, im dichten Gras mit ca 2cm zu schneiden schafft er es nicht mal den Mähteller zu starten. Wenn er mal läuft fräst er sich aber gut durch. Der Mähteller ist übrigends waagrecht montiert, dafür sind die Messer 5mm tiefer gesetzt so dass der Teller im gemähten Gras nicht schleifen sollte. Ich werde mit der Zeit die Drehzahlmessung und Geschwindigkeitsregelung einbauen, wenn das nicht hilft muss ein anderer Motor her.

Carlson
27.10.2009, 12:44
Danke für die ausführliche Antwort - da sind viele, neue Denkanstöße für mich dabei. Falls Du noch weitere Bilder (gerne mit Details) hast, immer her damit. ((-;

Ich habe mir als Motor für das Mähwerk übrigens diesen ausgeschaut: http://www.pollin.de/shop/dt/Mjk1OTg2OTk-/Motoren/Gleichstrommotoren/Hochleistungs_Gleichstrommotor_VALEO_EM1132.html

Die Leistung sollte sicher reichen – ich hoffe nur, daß er bei dem hohen Drehmoment nicht zuviel Strom verbraucht.

damfino
27.10.2009, 15:39
Bilder werde ich noch machen, muss auch alles noch besser verkleiden damit der Elektronik nicht immer das ganze Gras um die Ohren fliegt.

Hier gibts über deinen Motor noch weitere Infos: http://www.neuhold-elektronik.at/catshop/product_info.php?cPath=96_97&products_id=2986
Sieht so ähnlich aus wie die Motoren von elektrischen Fahrrädern, mit den 300W kann man sicher ein Hovercraft aus dem Mäher machen ;)

Ich werde es weiter mit dem Johnson versuchen, finde keinen guten Ersatz. Ein 385er mit 6:1 Übersetzung würde sicher gehen, aber ich muss dafür zuerst das Problem der Zahnradgeräusche lösen. Ist nicht übertrieben laut, aber je leiser desto besser!

Carlson
27.10.2009, 16:37
Danke für den Link, Neuhold kannte ich noch nicht. Jetzt weiß ich auch woher Du die Räder hast. ((-;

Ja, mein Motor ist sicher reichlich dimensioniert. Mein Ziel mit dem großen Motor ist einerseits, auf das Getriebe zugunsten des Laufgeräusches komplett zu verzichten und andererseits, die Möglichkeit zu haben, herunterzuregeln und mit geringerer Drehzahl zu mähen - dabei werde ich mich über ein hohes Drehmoment freuen.

damfino
30.10.2009, 20:25
Ein großer Motor ist sicher gut, aber 5A im Leerlauf sind schon ein Hammer...

Gestern Abend gab es beinahe eine Katastrophe, mitten im programmieren waren auf einmal die USB Anschlüsse am Notebook tot. Gleich alle auf einmal. Nach dem ersten Schock im Internet nach anderen Schicksalskollegen gesucht und auch fündig geworden, sogar mit Reparaturanleitung als sich der Fujitsu Server bequemte zu antworten. Heute eine neue Sicherung gekauft, gleich zur alten SMD Sicherung dazugelötet, und alles geht wieder :)

Mittlerweile kann auch mein Rasenmäher wieder etwas mehr, neu ist die Drehzahlmessung der Messer, und damit die Regelung der Fahrgeschwindigkeit in Abhängigkeit der Messerdrehzahl.

Der Johnson scheint fast zu schwach zu sein, wenn ich den Timer richtig berechnet habe kommt er nur auf ca 1500 U/min, und nicht wie angegeben 2500 U/min unter Last. Ich werde das morgen mit frisch aufgeladenen Akku wieder testen, dann ist auch die Sensorschleife dran.

Und eines habe ich auch festgestellt: Jedes Mal wenn ich mir das Lesen des Datenblattes ersparen will und ein Codeschnippsel aus dem Internet hole funktioniert sicher nichts, also bleibt nichts anderes übrig als sich durch die 350 Seiten zu lesen...

Beecee
31.10.2009, 10:34
Hallo,

schön das es bei dir weiter geht trotz des drohenden Winters, bei mir hängt es noch immer am Fahrwerk. Hast du dein Fahrwerk mal auf dem Rasen getested?

damfino
31.10.2009, 11:47
Ja, ich war schon ein paar Mal kurz auf dem Rasen unterwegs. Ich habe teils 40 Jahre alten Rasen, teils letztes Jahr gesät, die neueren Bereiche wachsen sehr schnell, haben aber teilweise "Löcher" zwischen den Grasbüscheln die man erst sieht wenn das Gras niedrig ist.
In diesen Bereichen sind die 10cm Vorderräder schon fast zu klein. Dazu kommt dass solche Möbelroller ein nettes Gewicht haben und damit sich leichter festfahren, vor allem beim Drehen. Ich habe zwar alle Baummärkte nach dem leichtesten Modell abgesucht, bin trotzdem nicht ganz zufrieden.

Der Antrieb ist sehr stark, das Getriebe quietscht halt, ähnlich wie bei den RB35. Dabei habe ich nur die 50:1 genommen und die letzte Übersetzung selber gemacht, trotzdem verursachen die Getriebe das nervigste und lauteste Geräusch.
Bei einen Neubau wäre ich in Versuchung die Getriebe komplett selber zu bauen, wird sicher teurer, aber leiser.

Also die Räder so groß wie möglich wählen, und nur wenig Gewicht auf den Vorderrädern, dann gehts am Besten.

Bin grade dabei die Schleifensensoren einzubauen, mir sind wieder mal die feinen Anschlussdrähte der Spulen abgerissen. Der Sensor zeigt dann immer innerhalb der Schleife an, da muss ich die Auswertelogik umdrehen, damit der Mäher im Fehlerfall stehenbleibt, und nicht wie jetzt immer weiterfahren würde.

Baust du den RobitTobi nach? Ich habe mir die Sensorschaltung aus dem wiki nachgebaut, und vom RobiTobi Anregungen geholt welche Sensoren man verwendet.

Beecee
31.10.2009, 12:18
Ich will meine Räder wie diese hier machen

http://www.robotshop.se/micro/grass/robor_cut2_black.jpg

aber aus 4 oder 5mm Aluminium lasern, weil ich angst habe das normale Räder zu oft durchdrehen.

damfino
31.10.2009, 12:29
Mir ist es momentan lieber wenn die Räder eher durchdrehen als blockieren, denn mir hat es schon die verklebten und mit Nut/Schraube festgemachten Räder runtergeholt. Jetzt sind die Räder auf der Achse verschraubt, die Getriebe sind aus Metall, die nächsten Schwachstellen sind das Fahrwerk oder der Motor, da nehme ich durchdrehende Räder in Kauf wenn ich dadurch keinen großen Schaden am Roboter habe.

damfino
31.10.2009, 15:38
Heute war wieder ein Fahrtag:
Test der neuen Software die die Messergeschwindigkeit berücksichtigt.
Test der Induktionsschleife.

Beide Tests waren erfolgreich!

Nach dem Einschalten gibt es eine Pause von ein paar Sekunden mit LED blinken damit man rechtzeitig flüchten kann ;), dann wird der Mähmotor zuerst mit mittlerer Geschwindigkeit gestartet, nach 1 Sekunde beginnt der Hochlauf auf die Nenngeschwindigkeit, erst wenn diese erreicht ist, fährt der Roboter los. Alle 0,25s wird die Messergeschwindikeit erfasst, und Anhand dieser bestimmt ob der Roboter schneller fahren kann, oder langsamer werden muss.

Bei jedem Hindernis wird 4 Ticks zurückgefahren, und dann nach dem Zufallsprinzip gedreht. Wenn er während des Drehens wieder auf ein Hindernis kommt, wird 1 Tick zurückgedreht.

Die Induktionsschleife war ca 4x4m im Garten ausgelegt und wurde immer erkannt. Der Nachteil von nur 1 Sensor vorne bzw hinten ist, dass bei schräger Fahrt auf die Schleife der Draht teilweise unter dem Messer liegt.
Was dabei rauskommt wenn der Draht nur so auf der Erde liegt und damit in die Messer kommt sieht man am letzten Foto...

Die Platine sieht etwas angenagt aus, das waren früher die L298, der zweite Spannungsregler ist dadurch auch überflüssig geworden. Da der USB Programmer nicht zuverlässig auf Reset schaltet, gibt es dafür einen eigenen Schalter.

Die Hallsensoren sind in einem Plastikgehäuse geschützt, da sie nur ein paar Millimeter von den Rädern, Gras, und Feuchtigkeit entfernt sind.

Ich werde die Schleife erst im Frühjahr fix verlegen, habe noch andere Arbeiten am Haus zu erledigen die wirklich vor dem Winter fertig sein müssen.
Über den Winter wird die Software verbessert werden, Unterstützung von GPS und einfacher Navigation mit grober Rasterkarte, und es soll auch das Gehäuse gebaut, zusätzliche Kollissionsschalter verbaut, und allgemein dicht gegenüber Schmutz werden. Man sieht ja jetzt schon das Gras oben liegen, obwohl nach unten nur der Bereich der Zahnräder offen ist.

Für mein erstes C Programm seit 5 Jahren und mein erstes eigene Elektronik Projekt überhaupt bin ich mit dem Ergebnis recht zufrieden :)

Beecee
31.10.2009, 17:21
Hut ab, wenn ich nur schon so weit wäre.

Carlson
01.11.2009, 07:48
Wow, sieht super aus! Ich habe mir übrigens die gleichen Hinterräder bestellt wie Du.

An meinem Prototyp habe ich die lenkbare Vorderradaufhängung selbst gebaut. Dazu habe ich einen Stahdraht in Achsstärke zurecht gebogen und oben in ein Messingröhrchen geschoben. Der Innendurchmesser des Messingröhrchens ist 0,1 mm stärker als der Stahldraht. Das Messingröhrchen habe ich mit einer Montageplatte verlötet. Auf den Bildern ist das leider nicht so toll zu erkennen.

An dem Rasenmäher plane ich es genauso. Als Rad wird dort ein Ballonreifen von Graupner mit 10 bis 12 cm. Durchmesser zum Einsatz kommen. Anders als die Möbelrollen siond diese Räder für relativ wenig Gewicht auf Graspisten ausgelegt. Ob sie besser funktionieren kann ich aber vermutlich erst in ein paar Monaten sagen. Dank Deinem Erfahrungsbericht tendiere ich aber zum größeren Rad.

Damfino, hast Du den Stromverbrauch von Deinem Antrieb und Mähwerk mal gemessen? Ich stelle mir gerade die Akkufrage und kann die Dimensionen so schlecht einschätzen.

Grüße,

Carlson

damfino
01.11.2009, 18:34
Alle möglichen Geschäfte hatte ich nach Reifen abgesucht, aber auf die von Flugmodellen vergessen!! Naja, werde meine Möbelroller sicher umbauen und "erleichtern", das wird einiges an besserer Manövrierbarkeit bringen.

Habe heute den Stromverbrauch gemessen, allerdings nicht im Freien. Es war der Mähteller ohne Messer angebaut, denn mit dem angerissenen Teller will ich nichts riskieren, die Antriebsräder haben am Parkett durchgedreht und ich habe den Roboter auf den Boden gedrückt um etwas Widerstand zu simulieren. Am Multimeter kann ich nur mA oder 20A messen, damit ist das Ergebnis sicher nicht so genau.
Was rauskam war überraschend:
Der Mähmotor war aus den Messungen nicht zu erkennen! Ausserdem war der fast sofort auf Nenngeschwindigkeit, mit den Messern dran hat das ein paar Sekunden gedauert! Das kann nur bedeuten dass der Teller (=Blumenuntertopf) einen sehr geringen Luftwiderstand hat, die 4 Messerklingen + Schrauben aber die gesamte Trägheit und Luftwiderstand extrem erhöhen. Dabei wiegen die Messer und Schrauben nur ca 50g, sind bei dem großen Teller aber auch weit draussen montiert.
Daraus folgt für mich dass ich es mit einem etwas größeren Teller und sehr kurzen Messern wieder aufbauen werde.
Mit den Messern hat der Motor grade 1400 U/min geschafft, wie gesagt mit ein paar Sekunden Anlauf. Er sollte aber 2500U/min unter Last haben, wobei am Datenblatt aber auch nicht steht was dort unter Last verstanden wird. Vielleicht erreiche ich daher mit größerem Teller und kleineren Messern eine Leistungssteigerung ohne einen anderen Motor verwenden zu müssen.

Die Antriebsmotoren kamen beim Anfahren auf 0,8A, beim Fahren auf 0,5A, das passt in etwa mit den Datenblättern zusammen. In der Wiese ist der Verbrauch sicher höher aber nicht extrem, da 30% PWM ausreichen um locker fahren zu können.
In den ersten Sekunden läuft nur der Mähmotor, aber da pendelte die Anzeige zwischen 0,1A und 0A, sollte eigentlich über 0,3A haben, aber wahrscheinlich ist es ausserhalb des Messbereiches.

Damit wird der Verbrauch bei ca 1A liegen, das wäre ein guter Wert. Wobei der Mähmoter angeblich bis 1,9A brauchen kann. Die Motor-IC's wurden bisher nur lauwarm, das würde auch für die 1A sprechen.

Mit einem neuen Teller werde ich neue Messungen machen, die bisherige Drehzahl war auf alle Fälle zu gering. Wenn nichts anderes hilft nehm ich einen 385er mit Getriebe, oder gleich einen 540er, der braucht zwar mindestens 2A, dafür ist aber sicher das Gras geschnitten was das eigentliche Ziel der ganzen Bastelei sein sollte.

LG

Carlson
02.11.2009, 19:02
Heute ist der Motor von Pollin angekommen, den ich für das Mähwerk vorgesehen hatte...


... MAN IST DAS EIN KLOPPER!!!


Mit so viel Motor hatte ich nicht gerechnet. Ich werde es damit wohl versuchen aber ich glaube nicht daß ich so glücklich werde. Schade, denn ich hätte gerne einen direkt angetriebenen Mähteller gehabt.

Kannst Du mir eine Bezugsquelle für Zahnräder nennen? Die auf Deinen Bildern gefallen mir.

Grüße,

Carlson

damfino
02.11.2009, 19:27
Kannst du messen wieviel A der Motor wirklich braucht? Von der Bauart mit dem großen Durchmesser her müsste er ideal sein, eine 30W Version anstatt der 300W wäre super.

Die Zahnräder sind vom C, kosten leider ein Vermögen. Dafür hat man mit den Madenschrauben kein Problem wie man sie auf der Welle befestigt und die Motorritzel gibt es passend für fast jeden Motor.

Heute habe ich einen neuen Teller eingebaut, 3cm größerer Durchmesser, die Messer dafür gekürzt, Gesamtdurchmesser 30cm. Scheint wirklich schneller auf Drehzahl zu kommen, dafür habe ich mehr Vibrationen als früher. Kann auch vom Messer Crash kommen, seitdem hat die Halterung mehr Spiel. Versteifungen werden grade eingebaut.

LG

Carlson
02.11.2009, 20:03
Mein Messgerät schein seinen Dienst quittiert zu haben...

Ich kann nur noch bis maximal 200 mA messen und das reicht nichtmal aus um den Motor zum Brummen zu bringen. Ich habe den Motor testweise an ein altes Trafo gehängt, das max. 12 Volt und 1,5 A verträgt. Der Motor ist dabei leicht angelaufen - wahrscheinlich war das Trafo dabei schon gnadenlos überlastet.


Schau mal beim C nach der Bestellnummer 222362 - 62. Was hälst Du von dem Motor inklusive Getriebe?

damfino
03.11.2009, 10:32
Wenn er beim Trafo grade anläuft wird er wirklich 5A im Leerlauf brauchen, das geht dann nur mehr mit großen Bleiakkus.

Der Motor vom C ist auch in meinen Überlegungen drinnen, entweder genau diesen oder mit nur 2,5:1 Übersetzung (222361 - 62).
Von den Getriebegeräuschen wäre der 2,5:1 natürlich besser, vom Drehmoment aber der 6:1. Ich habe als Vergleich den Johnson, wenn will ich mich ja verbessern. Der Johnson hat schon ein sehr hohes Drehmoment, aber angeblich nur 5W Leistung. Der 540er haben weniger Moment (2,5:1), bzw mehr (6:1), dafür zwischen 7W und 21W, daher könnte man den 2,5:1 vielleicht mit 50% PWM betreiben und hätte große Reserven. Die Daten vom Johnson sind zu ungenau um exakt zu vergleichen, wenn die Angaben dort auch sich auf das Stillhaltemoment beziehen, wären die 540 immer besser.

Auf der sicheren Seite ist man mit deiner Auswahl, dem 6:1 540er. Dafür muss man mit dem Getriebegeräusch leben. Sollte sich aber auch in Grenzen halten.

Jetzt ist es leider mit Tests im Freien vorbei, der ersten Schneeflocken sind da. :(

jeffrey
04.11.2009, 00:04
hoi,
vermutlich ist die sicherug vom 10a bereich bei dir raus geflogen. falls es ein billiges war, da ist der 10a bereich meistens nicht gesichert, ist wohl was durchgebrannt.
hat eiegntlich mal jemand versucht mit nem draht oder so zu mähen? ähnlich wie in den motorsensen. da sind ja auch nylonschnüre als "messer" drin.
mfg jeffrey

021aet04
04.11.2009, 11:29
Ich will mir auch einen Mähroboter bauen und werde mit Schnüren für Motorsensen arbeiten, da wir auch eine Motorsense haben. Mit einem Draht würde ich nicht arbeiten.

Mfg Hannes

Beecee
04.11.2009, 12:05
mit diesen Nylonfäden brauchst du viel mehr Power als mit Messern, weil du eine sehr hohe Drehzahl brauchst.

021aet04
04.11.2009, 12:15
Die kann man aber leichter tauschen.

Carlson
04.11.2009, 19:35
hoi,
vermutlich ist die sicherug vom 10a bereich bei dir raus geflogen.

Genau so war es. Habe heute mit neuer Sicherung nochmal gemessen und der Motor ist auch bei knapp 3 A noch nicht angelaufen. Mehr wollte ich dem Trafo nicht zumuten. Mir ist das eh zuviel denn bei dem Stromverbrauch würde der Mäher zu viel Zeit in der Ladestation verbringen und zu wenig Zeit bei der Arbeit. Am liebsten hätte ich einen bürstenlosen Motor weil die die energie am effektivsten umsetzen.

Über eine Nylosschnur hatte ich auch mal nachgedacht, zumal ich auch eine Motorsense mit Nylonschnur habe. Ich bin von dem Gedanken abgewichen weil das System bei gleicher Arbeitleistung deutlich mehr Energie benötigt und der Mäher dann wiederum zu viel Zeit am Ladegerät verbringt.


Als Alternative zu den Cutterklingen habe ich an die Klingen aus dem Schneidwerk eines Mähdreschers gedacht. Die sind sehr scharf und zugleich extrem hart. Gelegentlichen Feindkontakt mit dem Boden oder einem Maulwurfshaufen sollten die eingentlich verzeihen.

Bis ich das testen kann geht aber noch einige Zeit ins Land...


Ich möchte gerne noch eine Idee zur Diskussion in die Runde werfen:

Ich plane meinen Mäher als Dreirad: Vorne die beiden Antriebsräder und hinten in der Mitte ein mitlenkendes Laufrad. Vorteil: Auch bei Geländeunebenheiten haben immer beide Antriebräder Bodenkontakt. Fällt Euch ein Nachteil ein?

Grüße,

Carlson

Beecee
04.11.2009, 19:56
sollte als Dreirad gehen, siehe hier
http://www.robotshop.se/micro/wwwrc/indext.htm

damfino
04.11.2009, 20:01
@021aet04:
Die Motorsensen haben eine automatische Nachstellung des Fadens, man muss dann den ganzen Mechanismus übernehmen. Meine Motorsense stellt nur bei jedem Einschalten des Motors den Faden nach, wie soll der Roboter wissen wann der Faden zu kurz geworden ist ?

@ Carlson:
Das Dreirad hat auch ein paar Nachteile: bei Unebenheiten schwankt die Mähhöhe stärker als bei einem (oder 2) Rad vor dem Messer, so kann passieren dass das Messer in den Boden gedrückt wird. Wenn man das Rad deswegen weiter hinten montiert, erhöht das wieder die Gesamtlänge und man kann schlechter manövrieren.
Würde es nur machen wenn die Messer zwischen den Antriebsrädern sind, was wieder andere Nachteile (große Breite) hat.

Mein Roboter hat das Gewicht so verteilt dass die Hinterräder immer am Boden sind und bei Unebenheiten eins der Vorderräder mal in der Luft hängt.

LG

Carlson
05.11.2009, 15:36
Das ist ein guter Punkt, daran hatte ich noch nicht gedacht. Glücklicherweise sind meine bestellten RC-Flugzeug Räder im Doppelpack geliefert worden. Ich denke, ich werde einfach beides mal probieren.

Die Antriebsräder habe ich mittlerweile auch bekommen. Nach den Bildern hätte ich gedacht, daß die Lauffläche nicht aus Hartplastik sondern aus Gummie ist. Nun mach ich mir Sorgen wegen der Traktion auf dem Rasen. Ist Dein Mäher oft ist Rutschen oder Durchdrehen gekommen?

Grüße,

Carlson

damfino
05.11.2009, 20:29
Ich habe mit den Reifen genug Abtrieb, gibt nur beim Drehen kurz Probleme wenn eines der Vorderräder quer in einem Loch ist. Werde die Vorderräder noch umbauen und das Gewicht reduzieren, dann ist dieses Problem erledigt.
In diese Reifen kann man leicht ein anderes Profil hineinsägen wenn es zu glatt sein sollte.

Aber mir ist es lieber wenn einmal ein Reifen durchdreht bevor ein Motor blockiert und die Steuerung oder der Motor abbrennt.
Bin mir auch nicht sicher ob Gummireifen auf Gras besser halten, zumindest rutscht man mit Turnschuhen auf nassem Gras schön herum. und die meisten selbstfahrenden Rasermäher haben auch Hartplastikreifen..

021aet04
06.11.2009, 00:45
Über die Nachstellung des Fadens habe ich auch schon nachgedacht. Wie ich es mache weiß ich aber noch nicht.



Aber mir ist es lieber wenn einmal ein Reifen durchdreht bevor ein Motor blockiert und die Steuerung oder der Motor abbrennt.


Es gibt Sicherungen

damfino
06.11.2009, 11:22
Wenn die Sicherung geht muss ich erst mal nachsehen warum er nicht mehr fährt, oder warum er nur mehr im Kreis fährt weil nur ein Motor geht, oder den Code entsprechend erweitern damit man das erkennt, usw.

Wenn ein Rad durchdreht, was passiert dann? Er dreht sich halt nicht um den Sollwinkel sondern weniger, oder fährt eine Kurve anstatt geradeaus.
Alles vollkommen egal da er sowieso nach dem Chaos Prinzip fährt.

Meine geplante einfache Navigation kann ich auch so sicher gestalten dass sich solche Fehler nicht auswirken, bzw bekommt er die Koordinaten von ausserhalb und braucht Odometrie nur zum drehen, wenn er sehr falsch fährt wird halt korrigiert. Mir genügt es die Position alle 1-3 Sekunden zu bestimmen.

LG

Carlson
06.11.2009, 13:40
Etwas Schlupf wäre mir auch egal. Zumal ich meinen Mäher mit einem Kompassmodul ausrüsten mächte, so daß solche Unregelmäßigkeiten eh ausgeglichen werden. Zudem schont es Motor und Getriebe, wenn die Belastungen bei plötzlichen Richtungswechseln durch diesen "Puffer" abgefedert werden.

Mir geht es bei der Traktion eher um Steigungen da ich mitunter ein wenig Gefälle auf meinem Rasen habe. Ich werde es einfach versuchen. Wenn er mit den Rädern die Steigung nicht hochkommt, kann ich immernoch Schrauben als Spikes eindrehen. Ich glaube, daß die schwarze Lauffläche der Räder hohl ist und man deswegen eigentlich kein Profil reinschneiden kann.

Grüße,

Carlson

Carlson
09.11.2009, 10:19
Ich habe am Wochenende das Chassis für meinen Mäher geschweißt und bin soweit schon ganz zufrieden. Bilder stelle ich demnächst mal rein, wenn ich wieder ne Kamera habe...
Ich habe als Antrieb zunächst zwei umgebaute RC-Servos eingebaut. Erste Fahrtests auf glattem Boden waren ok - auf dem Rasen scheinen sie aber nicht genug Durchzug zu bieten, obwohl sie nur das Chassis ohne Aufbau oder Mähwerk zu bewegen hatten.

@ Damfino: Bist Du eigentlich bei den 385er Antriebsmotoren geblieben? Du hattest ja zunächst Bedenken, weil die nach dem Motoren-Kalkulator hier im Forum nicht ausreichen könnten... Wenn ja - wie zufrieden bist Du mit den Motoren und haben sie genug Leistungsreserven um den Mäher auch durch höheres Gras und an Steigungen gut fahren zu lassen?

Grüße,

Carlson

damfino
09.11.2009, 13:28
Ja, dem Kalkulator hier traue ich nicht ganz, nach dem Ergebnis wär früher mein RC Geländewagen kaum in der Ebene gefahren, in Wirklichkeit schaffte der aber 40° Steigungen in der Wiese.

Mit den 385er bin ich zufrieden, habe eine Gesamtübersetzung von 200:1 und bin die ersten Tests alle mit einer PWM von nur 30% gefahren. Eine große Steigung hatte ich noch nicht getestet (habe nur eine am Grundstück, alles andere ist eben), nur einen Hügel mit ca 10°, das war trotz rauer Wiese kein Hindernis. Mein Mäher wiegt so ca 4kg.
Der einzige Nachteil ist das Geräusch, das Metallgetriebe der Motoren ist sehr stabil, Metall ist aber auch laut, unter Belastung jaulen die Motoren auf. Die RB35 am Video von RobiTobi hören sich ganz ähnlich an.

Da ich am Atmega noch ein paar Ports frei habe, kommt noch ein LCD dran. Das werde ich vor allem für die Kontrolle der Navigation brauchen, es fehlen zuerst noch €'s und einen passenden GPS Empfänger, und dann werde ich sehen was sich daraus machen lässt.

Carlson
11.11.2009, 17:58
Ich habe jetzt auch 385er Motoren bei Conrad bestellt, auch wenn sie nach dem Kalkulator zu schwach sein sollen. Sollte ich mit denen langfristig nicht zufrieden sein, kann ich die Getriebe (hoffentlich) weiterverwenden und BL Motoren einbauen.

Danke übrigens für den Hinweis zum Robitobi! Den kannte ich noch nicht und konnte einige Infos daraus ziehen.

Weißt Du schon, was für ein Kabel Du für die Schleife verwenden wirst? Ich werde wohl 250 bis 300 Meter benötigen - da geht eine falsche Kabelwahl richtig ins Geld... Bei Deiner Rasenfläche wirst Du sicher auch nicht gerade wenig brauchen.

Anbei noch aktuelle Bilder von meinem Chassis. Den RC-Empfänger und Akku habe ich für die Testfahrten provisorisch angehängt und die "Antriebsservos" werden ausgetauscht sobald die Motoren da sind. Die Traktion der Räder habe ich übrigends mit Kabelbendern gesteigert. Ob das zur Dauerlösung wird, weiß ich noch nicht aber es funktioniert ganz gut.

Ich baue den Mäher zunächst als Dreirad auf wobei die beiden Antriebsräder vorne sind und das Modellflugzeugrad hinten mitläuft. Die Konstruktion des freilaufenden Hinterrades macht es sehr leich möglich, einen Mikroschalter als Notaus zu aktivieren, wenn das Rad keinen Bodenkontakt mehr hat.

damfino
12.11.2009, 11:26
Die 385er sind sicher stark genug für bis zu 6kg im Gelände. Das sagt auch das Ergebnis vom Kalkulator. Ich wollte eigentlich RB35 nehmen, aber die waren anderen hier zu schwach, und die 385er kenne ich vom Modellbau. Grundsätzlich will ich so leicht wie möglich bauen, deswegen Sperrholz dass ich mit Holzschutzlack versiegle, und damit auch die Hoffnugn das ich später mit einem Solarpaneel 30-50% des Stromverbrauches decken kann.
Die nächststärkeren sind die 540er, die sind in vielen Modellbau Monstertrucks verbaut, aber ich nehme an dass du nicht mit 20km/h über den Rasen rasen willst ;)

Ein anderes Projekt im Internet ist der Udo5, wobei mir bei dem die Anordnung Räder-Messer nicht gefällt und leider wenig Daten über die Motoren angegeben sind.

Ist dein Chassis stabil genug dass es nicht zu schwingen anfängt? Die Unwucht der Messer ist nicht zu unterschätzen, bei hoher Drehzahl läuft es bei mir relativ ruhig, aber aber beim hochfahren und abschalten gibt es kurz starke Vibrationen.

Als Schleifendraht verwende ich Einziehdrähte, 1.5mm2, die habe ich noch herumliegen. Ich will den aber nicht vergraben, sondern nur an der Oberfläche mit Haken festhalten, damit ich leichter Korrekturen vornehmen kann. Muss probieren ob ich die auch aus dem Draht biegen kann, man wird sicher um die 200 Stück brauchen, da soll es schnell und günstig gehen.

Carlson
12.11.2009, 20:28
Hihi - die RB 35 hatte ich mir zunächst auch ausgesucht. Nachdem die aber im Robitobi offenbar nicht besonders gut gehalten haben, habe ich mich für die 385er entschieden. Allerdings glaube ich(oder hoffe...), daß mein Mäher weniger als der Robitobi wiegen wird.

An Holz hatte ich zunächst auch gedacht - ähnlich wie Du habe ich durch die Modellfliegerei damit eigentlich mehr Erfahrungen. Ich war mir aber wegen der Wetterfestigkeit unsicher und habe mich dann für Stahl entschieden - ich hoffe, es rostet mir nicht weg... ](*,)

Das Chassis macht eigentlich einen recht soliden und starren Eindruck. Es besteht aus 5 mm Stahldrähten und ist massiver als es auf den Bildern aussieht. Von Hand bekomme ich da keine Schwingung hinein. Natürlich kann ich Pech haben und es schaukelt sich auf - dann muss ich nachbessern. Das Vibrieren beim Hoch- und Runterfahren kenne ich vom Helikopter - solange der in der Flug-Drehzahl nicht vibriert, ist alles ok.

Morgen müssten die Motoren ankommen und am Wochenende wird wieder gebaut. Wenn es was neues gibt, werde ich wieder berichten.

Grüße,

Carlson

damfino
15.11.2009, 20:17
Mein LCD ist erfolgreich angeschlossen, in der ersten Zeile ist die Akkuspannung, Messerdrehzahl, PWM Messer und PWM Fahrmotoren, in der zweiten Zeile kommen derzeit Statusmeldungen rein.
War nicht so schwer, das größte Problem war dem AVR Studio beizubringen das die lcd.h und lcd.c vorhanden und eingebunden sind. Irgendwie zum verzweifeln wenn unter header Dateien die lcd.h steht, und gleichzeitig die Meldung kommt dass die lcd.h nicht existiert.
Der Rest waren hausgemachte Fehler, wie Variablenüberlauf bei der ADC Berechnung, Zeilen und Spalten vertauscht... ](*,)
Durch eine möglichst primitive Integer Berechnung beim ADC komme ich auf eine Genaugikeit von nur 0,1V, aber mir genügt das.

Ein Problem bleibt die Messerdrehzahl, sie ist viel zu niedrig. Durch Vibrationen komme ich auf nur mehr 760 U/min (jetzt kann ich es ablesen und muss nicht mehr raten :D ) und es klingt als würde der Teller wo anschlagen. Ich habe noch nicht die Ursache gefunden, bei laufenden Messer schaue ich sicher nicht darunter, und eigentlich gibt es 15mm Abstand zur Bodenplatte. Sichtbare Spuren gibt es auch nicht.
Als nächstes werde ich die Messer vom Teller abbauen, dann kann man den Mähmotor gefahrlos in Betrieb nehmen. Ohne Teller gehts nicht, da darauf mein Magnet für den Hallsensor montiert ist.

LG

Carlson
16.11.2009, 08:40
Von einem LCD träume ich in einer der Ausbaustufen auch noch. Als Board verwende ich ein Arduino und befürchte daher leider, daß ich nicht genügend Ports zur Verfügung haben werde. Allein die drei Motortreiber brauchen ja schon 8 bis 9 Ports...

Das was Du von den Vibrationen schreibst klingt heftig! Als Denkansätze fallen mir eigentlich nur zwei Dinge ein: Entweder hat der Teller eine starke Unwucht (hast Du den mal gewuchtet?) oder der Teller verformt sich im hohen Drehzahlbereicht so stark, daß er ins Eiern kommt. Wie weich ist die Blumen-Untertopf-Konstruktion?


Ich habe am Wochenende die "echten" Antriebsmotoren eingebaut und einen L298 als Doppelmotortreiber verlötet. Am Sonntagabend dann der Test: Alles funktioniert, das Wochenende war ein Erfolg - das ist noch immer wieder ein super Gefühl! ((-;

Diese Woche werde ich testweise einen RC-Empfänger einbauen und vom Arduino auslesen lassen um ne Probefahrt auf dem Rasen zu machen.

Grüße,

Carlson

damfino
16.11.2009, 14:17
Das LCD (http://www.neuhold-elektronik.at/catshop/product_info.php?cPath=41_43&products_id=3071) kommt teils aus Spass, teils weil ich mich in einfacher Navigation versuchen will, und dazu ist eine Anzeige sehr hilfreich. Ich verwende den 4 Bit Modus mit insgesamt 7 Leitungen, um Pins zu sparen verwende ich auch die ISP Pins. Jetzt habe ich noch 3 Pins unbelegt, und dazu sind auch noch RS232 und I2C frei, also kann ich noch leicht GPS und eventuell Ultraschall Sensoren anschließen.
Angschlossen sind 9 Pins für Motorsteuerung, 3 für Hall Sensoren, 2 für Schleifensensoren, 1 für alle Bumper, 7x LCD, 2 LED's, und 1x Akkuspannung.

Der Teller hat sicher eine Unwucht, ich habe keine Möglichkeit das zu messen und zu korrigieren. Ich konnte nur die Bohrungen möglichst exakt positionieren, die mittlere Bohrung habe ich zB klein gebohrt und dann mit der Hand größer gefeilt und mit etwas Geduld schön mittig ausgerichtet.
Heute werde ich ohne Messer testen, hat länger gedauert da mein Atmega Macken hat. Der hat Fuses und Teile vom Programm vergessen, naja, wurde schon oft geflasht und vor allem einmal unbeabsichtigt 12V ausgesetzt... Ein neuer ist schon da, aber zum Testen bleibt noch der alte drinnen.

Was für einen Motor hast du jetzt für die Messer vorgesehen?

LG

damfino
16.11.2009, 18:08
So, hab die Messer abgebaut und getestet, den Teller abgebaut, besser ausgerichtet und getestet, und zum Schluss auch den Teller weggelassen und nur eine Schraube mit Beilagscheiben und den Magneten für den Sensor daran getestet, und komme so auf grade mal 1600 U/min. Eigentlich sollte der Motor lt Datenblatt 3400 im Leerlauf und 2500 unter Last haben.
Vielleicht habe ich einen schlechten erwischt, ist ja nur ein China Zeugs.

Werde wahrscheinlich auf einen 540er mit 6:1 Übersetzung umsteigen und mit Getriebegeräuschen leben müssen. Brushless habe ich noch keinen gefunden der relativ günstig und noch dazu nicht zu viele A braucht, viele sind mit 40A und mehr angegeben, da hält der Akku nicht lange.

Carlson
17.11.2009, 09:23
Für das Mähwerk habe ich auch den 540er mit 1:6 Übersetzung gekauft. Das Mähwerk selbst gibt es noch nicht, deswegen kann ich zur Leistung nichts sagen - ich hoffe aber, daß der Motor ausreichend ist. Wenn nicht, dann muss die 1:11er Übersetzung her - dann hätte ich aber Angst, daß das Mähwerk an maximal 12 Volt nicht auf ausreichende Drehzahl kommt.

Dein defekter Motor - war das der 385er, von dem Du geschrieben hattest, daß er ohnehin zu wenig Leistung hat?

Zum Auswuchten braucht man nichts besonderes: Du steckst eine Achse (Holzstab, Besenstiel, o. ä.) passend durch das Loch in der Mitte - die Achse sollte so sitzen wie sonst die Motorachse. Optimal wäre also ein gerader Rundstab mit dem gleichen Durchmesser wie das Loch.
Dann kippst Du das ganze, als wäre der Mähteller ein Rad, die Achse ist dann waagerecht.
Jetzt legst Du die Achse links und rechts vom Mähtellerrad auf eine Kante (z. B. zwei gleiche Stühle), so daß das Rad zwischen den Kanten frei drehen kann.

So erkennst Du sehr einfach, welche Seite des Mähwerks immer nach unten will => die Seite ist zu schwer, also muss auf die andere Seite ein wenig mehr Gewicht (z. B. eine kleine Schraube).

Wichtig: 1. Die Achsstange muss absolut gerade sein und darf nicht "durchhängen. 2. Das Mähwerk muss einigermaßen fest auf der Achse sitzen und darf nicht schlackern.


Mich plagt seit gestern ein anderes Problem: Nachdem ich einen RC-Empfänger auf den Mäher geschnallt hatte und im Wohnzimmer erfolgreich ein paar Runden per RC-Sender gedreht habe ist mir aufgefallen, daß die Sensoren für die Begrenzungsschleife sehr deutlich auf die Motoren reagieren. Ich habe an jeden Sensor eine LED gelötet, die mir anzeigt, wenn der Sensor sich außerhalb der Schleife befindet und diese LEDs haben geblinkt wie verrückt.

Die Distanz zwischen den Sensoren und den Motoren ist ca. 10 cm aber auch wenn ich den Sensor mehr als 15 cm. entfernt halte, habe ich viele Störungen.

In einem anderen Thread habe ich von Mu-Metall zum Abschirmen von Magnetfeldern gelesen aber das Zeug kostet ja ein Vermögen! Gibt es da nicht Alternativen?

Grüße,

Carlson

021aet04
17.11.2009, 10:25
Soweit ich weiß braucht man nur eine Ferromagnetisches Material. Bin mir aber nicht sicher.

MfG Hannes

Richard
17.11.2009, 11:29
Der Teller hat sicher eine Unwucht, ich habe keine Möglichkeit das zu messen und zu korrigieren. Ich konnte nur die Bohrungen möglichst exakt positionieren, die mittlere Bohrung habe ich zB klein gebohrt und dann mit der Hand größer gefeilt

Von Hand größer feilen soll unwucht bringen. :-( Außerdem ist
so ein billig Produckt nicht umbedingt Massemäßig "Rund".

Ich hänge mal eine Zeichnung an wie man den Massemittelpunkt
von qusie jeden belibigen Körper ermitteln kann. Wenn dort dann
die Welle sitzt läuft es rund.

Gruß Richard

Carlson
17.11.2009, 11:35
Hmmm... Ferromagnetisches Metall - fällt Dir dazu ein Beispiel ein? Alufolie wird wohl eher nichts bringen.

Manche haben mit Weißblech (Konservendosen) guter Erfahrungen gemacht - andrere schreiben, daß Weißblech fast gar nichts bringt. Ich werde das mal testen und wieder berichten.

Wenn es weitere Vorschläge gibt, immer her damit.

Grüße,

Carlson

damfino
17.11.2009, 12:22
Wie laut ist dein 540er mit dem Getriebe? Der ist 4x so stark wie mein derzeiter Johnson Motor, das wird genügen.

Es ist der Johnson Motor der nicht auf Drehzahl kommt, habe noch einen Versuch gestartet und den Motor an einen Trafo angeschlossen um eventuell falsches PWM auszuschließen, aber der kommt mit Teller nicht über 1200U/min hinaus. Das ist grad die Hälfte die er lt Datenblatt haben sollte. Dabei ist der Luftwiderstand sicher klein, denn kleine Notizzettel unter dem Mäher bewegen sich kaum.

Die Unwucht tritt hauptsächlich bei 500U/min auf, bei höheren Drehzahlen kann man schön beobachten wie der Teller sich ausrichtet, wenn man der Kante entlang sieht, sind noch Abweichungen von ca 0,5mm übrig.
Die Frage ist ob der Teller jemals rund laufen kann und wird, denn mit den beweglichen Messern dran wird der Schwerpunkt nie mehr in der Mitte sein.


Anstatt MU Metall kann man es sicher auch mit normalen Blech probieren, der Wirkungsgrad wird dafür geringer sein.
Kann es aber sein dass deine Fernsteuerung stört? Ich habe derzeit nur 1 Sensor in Betrieb, der ist 25cm von den Motoren weg und hat keine Störungen. Ich hatte aber große Probleme mit den Potis der Sensorschaltung, wenn die schlechten Kontakt haben geht gar nichts, bzw wenn die ausfallen geht die Schaltung auf high, würde bedeuten Schleife ok. Deswegen habe ich es entgegen dem wiki umgedreht und setze ausserhalb der Schleife auf high und nicht innerhalb, so bleibt er im Fehlerfall stehen.

LG

Carlson
17.11.2009, 14:34
Ich werde heute Abend mal den 540er mit Getriebe mit den 385ern mit Getriebe vergleichen. Soweit ich das Geräusch jetzt im Kopf habe, war es absolut im Rahmen.

Meinen RC-Sender kann ich als Fehlerquelle im Moment nicht auschließen. Werde heute Abend la ein Programm schreiben, mit dem die Motoren alleine (ohne Sender) drehen und dann prüfen.

Ich habe aber noch eine andere Fehlerquelle im Auge: Normalerweise haben die kleinen Modellmotoren doch immer einen Kondensator zum Entstören zwischen den Anschlusskontakten. Meine beiden 385er haben keinen und ich vermute deswegen, daß sie nicht entstört sind und die Sensoren deswegen so sensibel reagieren. Kann das sein? Welchen Wert sollte der Kondensator für einen 385er Motor sinnvollerweise haben?

Grüße,

Carlson

damfino
17.11.2009, 17:33
Die Motoren müssen schon entstört werden, ohne dem kann es sein dass auch die Fernsteuerung ein Eigenleben bekommt.
Wie: zB http://www.rn-wissen.de/index.php/Getriebemotoren_Ansteuerung

Minimalversion ist ein Kondensator zwischen den Motoranschlüssen, ich verwende 3 Kondensatoren je Motor, Luxusversion ist zusätzlich mit den Induktivitäten. Die richtigen auszurechnen und dann noch im Geschäft zu finden habe ich mir erspart solange es keine Probleme gibt.
Werte für die Kondensatoren schwanken zwischen 1µF und 100nF, die Angaben von rn-wissen mit 47nF und 100nF findet man am häufigsten.

LG

Carlson
19.11.2009, 12:30
Danke für die Hilfe! Ich habe drei Kondensatoren pro Motor eingelötet - leider mit mäßigem Erfolg. Dann habe ich die Motoren in Weißblech eingewickelt und die Störungen sind deutlich zurückgegangen.

Die RC-Anlage kann ich mittlerweile ausschließen. Mit abgesteckten Motoren sind überhaupt keine Störungen mehr aufgetreten.

Durch Beiträge in einem anderen Forum bin ich aber auf eine Idee gekommen, die dem Mäher noch einen ganz neuen Reiz geben könnte:

Man baut vorne an den Mäher eine Minikamera (hab ich noch übrig, bin FPV Flieger) und in den Mäher einen WLAN Router. Darüber könnte man den Mäher über das Internet nicht nur überwachen - man könnte ihn auch steuern!
Was haltet Ihr von der Idee?

Grüße,

Carlson

021aet04
20.11.2009, 10:03
Ist eine gute Idee, aber je mehr du aufbaust, desto mehr Akkukapazität bzw. desto öfter musst du aufladen. Ich habe einen Router der hat als Angaben 18VAC 1000mA. Die mögen versorgt werden.


MfG Hannes

damfino
20.11.2009, 11:38
Technisch ist es umsetzbar, es übersteigt aber mein Wissen um das Erstellen einer Steuerungssoftware am PC und dann das Umsetzen der Steuersignale vom Router/Ethernet an den Mikrokontroller...
Über ein Notebook wäre es einfacher, das mitzuschleppen ist aber lästig. Selber ein Ethernet auf zB Seriell Interface mit einem Atmega zu bauen und die ganze Netzwerkverbindung/Stacks zu implementieren ist sicher extrem aufwändig.

Carlson
23.11.2009, 09:47
Naja – die Web-basierte Steuerung wäre auch ein Zukunftswunsch. Eventuell rüste ich sowas irgendwann mal nach. Im ersten Schritt soll der Mäher mal mähen, dann kommt die automatisch anzufahrende Ladestation an die Reihe und dann... mal sehen.

Am Wochenende habe ich weitergebaut. Zum einen haben die Antriebsmotoren nun eine richtige Befestigung bekommen und sind angeschraubt und nicht mehr mit Kabelbindern befestigt.

Zum anderen habe ich mich an das Mähwerk gesetzt. Ich hatte im Baumarkt exakt die gleichen Untertöpfe gefunden, die Du (Damfino) auch verwendest. Also habe ich einen mit 30 cm. Durchmesser fürs Mähwerk und einen größeren als Schutz (kommt umgedreht darüber wie ein Deckel) gekauft. Die Bohrung für das Mähwerk habe ich sehr genau gesetzt und den Teller habe ich anschließend mit Achse ausgewuchtet. Bei den ersten Testläufen habe ich dann festgestellt, daß sich der Teller schon bei 800 Umdrehungen so stark verformt, daß an einen runden Lauf nicht zu denken ist. Ich habe den Versuch abgebrochen weil ich nicht wollte daß mir das ganze um die Ohren fliegt zumal der 540er Motor bei den 800 Umdrehungen durch die Unwucht schon knapp 2 Ampere gezogen hat. Das Resultat aus dem Versuch: Der Unterteller ist (zumindest bei mir) als Mähteller nicht geeignet.

Dann habe ich eine 30 cm. x 6 cm Platte aus 3mm Plexiglas geschnitten und mittig ein Loch gebohrt. Diese Platte läuft schon rund, ist eigenstabil und der Motor verbraucht deutlich weniger Strom. Die Klingen setze ich außen etwas nach unten versetzt dran, damit die Grashalme immer so kurz sind, daß sie die Plexiglasplatte nicht berühren. Das bringt mich zu der großen Frage, die mich aktuell beschäftigt:

In allen Rasenmähprojekten, die mit scharfen Klingen arbeiten, ist als Mähwerk ein runter Teller montiert, an den außer die Klingen geschraubt sind. Welche Vorteile bietet ein runter Teller gegenüber einer rechteckigen Platte? Mir fällt nur ein etwas geringerer Luftwiderstand ein aber ist das alles?

Grüße,

Carlson

damfino
23.11.2009, 11:55
Mein Teller ist ein bisschen kleiner, ich erreiche mit den Messern 30cm Durchmesser. Bei 500U/min ist es sehr unrund, darüber richtet sich der Teller aus und wird viel ruhiger.
Ich bekomme in den nächsten Tagen den 540er Motor und werde dann weiter testen. Die Bestellung direkt im Geschäft ist anscheinend nicht schneller als per Post, dafür spar ich die Versandkosten, ist ja nur ein paar Minuten entfernt.

Mir fallen 3 Gründe für einen runden Teller ein:
1.) weniger Luftwiderstand
2.) durch die runde Form kann er sich bei Hindernissen nicht einhaken.
3.) man kann mehr Messer montieren.

Du hast jetzt anscheinend nur Platz für 2 Messer, da muss man nachrechnen ob sich das zusammen mit der Fahrgeschwindigkeit ausgeht um sicher alle Grashalme zu erreichen.

damfino
29.11.2009, 12:34
Habe gestern den neuen 540er Motor bekommen und nach einem Umbau der Halterung in Betrieb genommen.
Beim ersten Einschalten glaubt man da sind LED's verbaut, so leuchtet das Kunststoff Lagerschild vor lauter Bürstenfeuer. Der Atmega hat sogar noch funktioniert, am LCD Display ist dagegen nur mehr Mist angezeigt worden.
Daher zusätzlich zu dem vorhandenen Entstörkondensator nochmal 3 Stück angelötet, jetzt geht das Display wieder normal.

Die Schleifensensoren habe ich noch nicht betrachtet, schätze aber dass ich den Motor noch weiter abschirmen muss.

Die Solldrehzahl wird praktisch sofort erreicht, ein riesen Unterschied zum Johnson Motor. Die Unwucht ist auch sehr gering, es vibriert alles ein bisschen, aber nicht so groß dass der Roboter sich sichtbar bewegen würde. Anscheinend ist mein Teller mit 27cm noch ausreichend stabil.

Neu durch die höheren Drehzahlen ist, dass die Wellenverbindung immer wieder aufgeht und der Teller runter fällt. Werde die Madenschrauben mit Kleber fixieren müssen, auch wenn das für Tests mit mehrmaligen Auf- und Abbau lästig ist.
Das Geräusch ist deutlich lauter geworden, das Metallgetriebe ist nicht zu überhören. Mit einem Gehäuse darüber wird es sicher leiser, ich hoffe auch dass das Büstefeuer und die Geräusche weniger werden wenn die Kohlen und Lager sich eingeschliffen haben. Ansonsten kann man immer noch andere Motoren verwenden wenn wieder mal mehr Euros vorhanden sind.

LG

Carlson
30.11.2009, 11:07
Glückwunsch zum neuen Motor! ((-;

Hast Du mal Strom und Drehzahl gemessen? Mein 540er zieht im Leerlauf mit "Mähbalken" (habe noch keine runde Scheibe dran) ohne Klingen an ca. 12 Volt 1,45 Ampere. Die Drehzahl liegt dann bei ca. 1850.

Ich bin mit unsicher, ob 1,45 A nicht zu viel sind...

Die Geräuschentwicklung ist nach meinem Empfinden ok - hast aber recht, das Metallgetriebe hört mal deutlich...

Ich habe den Motor einige Minuten mit gemäßigter Drehzahl und wenig Last einlaufen lassen. Das Bürstenfeuer ist danach deutlich zurückgegangen. Ich habe mir mal sagen lassen, daß die Bürsten einem das Einlaufen danken da das erhöhte Bürstenfeuer bei neuen Motoren Rückstände hinterlassen kann, die dauerhaft Leistung kosten.

Aktuell bin ich auf der Suche nach einem geeigneten Widerstand um am Sense Pin vom Motorregler (parallelgeschalteter L298) den Stromverbrauch zu messen.

Grüße,

Carlson

robi2mow
30.11.2009, 13:08
Hallo Rasenmäherbauer!

Das ist mein erster Beitrag in dem Forum, also bitte etwas Nachsicht bei Fehlern!
Hab mit damfino schon Kontakt aufgenommen, da wir beide aus Graz sind.
Ich würde Euch gerne vor Fehlern bewahren, die ich schon gemacht habe bzw. die ich schon aus 3 jähriger Erfahrung mit meinem Ambrogio Rasenroboter (das 3000 EUR Ding ist zwar gut, aber es gibt viel Verbesserungswürdiges) gemacht habe.
Dazu gehoert der Messermotor, wo Ihr gerade bei einem 540er seid.
Der Ambrogiomotor hat mit Sicherheit die 3-fache Leistung und der Motor hat ein vorgesetztes Kugellager mit ca 20 mm Durchmesser.
Gerade die Unwucht macht dem Lager in kürzester Zeit das Garaus.
Nach 2 Jahren Betrieb waren bei mir die Kohlen und somit auch der Motor (Tausch der Kohlen nicht möglich) hinüber und ich habe um das gleiche Geld einen Brushless Motor verbaut. Damit ist Bürstenfeuer und Abnutzung kein Thema mehr.
Das ist gleichzeitig einer der Pluspunkte des Automowers (alle Motoren Brushless).
Also meine Empfehlung und meine Umsetzung bei meinem robi2mow Projekt, ein guter Brushless Motor.
Ich bin wie damfino und Carlson zwar erst in der Startphase beim Bau, aber schon weit in der Planung und Erfahrung.

LG
robi2mow

Carlson
30.11.2009, 13:14
Danke für den Hinweis!

An einen brushless Antrieb habe ich auch schon oft gedacht (in meinen RC Modellen verwende ich neben Verbrennern ausschließlich BL Motoren). Leider habe ich keinen BL Motor mit entsprechendem Getriebe gefunden und wollte im ersten Schritt kein Getriebe selbst bauen.

Weißt Du schon, welchen Motor Du für das Mähwerk verwenden wirst?

damfino
30.11.2009, 13:49
Ein BL Motor + Regler kostet halt einiges mehr, und wie man bei anderen Threads lesen kann verursachen die mehr Störungen der Sensoren.

Ich habe auch lange nach BL Motoren gesucht, konnte aber keinen finden der für 2000 U/min ausgelegt ist und nicht >40A braucht.

Der 540er braucht 3,5A beim Starten, danach bleibt es bei 1,5A.
Mit der Drehzahlmessung habe ich größere Probleme, es sind sicher über 2000U/min, mein Multimeter zeigt 40-50Hz an (1 Impuls /Umdrehung), die Anzeige am LCD schwankt aber extrem zwischen 1000 und 2500 U/min. Jetzt bin ich am rätseln wo der Fehler liegt, am Sensor, oder am Programm...
Sensor scheint nach der Anzeige vom Multimeter zu funktionieren, im Programm wird nur über Interrupt hochgezählt und alle 0,25s oder 0,5s die Summe gebildet, das *240 (120) = U/min, was soll da daneben gehen? Die Zähler werden alle zurückgesetzt, Variablenüberlauf könnte nur die Anzeige betreffen, aber nicht das Regelverhalten der Motoren.

Richard
30.11.2009, 18:02
Ein BL Motor + Regler kostet halt einiges mehr, und wie man bei anderen Threads lesen kann verursachen die mehr Störungen der Sensoren.

Ich habe auch lange nach BL Motoren gesucht, konnte aber keinen finden der für 2000 U/min ausgelegt ist und nicht >40A braucht.



Das liegt eher daran wo Du gesucht hast. Die meisten sind ja im
Modellflugbereich zu finden und die sind auf Drehzahl getrimmt,
120.000 1/min kann man da schon finden....Es giebt auch sehr langsame,
z.B. Fahradnarbenantrieb. Das schöne daran ist, man braucht kein Getriebe,
die lassen sich von null bis Max bei fast gleichbleibenden Drehmoment
fahren/Regeln. Die Drehzahl hängt da von der Poolzahl, Magnetzahl,
Wickeltechnick und Drahtdicke ab. Wenig Windungen und Dicker Draht
und schon zieht so ein Motor locker 70 Ah UND mehr. Motoren wie
in Floppys mit vielen dünnen Windungen haben einen höheren R und
verbrauchen auh weniger.

Auf http://www.powercroco.de/ Gibt es gute Grundlagen zu finden.

Gruß Richard

Industieliferanten sollten auch Motoren in "normalen" Drehzahbereich
anbieten?

robi2mow
30.11.2009, 19:18
Industrielieferanten sollten auch Motoren in "normalen" Drehzahbereich
anbieten?


Stimmt, so einen habe ich verwendet. Nachdem mein Original Ambrogio Motor verbraucht war, habe ich einen in ähnlicher Bauweise mit ähnlicher Leistung gesucht. Diesen habe ich auf die Schnelle dann genommen.
BLDC58-50
http://at.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=5126028#
Ist zwar recht teuer, aber gleichpreisig wie das Originalersatzteil. Dafür mussten einige Umbauten gemacht werden (wegen dem Taktgeber für die Drehzahlerkennung). Die Leistung ist bei gleicher Aufnahme und geringerem Gewicht jedoch höher als beim Original. Für hohes Gras aber noch immer hart an der Grenze.
Deshalb habe ich mich für mein robi2mow Projekt auf einen stärkeren und trotzdem Billigeren entschieden. Der hat allerdings keinen Controller eingebaut. Deshalb bin ich gerade dabei diesen zu bauen. Sobald das läuft gebe ich die Daten hier bekannt.

Happy mowing

Carlson
30.11.2009, 19:42
Hmmm... für 164 Euro kann man viele Bürstenmotoren verschleißen.

Als Regler könnte man einen BL-Regler aus dem RC Modellbau nehmen. Die gibts bei Ebay schon für kleines Geld.
Welchen billigeren Motor hast Du für Dein Projekt denn im Auge?

robi2mow
30.11.2009, 21:02
Ich hab den Motor nicht nur im Auge, sondern der liegt schon in der Teilekiste :-k
http://de.nanotec.com/servomotor_db42.html
Der DB42C03 hat 50% mehr Leistung als der jetzige und dass passt nach meiner Erfahrung ganz genau für 30 cm Messer.
Ob er in der Praxis das auch leistet, werde ich dann berichten.

Die Standard BL-Regler sind nicht geeignet, da ich sie über I2C ansteuern will und diese Motoren den Vorteil von Hall Sensoren haben (Kommutierung schon von 0 Drehzahl weg richtig) die die Billigregler auch nicht unterstützen. Ich bau einen mit einem Atmega 168 der dann Teilaufgaben eigenständig übernehmen kann. Die BL Ansteuerung funktioniert schon, ich arbeite gerade an dem I2C Interface.

Diese Grundarbeiten sind aber eigentlich nur Standard, was schon viele vor uns getan haben (und von denen ich auch viel gelernt habe).
Interessant wird dann die erweiterte Navigation
Aber bis dahin wird noch vieeel Zeit vergehen.
Ich hab ja keinen Stress, weil mein Ambrogio arbeitet ja inzwischen :-)

LG

Carlson
01.12.2009, 09:35
Der Motor könnte auch meinem Mäher gut stehen! Berichte mal, welche Erfahrungen Du damit machst. Neben der Leistung würde mich (und andere?) besonders der Verbrauch interessieren. In meinem Fall würde der Motor in Betrach kommen, wenn mein 540er den Geist aufgeben sollte.

Bieten die Hall Sensoren neben der besseren Kommutierung noch weitere Vorteile?

Viele Grüße,

Carlson

damfino
01.12.2009, 13:41
So, ich habe jetzt eine Zwangspause bis durch einen hoffentlich kommenden Geistesblitz wieder Leben in die Sache kommt.
Mir ist gestern aus Unachtsamkeit ein Motortreiber in Flammen aufgegangen (interessante weiss-blau-gelbe Flamme...). Egal, ich hätte noch einen in Reserve.
Leider kann ich seitdem keine Atmega mehr flashen. Bzw gestern ging es einmal aber das Program startete nicht, heute geht gar nichts. Auch nicht mit einem neuen Atmega. Stromversorgung kommt vom Programmer, Akku, Sensoren und LCD sind abgesteckt. Es sieht auch alles normal aus, der verschmorte IC ist entfernt und sonst gibt es keine sichtbaren Beschädigungen an den Widerständen und Kondensatoren.

Carlson
01.12.2009, 14:30
Beileid! Fehler die man nicht finden kann, sind mir immer die liebsten - ich hoffe, das bleibt mir bei dem Mäher erspart! Bei mir würde es wahrscheinlich darauf hinauslaufen, daß ich die Platine neu löte. Das Elektrogedöns (Widerstaände, Kondensatoren etc.) ist ja zum Glück nicht so teuer...

Der Postbote hat mir heute die fehlenden Dioden für meinen Motortreiber gebracht. Spätestens am Wochenende steht dann die erste Proberunde mit Mähwerk an (noch RC-gesteuert) - vorausgesetzt, das Wetter spielt mit. Dann kann ich Euch erste Erfahrungen mit dem 540er als Mähmotor posten.

robi2mow
01.12.2009, 18:54
Damit Ihr einen Eindruck von meinen Motoren bekommt, werde ich versuchen die Bilder anzuhängen.
Wie gesagt es sind 24V Brushless Motoren mit Hall Sensoren.
Den Regler habe ich speziell auf diese Motoren angepasst.
Ob die Kombination in der Praxis was wert ist werden wir erst naechstes Jahr erfahren.
Schlagt mich nicht wegen dem China Getriebe, die Tests sollte es überstehen und dann hoffe ich etwas gutes zu finden.

Falls es hier nicht schon bekannt ist: Im Automower als auch im Ambrogio werden für die Radmotoren Planetengetriebe (zB. bei meinem von Dunker) verwendet. Obwohl das Qualitaetsgetriebe sind, fallen die bei allen Mähern regelmässig aus. Ich hatte auch schon das Vergnügen 2 neue zu montieren und ein Rad hat jetzt schon wieder sehr viel Spiel, das wird demnächst wieder fällig.

Richard
01.12.2009, 19:56
Hmm, so weit (mir) bekannt, brauchen Bruhless Motoren eigentlich
kein Getriebe weil sie bei beinahe jeder Drehzahl ein gutes Drehmoment
haben. Man braucht sie also nicht mechanisch untersetzen, man regelt
die Geschwindigkeit halt über den Treiber. Wenn man trotzdem ein Getriebe
benötigt reicht auch ein Preisgünstiger DC Getriebe Motor. :-(

Bei den "Drehstrom" Motoren ist es ja so, das diese dem Drehfeld folgen
und damit praktisch bis auf "Halt" gefahren werden können ohne
nennenswert Drehmoment zu verlieren. Dabei ist die Ansteuerung
natürlich komplizierter, bei gleichem Drehmoment und niedrieger
Drehzahl muß/Fliest mehr Strom wenn die Spannung nicht entsprechend
angepasst wird. Mann braucht also eine Strom gesteuerte
Spannungsregelung wenn die Dehzahl des Drehfeldes verändert wird.

Wechselrichter (?) nennt sich das (glabe ich), mit den Grobmotorischen
Lüftersteuerungen kenne ich mich halt nicht aus, ich bin eher Schwachstrom
gewöhnt. :-)

Gruß Richard

damfino
02.12.2009, 16:03
Ohne Brushless im Detail zu kennen wage ich zu behaupten dass 60-100U/min für Radantriebe ohne Getriebe nicht zu schaffen sind. Da wären wir beim Schrittmotor, der für schwere Fahrzeuge auch kaum geeignet ist.


Bei meinem Problem bin ich noch keinen Schritt weiter, zu 95% wird der µC nicht erkannt, ab und zu werden Seriennummer und ein paar Fuses angezeigt, programmieren oder Fuses setzen ist nie möglich. Ich habs mit 3 Atmegas getestet, wobei einer davon noch nie verwendet wurde. Die ISP Leitungen auf der Platine sind auf Durchgang getestet, der Spannungsregler funktioniert, Quarz kann ich nicht testen aber dafür war der 3. Atmega mit den Werkseinstellungen da.
Schön langsam glaube ich der Programmer ist hinüber, dessen 2 Leds zeigen aber keine Fehler an.
Irgendwie nervig....:(

robi2mow
02.12.2009, 21:00
Ohne Brushless im Detail zu kennen wage ich zu behaupten dass 60-100U/min für Radantriebe ohne Getriebe nicht zu schaffen sind. Da wären wir beim Schrittmotor, der für schwere Fahrzeuge auch kaum geeignet ist.


Stimmt genau! Theoretisch kommt man auf 0 herunter, also Schrittbetrieb, dann hat man aber keine Leistung mehr.

Kurz die Zusammenhänge ohne es wissenschaftlich zu gestalten.
Das ausschlaggebende, die Drehzahl beim BL Motor ist proportional der Spannung also halbe Spannung = halbe Drehzahl.
Mein Motor hat zB. gerundet bei 24V 4000 U/min und Nennstrom 1 A ergibt 24W Leistung.
Würde ich auf 40 U/min kommen wollen (also ein 100stel) geht das, wenn die Spannung nur mehr 1/100 also 0,24 V hat (mit PWM denkbar).
Jetzt kommt das Problem: Der Motor muesste jetzt 100A aufnehmen, damit wieder die 24 W bei der Welle rauskommen. Man kann sich vorstellen, dass das bei einem Motor wo die Wicklung für 1 A ausgelegt ist nicht funktioniert. Umgekehrt wuerde er nur 1 A aufnehmen haette man nur 0,24 W Leistung.
Man sieht also die Leistung kommt mit der Drehzahl (wie auch bei vielen Automotoren zB F1 ), deshalb drehen die normalen BL Motoren auch zig-tausend Umdrehungen.
Hoffe das war einigermassen verständlich, wenn man noch Verluste und Wirkungsgrad und Magnetismus Sättigung Drahtstärken Luftspalt usw. berücksichtigt, ist man Motorbauer :-)

Richard
02.12.2009, 22:11
irgendwie sehe ich das anders? Die Drehzahl wird doch wohl über
Die Tacktfrequens gesteuert oder wozu soll die Tacktfrequenz sonst
herhalten? Ob der Motor jetzt 5 V oder 10 V bekommt, bei gleicher
Tacktfrequenz wird die Drehzahl konstand bleiben. Jeh höher die
Frequenz um so höher XL der Scheinwiderstand der Spuhlen. Um
die Leistung konstand zu halten muß bei hoher Drehzahl und größeren
XL die Spannung erhöt werden damit der Strom Konstand bleibt.
Analog dazu bei sinkender Drehzahl mus die Spannung wieder
reduziert werden damit bein sinkenden XL der Srom nicht ansteigt.
Den niedrigsten R XL=0 also nur der Kupferwiderstand der Spulen.
Steigt der Strom an wenn die Spannung nicht gesenkt wird.

Bei richtiger Anpassung von XL, Spannung, Strom wird die Leistung
im gesamten Drehzahlbereich ( annähernd) konstand sein.

Gruß Richard

Carlson
07.12.2009, 10:09
Mein Mäher hat am Wochenende die erste Probefahrt mit laufendem Mähwerk hinter sich gebracht. Aktuell steuere ich ihn noch mit einem RC Sender und habe ca. 10 Minuten gemäht. Der Rasen war schon relativ kurz, es waren also nur relativ wenige Halme, die geschnitten wurden. Im echten Einsatz, wenn er also durchgehend mäht, wird es schließlich nicht anders sein.

Der Stromverbrauch lag je nach Geländeneigung zwischen 1,5 und 4 Ampere bei ca. 11 Volt.

Was mich wundert, ist daß der 540er Mähmotor der RC Empfänger extrem stark stört (der Motor ist werksseitig durch einen Kondensator entstört). Als Kind hatte ich einen RC-Buggy mit 540er Motor, bei dem es trotz sehr einfacher RC Anlage keine Störungen gab. In dem Mäher dagegen hat ein sehr guter PCM Empfänger (Falls sich jemand damit ausgkennt: Futaba R 149 dp!) größte Schwierigkeiten.

Damfino - hast Du den Fehler in Deinem System gefunden?

Grüße,

Georg

damfino
07.12.2009, 11:12
Die 540er aus dem RC Bereich sind 6V Motoren, dieser hier ist für 12V ausgelegt, vielleicht in Grund für mehr Störungen. Ich wohnte damals in der Nähe von Hochspannungsleitungen, deswegen konnte ich nie sagen ob der Motor oder die Leitungen die Fernsteuerung störten.

Mir hat dieser Motor am Roboter sofort das LCD gestört, ich hab ihm noch 3 Kondensatoren (zusätzlich zwischen den Polen und zum Gehäuse) verpasst und dann waren die Störungen weg.

Danke der Nachfrage, es ist noch immer alles tot. Software und Treiber sind neu installiert, neuer Atmega ist drinnen, Programmer scheint zu funktionieren da die LED's passend aufleuchten und das AVR Studio damit keine Probleme hat, aber ich kann trotzdem nichts flashen. Meine 2 alten Atmegas hatten schon öfters 12V zu verdauen, das die einmal nicht mehr wollen verstehe ich, das der neue nicht geht verstehe ich nicht. Leitungen auf der Platine sind in Ordnung, daran kann es auch nicht liegen.
Werde noch einen Atmega kaufen, kann sein dass ich einen defekten erwischt habe, sollte es aber auch nicht geben.
War eine schwarze Woche, zuerst geht der Roboter nicht, dann ist mein Homeserver mit vielen Videos und Daten (Downloads) eingegangen, und dann entschied sich ein Trafo der Wohnzimmerbeleuchtung auch nicht mehr zu wollen. Das einzige was ich davon erledigen kann ist dass es wieder hell im Wohnzimmer ist. Am Server ist das Mainboard eingegangen, da es ein alter PII ist muss ich mir eine moderne Stromsparvariante überlegen, und beim Roboter bin ich noch ziemlich planlos...

LG

damfino
09.12.2009, 14:12
Dank robi2mow steht jetzt fest dass mein Atmega einmal zu oft 12V abbekommen hat, und interessanterweise auch mein neuer Ersatz Atmega defekt war.
Also heute mal wieder einen neuen Atmega gekauft, und schon geht alles wieder :)

Jetzt will ich endlich die Drehzahlmessung vom Messer fertig stellen, als nächstes will ich dem Roboter beibringen wie man eine Spirale fährt.

LG

Carlson
09.12.2009, 17:56
Super, endlich gibt es wieder gute Nachrichten von Dir (Euch)!

Als Board für den fertigen Mäher werde ich wohl ein Arduino MEGA verbauen. Daran hätte ich dann auch genug I/O Ports um ein Display zu betreiben.

Ich bin gerade dabei, ein wasserdichtes Gehäuse für die Elektronik zu bauen. Dafür habe ich mir bei Ebay ein paar 3 mm. Plexiglasplatten gekauft und muss sagen, daß ich mir die Verarbeitung einfacher vorgestellt habe. Leider fehlt mir das richtige Werkzeug um das Plexiglas 100%ig geradeaus zu schneiden. Saubere Schnitte sind aber nötig, wenn ich die Platten an den Schnittkanten verkleben will...

Ich werde wieder berichten.

Grüße,

Carlson

damfino
19.01.2010, 12:04
Nach langer Zeit (ein defekter Spannungsregler hat Atmegas zerstört) kann mein Mäher endlich wieder ein paar neue Sachen:

.) das Program ist umgeschrieben, besser als vorher in Funktionen aufgebaut, wieder mal was in C gelernt, und den Code besser auf Geschwindigkeit optimiert. Jetzt macht kaum einen Unterschied ob der Compiler auf Optimerung -01 oder 03 eingestellt ist, aber bei grad 6kB belegten Flash ist das wirklich egal.

.) das Messer wird zusätzlich überwacht ob es steckt, oder viel zu langsam dreht. In diesem Fall wird ein Stück zurückgefahren, der Messerhochlauf neu gestartet, wenn alles passt auf die alte Position zurückgefahren und weitergemäht. Wenn das Messer ein bestimmte Zeit zu langsam dreht, wird abgeschalten. Es gibt für solche Fälle eine eigene Error Routine, die irgendwann mal mehr machen soll als alle Motoren abschalten und eine Meldung anzeigen. Das alles funktioniert auch bei der Spiralfahrt, s.u.

.) es gibt eine primitive 2 Stufen Regelung damit er so halbwegs gerade fährt. Beim Chaos Prinzip ist es eigentlich egal wie er fährt, aber so wird jede Sekunde die Odometrie kontrolliert und je nach Abweichung der langsamere Motor in 2 Stufen beschleunigt, wenn der schon am Maximum ist, wird der andere Motor gedrosselt.
Vielleicht schreibe ich das mal auf einen PID Regler um, aber mit nur 6 Impulsen pro Umdrehung wird es schwer werden den vernünftig einzustellen.

.) Spiralfahrt mit einer wenn möglich idealen archimedischen Spirale bis 5m Durchmesser, Bahnradius alle 20cm, damit ich eine gute Überdeckung der Bahnen habe und kein Gras stehenbleibt.
Damit kämpfe ich noch herum, die idealen Werte des Weges und der Motorleistung innen/aussen sind bereits berechnet, aber die Motoren lassen sich halt nicht ideal linear steuern. 25% Pwm sind leider nicht 25% der Drehzahl, das wird noch einiges an Versuchen erfordern.
Die Spirale wird so gefahren dass das äussere Rad mit 100% dreht und hier der Weg gemessen wird. Abhängig vom Weg wird die PWM vom inneren Motor geregelt.
Am Betonboden habe ich einen verwendbaren Regelbereich von 23%-100% PWM, mit sprunghafter Anstieg der Drehzahlen am unteren Ende. Damit kann man die Spirale im Bereich zwischen 360° und 720° nicht so eng fahren wie man sollte, es gibt keine gute Überdeckung der Bahn. Unter 360° ist der innere Motor aus, das geht immer. Ich würde 20% PWM brauchen, aber da dreht der Motor noch nicht, bzw hat keine Kraft.
Im Keller kann ich derzeit nur bis 900° testen, steht zu viel Zeugs im Weg.

Nach vielen Überlegungen wie auch Spirale aus Halbkreisen, genauer Wegkontrolle des inneren und äusseren Rades, etc, habe ich eine einfache Regelung gewählt:
Die Motorregelung ist in 25 Stufen abhängig vom Weg der Spirale aufgebaut, das entspricht 25 Stufen der idealen Drehzahl von je ca 3% Drehzahlerhöhung für 5m Durchmesser. Das wird genau genug sein, die Abweichungen durch Unebenheiten im Gras sind sicher größer.
Man könnte auch alles viel genauer in jedem Wegpunkt der Odometrie berechnen, aber die beste Näherungsgleichung hatte eine nicht so schöne Potenzfunktion dazu mehrere Brüche und Multiplikationen, alles mit float Variablen, dafür ist der Atmega sicher nicht gut geeignet. Die Abweichung von der Idealkurve war am Anfang auch um die 3%, die daraus resultierende ideale PWM auf reale Werte umzurechnen wäre das nächste Problem gewesen.

So aber kann ich meine 25 Stufen leicht anpassen, und der Atmega kann 25 einfache Abfragen sicher um vieles schneller abarbeiten als eine komplizierte Formel.
Mehr dazu wird es erst geben wenn der Schnee draussen weg ist...

Was noch fehlt / kommen wird:

.) optimierung Spiralfahrt

.) Motor fürs Messer: der 540er ist mir fast zu laut, ich werde testen ob der Johnson mit einem 16cm Mähteller zurechtkommt, dann werden es 2 Johnson mit je 16cm, leicht versetzt angeordnet

.) leichtere Vorderräder und damit bessere Fahreigenschaften

.) ein Gehäuse

.) GPS! Damit verbunden eine Fahrfunktion: fahre von x1/y1 nach x2/y2; ebenso wird an festgelegten koordinaten die Spirale gefahren, und nicht wie jetzt in gewissen Zeitintervallen

.) Ladestation und das Anfahren, wenn notwendig. Im Idealfall sollte mit der Kombination GPS und Spirale in kürzester Zeit über 90% gemäht sein, doppeltes Mähen vermieden und ausgelassene Stellen gezielt angefahren werden.


Wenn es noch weitere Ideen und Anregungen gibt, nur her damit! :)

LG!

Richard
19.01.2010, 16:10
Super, endlich gibt es wieder gute Nachrichten von Dir (Euch)!

Als Board für den fertigen Mäher werde ich wohl ein Arduino MEGA verbauen. Daran hätte ich dann auch genug I/O Ports um ein Display zu betreiben.

Ich bin gerade dabei, ein wasserdichtes Gehäuse für die Elektronik zu bauen. Dafür habe ich mir bei Ebay ein paar 3 mm. Plexiglasplatten gekauft und muss sagen, daß ich mir die Verarbeitung einfacher vorgestellt habe.

Ja, einfache Glasscheiben, Glasschneider und Saniärsilikon läßt
sich einfacher verarbeiten und billiger ist das auch wenn man die Glasscheiben mit den Glaschneider aus dem Wohnzimmerfenster vom
Nachbarn holt: :-))))))

Gruß Richard

damfino
10.02.2010, 20:51
Mein Rasenmäher kann wieder neue Tricks, unter anderem eine Positionsbestimmung, eine Karte, und das anfahren eines bestimmten Kartenfeldes. Vorerst nur über Odometrie, es ist so ausgelegt dass es später über GPS funktionieren soll, die Odometrie wird dann nur zur Unterstützung verwendet.
Für echte Tests muss erst der Schnee weg!

Details gibts auf meiner Homepage.

LG

Beecee
11.02.2010, 11:58
Das kilngt doch schon mal gut, bei mir gehts erst wieder am Wochenende weiter.
Die Positionsbestimmung per Odometrie ist aber sehr ungenau, wenn auch nur ein Rad kurz durchdreht wars das schon.
Welchen GPS-Empfänger hast du eigentlich ins Auge gefasst ?

Grüße
Michael

damfino
11.02.2010, 12:49
Die Odometrie geht nicht mal im Keller am Betonboden gut. Die Kombination aus schlechten Reifen, niedrigen Gewicht, und eher starken Motoren sorgt für schlechte Bodenhaftung. Dafür lenken die Vorderräder, wenn sie nach einer Drehung noch schräg stehen, kräftig mit. Wenn man es um einen guten Kompass erweitert wäre es viel genauer, denn die Fehler liegen fast nur in der Winkelbestimmung.
Aber es ist eine gute Übung für die ganze Positionierungsgeschichte. Grundsätzlich will ich nach GPS navigieren, und je nach Status des GPS Signals nur nach GPS, oder wenn es schlecht ist, dann nach Odometrie fahren.

Ich will das Navilock NL-552 nehmen, das kann auch Galileo und vor allem das EGNOS Signal verarbeiten, und damit genauer als andere Module arbeiten. Suche noch eine günstige Quelle, der Versand nach Österreich grenzt teilweise an Wucher :(

Aber im Moment würde ich dringender eine Schneefräse als einen Rasenmäher brauchen ;-)

LG!

Richard
11.02.2010, 14:42
Moin.

Wenn man ein Schlepprad nimmt wie es so Autotester benutzen,
sollte ein Durchdrehen unmöglich sein. Wenn das dann auch noch
gefedert auf den Boden aufsizt und einen guten Encoder hat sollte
die Wegstrecke/Geschwindigkeit genauer ermittelt werden können.

Möglich auch, das besser hinten die lenkbaren Räder sitzen sollten,
einfach mal die Antriebsräder rückwärz laufen lassen und Testen?

Gruß Richard

damfino
11.02.2010, 16:03
Die Wegstrecke ist gar nicht so das Problem, sondern die unbeabsichtigen Kurven. Es genügt ein Steinchen damit ein Rad kurz steht, und schon biegt er um 10° ab. Der dabei entstehende Wegfehler ist dabei minimal. Bei Drehungen müssen die Vorderräder mitgelenkt werden, das bringt am Anfang mehr Widerstand, da dreht das eine angetrieben Rad leichter durch und man berechnet den falschen Winkel.
Nach der Drehung sind die Vorderräder noch quergestellt, wenn man gerade fahren will, werden sie wieder mitgedreht, und dabei können sie die Richtung verändern.
Die lenkbaren Räder hinten montiert werden bei Drehungen nichts bringen, nur bei gerader Fahrt vielleicht.

Es wird viel genauer wenn die Fahrtrichtung extern erfasst, und nicht über die Odometrie berechnet wird. Dazu braucht man aber einen besseren Kompass als den CMPS03.

Immerhin habe ich 2 gute Formeln für die Berechnungen (gerade fahren+drehen), die nur darauf warten irgendwann mit verlässlichen Daten gefüttert zu werden.

LG

Richard
11.02.2010, 17:13
Ich lese ja mehr als das ich an meinem Rasenmäher Bot bastel, das
kommt auch daher weil ich noch nichts gefunden habe was eine gute
Navigation überhaupt ermöglicht. Auch mit Baken wird das nicht ganz
genau, Winkelberechnungen verursachen in der Summe halt auch
Rundungsfehler. :-( Ich möchte ja auch geziehlt Bahn für Bahn mähen
und da fangen die Probleme halt schon an. :-) Also weitersuchen/Lesen.

Gruß Richard

the_muck
11.02.2010, 18:47
Erfasst du auch den Winkel/Position der vorderen Räder? Vielleicht kann man das mit einbinden, dreht sich der Robo weg wen ein Stein im Weg ist so müssten sich die Vorderräder ja um den Vorlauf drehen...

damfino
12.02.2010, 11:15
@Richard: In Bahnen mähen geht schon, unter 2 Bedingungen:
1) ein Mäher der ca 75cm breit mäht.
2) ca 10.000€ für ein DGPS System aus der Landwirtschaftstechnik das auf 50cm genau ist.

Jetzt müsste man nur wissen welche Empfänger für DGPS geeignet sind, wie man aus dem ersten Empfänger die Korrekturdaten herausbekommt und berechnet, und wie man diese dem 2. Empfänger übermittelt. Dann kann man selber so ein System basteln.

Baken gehen schon, wie genau die Winkelberechnung ist, hängt vom Aufbau ab. Die maximalen Abweichungen sind bekannt, mit so einem systematischen Fehler kann man problemlos leben.

Aber ich hoffe dass ich mit meiner relativ einfachen Methode die Effizenz des Mähens gegenüber der reinen Chaosmethode ausreichend verbessere, da ich bereits gemähte Flächen auslassen, und dafür ungemähte Flächen anfahren kann.


@the_muck: Die Vorderräder messe ich nicht, denn bei Bodenunebenheiten wird/kann/muss ein Vorderrad in der Luft sein, um zu garantieren dass die angetriebenen Hinterräder immer Bodenkontakt haben.
Daher würde ich 2 Winkel messen, von denen ich nie weiß welcher davon stimmt. Jetzt könnte man vorne eine Pendelachse einbauen, dann wären die Räder immer am Boden, aber dann muss man die Achsneigung mitmessen und mitberechnen...
Da hilft auch ein Dreirad nicht, wenn der Mäher nicht mehr waagrecht dasteht berechnet man Raumkurven, und hat mit großem Aufwand wieder eine neue Fehlerquelle gefunden.

Einfacher ist es einen guten Kompass zu verwenden, aber ich warte mal ab wie weit ich mit dem GPS komme.

LG!

Richard
12.02.2010, 19:00
Ich habe da eher eine möglichst genaue Radenkoder Auswertung
im Kopf welche dann nach einigen m per Bakenmessung korregiert
wird. Dadurch muß die Bake nicht permanennt abgefragt werden,
die Rundungsfehler werden kleiner summiren sich weniger stark.

Mein Vater hatte mal einen E-Mäher (Brill/Gardena ?) mit 12 V
Autoaccu. Dia Räder selber waren NICHT angetrieben, es war ein
Walzenmäher. Aber die Räder waren sehr dicht hintereinader wenn
mann da die beiden vorderen antreibt, die hinteren Federlagert
und abfragt.....Hmmmm? Leider finde ich diesen Typ nicht wieder.

Der dürfte für einen Umbau grenzgenial sein!

Gruß Richard

Ps.: Mein Netz oder PC spinnt ich bin nur noch spordanisch online.

Richard
12.02.2010, 19:24
@Richard: In Bahnen mähen geht schon, unter 2 Bedingungen:
1) ein Mäher der ca 75cm breit mäht.
2) ca 10.000€ für ein DGPS System aus der Landwirtschaftstechnik das auf 50cm genau ist.


Du Träumer. :-) Die Kompassmodule sind auch nur "Schätzeisen",
Ich glaube langsam das es auf dieser Welt ( im Bastler Budget) nichts
sinnvolles gibt. :-( Außer möglicher Weise Video Auswertung, da gibt
es (im Labor) schon wahnsinnig tolles! Ich habe mir mal Demos
geladen, da werden in einem Brei aus Mikoben, ganz bestimmte
herausgefiltert und dann gezählt...Staun³. Aber halt nicht in freier Natur
und weit außerhalb meiner Fähigkeiten. :-( Letztendlich optimal.....
Mähe in Richtung Baum a, danach in Richtung ....u.s.w.

Aber in diesem Forum ist Traumen ja erlaubt. :-)

Gruß Richard

damfino
02.03.2010, 12:20
Wieder mal neuer Status:

In den letzten Wochen habe ich einige/unzählige Stunden damit verbracht die Software zu verbessern. So gab es Fehler bei der Positionsbestimmung beim Drehen, und beim Anfahren eines Punktes ist er oft genau entgegengesetzt gefahren.

Der Mäher dreht nicht ganz auf dem Stand, da ein Rad steht, und sich nur das andere bewegt. Damit gibt es beim Drehen einen Richtungswechsel, und dazu eine Verschiebung in x und y. Im Internet findet man wenig dazu, das was ich gefunden habe war falsch, und so half nur am Papier die Wege und Drehungen aufzuzeichnen und die Formeln selber zu bestimmen. Habe ich sicher auch schon mal in Mathe gelernt, und schon längst vergessen ;-)

Das Anfahren von Punkten hatte ähnliche Fehler mit dem bestimmen der Fahrtrichtung.
Ein Problem bleiben nur große Hindernisse (wie Haus) im Fahrweg, da findet er kaum herum. Ich hatte mal vor Jahren etwas in Scilab programmiert das auf einer einfachen Rasterkarte solche Situationen lösen konnte, aber die Übertragung auf den Mäher funktioniert nicht besonders.
Ich habe es jetzt so gelöst dass der Garten in mehrere Bereiche unterteilt ist, jeder Bereich hat einen Bezugspunkt der ohne Hindernisse angefahren werden kann. Wenn ich jetzt einen neuen Punkt im Garten anfahre der nicht im selben Bereich ist, fährt der Mäher von Bezugspunkt zu Bezugspunkt bis er im richtigen Bereich ist, und von da zum Zielpunkt.
Das funktioniert, wenn man die errechnte Position vom Display mit dem Plan vom Garten vergleicht sehr gut. Tests in der Wildnis stehen noch aus.

Was nicht so toll gelöst ist, ist die Auswahl und Reihenfolge der Bezugspunkte. Ich habe es derzeit mit einer Unmenge an switch-case gelöst, geht bei 9 Punkten gerade noch.
Eleganter wärs mit einem A* Algorithmus, aber wie kann man den am Atmega programmieren? Für die 9 Felder müsste es vom Speicherplatz noch gehen, und man könnte den dann auch teilweise für Hindernisse einsetzen. Ich hab jetzt aber keinen Schimmer wie man den programmiert, auch wenn das Prinzip logisch ist, und ich die Ergebnisse ja hardcoded in den switch-case stehen hab.

Ansonsten ist ein neuer 40W Mähmotor eingebaut, der Plastikteller wurde gegen eine Aluscheibe getauscht. Der Plastikteller hat alleine durch den Luftwiderstand 20W verbraten und ca 10A Anlaufstrom benötigt, was den Motortreiber etwas zum glühen brachte. Mit der Aluscheibe ist das Geschichte, leider konnte ich keine größer als 200mm auftreiben, und das Zuschneiden mit der Hand erforderte einiges an Nacharbeit damit es halbwegs passt. Damit ist die Mähbreite vorerst auf 26cm beschränkt, werde später mal testen wie es mit längeren Messern funktioniert.

GPS Empfänger kommt in den nächsten Tagen, Positionsbestimmung erfolgt über Odometrie, wenn Abweichungen zum GPS größer 2m oder größer 10° werden die Daten vom GPS übernommen, und mit denen weitergerechnet.
Programmiert ist schon alles, fehlt nur der Test ob es funktioniert.

Jetzt fehlt nur noch ein Gehäuse und das Auslegen der Begrenzungsschleife. Und je nach Fahrleistung eine Ladestation.

Das Programm braucht jetzt 20kB Flash und 1450B SRAM, wobei im Ram die Rasterkarte vom Garten ca 1000B verbraucht.
Etwas Platz für Erweiterungen ist also noch vorhanden :)

LG!

Beecee
03.03.2010, 14:47
Hallo Damfino,

das klingt schon mal super, wenn er jetzt noch so gut mäht wie es vorwärts geht ist es perfekt.
Gibt es neue Bilder oder ein Video ?

Grüße
Michael

Beecee
06.03.2010, 13:20
Hallo Damfino,

welchen GPS-Sensor/Maus willst du nehmen ?
Mein Mäher kann sich im moment in einer kleinen Schleife von 1 Meter ganz gut halten ohne Amok zu laufen, zur Zeit versuche ich eine automatische Kalibrierung zu programmiern damit beide Motoren immer gleich laufen.

Grüße
Michael

damfino
06.03.2010, 16:25
Hallo Michael,
ich habe die Navilock NL-507TTL gekauft, schafft jetzt im Haus auch 3-6 Satelliten. Um von den 5V auf 3,3V TTL zu kommen habe ich einfach einen Spannungsteiler verwendet. 5V sind zwar theoretisch möglich, wollte ich aber nicht testen.
Nach ca 5 Messungen stimmt die Postion recht gut, werde versuchen die Ausgabe auf 4Hz zu stellen und dann die Ergebnisse zu mitteln. Muss dazu wahrscheinlich die Uart Funktion ändern, die scheint viel Rechenzeit zu benötigen. Die Lib von Fleury funktionierte nicht, und meine Version ist etwas einfach geraten.
Am meisten Nerven hat mich die letzten 2 Tage die Umrechnung von WGS-84 auf die Koordinaten vom Grundstück mit Nullpunkt in der S-W Ecke gekostet. Ich werte nur die Nachkommastellen der Minuten aus, das ist mehr als genug. Da werden 5 Stellen übertragen, und der Compiler hat sich geweigert mit 32Bit Integer Variablen zu arbeiten, hat nie geschafft zu komplieren wenn ich den Wert durch 10 dividieren wollte. Jetzt lese ich nur 4 Stellen ein, und kann diese Fehlerfrei mit 16Bit verarbeiten. Eigenartig dass hier der Compiler spinnt, und im anderen Programmteil Sinus und Cosinus berechnen kann.

Bald wird es Zeit die Schleife zu verlegen, werde mit 1/3 des Grundstückes anfangen, bin gespannt ob es bei der Größe noch funktionieren wird.

Gibt es schon Bilder von deinem Mäher? Wenn ich das Gehäuse halbwegs fertig habe werde ich neue reinstellen, wird 1-2 Wochen dauern.

LG

Beecee
06.03.2010, 17:39
Bilder gibts auf meiner Homepage, wenn ich es schaffe werde ich heute mal ein Video noch hochladen.
Das mit deinem GPS klingt aufregend, wäre vielleicht später was für mich, ich warte erstmal wie es bei dir läuft :-).

Grüße
Michael

damfino
06.03.2010, 19:05
Hab mir die Galerie angesehen, wir verwenden das gleiche Display :)
Sieht ja einiges professioneller aus als mein im wahrsten Sinn des Wortes zurechtgeschnitzer Mäher.
Weil ich da gelesen habe dass du dir über den Gleichlauf der Motoren Gedanken machst: Bei mir ist die Regelung extrem von der PWM Frequenz abhängig. Jetzt sind 1kHz eingestellt, da geht es am Besten bei niedrigen Drehzahlen, bei 10kHz ist es besser für hohe Drehzahlen, bei 60kHz drehen sie sich nur mehr in Zeitlupe. Also was man oft liest je höher PWM je besser, stimmt da überhaupt nicht.
Da hilft nur probieren, ich leg halt Wert darauf auch langsam fahren zu können und dass das Mähwerk nicht auf Höchstdrehzahlen laufen muss.
Der Gleichlauf wird bei meinem Mäher alle 0,5s geregelt, es wird aus der Summe PWM links+rechts ein Faktor bestimmt, dieser Faktor^2 kommt zum PWM am langsamen Rad dazu, am anderen weg. So regelt er bei niedrigen Geschwindigkeiten weniger hektisch, und reagiert trotzdem einigermaßen schnell.
Aber ich habe je 6 Magente an den Rädern, und beide Flanken werden erfasst. Eine gute PID Regelung habe ich damit nicht geschafft, aber die einfache Lösung geht auch ganz gut.

LG

Beecee
06.03.2010, 20:03
Das Display ist leider nicht mehr aktuell, habe jetzt nur noch ein 20x2 eingebaut.
Deine Vorderräder habe ich schon mal bei Pollin gesehen aber leider kann ich sie nicht mehr finden, wo hast du deine her ?

Michael

damfino
06.03.2010, 20:54
Ich meinte auch das 2x20, ich kann darauf die Spannung auf 0,1V genau, dazu Messerdrehzahl, PWM Messer, PWM Motor links, PWM Motor rechts, Position x, Position y, Fahrtrichtung, Statusanzeige GPS (nicht verfügbar, verfügbar und Position nach Odometrie, verfügbar und Position nach GPS), Anzahl Satelliten, und Fahrmodus (normale Fahrt, Drehen, Zurücksetzen, Spirale, fahre zu Punkt) auf gleichzeitig anzeigen. Ist nur etwas kryptisch, man muss wissen was was bedeuted.

Meinst die Speichenräder? Die sind bei mir hinten. Würde sie aber nicht empfehlen, da sie aus Hartplastik sind, und daher nicht viel Grip haben. Aussen ist kein Gummi, sondern eben nur eher glattes Plastik. Dafür könnte man leicht ein paar Schrauben als Spikes anbringen.
Die sind vom Neuhold-Elektronik.

LG

Beecee
06.03.2010, 21:11
Genau die Speichenräder meinte ich, meine Räder sind halt schwer und um Gewicht zu sparen wollte ich andere Räder nehmen.
Wenn ich Zeit habe werde ich mir nächste Woche welche lasern (ala Robocut) und mal testen.

Michael

damfino
21.03.2010, 20:39
Heute gibt es neue Fotos. Es gibt einen Tragegriff im Schwerpunkt der alles am Gehäuse etwas komplizierter macht, ich hab die oberen Bumper als Unterfahrschutz und das halbe Gehäuse fertig. Fehlt noch das Heck und eine zweite Serviceklappe über dem Akku, Farbe für die Holzteile, und allgemein Geräusch und vor allem Vibrationsdämpfung bei den leichten Platten. Die Bumper anzuschließen wäre auch ganz praktisch ;-)

LG!

Beecee
21.03.2010, 22:13
Hallo Damfino,

so langsam neigt sich dein Projekt dem Ende, sieht gut aus.
Ist das oben in der Mitte der GPS-Empfänger ?

Grüße
Michael

damfino
22.03.2010, 10:32
Hallo Michael,
Ja das ist der GPS Empfänger, schön weit weg von den Motoren, und mit einer Schaumstoffbefestigung gegen Stöße geschützt.

Es gibt noch ein paar Baustellen, der hintere Sensor wird von den Fahrmotoren gestört, Vibrationsdämmung, und je nach Laufzeit eventuell ein zweiter Akku oder eine Ladestation. Man kann auch Solarzellen anbringen, Platz ist vor dem Tragegriff vorgesehen.

Man kann mit diesen Schleifensensoren aus RN-Wissen auch nicht der Schleife entlang fahren da sie nur 0 oder 1 als Ergebnis liefern.
Wenn ich als (zu 70%) Maschinenbauer die Sensorschaltung richtig verstehe empfängt die einfach alle Signale, daher könnte man die um einen Filter erweitern damit man nur die Schleife empfängt und schon gibt es weniger Störungen.

Wenn die Schleife verlegt ist, werden die Tests erst so richtig anfangen, wäre Unwahrscheinlich wenn alles perfekt funktioniert ;-)

LG!

Beecee
22.03.2010, 11:09
Hallo Damfino,

bei mir hat sich wieder mal raus gestellt das die Motoren zu schwach sind, deshalb habe ich mir mal jetzt welche mit ordentlich Power bestellt.
Mein Sensor in Motornähe wurde auch stark gestört deshalb habe ich ihn um 8cm höher gesetzt und dann ging es wunderbar.
Wegen der Sensoren habe ich auch schon überlegt sie nur vorne anzubringen
(links/rechts) weil die Wahrscheinlichkeit das er bei Rückwärtsfahren aus der Schleife fährt ist so gering das man das vernachlässigen kann, damit könnte man auch super der Schleife entlang fahren.

Grüße
Michael

jo_robot
22.03.2010, 18:36
ich hab jetzt den threat nicht ganz durchgelesen. Aber Ein Klassenkamerad und ich bauen grade auch einen Rasenmähroboter. Wir wollen das Problem der Navigation insofern lösen, dass man einmal per Fernsteuerung um das zu mähende Gebiet mäht und dann erkennt der ROboter die "Kante" zwischen gemähtem und ungemähtem Gras. Ich werde das Projekt vorstellen sobald wir fertig sind :)

aber erste Bilder usw könnt ihr auf http://lars-projekt.de angugen

Richard
22.03.2010, 20:22
Das hatte ich auch mal vor, klappt auch ziemlich gut wenn Man nur alle
1/2 Jahr Rasen mäht. Dann kann man die Kante zwischen gemät und noch
nicht gemäht halbwegs gut erkennen und Auswerten....mach das mal bei
einen Rasen der jeden Tag kurz gehalten wird!

Wer DAS schafft kann Rasennäher ohne Ende verkaufen und wird sogar Reich dabei!

Grüße Richard

jo_robot
22.03.2010, 20:36
Das hatte ich auch mal vor, klappt auch ziemlich gut wenn Man nur alle
1/2 Jahr Rasen mäht. Dann kann man die Kante zwischen gemät und noch
nicht gemäht halbwegs gut erkennen und Auswerten....mach das mal bei
einen Rasen der jeden Tag kurz gehalten wird!

Wer DAS schafft kann Rasennäher ohne Ende verkaufen und wird sogar Reich dabei!

Grüße Richard

ja das stimmt. auch wenn ich nicht vor all halbe jahr sonder so alle 2 monate. hoffe das geht :)

Richard
23.03.2010, 07:28
Ich vermute das die Teppichmesser Klingen einfach zu wenig Masse
haben um gut zu Mähen? Wenn man sich einmal so einen großen
Kreiselmäher anschaut, stellt man fest das eine recht große Masse
(Scheibe) beschleunigt wird an der recht kleine Messer sitzen. Da
hält das Messer nicht gleich an. Man könnte auch versuchen einen
Auto Lüfter Motor zu nehmen und den langsam anlaufen lassen?

Ich suche zum Testen noch eine gebrauchte Heckenschere als
Mähbalken Ersatz ....

Gruß Richard

the_muck
23.03.2010, 08:51
Mähen kann man ja mit vielen, die Motorsensen funktionieren ja auch mit einfachen Nylon Fäden ;). Was mich wundert ist das hier viele bei Autonomen Projekten noch mit µC arbeiten der Schritt zum NetBook liegt doch nahe.

Beecee
23.03.2010, 09:09
Weil ein Netbook anfälliger ist als ein µC und du alles über USB machen musst was wiederum auf der Gegenseite einen µC bedarf.
Denke ein Netbook bringt nur nachteile und ist ausserdem viel zu teuer.

Richard
23.03.2010, 09:20
Wenn Kameraauswertung dazu kommt könnte das Sinn machen
wegen der Rechenleistung. Dann aber besser ein Minni Board mit
12 V Versorgung. Fehlt (bei mir) nur der Satz Ohren vor der Tastatur
um die Kameraauswertung zu proggen....

Gruß Richard

the_muck
23.03.2010, 09:42
Die NetBooks oder andere werden bei den RoboCups doch zu hauf eingesetzt (Rescue, Middle Size...) , über die Robustheit würde ich mir da weniger Gedanken machen. Der Preis OK, aber man ist in Sachen Rechenleistung doch viel flexibler auch bei der Auswertung der Algorithmen... Ist natürlich wieder eine ganz anderer Richtung der Hard und Software aber bei Autonom agierenden Robotern...

damfino
25.03.2010, 21:15
Hier die neusten Fotos. Werde ihn morgen im Garten testen, vorerst noch ohne Schleife, die muss ich erst verlegen.

Hinten kann man mit den kleinen Riegeln schnell 2 Klappen öffnen um zur Elektronik zu kommen. Wenn man ein paar Schrauben entfernt kann man das Bedienfeld entfernen und kommt so zu den Motoren. Die rückwärtige Verkleidung, sowie die große Platte oben können auch entfernt werden, fix angeklebt sind nur die Radkästen, die Verkleidung vorne und an den Seiten.
Vom Boden her ist er praktisch dicht, von oben gibt es Spalten bei den Serviceklappen und vor allem bei den oberen Bumpern. Trotzdem wäre er so halbwegs gegen Regen geschützt, da Wasser nur an harmlosen Stellen eindringen kann.

LG!

damfino
26.03.2010, 17:43
Ich hab 2 Videos gemacht, leider ohne Ton und nur 15 Sekunden lang, mehr lässt meine alte Digitalkamera nicht zu.
Er ist aber recht leise, das Mähwerk rauscht leise wenn kein Gras vorhanden, und ein leichtes rasseln wenn es Gras schneidet. Drehzahl ist bei 2700U/min.
Die Fahrmotoren sind am lautesten, aber dank Gehäuse mit etwas Geräuschdämmung nicht störend. Aus 10m Entfernung hört man gar nichts, und heute war wirklich ein ruhiger Tag.

Video 1 (http://members.aon.at/wstocke6/Video1.avi) zeigt ihn beim Fahren,
Video 2 (http://members.aon.at/wstocke6/Video2.avi) den Beginn: Warten auf GPS Signal, Messerstart, Fahrt. Das Display ist leider schlecht zu erkennen.

Probleme habe ich noch mit den Bumpern, diese dachte ich schon gelöst zu haben, anscheinend doch nicht.
Schleife muss erst verlegt werden, die hatte im November auf ein paar m2 schon funktioniert, jetzt kommt mal 1/3 des Gartens drann (~300m2) .

LG!

Beecee
27.03.2010, 12:24
Hallo Damfino,

hätte nicht gedacht das dein Rasenmäher so flott unterwegs ist, navigiert er jetzt per GPS oder nimmst du das nur als grobe Orientierung ?

damfino
27.03.2010, 12:51
Hallo Michael,

Die Fahrgeschwindigkeit ist vom Mähen abhängig, wenn es schwerer zu Mähen geht und daher die Messerdrehzahl sinkt, fährt er langsamer.
Die Fahrmotoren sind leistungsmäßig aber schon an der Grenze, der unebene Boden bremst extrem.

Die Navigation geht in erste Linie über Odometrie. Wenn es ein verlässliches GPS Signal gibt wird bei einer Positionsdifferenz >3m die aktuelle Position durch die GPS Position ersetzt. Mit denen wird weiter übr Odometrie berechnet bis die Abweichung wieder >3m ist. Ebenso die Fahrtrichtung bei Abweichung >10°.
Ein verlässliches GPS Signal ist mit >=3 Satelliten und HDOP <=2 definiert.

Die Positionsberechnung selber wäre wesentlich genauer, durch die 12 Radimpulse ist sie auf 4,8cm limitiert, GPS geht theoretisch auf 10cm genau, dabei werte ich die letzte Kommastelle gar nicht aus.
Ein guter Kompass würde die Verlässlichkeit der Odometrie wesentlich erhöhen, aber die 150€ und mehr sind mir zu viel. So behelfe ich mir mit der Kompassrichtung vom GPS.

Mit einer besseren Positionsbestimmung könnte ich mit den vorhandenen Routinen alles exakt mähen. Fehlt nur eine verlässliche Positionsbestimmung.

Habe grad die Fahrmotoren mit MU Folie umwickelt, damit sind die Störungen am Hecksensor schon geringer. Große Störungen gibt es wenn die Steuerung die Motoren zum bremsen blockiert, in dem Fall wäre ein Fehlsignal egal. Mal sehen, schlimmstenfalls werte ich diesen Sensor nur beim Rückwärtsfahren aus. Aber 2 Sensoren um zu sehen ob man die Schleife verlassen hat, bzw diese funktioniert wären auch besser als nur einer.

LG!

Beecee
27.03.2010, 12:57
Hallo Damfino,

setzte einfach den Sensor höher wenn du kannst, hat bei mir funktioniert.
Ich hätte ja nicht gedacht das er überhaupt so schnell unterwegs ist, meine RB 35 sind auch viel zu schwach weshalb ich ja jetzt stärkere und hoffe bessere Motoren gefunden habe, muss nur noch alles in Version 3 verpacken :-).

Grüße
Michael

damfino
27.03.2010, 13:07
Welche Motoren verwendest du jetzt? Meine 385er sind schon doppelt so stark wie die RB35. Gesamtübersetzung bei mir ist 200:1.

Den Sensor kann ich noch 5cm höher setzen, oder eventuell tiefer, unter die Bodenplatte, dazu müsste ich aber einen neuen kleineren Sensor bauen.
Werde probieren ob es was bringt.

LG!

[edit] die Position vom Sensor zu verändern bringt nichts, auch 10cm höher empfängt er noch Störungen.
Werde noch einen Kondensator in die Leitung hängen, vielleicht kommen da auch Störungen mit. Prinzipiell wäre ein Filter eine gute Idee, damit die Störungen gleich gar nicht von der Schaltung verstärkt werden.

Beecee
27.03.2010, 13:17
Ich habe jetzt Gleichstrommotor Fabr. Engel Typ GNM2145 mit angebautem Planetengetriebe G5 120:1, die haben ordentlich Power und hoffe das sie auch lange laufen.
Ich werde in der neuen Version auch keinen Sensor mehr hinten anbauen da die wahrscheinlichkeit sehr gering ist das er nach hinten aus der Schleife fährt, stattdessen kommen jetzt vorne 2 Sensoren rein.
Damit lässt es sich besser der Schleife entlang fahren um die Ladestation zu finden.

damfino
27.03.2010, 13:32
8,6A Anlaufstrom sind auch ganz nett :-k Ansonsten eine Überlegung wert!

Ich hoffe das durch das andauernde Mähen die Löcher im Boden zuwachsen, und damit meine Motoren weiterhin ausreichen. Irgendwann soll sowieso eine dauerhaftere Version nachfolgen.

Ein paar enge Stellen hinter Büschen gibt es wo ein hinterer Sensor sinnvoll wäre, am Maschendrahtzaun sind die Bumper nicht so verlässlich.
2 Sensoren vorne sind sicher sinnvoll. Ich kann leider die Schleife nicht an allen Stellen perfekt verlegen, und kann daher nicht zu 100% der Schleife entlang fahren.
Ausser ich verlege ein Stück auf dem Gehweg, oder kreuze ihn mehrmals, dann kann man damit auch Einbrecher fangen ;-)

Ladestation ist erst der nächste Schritt, über die Kombination Navigation+Schleife kann ich die sicher auch erreichen.

LG!

damfino
01.04.2010, 17:53
Mein Rasenmäher hat jetzt 2x45min Dauertests hinter sich:

-Hatte eigentlich gehofft länger als ~45min zu fahren, aber der unebene Boden, hohes Gras für Tests, und oftmalige vor-zurück bei Engstellen brauchen halt nett Saft.

- die Eigenbau Vorderräder haben unter starker Belastung geklemmt, jetzt sind wieder die schweren Möbelroller angebaut, aber die drehen sich wenigstens.

- die Antriebsräder haben wie erwartet wenig Grip, aber genug dass es die Räder mehrmals von der Welle geholt hat. Die Madenschrauben von den Rädern und auch von einem Zahnrad wurden locker, hat tiefe Kratzer an den Wellen verursacht, so dass eine normale Demontage verhindert wird. Mit den Kratzern kommt man nicht mehr durch die Kugellager.

+ Die Mähleistung ist super, schafft dichte >10cm hohe Stellen ohne Probleme, hat auch ein paar herumliegende 5mm dünne Äste gehäckselt.
Alles wird fein gemulcht, auch vom hohen Gras bleibt nichts übrig.

+ Er hat es geschafft sich aus sehr engen Stellen zu befreien, wie etwa hinter einer Reihe von Büschen mit ~70cm Abstand zueinander und zum Zaun.

+ die unteren Bumper sprechen zwar auch auf sehr hohes Gras an, das es später nicht mehr geben soll, aber sie helfen auch ohne Schleife stabilere Blümchen zu erkennen. Die werden zwar 5cm weit angeschoben, bleiben aber intakt, sehr wichtig für den WAF! ;-) Um die wichtigen Stellen kommt noch die Schleife.

+- Gps geht überraschend gut, nur die Richtungsanzeige ist unbrauchbar, da muss ein Kompass her.

Jetzt fehlt noch die Schleife, muss mir noch viele Befestigungshaken zurechtbiegen um den Draht gut am Boden festzuhalten. Der hintere Sensor ist wegen Störungen unbrauchbar, der vordere funktioniert bei Tests mit laufenden Motoren ganz gut. Wahrscheinlich wandert der hintere Sensor auch nach vorne um dann mit 2 Sensoren besser der Schleife entlang fahren zu können.

Größte Schwachstelle derzeit ist der Antrieb, die Motoren bewegen sich im Motorträger um mehrere Millimeter, das verursacht Verschleiß und unnötigen Stromverbrauch.
Nächste Baustelle betrifft die Fahrleistung, 45min sind mir zu wenig, ein zweiter Akku parallel macht Probleme beim Laden. Da ich ohne Fußangeln am Geweg keine gute Schleife verlegen kann, fällt damit das entlang der Schleifen zur Ladestation fahren aus. Das geht nur Abschnittsweise, dazu brauche ich Navigation, und dazu erst mal einen Kompass.

Inzwischen muss er so fahren, besser er mäht als ich;-)

LG!

mare_crisium
01.04.2010, 21:03
damfino,



+- Gps geht überraschend gut, nur die Richtungsanzeige ist unbrauchbar, da muss ein Kompass her.

wird die Begrenzungsschleife den Kompass nicht stören?

Könntest Du hier mal eine Excel-Tabelle mit den GPS-Positonsdaten von einer Mähfahrt posten? Es braucht nicht die komplette Fahrt sein, >100 Messpunkte genügen. Ich glaube ich weiss eine Interpolationsmethode, mit der man daraus die aktuelle Fahrtrichtung ausrechnen kann ;-).

Ciao,

mare_crisium

damfino
01.04.2010, 21:20
Keine Ahnung ob die Schleife den Kompass stört, wäre gut zu wissen bevor man so ein Ding kauft!

Die Positionsdaten liegen im Bereich von 0/0 bis 2400/4200 vor (Garten in cm), die GPS Daten werden entsprechend umgerechnet.

Deine Idee werde ich aufgreifen, ich hab schon eine Funktion die mir die Richtung von der aktuellen Position zu einer Zielposition berechnet. Die kann ich auch mit einer alten Position füttern, das Ergebnis +180° ergibt dann die aktuelle Richtung.

Ein Problem bleibt dass die GPS Daten doch nur auf 2-3m genau sind, und man deswegen weit fahren muss um eine verlässliche Richtung berechnen zu können. Der GPS Empfänger berechnet seine Kompassrichtung ja auch auf so eine Art.
Deswegen wäre ein Kompass besser, der zeigt auch bei Drehungen sofort die richtige aktuelle Richtung an.

LG!

mare_crisium
02.04.2010, 23:07
damfino,

tja, mit der Genauigkeit ist es bei GPS auf dem Massstab unter einem Meter leider nicht so weit her.

Die Methode, an die ich dachte, passt ein quadratisches Ausgleichspolynom ("Parabel") an die letzten paar Punkte an. Damit kann man sowohl den aktuellen Standort als auch (über die Tangente) die Fahrtrichtung schätzen. Durch die Mittelung wird die Streuung um den Faktor wurzel(Anzahl verwendeter Messpunkte) kleiner. Verwendet man die letzten 6 Messpunkte (jeder Punkt mit einer Streuung von 3m) würden dann die Streuung der Ortsschätzung auf ca. 1,20m sinken. Um die Streuung auf 0,1m zu reduzieren, müsste man 900 Messpunkte zur Mittelung verwenden. Aber selbst das ist für Deine Pläne wohl nicht gut genug. Schade.

Ciao,

mare_crisium

damfino
03.04.2010, 11:09
Hallo!
Die Genauigkeit von 1,2m würde mir schon genügen, nur die interne Berechnung geht genauer, den Formeln ist das egal.

Das GPS sendet jede Sekunde die Position, in der Zeit fährt der Mäher ca 60cm. Mit 6 Messungen wäre man fast noch innerhalb der 3m Ungenauigkeit des GPS von der ersten Messung. Kommt da wirklich noch was vernünftiges heraus?
Denn er sollte schon relativ schnell nach einer Drehung die halbwegs korrekte Richtung haben, nach 10m wäre es schon zu spät, da ist er ziemlich sicher schon wieder an einem Hinderniss.

Die Berechnung kann man leicht überprüfen, am Weg von 0/0 bis 360/0 ein paar Zwischenpunkte annehmen, diese mit +/-300 varieren, und dann sieht man eh obs passt.

Andere Frage: wie bringt man dem Atmega ein quadratisches Ausgleichspolynom bei? Mein Taschenrechner kann es, aber wie man die numerische Lösung selbst programmiert dazu fehlt mir grad ein oder mehrere Geistesblitze.

LG!

mare_crisium
03.04.2010, 18:58
damfino,

die Anpassung geht nach dem Prinzip der kleinsten Fehlerquadrate. Der entscheidende Trick ist, die Anpassung für die x- und y-Koordinaten getrennt durchzuführen - dann bekommt man eine parametrische Darstellung der Bahnkurve. Es könnte sein, dass ein ATmega16 die Berechnungen ausführen kann; ein ATmega32 kann es bestimmt - um Fliesskomma-Arithmetik kommst Du dabei aber nicht herum.

Ich hab' den Algorithmus seinerzeit per Excel auf Flugbahndaten angewendet. Die Ergebnisse waren sehr brauchbar. Der Flieger hatte eine GPS-Messrate von 4Hz, war andererseits natürlich auch schneller als Dein Fahrzeug.

Ciao,

mare_crisium

damfino
07.04.2010, 18:52
Im Flugzeug ist jede Messung sicher weiter als 3m entfernt, dann gibts keine Probleme mit dem Interpolieren, aber ich glaube nicht dass das funktioniert wenn alle Messpunkte noch innerhalb des ersten Messfehlers liegen.

Inzwischen habe ich die Antriebe umgebaut, die Abtriebswelle vom Getriebe besser abgestützt. Zuvor hat es die Motor-Getriebeeinheit, bzw den Motorträger unter Belastung verwunden, war schlecht für die Zahnräder.
Jetzt kann er immer die Motorkraft anbringen.

Fotos nach dem Mähen, bzw eine schöne Fahrspur im Rasen. Schnitthöhe ist 5cm, das Gras selber ist >10cm hoch.
Auf der Homepage in voller Auflösung.

Ein unerwartetes Phänomen hatte ich mit dem Atmega:
Die Schleifensensoren sind angeschlossen, programmiert und getestet. Da die Schleife immer noch nicht verlegt ist, aber im Code wieder auskommentiert.
Trotzdem hat er ein paar Mal gleich nach dem Einschalten den Vollkreis zur Schleifensuche durchgeführt und sich natürlich dann abgeschalten.
Beim nächsten Einschalten hat er die Sensoren aber wie er sollte ignoriert und ist über 40 Minuten gefahren.
Wie kann das sein? Flash defekt, so dass alte Programmteile aktiviert werden??

LG

Beecee
07.04.2010, 21:33
Hallo Damfino,

im unteren Bild sieht man gut die Bahn die er gemäht hat, welchen Motor hattest du als Mähmotor.
Ich bin heute auch mal zum test auf die Wiese gefahren, die neuen Antriebsmotoren ziehen super durch aber mein Mähwerk mit dem Edelstahlmesser ist zu schwach.

Grüße
Michael

damfino
07.04.2010, 22:54
Hallo Michael,

Ja, das im unteren Bild ist so richtig schön sichtbar wie er mäht, und am oberen sieht man die Inseln, an denen er anscheinend prinzipiell vorbei und dafür lieber gegen den nächsten Baum fährt...

Als Mähmotor ist ein Bühler Star Max eingebaut, 45W, 3000U/min unter Last. Habe es noch nicht geschafft diesen mit PWM gut zu regeln, mit 2700U bei 30%PWM läuft er rund, bei niedrigeren Drehzahlen fängt er an zu schwingen. Mit einem normalen Spielzeugtrafo kann man ihn super regeln, also liegt es an der PWM Frequenz.
Mit dem Mähwerk alleine auf Drehzahl genehmigt er sich gut 2A, Anlaufstrom ist max 11A. Mein Mähteller ist sehr leicht und hat ein geringes Trägheitsmoment, da genügen 4A Anlaufstrom.
Mähbreite ist 26cm, dieses hohe und teilweise dichte Gras ist halt schon ein Härtetest wie es nachher nicht mehr vorkommen soll. Aber schön dass er es schafft, gab nur ein paar Stellen wo die Drehzahl unter 1200U (Schwellwert im Programm) sank und deswegen der Mäher die Stelle ein zweites Mal angehen musste.

LG!

damfino
16.04.2010, 20:56
Die Navigation hat heute erstmals funktioniert, er konnte nacheinander 3 Punkte am Grundstück anfahren und an diesen Punkten seine Spiralen drehen.

Beim Anfahren der Punkte fährt er manchmal kleine Umwege, oder dreht sich mal um 90° nur um sich gleich darauf wieder um die 90° zurückzudrehen, aber er ist angekommen. Timeout für das Erreichen eines Punktes sind 3 Minuten, das konnte er einhalten. Die GPS Koordinaten unterscheiden sich leicht von den von mir errechnten GPS Koordinaten, und hinter dem Haus wird es ungenauer, daher wollte er unbedingt fast in der Hausecke die Spirale fahren und nicht 4m weiter wie geplant. Anscheinend hängt es wirklich sehr vom Empfang des Egnos Satelliten ab wie genau alles funktioniert. Auch die GPS Koordinaten vom Grundstück gehören sicher überarbeitet um die Genauigkeit zu erhöhen.

Aber das Prinzip der Navigation funktioniert, er ist vom ersten Punkt (=erste Spirale) aus durch 5m Engstelle zwischen Haus und Zaun ~20m nach Norden gefahren, dann wieder Spirale, und von dort zum 3. Punkt 8m nach Westen und wieder Spirale.
Alle 3 Punkte wurden etwas zu weit südlich angefahren, was ich auf die Umrechnung der GPS Koordinanten zurückführe, es waren 3-4m Unterschied zum Plan, Ost-West war es <2m Unterschied. Also innerhalb der GPS Genauigkeit, aber wenn ich die Umrechnungsfunktion anpasse sollte es noch besser werden.

Ach ja, es ist jetzt doch ein Kompass verbaut, ein CPMS03, da dieser nur ein 2-Achs Kompass und am Mäher nie genau waagrecht ist, geht er grad mal +/-20° genau. Man kann hier also noch viel verbessern.

LG!

Beecee
21.04.2010, 10:58
Hallo Damfino,
das der Kompass so ungenau geht hätte ich nicht gedacht, hatte mir das auch überlegt als grobe Navigation zu nehmen.
Ich habe meinen jetzt mal mit einem 1,2Ah Akku getestet und er hat 25min durchgehalten und bei 11Volt abgeschalten, denke mit einem 4,5Ah Akku geht noch was.
Leider habe ich mir meinen ATmega abgeschossen (hoffe das es nur der ist) als ich mit meinen Ultraschallsensoren gespielt habe und die Motoren abgeklemmt hatte, warte noch auf den neuen und dann geht es bei mir auch weiter.

Grüße
Michael

Thoralf
21.04.2010, 13:16
Die GPS Koordinaten unterscheiden sich leicht von den von mir errechnten GPS Koordinaten, und hinter dem Haus wird es ungenauer, daher wollte er unbedingt fast in der Hausecke die Spirale fahren und nicht 4m weiter wie geplant
kann auch daran liegen, daß dort nicht alle Satelliten zu sehen sind.
Ich hab ne Weile mit einer GPS-Maus getestet, der ein Programm (PC) zur Darstellung der Position in einem Zielkreis und die Sichtbarkeit der Satelliten beilag. Es war deutlich zusehen, daß, wenn die verarbeiteten Satelliten weit auseinander lagen, die Positionsbestimmung genauer war. Wurde ein vorher benutzter Satellit durch das Haus verdeckt oder ging unter, kamen Sprünge bei der Ortsbestimmung vor.
Das sollte man beachten.

damfino
21.04.2010, 15:38
Der Mäher war insgesamt 4h auf Testfahrten für die Navigation unterwegs. Auf einer freien Fläche funktioniert es recht gut. Aber auch da hat er mit Vorliebe eine um 5m in Richtung Norden verschobene Position. Ost-West schwankt um +/-2m. Habe alles noch mal nachgerechnet, die Umrechnung ist korrekt, aber warum er fast immer zu weit nördlich annimmt, keine Ahnung. Ich korrigiere es jetzt indem immer 2.5m abgezogen werden.
Auf den Engstellen am Haus vorbei gibt es mehr Schwierigkeiten, grade mal weniger als 5m, bzw weniger als 3m Platz, Bäume mittendrin, wenn er da einen schlechten Empfang hat findet er kaum den Weg. Das wird soweit verbessert indem ich bei Kontakt mit der Begrenzungsschleife die Position kalibrieren kann. zB neben dem Haus in Ostrichtung ist er an der Grundstücksgrenze, die ist bekannt, in Westrichtung steht er am Haus an, auch diese Position ist bekannt. Ist halt etwas Arbeit passende Stellen zu finden und diese Abfragen je nach Stelle des Grundstückes zu programmieren.
Alternativ könnte ich ihn an den Engstellen ein Stück entlang der Schleife fahren lassen, zB an der Ostseite von 10m Nord bis 35m Nord, das lässt sich einfach programmieren.

@ Michael: Dieser Kompass ist für waagrechte Montage gedacht, kippt er um 1° ist der Messfehler mindestens 2°. Mein Grundstück ist relativ eben, daher kann ich mit dem Fehler leben. Einen 3-Achs Kompass dem das egal ist gibt es nicht unter 150€, da war mir ein gebrauchter CPMS03 doch lieber.
Untersuche auch den Spannungsregler, mir hat nach einem Kurzschluss ein defekter Regler noch 3 weitere Atmegas vernichtet. Der Defekt war am Multimeter nicht erkennbar.

@ Thoralf: Die Genauigkeit ist stark vom Empfang des EGNOS Satelliten abhängig. Daher ist es generell auf der Südseite viel besser als auf der Nordseite des Hauses.
Ich versuche das so auszugleichen indem bei Empfang von mehr als 4 Satelliten bei zB 3m Abweichung von der Odometrieposition die GPS Daten verwendet werden, wenn zusätzlich HDOP kleiner als 2 ist, wird schon bei 2m Abweichung die GPS Position genommen.
Wenn kein GPS Empfang da ist, muss er mit Odometrie auskommen bis er wieder mindestens 4 Satelliten hat.

LG!

damfino
24.04.2010, 15:12
Heute konnte ich die Begrenzungsschleife auf vorerst 250m2 auslegen, das war bis jetzt die nervigste Arbeit. 150 Stk selbstgebogene Befestigungshaken verbraucht, für den Rest des Grundstücks kann ich eine Großproduktion starten.
Aber das wichtigste: die Schleife funktioniert! Nochmal Dank an Christian H dass er die Schaltung ins RN Wissen gestellt hat.
Versorgt wird die Schaltung mit einem alten Spielzeugtrafo mit 14V, damit hat es auf den 23x11m super funktioniert. Habe auch probiert 10m ausserhalb der Schleife den Mäher zu starten, da hat sofort die Schleifenerkennung angesprochen.

Ab jetzt wird aus der Bastelei ein wirklich brauchbares Produkt! Leider muss ich trotzdem den Benzinmäher anwerfen weil dem Robi das 20cm hohe Unkraut einfach zuviel ist.

LG!

damfino
26.04.2010, 17:37
Der Mäher hat 2 weitere Betriebsstunden hinter sich und kann jetzt auch entweder links oder rechts entlang der Schleife fahren.
Das werde ich zusammen mit der restlichen Navigation dazu verwenden um an Engstellen sicher von A nach B zu gelangen.
Er bekommt jetzt neue Akkus, 4x10Ah LiFePo, damit sollte er sehr lange unterwegs sein. Da die Zellen nicht gerade klein sind wird der Einbau zur Kunstaktion ;-)

LG!

Beecee
26.04.2010, 19:03
Hallo Damfino,

wo bekommst du die Akkus her und zu welchem Preis ?
Wo hast du die Spulen für die Schleife angebracht und nach welchen System fährst du der Schleife entlang, das muss ich bei mir auch neu programmieren da ich ja jetzt beide Spulen vorne habe?
Meiner läuft auch wieder, hat jetzt vorne zwei SRF05-Sensoren bekommen, es war übrigens nur der Prozessor defekt.

PS: mach mal wieder ein Video, will was sehen :-)

Grüße
Michael

damfino
26.04.2010, 19:27
Hallo Michael,

es sind diese Akkus: http://www.activeshop24.de/Akkus-fuer-Elektrofahrrad/Einzelzellen/LiFePO4-3-3V----Headway-38120----Einzelzelle-346.html
Die sollten ewig halten da sie mit nur einem Bruchteil des möglichen Entladestromes belastet werden.

Die Sensoren sind beide vorne angeordnet, je 7,5cm von der Mitte des Mähers entfernt. Die Steuerung ist primitiv aber erfolgreich: bei zB Fahrt nach rechts beide Sensoren ausserhalb -> rechte Rad stoppen bis rechter Sensor innerhalb ist. Beide Sensoren innerhalb -> linke Rad stoppen bis linker Sensor ausserhalb ist.
Fährt etwas eckig, aber so schafft er auch 90° Winkel der Schleife ohne Probleme.

Wie funktionieren die SF05 im Gelände? Reagieren die schon auf dichtes Gras oder hast Du sie nach unten abgeschirmt? Ich hätte auch gerne Sensoren dass er vor Hindernissen langsamer fährt und nicht mit voller Fahrt reinknallt.
Denn ich seh schon, die Schleife um jedes Hinderniss zu legen ist mir sicher zu mühsam! Und bis die Schleife wirklich passt und er bei der Schleifenfahrt nicht wo aneckt und trotzdem der Rand gut gemäht wird, da wird man öfters die Schleife ändern müssen :(

LG!

Beecee
26.04.2010, 19:58
Ich muss noch etwas mit den Sensoren spielen, beim ersten Versuch waren sie zu tief und da hat er auch schon hohes Gras erkannt.
Deine Akkus sind natürlich der Hit aber auch nicht ganz billig, wäre eine überlegung wert.

Grüße
Michael

damfino
01.05.2010, 20:17
Gestern und heute habe ich den Rest der Schleife verlegt, in Summe knapp über 300m. Sollte eine Stelle nicht passen wird der Robi umgebaut bis es passt, ist sicher einfacher.
Die Schleife funktioniert, der Robi kämpft nur gegen das Gras, das ist seit letzten Samstag über 10cm gewachsen. Da wird es bei sehr dichten Stellen dem Mähmotor einfach zuviel.
Ab jetzt kommt der Robi täglich zum Einsatz bis mal alles gemäht ist, die Navigation gehört verfeinert, und ich muss mir noch überlegen wie man am Besten den Rand mäht, dh wie oft und wie das programmieren.
Die neuen Akkus müssen auch mal rein, es bleibt noch genug zu tun.

LG!

Beecee
01.05.2010, 20:31
Hallo Damfino,

wenn du die neuen Akkus getestet hast melde dich mal.
Ich habe heute auch einen neuen Mähmotor eingebaut und muss jetzt mal testen ob das was wird, allerdings zieht der auch 1,9A.

Grüße
Michael

damfino
02.05.2010, 20:12
Hallo Michael, konntest du den neuen Mähmotor schon testen? Ich musste meinem Motortreiber einen Kühlkörper und einen kleinen Ventilator verpassen, der wurde im hohen Gras und damit hoher Dauerbelastung heiss und hat die Leistung reduziert. So war kein Mähen mehr möglich.

Hab auf deiner Homepage das Fahrvideo gesehen, der fährt ja auch recht schnell. Die fertigen Mäher sind ja eher in Zeitlupe unterwegs. Ich würde gerne das Getriebe der Fahrmotoren so leise wie beim Automower hinbekommen, finde aber nichts stabiles und leistbares.

Die Akkus hat rob2mow kurz getestet, einen Balancer wird man wahrscheinlich nicht brauchen. Die Zellen haben nach 3 Zyklen keine nennenswerten Spannungsunterschiede. Vielleicht kommen erst mit der Zeit Unterschiede raus, aber die E-Bikes, wo diese Zellen verwendet werden, haben nicht mal einen Anschluss für einen Balancer.

LG!

Beecee
02.05.2010, 20:40
Hallo Damfino,

die Geschwindigkeit habe ich jetzt schon reduziert, hatte einen Bericht über einen Automover gesehen und da ist mir das auch aufgefallen.
Den Mähmotor habe ich schon eingebaut und der macht auch ordentlich Betrieb, zieht allerdings mit meiner Messerkonstruktion 1,7-1,9Ampere.
Werde diese Woche noch eine Scheibe als Mähmesser testen und sehen was er dann braucht.

Grüße
Michael

damfino
03.05.2010, 11:10
Mein Mähmotor macht auch wenig unter 2A, aber er hat genug Leistung dass er wirklich Gras mäht, im Vergleich zum Benzinmäher schlägt er sich überraschend gut. Daher lieber einen höheren Stromverbrauch und eine gemähte Wiese als sparsam und Urwald ;-)

Die Scheibe bringt eine etwas geringere Last durch den geringen Luftwiderstand. Vor allem ist das Mähwerk damit sehr leise, die Fahrmotoren sind sicher lauter.
Ich suche immer noch ein leises Getriebe ~200:1 das 10Nm aushält...

LG!

damfino
09.05.2010, 20:43
Status nach 21 Betriebsstunden:
.) er zählt jetzt auch seine Betriebsstunden
.) Navigation funktioniert recht zuverlässig
.) Mähleistung ist super
.) Schwachstelle bleibt Antrieb

Die Navigation geht recht gut, problematisch wirds natürlich an Stellen die nur 2.5m breit sind und die GPS (Un)Genauigkeit schon größer als der verfügbare Platz ist. Er kommt trotzdem ans Ziel, auch wenn er länger an den Rändern festhängt bis er den passenden Kurs durch die Engstelle gefunden hat. Nach einer Minute gibt er es auf das momentane Ziel zu erreichen, das Ziel wird als unerreichbar markiert.
Das funktioniert solange man keine ungültigen Koordinaten angibt, die kann er nicht sperren und so sucht er ewig... Aber jetzt ist eine Sicherheitsabfrage eingebaut die solche Tippfehler verhindern.

Wichtig ist die Auswahl der fixen Punkte die er anfahren soll, hier muss man die Umgebung und die Ungenauigkeit des GPS berücksichtigen damit er alles gut erreichen kann. Trotzdem, wenn ein Baum in der Nähe ist, er findet ihn ](*,)

Ein Getriebe ist heißgelaufen, schien alles gut geschmiert zu sein, aber der Schein hat getrügt. Konnte es noch retten, aber seitdem ist es lauter und etwas schwergängiger.

Ansonsten darf er sich mit bis zu 15cm hohen Gras herumärgern, da ich keine Lust habe den Benzinmäher anzuwerfen und das Sonntags ausserdem verboten ist ;-)
Wenn man ihn regelmäßig einsetzen kann hat er mit dem Gras überhaupt kein Problem mehr, auch wenns stellenweise 1-2cm pro Tag wächst.

LG!

damfino
12.05.2010, 19:40
Hier mal eine Auswertung der Navigation, er hat ein paar der Spiralen vor und hinter dem Haus gedreht und natürlich den Weg von einem Teil in den anderen finden müssen. Da der Empfang an dieser Stelle schlecht ist fährt er ein paar Umwege, deswegen ist zwischen Haus und Zaun mehr als notwendig gemäht.
1 Kästchen entspricht 1m x 1m.


http://members.aon.at/wstocke6/Analyse

LG!

Beecee
12.05.2010, 22:04
Hallo Damfino,

was bedeuten die Zahlen ?
Die Auswertung finde ich klasse, da kann man mal sehen wo es hänger gibt und wo nicht.

Grüße
Michael

damfino
13.05.2010, 10:39
Anhand der Zahlen sehe ich wie oft er auf dem entsprechenden Feld war. Fertige Spiralen werden mit Zahlen >50 markiert da diese Felder praktisch lückenlos gemäht sind. Zahlen über 150 haben eine andere Bedeutung, damit kann er bei der Navigation von A nach B temporär Hindernisse markieren. Die werden aber nach erreichen der Sollposition wieder zurückgesetzt. Alles über 200 sind feste Hindernisse wie das Haus oder leicht schräge Grundstücksgrenzen. Bäume sind nicht als Hinderniss drinnen, dazu ist das GPS zu ungenau, bzw 50cm sind doch einiges kleiner als ein Feld.
Die Karte wurde mit 2 initialisiert um sie für die erste Auswertung sicher im EEPROM zu erkennen.

Mit dieser Karte wird festgestellt ob überall gemäht wurde. Aus diesem Grund muss alles was nicht erreichbar ist als Hinderniss markiert werden. Man kann auch gezielt die noch leeren Flächen anfahren, ob das Sinn macht muss ich erst ausprobieren, denn wo der GPS Empfang schlecht ist sucht er lange den Weg bis er den Versuch abbricht. Das Timeout runterzusetzen ist aber wieder schlecht wenn er ans andere Ende vom Garten muss.
Derzeit verwende ich die Navigation um gezielt die Spiralen auf den großen Flächen zu fahren und um die Ränder abzufahren (= Schleife finden), der Rest bleibt noch dem Zufall überlassen. Programmiert ist schon lange alles, aber der Dauerregen verhindert ausführliche Tests.
Nach ein paar weiteren Auswertungen werde ich ihn schrittweise Bereiche freigeben in denen er auch nach noch leeren Feldern suchen darf.

LG!

damfino
11.06.2010, 18:37
Der Mäher hat jetzt 53 Betriebsstunden drauf, und leider auch schon erste Schäden. Der Mähteller war nach ein paar Zusammenstößen mit den Solarlampen verbogen und wurde durch einen stabilieren ersetzt, dabei wurde auch eine Abdeckung wie beim Automower eingebaut, auch die diesmal aus Alu.
Am unerwartetsten war, dass die Motorritzel wegen Abnutzung getauscht werden mussten. Am Anfang war die Lagerung schlecht und deswegen ein Verschleiß sichtbar, nach einem Umbau schien das behoben zu sein. Bei der letzten Kontrolle vor 20 Betriebsstunden schien auch noch alles ok zu sein, aber wie es jetzt ausgesehen hat sieht man am Foto im Vergleich alt-neu.

LG!

http://members.aon.at/wstocke6/Maeher_17

damfino
08.07.2010, 13:45
Der Robi hat jetzt 75h gearbeitet, ich warte noch auf neue Motoren bevor der ganze Antrieb umgebaut wird und dann hoffentlich ohne laufende Reparaturen den Betrieb mitmacht.

Auf der Homepage ist unter Software eine genaue Beschreibung der Positionsbestimmung zu finden.
Diese und die Navigation sind für mich vorerst abgeschlossen, ich schätze ich habe mit den vorhandenen Mitteln das Maximum herausgeholt. Wenn das GPS nicht dazwischenfunkt liegt die Genauigkeit bei <2m. Probleme gibt es nur wenn das GPS zB wegen Reflexionen falsche Daten liefert, die sich bei Engstellen natürlich schlimmer auswirken als auf freier Fläche.

Weitere Verbesserungen sind mit einem besseren Kompass und in weiterer Folge mittels Baken möglich, damit man in Bereichen mit schlechtem GPS Empfang eine weitere Referenz hat.

Aber momentan muss der Robi einfach haltbarer (Getriebe!) werden.

LG!

damfino
24.07.2010, 20:34
Ich hab ein Video auf Youtube gestellt das eine Fahrt zwischen 2 Punkten zeigt. Wenn der Regen vorbei ist folgen weitere Videos.

Video (http://www.youtube.com/watch?v=fRudTdLHzhg/)

LG!

damfino
10.08.2010, 17:31
Nach 97h war der Antrieb endgültig nicht mehr zu gebrauchen und wird in diesen Tagen komplett umgebaut.

Mit Robi2mow hatte ich eine Diskussion über die Begrenzungsschleifen, da einige hier im Forum große Probleme mit der Schaltung aus RN-Wissen haben.
Diese Schaltung kann theoretisch mehr Störungen verursachen als eine Schleife die Sinussignale verwendet. Ich kann jedoch keine Störungen feststellen, die Schleife war bei den Tests im Arbeitszimmer neben PC und WLan-Router ausgelegt, es hat sowohl die Schleife als auch WLan, Handy, Schnurlostelefon, etc ganz normal funktioniert.

Ich betreibe die Schleife mit einem alten Modellbautrafo mit 14V. Gerade gemessene Leistungsaufnahme: 2,7W. Das Messgerät kann ab 1,5W messen mit +/-1W Toleranz.
Die Gesamtlänge der Schleife beträgt ziemlich genau 300m, entsprechend 930m2 Garten mit vielen Hindernissen.

Vielleicht helfen diese Daten anderen Rasenmäher Bastlern weiter.

LG!

nero123
10.08.2010, 20:16
Hi
schau die mal diese Seite an http://www.u-blox.ch/ in kurze gibts den LEA 6 da kannst du dann auf eine Genauigkeit von ca 5cm kommen mit DGPS
ist dann aber auch sehr hoch im Preis (über 1000€)

nero123
10.08.2010, 20:20
muss Dir noch sagen eine :Eine SUPER ARBEIT die Du da gemacht hast =D>

damfino
06.09.2010, 11:56
Im letzten Monat hat sich beim Robi einiges getan:
Der Antrieb wurde komplett umgebaut, es sind MFA385er Motoren mit 264:1 Planetengetriebe verbaut. Die Motoren hängen nur an der Radsatzwelle und einer Drehmomentstütze, damit ist es egal wenn die Kupplung wie es immer so ist nicht perfekt fluchtend ist, die Aufhängung gibt nach und die Lager werden nicht überlastet. Dazu passend neue Räder die am Beton auch Grip haben.
Der Mähmotor hat einen PID Regler bekommen, damit konnte ich die Drehzahl von 3200 auf ~2500U/min senken.
In Summe ist der Robi sehr leise geworden, fast mit dem Automower vergleichbar.
Der Atmega32 ist einem 644 gewichen, es wurde der Flash Speicher knapp und der 644 hat Vorteile bei den Interrupts zur Drehzahlmessung.

Das Programm ist schon für den automatischen Betrieb vorbereitet, man kann zB Start und Endzeiten einstellen, und unabhängig davon ihn auf Knopdruck jederzeit los- bzw heimwärts schicken. Die Ladestation wird durch eine bestimmte Stelle an der Schleife und einer Abfrage der Akkuspannung als Ersatz fürs Aufladen simuliert.

Probleme gibt es noch mit der TWI Anbindung des Attiny (Balancer).

Geplant ist eine neue Hauptplatine mit einem m644 und m32 da mehr I/O Pins benötigt werden, wenn das mit dem Attiny nicht gelöst werden kann muss auch der Balancer geändert werden. Dazu ein neuer Robi aus Alu, Ladestation, dh wird eigentlich alles neu ;-)

LG!

silas
09.09.2010, 18:04
Hallo,

ich beobachte die ganzen Rasenmäher Gechichten schon ca. zwei Jahre. Ich habe vor ca. einem Jahr angefangen mir einen zu bauen.

Ich habe ihn sehr robust gebaut, da ich ca 1600m² Rasenfläche hab mit Hängen. Mein Rasenmäher (SHEEPi) wiegt jetzt mit Akku 14kg. das meiste Gewicht macht die 5mm Alu-Grundplatte und der Bleigel Akku.
Die 385er Motoren waren da überfordert.

Hier zwei Bilder vorm letztem Umbau (nur noch ein Akku, Elektronik nur noch eine Box, nicht mehr Leistung und Steuerung getrennt, Denso Motoren mit Direktantrieb statt 540er mit Riemen)

http://diemichaels.kilu.de/Bilder/Rasenmaeher/IMGP3569.JPG

http://diemichaels.kilu.de/Bilder/Rasenmaeher/IMGP3570.JPG

damfino
10.09.2010, 11:48
Hallo,
Sieht wirklich sehr massiv aus! :) Wie ist es denn mit diesen Rädern, ist nicht zu viel Gewicht am vorderen?
Ja, mit den 385er Motoren braucht man da nicht mehr zu kommen, bei mir gehts da meiner viel leichter ist und die Planetengetriebe die doppelte Belastung aushalten als die normalen Stirnradgetriebe. Und dabei viel leiser sind.
Um Gewicht zu sparen kann ich die LiFePo Zellen empfehlen, die 4 Zellen für 12 mit 10AH wiegen 1.4kg.

Wie weit ist der Robi schon im Einsatz? Schleifensensoren sehe ich keine, oder sind die gut versteckt?

LG!

silas
10.09.2010, 13:38
Bin grad dabei mein Projekt mal bei "(fast) fertige Projekte" vorzustellen. Das dauert blos etwas alles zu schreiben

damfino
05.10.2010, 11:17
Die Entwicklung an diesem Mäher ist für mich jetzt abgeschlossen, ohne große Umbauten sind keine Neuerungen mehr möglich:

Er kann:

Fahren zu bestimmten Zeiten,
Randmähen an bestimmten Tagen,
Anzeige an welchem Tag zu welcher Uhrzeit er das nächste Mal losfährt,
"Ladestation" anfahren,
Ränder abfahren in beiden Richtungen, normalerweise mit beiden Sensoren, an einer Stelle wo der Boden sehr zum Zaun hängt fährt er nur mit dem linken(äusseren) Sensor um nicht zu leicht hängenzubleiben
Spiralfahrt links-rechts herum, an bestimmten Positionen oder wenn die Messerdrehzahl stark sinkt
Fahrgeschwindigkeit abhängig von der Mähleistung (dh dichtes Gras, geringere Messerdrehzahl, langsamer fahren)
Navigation, die wenn er Schwierigkeiten (viele Kollisionen) hat abgebrochen und von der aktuellen Position aus neu gestartet wird (max 3x),
Suche von noch nicht gemähten Fläechen,
Taster für Stop-Ausschalten/Weiterfahren,
Taster für Heimfahrt, bzw Losfahren bei jedem Akkustand und jeder Uhrzeit. Bei dieser Heimfahrt bleibt er bis zum nächsten Tag in der "Ladestation" oder man ihn vorzeitig mit dem Taster losschickt.


Was noch kommen soll:

Ladestation,
Erkennung der Ladestation,
Neuen Robi aus Alu
Schwingend aufgehängtes Gehäuse damit es keine Lücken bei dem Bumpern mehr gibt
Ladelektronik + Balancer in Robi einbauen,
Die Bumper für vorne/hinten/links/rechts einzeln auswerten,


Bin mit dem Ergebnis sehr zufrieden, es gibt jede Menge Error Routinen die ihn aus fast jeder Situation befreien, das soll bei Version 2 mit dem neuen Gehäuse dann endgültig kein Problem mehr sein. Er ist sehr leise, so dass ich schon mal eine Runde ums Haus machen muss um herauszufinden wo er grade ist, und wird auch mit hohem Gras locker fertig.
Es gibt weiter Überlegungen einmal auf BL-Motoren umzusteigen, dort kommt beim Antrieb aber die große Getriebefrage. Da werde ich erst abwarten wie lange die derzeitigen Motoren halten.

Version 2 ist in Planung, bis zum Frühjahr ist noch genug Zeit, bis dahin bleibt dieser Robi im Einsatz.

LG!

damfino
14.10.2010, 16:27
Nachdem es immer wieder vorkam dass der Robi so an ein Hinderniss fuhr dass er genau zwischen 2 Bumpern anstand und daher nichts bemerkte und ewig weiter geradeaus fahren wollte, ist jetzt eine einfache Erkennung ob sich ein Vorderrad bewegt eingebaut.
Wenn es sich nicht bewegt => Annahme Hinderniss, einmal zurückfahren und drehen.
Es ist im Rad ein Magnet eingeklebt, und ober dem Rad auf der Unterseite der Bodenplatte ein Reedkontakt angeordnet. Der funktioniert auch bei 2cm Abstand zum Magnet noch zuverlässig. Die einzige Einschränkung ist dass die Erkennung nur bis zu einer Auslenkung von max +/-45° funktioniert.
Dafür braucht man sich keine Gedanken machen wie man einen Sensor + Kabel an dass sich beliebig drehbare Rad bekommt.
Für Version 2 ist eine andere Variante geplant die bei jeder Auslenkung den Magneten erkennt, aber hier wollte ich nicht mehr viel umbauen.

Vielleicht ist diese einfache Lösung für andere interessant.

LG!

damfino
02.11.2010, 21:36
Ich hatte einen Programmier Anfall, hatte mich zuerst in Scilab und dann im AVR Studio mit dem A* Algorithmus http://de.wikipedia.org/wiki/A*-Algorithmus beschäftigt.
Als Ergebnis macht mein Mäher jetzt die Routenplanung nach A* und erhält so immer die perfekte Route zwischen 2 Punkten.
Ist schon erstaunlich was man alles in einen Atmega quetschen kann!

Hier eine Auswertung vom Robi, einmal quer übers Grundstück, die einzelnen Schritte sind von 33-70 numeriert.

http://members.aon.at/wstocke6/A-Stern_Test

LG!

H.A.R.R.Y.
22.12.2010, 07:37
Hallo damfino,

hatte gestern mal Zeit mir alles durchzulesen. Gefällt mir sehr gut und Du hast Dir sehr viel Mühe gegeben das Projekt auch noch begleitend zu dokumentieren. Besonders hilfreich fand ich auch das, was nicht funktioniert hat. Hoffentlich hilft mir das bei meiner Idee für einen Mäher einige Fallen gleich zu vermeiden.

Ist das Problem mit dem I²C/TWI noch offen oder schon gelöst?

Und noch eine Frage zur Schleife:
Welche Sorte Kabel hast Du auf den Rasen "getackert"? Und wie ist es um die Haltbarkeit des Kabels bestellt?

Gruß
H.A.R.R.Y.

damfino
22.12.2010, 19:02
Hallo H.A.R.R.Y.,

Ich finde dass auch Fehler ein (Um)weg zum Ziel sind. Vielleicht ist es auch gar kein Fehler, sondern man hat wieder mal nur ein Brett vorm Kopf, und wenn man es postet hat vielleicht jemand eine gute Idee dazu.

Das mit dem TWI ist gelöst, es gibt auf mikrcontroller.net eine neue Lib für das USI vom Attiny und mit der geht es.

Mittlerweile ist die Version 2 im enstehen, da sind die neuen Platinen schon zusammengebastelt, Lader und Balancer angeschlossen, und die ersten Programme laufen schon. Mit dem TWI stehe ich noch immer leicht auf Kriegsfuss, da sich die mittlerweile 3 Kontroller beim einschalten manchmal gegenseitig stören.

Im Anhang ein Bild der neuen Elektronik, von links: Lader, Balancer, vorne Hauptplatine, hinten zentrale Stromversorgung mit Anschlüssen für Akku, Lader, Ladestation und dem 5V Spannungswandler (kleine Platine) + dazugehörigen Sicherungen.


Als Kabel für die Schleife habe ich normale Einziehdrähte 2.5mm2 verwendet, die sollten schon einige Jahre halten. Wie es aussieht gräbt man die Schleife sowieso mehrmals ein bis sie einmal passt ;-)

LG!

H.A.R.R.Y.
23.12.2010, 07:37
Hi, Danke für die Antwort. Einziehdraht - das ist wahrscheinlich das Zeug, was ich als Einzelader kenne. Und ich dachte eher an das schwarze Kabel NYM-J 3x1,5².

Ja, das Einschalten und am I²C-Bus "anmelden". Die Lib vom microcontroller.net kenne ich nicht, allerdings habe ich vor langer Zeit angefangen mir selbst mal eine zusammenzustellen. Ging mir allerdings mehr um das Thema einheitliche Softwareschnittstelle auf TWI, USI oder 100%-Softwarelösung. Na jedenfalls sucht der Compiler raus, um welchen Controller es sich handelt und nimmt dann die passende Routine. Im Programm schreibe ich beispielsweise nur "setupTwiBusMaster()" und damit ist das dann unabhängig vom Controller erledigt.

Die Init-Routine für das USI aus dieser Lib würde ich gerne mal hier vorstellen, da ich glaube das ist der Knackpunkt. Der Trick ist den µC so an den Bus zu hängen, daß eventuell schon laufende Transfers nicht gestört werden - dann gibt es auch keine falschen "Start-" bzw. "Stop-"Zustände.

Zuerst ein Auszug aus dem Header (damit wird die Rotuine hoffentlich verständlicher). Sollte sich einigermaßen selbst erklären, hoffe ich:


#if defined (__AVR_ATtiny2313__)
#include <avr/io.h>
#define __TWIsupportedByUsi__
#define TWIport PORTB
#define TWIread PINB
#define TWIddr DDRB
#define TWIsclBit 7
#define TWIsdaBit 5
#elif defined (__AVR_ATtiny26__)
#include <avr/io.h>
#define __TWIsupportedByUsi__
#define TWIport PORTB
#define TWIread PINB
#define TWIddr DDRB
#define TWIsclBit 2
#define TWIsdaBit 0


Und hier die Init-Routine (nicht am Namen stören, der Init gilt definitiv für USI sowohl Master- als auch Slave-Mode!):


#if defined (__TWIsupportedByUsi__)
char setupTwiBusMaster (void)
{
// setup does not disrupt any I²C transfer!
USICR = (0b11<<USIWM0) | (0b10<<USICS0) | (0b0<<USICLK); // USI vorbereiten
TWIddr &= ~(1<<TWIsdaBit); // SDA als Eingang = hochohmig
TWIport |= (1<<TWIsdaBit) | (1<<TWIsclBit); // SDA und SCL pull-ups aktivieren
TWIddr |= (1<<TWIsclBit); // SCL als Ausgang freigeben
USISR = (1<<USIOIF) | (1<<USIDC) | (1<<USISIF) | (1<<USIPF); // USI starten
return (0);
}

Kernpunkt ist die Reihenfolge in der die diversen Aktionen erledigt werden; besonders die der verwendeten IO-Pins.

Ein Wort noch zur Umgebung (Compiler), der Vollständigkeit halber:
Ich benutze das WinAVR-Projekt. Der benutzte Controller wird da im Makefile definiert und die #if-Abfragen nutzen das dann aus um den richtigen Code auszuwählen (siehe Header für tiny2313 oder tiny26).

Ach ja, pro TWI-Bus je einen Pull-Up an SCL und SDA von etwa 4k7. Nicht alle µCs haben intern die Weak-Pull-Ups aktiviert, die Megas sperren das Feature im TWI-Modus sogar (schau mal ins Datenblatt).

EDIT:
Im Folgeabsatz ist mit "Controller" jeder "Teilnehmer" am Bus gemeint, also nicht nur µCs, sondern auch andere Schaltungen wie IO-Extender (z.B. PCF8574) oder EEPROMs (z.B. 2401).

Und natürlich müssen alle Controller mit Spannung versorgt sein wenn der Bus gestartet werden soll! Sonst zieht der/die unversorgte(n) Controller die Leitungen massiv gegen etwa 0,7V runter. Zuerst ist alles blockiert und dann kommt auf beiden Leitungen der Anstieg gleichzeitig - das führt dann meist zu falschen Start-Stop-Zuständen bei den bereits aktiven Controllern. Schau im Zweifel auch mal darauf.

Falls Du sie noch nicht hast, hier findest Du die Beschreibung des I²C-Bus: http://www.nxp.com/documents/user_manual/UM10204.pdf

Gruß
H.A.R.R.Y.

damfino
26.12.2010, 19:04
Hi,
Ich hab diese Lib für Slave am Attiny laufen: http://www.mikrocontroller.net/topic/38917 Die letzte Version unten auf der Seite funktioniert.
Am Atmega 32 läuft für den Slave diese Lib: http://www.jtronics.de/elektronik-avr/lib-i2ctwi-avr.html

Die von jtronics für den Attiny wollte nicht funktionieren, ebenso die lib aus rn-wissen für den Atmega. Be der gab es große Verzögerungen und Daten gingen verloren.
Da der Slave das LCD verwaltet ist es schon sehr wichtig dass die Übertragung der Daten mit I2C korrekt funktioniert, sonst hat man beim debuggen gar keine Chance

Die Einschaltprobleme wurden durch den Spannungswandler verursacht. Ich hatte auf der 12V Seite eingeschaltet, das hat mit dem L7205 funktioniert, mit dem modernen Spannungswandler nicht. Da muss man auf der 5V Seite einschalten.

Also, Master+Slave+Kompass funktionieren am I2C Bus, und natürlich die Ausgabe der Daten über den Slave am LCD.
Was nicht funktioniert ist der Beschleunigungssensor, dieser weigert sich zu antworten.

LG!

H.A.R.R.Y.
27.12.2010, 08:38
Mit dem TWI stehe ich noch immer leicht auf Kriegsfuss, da sich die mittlerweile 3 Kontroller beim einschalten manchmal gegenseitig stören.

Ist dieses Problem mit der neuen Lib auch schon gelöst?
Wie äußert sich der Fehler, wenn er auftritt?

Hab gerade mal den Code der Init-Routine aus der von Dir benutzten Lib (http://www.mikrocontroller.net/topic/38917) gegen meine Variante verglichen. Ergebnis:
Bei mikrocontroller.net werden zuallererst SCL und SDA gleichzeitig als Ausgänge deklariert:

DDR_USI |= ( 1 << PORT_USI_SCL ) | ( 1 << PORT_USI_SDA ); // Set SCL and SDA as output
Typischerweise sind die Portbits im Ausgaberegister (PORTx) insbesondere nach einem RESET aber auf '0' => Beide Bus-Leitungen werden niederohmig und fast gleichzeitig (das liegt im Bereich weniger ns oder noch kürzer!) auf '0' gelegt und stören damit was auch immer gerade auf dem Bus stattfindet.

Jetzt wird es noch schlimmer; nun werden die Leitungen (SCL zuerst) nacheinander niederohmig nach '1' geschaltet. Am I²C-Bus ist aber niederohmig '1' verboten, weil ein anderer Treiber ja gerade '0' senden könnte. Das gibt in so einem Fall einen Kurzschluß. Der Signalablauf sollte zwar eine Stop-Bedingung darstellen, aber der restliche Bus wird durch diesen Init massiv gestört:

PORT_USI |= ( 1 << PORT_USI_SCL ); // set SCL high
PORT_USI |= ( 1 << PORT_USI_SDA ); // set SDA high
SDA wird jetzt endlich hochohmig geschaltet:

DDR_USI &= ~( 1 << PORT_USI_SDA ); // Set SDA as input
Das SCL wird dann durch den USI-Init auf den richtigen Stand gebracht

USICR = ...
Fazit: diese lib vom mikrocontroller.net ist definitiv nicht für Multimaster ausgelegt. Eventuell stören sich aber auch im Single-Master-Betrieb einzelne Slaves an den unerwünschten Pulsen auf SCL und SDA, die durch diesen Init eines Slaves entstehen. Das kann bis zur totalen Busblockade führen - zumindest aber zu massivem Datensalat.

Versuch mal die von mir vorgestellte Init-Reihenfolge. Sie ist getestet und erzeugt keinerlei Störungen auf dem I²C-Bus wenn das USI "angekoppelt" wird. Das ist insbesondere bei Multimaster-Betrieb sehr wichtig. Immerhin kann es sein, daß auf dem Bus schon erste Aktivität läuft, während irgendein Controller erst seine Init-Routine startet. Dann ist Chaos vorporgrammiert. Deine Beschreibung, daß das nur "manchmal" passiert, stützt derzeit meinen Verdacht, daß so ein Effekt bei Dir auftritt.

Welche Controller hast Du im Einsatz und in welchem Modus arbeiten sie am I²C?

Eine andere Baustelle ist dann wohl noch:
Welchen Beschleunigungssensor verwendest Du? Und wie ist der an den I²C angebunden?

H.A.R.R.Y.

damfino
27.12.2010, 11:13
Hi, ja ich werde mal deine Init testen, Verbesserungen schaden nie. Man findet eben immer wieder Libs im Internet die bei manchen problemlos funktionieren, aber bei anderen nicht.

Die Einschaltprobleme kamen vom 5V Spannungswandler, damit kam vor allem der Master nicht zurecht. Seitdem gab es keine Probleme beim einschalten mehr.

Am I2C sind:
Atmega644 Master
Atmega32 Slave
Attiny26 Slave
BMA020 Beschleunigungssensor, Probleme dazu hier:https://www.roboternetz.de/phpBB2/viewtopic.php?p=531507#531507
CPMS03 Kompass

Den Atmega644 werde ich vielleicht gegen einen 1284p austauschen, denn wegen der A* Wegfindung ist der Ram jetzt ziemlich am Limit, etwas Reserve schadet bei meinem Programmierstil nicht :-)

LG!

H.A.R.R.Y.
27.12.2010, 14:17
Könntest auch einen mega mit externem RAM verwenden (z.B. mega162).

Was hältst Du von einem Test in folgendem Aufbau:
ATmega (mit UART) per RS232 an ein Terminal (PC mit Hyperterminal) ankoppeln. Per Schleife einfach mal einen Teststring senden. Hast Du so etwas schon mal gemacht?

Wenn das sauber funktioniert, nur den Beschleunigungssensor an den TWI anschließen (die beiden Pull-Ups nicht vergessen). Der mega könnte dann per Schleife den Sensor auslesen und die Daten ans Terminal senden. So kannst Du prüfen, ohne das andere Komponenten den Bus stören. Wer weiß, ob nicht doch noch ein Bug in einer der Libs ist.

Wenn das funktioniert, die Zahl der Teilnehmer erweitern und notfalls das Tempo auf dem I²C drosseln.

Alternativ solltest Du Dir die Signale auf dem Bus mit einem Oszilloskop ansehen - geht natürlich nur, wenn Du eines hast.

H.A.R.R.Y.

damfino
28.12.2010, 11:41
Für so einen Testaufbau fehlt so ziemlich alles ;-) Kein RS232 am PC mehr, kein Pegelwandler am Atmega, wenigstens ein brauchbares Multimeter ist vorhanden :-)
Die Kommunikation zwischen Master und Slave mit LCD läuft jetzt zuverlässig, ich kann alles nötige am LCD darstellen. Es gibt auch noch 2 LEDs am Master die ich jetzt dazu verwende sie vor und nach vermuteten problematischen Code ein- und ausschalte um den Ablauf zu überprüfen.

Erfolg der letzten Tage:
Kommunikation Master-Slave LCD funktioniert,
GPS am Slave funktioniert
Kompass funktioniert
Kommunikation Master - Balancer funktioniert
Automatischer Ladevorgang funktioniert

zB der Slave kümmert sich ums GPS und bereitet diese Daten auf, der Master holt diese und verarbeitet sie (zB für Betriebszeiten) und schickt die Ergebnisse an den Slave zurück um sie am LCD darzustellen.

Der automatische Ladevorgang hat gestern das erste Mal funktioniert:
Wenn der Master erkennt das eine (korrekte) Ladespannung anliegt und der Akku leer ist, wird das Laderelais aktiviert. Dieses schaltet den Lader ein und aktiviert auch hardwaremäßig die Ansteuerung der Lastwiderstände im Balancer. Das Relais kann hardwaremäßig nur angesteuert werden wenn eine Ladespannung anliegt.
Der Balancer ist andauernd am messen der Zellenspannungen, und gibt diese und den aktuellen Status (ok, Fertig geladen, Fehler) an den Master zurück.
Bei Fehler (Unter oder Überspannung) bzw Fertig geladen schaltet der Balancer das Relais ab.
Der Master schaltet bei Fertigmeldung auch das Relais ab, und setzt den Status im Balancer zurück sodass dieser für den nächsten Ladevorgang bereit ist. Bei Fehler schaltet auch der Master ab, es sind später noch weitere Optionen geplant.
Der Master überprüft auch laufend die übermittelte Gesamtspannung des Akkus vom Balancer mit einer eigenen Messung, bei Abweichungen wird ebenfalls abgeschalten. Kann etwa bei einem schlechten Steckkontakt vorkommen.
Die einzelnen Zellen und Gesamtspannungen werden laufend am LCD dargestellt.

Jetzt fehlt noch der Anschluss der Motortreiber, Hallsensoren, Bumper, Bedientaster, und der neue Robi + Ladestation, also fast nichts ;-)

LG!

H.A.R.R.Y.
28.12.2010, 12:38
ja ja, die neuen PCs und altgediente einfache Schnittstellen. Sch... USB!

Aber da ja sonst schon recht viel funktioniert, sollte das mit dem Beschleunigungssensor auch hinzukriegen sein. Ich poste jetzt zu diesem Thema dort weiter. Paßt besser als hier.

H.A.R.R.Y.

wuwei
24.01.2011, 01:14
Zur Positionsbestimmung häb ich eine Idee. Könnte man nicht so eine Art Mini-GPS nachbilden und zwar mit Ultraschall, weil Schall eine wesentlich niedrigere Geschwindigkeit hat als Funkwellen. So müssten auch schon im Zentimeterbereich deutliche Laufzeitunterschiede festzustellen sein.

Also mindestens 3 Ultraschall-Relaisstationen ("Satelliten") in den Ecken des Gartens aufstellen. Diese sollten schnellstmöglich auf Anfrageimpulse des Robos antworten, und zwar jeweil mit einer anderen Frequenz. Damit müsste die Position aus den unterschiedlichen Laufzeiten recht schnell und zentimetergenau festgestellt werden können.

Richard
24.01.2011, 12:41
Es wird zu viele Stör Geräusche geben und Luftströmungen könnten auch verfälschen.
Das macht man besser mittels Baken wie IR Sender mit mindestens 3 auf dem Gelände Vereitelte kann der Bot mittels Trigonometrie
seine Position ermitteln. Dabei entstehen aber auch immer "Rundgnus Fehler" und diese summieren sich auf. :-(

Wenn ich mir überlege das (ICH) auch nie weiß wo ich mich X/Y genau befinde, aber trotzdem den Rasen mähen kann ohne die Blumen "umzunieten"...... Warum ist das so, weil ich sehen kann! Mit verbundenen Augen würde das nicht klappen. Also bleibt eine Bild / Videoauswertung von markanten Punkten übrig.

Wenn eine Überwachungs- Kamera einem Markierten Objekt folgen kann, kann ein Bot mit Kamera auch auf das Objekt zu fahren b.z.w. aus mehreren Objekten seine Position zu diesen ermitteln.

Es gibt ja auch schon solche Kameras mit denen ein Bot z.B. bestimmte Spielkarten folgt.
Das Problem dabei liegt eher vor der Tastatur, das (bei mir fehlende) KnoffHoff dazu......

Gruß Richard

wuwei
25.01.2011, 10:23
Störsignale und Störgrößen gibt es überall, für solche einfache Aufgaben lassen sie sich aber leicht rausfiltern. Dass Ultraschall prinzipiell gut zur Nahnavigation geeignet ist, zeigen uns die Fledermäuse, die keine Probleme haben, damit sowohl ihre Wege als auch ihre winzige Beute zu finden. Was soll an Infrarot besser sein? IR hat Lichtgeschwindigkeit und ist deshalb für Entfernungsmessung im Nahbereich ebenso ungeeignet wie GPS. Und Positionsbestimmung über Winkel ist bedeutend aufwendiger.

Einen Rasenmäher mit Kamera und Bilderkennung auszurüsten, ist mit Kanonen auf Spatzen geschossen. Die Unterscheidung per Kamera, wo der Rasen schon gemäht ist und wo nicht, ist alles andere als trivial. Da scheint mir das Kartenkonzept mit Positionsbestimmung und abhaken der gemähten Stellen wesentlich einfacher und sinnvoller.

oberallgeier
25.01.2011, 11:00
... IR hat Lichtgeschwindigkeit ... für Entfernungsmessung im Nahbereich ... ungeeignet ...Ich habe seit vielen Jahren zwei optische Sensoren in Benutzung, die ganz hervorragend für Nav igation im Nah- und im Fernbereich geeignet sind, AGC, Farbsensorik und sonstige Features. Vom energetischen Minimalaufwand will ich jetzt garnicht schwärmen. Basis ist Bilderkennung, Stereometrie, eine Menge komplexe Datenverarbeitung - und natürlich mein neuronales Netzwerk im Kopf.


... müssten auch schon im Zentimeterbereich deutliche Laufzeitunterschiede festzustellen sein ...Stimmt. Vor allem, wenn eine Sensor-Peillinie durch eine thermisch andere Luftblase läuft als die andere. Genaue Entfernungsmessung in der üblichen Umgebung, sprich im thermischen Chaos der Atmosphäre ist eine neckische Theorie.

Richard
25.01.2011, 11:12
Störsignale und Störgrößen gibt es überall, für solche einfache Aufgaben lassen sie sich aber leicht rausfiltern. Dass Ultraschall prinzipiell gut zur Nahnavigation geeignet ist, zeigen uns die Fledermäuse, die keine Probleme haben, damit sowohl ihre Wege als auch ihre winzige Beute zu finden. Was soll an Infrarot besser sein? IR hat Lichtgeschwindigkeit und ist deshalb für Entfernungsmessung im Nahbereich ebenso ungeeignet wie GPS. Und Positionsbestimmung über Winkel ist bedeutend aufwendiger.

Einen Rasenmäher mit Kamera und Bilderkennung auszurüsten, ist mit Kanonen auf Spatzen geschossen. Die Unterscheidung per Kamera, wo der Rasen schon gemäht ist und wo nicht, ist alles andere als trivial. Da scheint mir das Kartenkonzept mit Positionsbestimmung und abhaken der gemähten Stellen wesentlich einfacher und sinnvoller.

Mit Störsignale waren (auch) Autos, Motorsägen u.s.w. gemeint. Mit IR waren eher Baken zur Positions erkennung / berechnung NICHT Abstandsmessung gemeint. Wie weit der Rasen entfernt ist weiß man gewöhnlich. :-)

Ob man mittels Kamera erkennen kann wo schon gemäht ist? Auf alle Fälle schwierig, ich dachte da eher an bestimmte Bild-Baken wie Bäume, Hausecken, Gartenbank oder ähnliches. Also vom Prinzip sehen wo hin gefahren wird inklusive Hindernis Erkennung.

Bei US bleibt auch noch der Schall Kegel, bei
20 x 30 m Rasenfläche sicher nicht zu vernachlässigen. Dazu noch mögliche Ruflektionen.....das wird auch nicht wirklich einfach beim Auswerten....

Gruß Richard