- 3D-Druck Einstieg und Tipps         
Seite 1 von 39 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 390

Thema: Rasenrobo mit Induktionsschleife, Schaltbilder, Hallsensor

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.05.2006
    Beiträge
    260

    Rasenrobo mit Induktionsschleife, Schaltbilder, Navigation mit WLAN-Camera

    Anzeige

    Praxistest und DIY Projekte
    Der Rasenrobo wurde zwischenzeitlich umgebaut. Bilder gibt´s auf Seite 14 und ein Video mit dem letzten Stand der Technik auf der letzten Seite 28. Die Ortung des rasenrobo mit einer WLAN-Camera zur Navigation gibt´s auf Seite 29 und 30






    Hallo liebe Freunde von Robos und Rasenmäher,

    es ist das erste Mal, dass ich mich im Forum melde. Als Gast habe ich ettliche nützliche Informationen aus dem Forum erhalten und möchte deshalb zeigen was daraus geworden ist. Ich denke, es ist am geeignetsten bereits alle wichtigen und für euch hoffentlich interessante Punkte komplett in einen Beitrag wiederzugeben. Dieser Beitrag ist deshalb etwas lang geraten.

    http://www.Rasenrobo.de/IMGP1210.jpg

    http://www.Rasenrobo.de/IMGP1201.jpg

    Mein Rasenrobo hat die ersten praktischen Einsätze erfolgreich hinter sich.
    Chassis: Unten 2 parallele Regalschienen. Eine Metallschiene quer. Darüber Platte aus Flugzeugsperrholz (Modellbau, 4 mm, sehr stabil und eben)
    RBNFRA-Board
    Navigation mit Begrenzungsschleife (4 Sensoren) und Kompass CMPS03. Neigunssensor. 1 Sharp GP2D12. 9 Mikroschalter.
    Kommunikation zum PC über easy radio: ER900TRS-02. RF04/900 USB Telemetrie Modul
    Antrieb: 2 x RB35 Getriebe 1:200, Drehzahlmessung und Odometrie mit Hall-Sensoren.
    Rasenmähermotor : brushless Torcman 420-20 ohne Getriebe (Abgeschirmt mit Mu-Metall). Regler: Jeti 40-O- F, Drehzahlmessung optisch mit CNY70.
    Sichel: Kunststoffscheibe mit 3 beweglichen 4 cm langen Klingen
    Akkus 10 x 2000 und 12 x 3600 NiMH.
    (Ultraschallentfernungsmesser SRF10 eingebaut, wegen Störanfälligkeit nicht verwendet)


    Grundsätzliches zur Navigation: Für den Rasenrobo ist absolut erforderlich, dass er eine Begrenzungsline auf cm genau erkennt, da ich ihn ungern aus unserem Teich fischen möchte. D.h. GPS auch mit Referenzmessung, Peilung mit rotierender IR – Strahl nach VOR – Prinzip, US-Entfenungsmessung, Triangulation mit IR – Baken sind zwar reizvoll aber entweder zu ungenau oder zu unsicher, da mechanisch anfällig.

    Induktionsschleife: Über einen Timer - gesteuerten MOS-FET (noname aus altem Regler. evtl. BS 170 verwenden) wird ein kurzer Strompuls durch die Induktionsschleife geschickt. Die steil ansteigende Flanke induziert im Sensor eine Spannung deren Polarität (z.B. positiv) davon abhängt, ob der Sensor innerhalb oder ausserhalb der Induktionsschleife liegt. Anschliessend bricht die Spannung vom Netzteil ein, da fast ein Kurzschluss über die Induktionsschleife vorliegt. Der Abfall ist aber flacher und induziert eine geringere, entgegengesetzte Spannung (negativ) im Sensor. Beim kurz darauf folgenden Abschalten der Induktionsspannung wird durch eine Freilaufdiode ebenfalls die Flanke des Spannungsabfalls eher flach gehalten. D.h. der im Sensor gemessene 2. entgegengesetzte Spannungsimpuls (negativ) ist geringer und kann auch durch die zeitliche Abfolge leicht vom 1. auseinandergehalten werden. Als Netzteil verwende ich, wegen des kräftigen Strompulses, eins für Notebooks 15V (3,5A)-24V 15V Einstellung reicht aber locker aus.

    Schaltung:
    http://www.Rasenrobo.de/ Induktionsgenerator.JPG

    Sensor: Spule mit Eisenkern aus einem alten Relais (z.B. 24V, 300 Ohm Innenwiederstand). Die induzierte Spannung und deren Polaritität wird über einen Operationsverstärker gemessen und über den ADC ausgewertet. Die Spule nur an OP anzuschliessen war bei mir nicht erfolgreich. Die Zeitdauer des Spannungsimpulses ist zu kurz. D.h. Kondensator zur Spule parallel schalten. Damit aber kein Schwingkreis entsteht, muss über einen, ebenfalls parallel geschalteten, Widerstand der Spannungsabfall gedämpft werden. Die u.g. Werte habe ich durch Versuch und Irrtum. Vielleicht kann das ja jemand von Euch optimieren.

    Schaltung:
    http://www.Rasenrobo.de/ Induktionssensor.JPG


    Im Programm wird in einer Schleife gewartet bis am ADC eine größere Schwankung auftritt. Dafür werden die Maximal- und Minimalwerte des ADC seit Einstieg in die Schleife bestimmt. Bei entsprechender Differenz Ausstieg aus der Schleife und Bestimmung ob eine Spannungsausschlag nach + oder – erfolgt ist. Kommt kein Impuls ist der Sensor genau über der Schleife. Liefern alle Sensoren keinen Impuls ist die Induktionsschleife nicht aktiv oder kaputt und der Rasenrobo schaltet sich ab.

    Programmschnitzel in BASIC für 4 Sensoren.

    Code:
      Max0 = 0 : Max1 = 0 : Max2 = 0 : Max3 = 0       
     MIN0 = 1024 : MIN1 = 1024 : MIN2 = 1024 : MIN3 = 1024
      B0 = getadc(0): B1 = getadc(1): B2 = getadc(2): B3 = getadc(3)
       Ii = 0
       For Iii = 1 To 1000
          D0 = getadc(0)  : D1 = getadc(1): D2 = getadc(2): D3 = getadc(3)
          If D0 > Max0 Then Max0 = D0
          If D1 > Max1 Then Max1 = D1
          If D2 > Max2 Then Max2 = D2
          If D3 > Max3 Then Max3 = D3
          If D0 < Min0 Then Min0 = D0
          If D1 < Min1 Then Min1 = D1
          If D2 < Min2 Then Min2 = D2
          If D3 < Min3 Then Min3 = D3
       If Ii = 1 Then Exit For    ‘nach Ansprechen eines Sensors noch ein Durchgang    
       D0 = Max0 - Min0
       If D0 > 50 Then Ii = 1
       D1 = Max1 - Min1
       If D1 > 50 Then Ii = 1
       D2 = Max2 - Min2
       If D0 > 50 Then Ii = 1
       D3 = Max3 - Min3            
       If D0 > 50 Then Ii = 1
       Next
    D0 = Max0 : D0 = D0 + Min0 : D0 = D0 - B0 : D0 = D0 - B0
    D1 = Max1 : D1 = D1 + Min1 : D1 = D1 – B1 : D1 = D1 – B1
    D2 = Max2 : D2 = D2 + Min2 : D2 = D2 - B2 : D2 = D2 - B2
    D3 = Max3 : D3 = D3 + Min3 : D3 = D3 - B3 : D3 = D3 - B3
    ‚D > 0  Sensor innen. D< 0 Sensor aussen
    http://www.Rasenrobo.de/IMGP1219.jpg

    Kompass und Induktionssensor

    Prinzip der Kurssteuerung:
    Robot kommt an Begrenzung > Neues Kurssoll = Kompasskurs + 60 Grad (z.B.)
    Berechnung Kursabweichung = Kurssoll – Kompasskurs
    Kursabweichung > 10 Grad: linker Motor volle Kraft zurück, rechter Motor volle Kraft voraus
    Kursabweichung < 10 Grad: linker Motor 0, rechter Motor volle Kraft voraus
    Kursabweichung < 3 Grad beide Motoren volle Kraft voraus

    Dann Beschränkungen durch Sensoren
    Ein vorderer Sensor aktiv >> beide Motoren zurück
    Linker hinterer Sensor aktiv >> linker Motor darf nicht zurückdrehen
    Rechter hinterer Sensor aktiv >> rechter Motor darf nicht zurückdrehen

    Rasenmähermotor: Aus meiner Erfahrung mit der Modellfliegerei, kam primär ein brushless Aussenläufer in Betracht, da diese einen hohen Wirkungsgrad und insbesondere ein hohes Drehmoment auch bei niedriger Drehzahl besitzen. Nach Beratung durch Herrn Zaiser von Torcman www.torcman.de wurde ein Torcman 420-20 geordert. Dieser wird normalerweise in Segler bis 7,5 Kg, Motormodelle bis 4 Kg eingesetzt und zieht diese mit etwa 5 m/s hoch. Der Motor ist eigentlich für 600 bis 1000 W ausgelegt. Im Rasenmäher wird ihm nur eine Leistung von etwa 40 bis 100 W abverlangt. Der Vorteil ist aber ein sehr hohes Drehmoment durch eine relativ breite Glocke mit 14 Magneten. Deshalb kann auf ein Getriebe verzichtet werden. Der Motor ist sehr leise und im Freien fast nicht zu hören. Dichtes Gras zu schneiden ist kein Problem. Ein kleinerer Motor würde eohl doch reichen.

    http://www.Rasenrobo.de/IMGP1217.jpg


    Als Sichel verwende ich eine Kunststoffscheibe mit 3 beweglichen Klingen. Der Sicherheit halber habe ich mir diese komplett von AutoMower als Ersatzteil für etwa 10 Euro besorgt. Die Platte wird von zwei Zahnrädern (oben und unten), welche mit Madenschrauben an der 6mm Welle befestigt sind, gehalten und damit doppelt gesichert.

    http://www.Rasenrobo.de/IMGP1222.jpg
    http://www.Rasenrobo.de/IMGP1223.jpg


    Der Aussenläufer erzeugt natürlich ein starkes rotierendes Magnetfeld und stört die Induktionssensoren total. Zur Abschirmung musste deshalb spezielle Mu-Metallfolie mit 0,1 mm Stärke in 3 Schichten um den Rotor gewickelt werden. Mu-Metall ist mit einer Permeabilität von 8000 DAS Metall zur Magentfeldabschirmung. Quelle: www.db-electronic.de, Kiefersfelden. Ausserdem sind die Sensoren parallel und in gleicher Höhe zum Motor angeordnet. Damit wird ebenfalls die induzierte Spannung stark reduziert. Aus Symmetriegründen ist theoretisch die Induktion bei exakt paralleler Stellung sogar gleich Null. Die Drehzahl wird durch einen optischen Sensor CNY70 gemessen und geregelt.

    Ich habe festgestellt, dass auch ein Notebook in etwa 10 cm Entfernung die Sensoren noch deutlich stört. Auch muss der Antriebsakku etwa 10 cm entfernt von den Sensoren angeordnet werden. Bei den Antriebsmotoren reichten je 2 Statorringe (Graupner) zur Abschrimung aus. Die Motoren werden auch nicht schlagartig eingeschaltet, sondern schnell aber kontinuierlich über PWM rauf bzw. runtergeregelt.

    Aus Bedenken wegen Verschmutzung habe ich bei den Antriebsmotoren auf Drehzahlmessung durch HALL – Sensoren gesetzt. 16 kleine Magnete (Conrad PIC-M0204 mit 3 mm Durchmesser) sind in einer Holzscheibe an der Antriebsachse angeordnet. 2 unipolare Hall-Sensoren USB620 sitzen unmittelbar nebeneinander, dicht vor der Scheibe.
    Tip: nicht die empfindliche Vorderseite zu den Magneten ausrichten, sondern die Stirnseite. Dann gibt’s einen eindeutigen Impuls bei Vorbeiziehen des Magneten durch Wechsel der Polarität im Hall-Sensor.
    2. Tip Als Versorgungsspannung für den Hall-Sensor nicht 5 V sondern z.B. 12 V verwenden und nur den Ausgang über einen Pullup-Widerstand an 5 V anschliessen. Hierdurch höhere Sensitivität und der Abstand zu den Magneten ist nicht so kritisch.
    Ein Hall-Sensor triggert den Interrupt. In der IR-Routine wird der Zustand des 2. Sensors abgefragt und so die Drehrichtung bestimmt. (Abstand zwischen den Magneten weiter als zwischen den Hall-Sensoren).

    http://www.Rasenrobo.de/IMGP1220.jpg
    http://www.Rasenrobo.de/IMGP1224.jpg


    Die beste Position für den Kompass CMPS03 wurde mit einem magnetischen Kompass bestimmt. (Oder Auspendeln mit einem, an einem Faden aufgehängten Neodym-Magneten). Für den Kompass ist leider ein etwa 8 cm hoher Sockel erforderlich.

    Als Stosssensoren habe ich etliche Mikroschalter angebracht. Als Stossstange dient der gesamte Deckel oder Rahmen über dem Robo. Der Deckel ist einfach mit einigen Federn oder Gummi in der Schwebe gehalten. So reagieren die Mikroschalter egal wo der Rasenrobo andotzt.
    Tip: Für den Deckel oder Rahmen leichte Platten mit Aluminiumbeschichtung zur Wäremisolierung (Obi) verwenden. Die Isolierplatten sind meiner Meinung nach wesentlich besser als z.B. Depron, Styropor oder Styrodur, da sehr stabil, leicht und einfach zu bearbeiten sind, ohne dass in der gesamten Wohnung Flocken von Styropor an einem kleben bleiben und sehen ausserdem besser aus.

    http://www.Rasenrobo.de/IMGP1221.jpg
    http://www.Rasenrobo.de/IMGP1227.jpg

    Kommpunikation zum Notebook per easy radio 800Mhz.
    Progammschnitzel im Robo

    Code:
    Print "x";        ‘Markiert Anfang
    Print Hex(servo);    ‚geht auch an Coprocessor zur Steuerung des Torcman
    Print Hex(volt) ;
    Print Hex(volt2) ;
    Print Hex(kurs) ;
    Print Hex(entf) ;
    Print Hex(d0) ;
    Print Hex(d1) ;
    Print Hex(d2) ;
    Print Hex(d3) ;
    Print Hex(rpmTorcman) ;
    Print Hex(sharp) ;
    Print Hex(Radsensor1);
    Print Hex(Radsensor2);
    Print Hex(kurssoll);
    Print Hex(Essi2);    ‚Empfangsstärke des easy radio
    Print Chr(13);        ‘Abschluss
     
    ‘mit folgender loop  kann Empfangsstärke des Easyradio bestimmt werden
     
       Essi2 = 1000
       Do
       Essi3 = getadc(5) : If Essi2 > Essi3 And Essi3 > 5 Then Essi2 = Essi3   
       Loop Until Ischarwaiting() = 1
       Input Inputstring
    Programm in VisualBasic im PC

    Code:
    Private Sub MSComm1_OnComm()
    buffer = buffer + MSComm1.Input
    End Sub
     
    Sub Hauptprogramm
    Do: DoEvents: i = InStr(buffer, "x")
    If  InStr(buffer, Chr(13)) > 10 And i > 0 Then    ‘Buffer komplett ?
    DoEvents
    sensor0 = Val("&h" + Mid(buffer, i + 1, 4)): Text2(3) = sensor0
    sensor1=.......
    ........  etc.
     
    buffer = "": Text4 = Timer - t: t = Timer:  MSComm1.Output = message ‘Sendung an Robo
    End If
     
    If Timer > t + timedif Then Fehler = Fehler + 1: t = Timer: buffer = "":  MSComm1.Output = message        ‘falls keine Meldung vollständig erhalten wird, erfolgt trotzdem Aufnahme der Verbindung zum Robo nach timedif
    Loop
    End Sub

    Zu Beginn habe ich die Verbindung genützt, um die Sensordaten komplett in den PC zu übertragen, dort den neuen Kurs für den Rasenrobo zu berechnen und diese zurück an den PC zu schicken. Dadurch war es etwas einfacher das Programm zur Steuerung zu entwerfen. Inzwischen ist das Steuerprogramm ganz im Robo und der schickt nur Daten zur Information zurück (Versorgungsspannungen, Kurs, Sensordaten). Für einen geordneten Datenverkehr ist erforderlich, dass jede Stelle abwechselnd sendet und empfängt. Das Roboprogramm stopt z.B. bei Input Inputstring bis Zeilenvorschub (vbcrlf) eintrifft. Dann sendet Robo und schließt mit chr(13) ab. PC-Programm wartet in Schleife bis Chr(13) eintrifft und sendet dann seine Daten.

    Alle schweren Teile Akkus wurden möglichst weit nach hinten verlegt. Dadurch werden die Vorderräder entlastet und der Robo dreht auch in unebenen Gelände oder auf Rasen.


    Das wär´s fürs Erste. Mal sehen, ob ich mich zu einem 2. Bericht aufraffen kann, nämlich über die Schwierigkeiten - z.B. lange Print Befehle beissen sich mit Interrupt, ein Antriebsmotor schaltet sich ohne jeden ersichtlichen Grund nach einigen Minuten aus - deren Lösung und Irrwege (Induktionsschleife mit HF).

    Verbesserungsvorschläge sind natürlich gern gesehen !!

    Video:
    http://www.youtube.com/watch?v=6B8TxPeCObI
    http://www.youtube.com/watch?v=v-EaSPodC-I

    Viele Grüsse
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken imgp2048.jpg   imgp2064.jpg   imgp1223.jpg   induktionssensor.jpg   induktionsgenerator.jpg  

    Geändert von Christian H (09.09.2012 um 20:39 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    57
    Beiträge
    1.195
    Gratulation und Respekt! Ein tolles Projekt.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.05.2006
    Beiträge
    260
    Merci, hat auch jede Menge Zeit gekostet

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Sehr interessantes Projekt. Ich hab auch schon lang mit Induktionsschleifen herumgetan aber bei mir hat das nie so richtig funktioniert.
    Leider sind die Bilder so winzig, um nicht zu sagen mikroskopisch, sodass man nur wenig erkennt.
    Zu dem Video: ist da unter den Steinen die Schleife?

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.05.2006
    Beiträge
    260
    Also wenn dem so ist, dann stelle ich die Bilder natürlich groß ins Internet. Wollte das nur wegen der Ladezeit klein halten.

    Die Schleife ist ein schwarzes normales Kabel und nicht zu sehen.

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.05.2006
    Beiträge
    260
    Ich habe die Bilder jetzt größer ins Internet gestellt.

    Ich hoffe es ist so o.k.

    mfg

  7. #7
    wow, respekt. habe selten ein so gut dokumentiertes projekt hier gesehen! da ich mich auch gerade mit dem thema rasenmähen beschäftige, ist mir dein beitrag eine große hilfe! gerade im bezug auf die induktionssache. echt genial gelöst! kannst du noch ein bild machen, wo man die größe des roboters erkennt? (an referenzpunkten wie zB einem DINA4 blatt oder so)

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    75
    Beiträge
    703
    Alle Achtung und Danke.
    Da hast du ja der Gemeinde jede Menge praktische und theoretische Erfahrung zur Verfügung gestellt.
    Da brauche ich den einen oder anderen Fehler ja gar nicht erst machen
    Mir hat sehr gefallen, dass Du besonders die Niederungen der Praxis ausgeleuchtet hast.
    Die vielen Probleme die erst auftauchen wenn man zur Tat schreitet.
    Weiter gefällt mir der schlichte elektronische Ansatz für die Induktion.
    Mein Projekt hat ziemlich die gleichen Eckdaten wie Dein Mäher.
    Ich habe hier:
    https://www.roboternetz.de/phpBB2/vi...er=asc&start=0
    Ein Projekt vorgeschlagen welches die Programmseite dieser Aufgabe sein könnte.

    Ansonsten sei herzlich begrüßt in der „Rasenmähergemeinde“

    Netter Gruß von jemand der dieses Jahr schon zweimal von Hand seine Rasen mähen musste.
    Natürlich unter dem Absingen von Protestliedern.
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.05.2006
    Beiträge
    260
    Hallo,

    der Rasenrobo ist 65 cm lang und 30 cm breit. Anbei ein Foto von oben.


    http://www.rasenrobo.de/IMGP1228.ipg


    Vielen Dank für die Anerkennung!


    Christian

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.05.2005
    Ort
    Vallstedt bei Braunschweig
    Alter
    61
    Beiträge
    139
    Hallo Christian !

    So Leute wie dich Suche ich
    Ich habe mit Respekt sehr interessiert deinen Bericht mehrfach durchgelesen.
    Ich finde den Robby ganz prima !
    Besonders interessant finde ich Details wie deine offensichtlich selbst entworfenen drehbaren Vorderrädern oder auch den brushless Motor.

    Zu dem Motor habe ich ein paar Fragen. Wie schnell dreht er deine Messerscheibe in etwa ?
    Der Motor wirkt so winzig, das man ihm eine so hohe Abgabeleistung nicht zutrauen mag. Sicher ist bei einer hohen Leistungsabgabe dann eine Kühlung erforderlich ? Wie teuer ist ein Motor dieser Leistungsklasse in etwa ?

    Wie lange kannst du den Robby in etwa mit deinen jetzigen Akkus laufen lassen ?

    Sorry für die vielen Fragen, aber wie du meiner Signatur entnehmen kannst, gehöre ich auch zu den Rasenrobby infizierten

Seite 1 von 39 12311 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen