Das Projekt
History
Galerie
Downloads
Impressum

Das RobiTobi Projekt

Das Projekt entstand aus einer Begegnung mit einem Automower von Husquarna und unserem Anspruch: Das versuchen wir auch mal - nur deutlich preiswerter. Das war im Sommer 2008. Mittlerweile hat sich RobiTobi gut entwickelt. Erwachsen ist zwar noch nicht, aber auf gutem Weg dahin.

Der Werdegang des Projektes ist in der History zu finden.

In der Galerie gibts fortlaufend Bilder und Videos zum RobiTobi (wird ständig erweitert).

Alle Schaltpläne, Baupläne und der Quellcode sind in den Downloads zu finden.


Inhalt

Gerätespezifikation

RobiTobi Strategie

LCD Anzeige


Gerätespezifikation

Prozessor:

Sensorik:




Begrenzung Arbeitsbereich:

Mähwerk:



Mähmotor:


Antrieb:

Stromversorgung:

Laufzeit Mähen:

Ladezeit (1,3A):

Gewicht:

Maße:
Atmega32A

3 Taster vorn
2 Schleifensensoren (vorn und hinten)
Odometrie je Antrieb (Hallsensoren)
Spannungsüberwachung

Induktionsschleife (8 Hz, 19V)


Mähteller mit 3 Messern,
Durchmesser 18cm, Mähbreite 21cm
ca. 7° Neigung nach vorn

alt: Johnson 1060441, ca 2500 U/min, max. 5 Watt
neu: Bühler 1.13.044.266, ca 2500 U/min, max 43W, (Abmessung: ca.51x92 mm)

2 x RB35 1:100 Getriebe mit Igarashi SP-3650-66 12V Motor, Raddurchmesser 15 cm

NiMH Akku 12V, 3600mAh

ca. 2:00h

ca. 3h (über integrierten Ladecontroller, mit ext. Schaltnetzteil (19V, 3,5A)

6,2 kg (inkl. Akku)

65 x 43 x 26 cm (LxBxH)

RobiTobi Strategie

Allgemeines

  • Robi wechselt in festen Abständen zwischen kleinen und großen Winkeln

  • Robi wechselt in festen Abständen zwischen drehen nach links und drehen nach rechts

  • Normalerweise fährt Robi immer gerade aus

  • Trifft Robi auf ein Hindernis, dass durch einenTaster oder das Verlassen der Schleife erkannt wird, fährt er ein Stück zurückund dreht dann in einem Zufallswinkel. Anschließend geht es wieder gerade aus

  • Tritt ein offensichtlicher Fehler auf, so reagiert er darauf mit rückwärts fahren, vorwärts fahren oder drehen

Ablauf

1. Bestimmung der auszuführenden Aktion
2. Prüfen, ob ein Fehler aufgetreten ist
3. Bestimmung des nächsten Modus des Robi

Bestimmung der auszuführenden Aktion

Es werden die Status:

  • IsSleepingTime
  • IsBatterieLow
  • IsInPowerStation
  • HaveSeenIR
  • IsCharged

ermittelt und abhängig davon ermittelt, was Robi tun soll:

  • Standardverhalten
  • der Schleife bis zur Ladestation folgen
  • Einparken
  • Aufladen oder Warten
  • Ausparken

Prüfen, ob ein Fehler aufgetreten ist

Fehler Reaktion
3-mal hintereinander Tastensignal ausgelöst Auf Modus „Rückwärts“ schalten
Im Schleifenfolgemodus außerhalb der Schleife gelandet Auf Modus „Nach rechts drehen“ schalten
Im Vorwärtsmodus fahren nicht beide Räder gleichmäßig Auf Modus „Rückwärts“ schalten
Im Rückwärtsmodus fahren nicht beide Räder gleichmäßig Auf Modus „Vorwärts“ schalten
Mit vorderem Sensor außerhalb der Schleife -> rückwärts fahren, bis 6 Odometriesignale gekommen sind Auf Modus „Rückwärts“ schalten

Bestimmung des nächsten Modus des Robi

Keine Taste ausgelöst und innerhalb der Schleife oder es ist ein Fehler aufgetreten

  • Modus = „Vorwärts“
    • Vorwärts fahren
    • Status LED grün
  • Modus = „Rückwärts“
    • Bei Fehler:
      • Rückwärts fahren
    • Linker Odometriewert < 6 (entspricht 1,5 Radumdrehungen):
      • Rückwärts fahren
    • Sonst:
      • Anhalten
      • Status LED gelb
      • Odometrie zurücksetzen
      • Drehwinkel ermitteln Winkel ermitteln
      • Auf Modus „Drehen nach rechts“ schalten
  • Modus „Drehen nach rechts“
    • Wenn weniger als 10 mal nacheinander nach rechts gedreht wurde und seit Auslösen der Drehung weniger als 1,5 Radumdrehungen des linken Rades zurückgelegt wurden (6 Odometriewerte)
      • (Weiter) nach rechts drehen
    • Wenn mehr als 10 mal nacheinander nach rechts gedreht wurde und seit Auslösen der Drehung weniger als 1,5 Radumdrehungen des rechten Rades zurückgelegt wurden (6 Odometriewerte)
      • (Weiter) nach links drehen
    • Sonst (Drehung abgeschlossen)
      • Odometrie zurücksetzen
      • Auf „Vorwärts“ Modus schalten
      • Drehzähler erhöhen
      • Drehzähler zurücksetzen, wenn mehr als 20 Drehungen erfolgt sind (also nächste Drehung wieder nach rechts)
  • Sonst:
    • Fehler!
      • Anhalten
      • Mähmotor ausschalten
      • Status LED rot

Schleifensensor vorn ausgelöst (Schleife verlassen)

  • Anhalten
  • Status LED gelb
  • Odometrie zurücksetzen
  • Auf „Rückwärts“ Modus schalten
Taste vorn ausgelöst (angeeckt)
  • Anhalten
  • Status LED gelb
  • Odometrie zurücksetzen
  • Auf „Rückwärts“ Modus schalten

Winkel ermitteln

Robi wechselt zwischen kleinen und großen Winkeln alle 500 Programmdurchläufe. Die Anzahl der Programmdurchläufe wird nach 1000 Durchläufen zurückgesetzt. Der Drehwinkel wird mittels Zufallszahl im unten angegebenen Bereich ermittelt.

Da nicht klar ist, wie weit das Rad vom nächsten Odometriesensor entfernt ist, bedeuten

  • kleine Winkel eine Drehung zwischen 0 Grad und 60 Grad
  • große Winkel eine Drehung zwischen 40 Grad und 100 Grad.


    LCD Anzeige

    Die LCD Anzeige schaltet zwischen fünf Zeilen um. Es werden jeweils 2 der 5 Zeilen im LCD Display angezeigt. Alle 20 Programmdurchläufe wird eine Zeile weitergeschaltet.

    Zeile 1

    Anzeige der Historie der letzten 10 Programmdurchläufe und der Anzahl Programmdurchläufe (Cycles).

    Beispiel: TRRRRDDDDV C256

    Wert

    Bedeutung

    V

    Vorwärts

    R

    Rückwärts

    D

    Drehen

    A

    Außerhalb der Schleife

    T

    Taste ausgelöst

    F

    Fehler


    Zeile 2

    Anzeige des Batteriestatus, der Odometrie links und der Odometrie rechts

    Beispiel: B:916,L:6,R6

    Zeile 3

    Anzeige der Uhrzeit

    Beispiel: 12:34:00

    Zeile 4

    Anzeige des aktuellen Modus

    Beispiel: Standard

    Modus

    Auslöser

    Standard

    IsSleepingTime=0 + IsBatterieLow=0 + IsInPowerStation=0

    Schleife folgenB

    IsSleepingTime=0 + IsBatterieLow=1 + IsInPowerStation=0 + HaveSeenIR=0

    Schleife folgenS

    IsSleepingTime=1 + IsInPowerStation=0 + HaveSeenIR=0

    Einparken B

    IsSleepingTime=0 + IsBatterieLow=1 + IsInPowerStation=0 + HaveSeenIR=1 + Aktion=1 oder 2 (nach Hause fahren oder einparken)

    Einparken S

    IsSleepingTime=1 + IsInPowerStation=0 + HaveSeenIR=1 + Aktion=1 oder 2 (nach Hause fahren oder einparken)

    Laden/Warten FE

    IsSleepingTime=0 + IsBatterieLow=0 + IsInPowerStation=1 + IsCharged=0

    Laden/Warten BL

    IsSleepingTime=0 + IsBatterieLow=1 + IsInPowerStation=1

    Laden/Warten SL

    IsSleepingTime=1 + IsInPowerStation=1

    Ausparken

    IsSleepingTime=0 + IsBatterieLow=0 + IsInPowerStation=1 + IsCharged=1

    Zeile 5

    Anzeige der ausgelösten PINs

    Beispiel: T1,S0,P0,C0,I0

    PIN Bedeutung
    T Taster
    S Schleife
    P Ladestation
    C Aufgeladen
    I Infrarotsignal für Einparken
  • Copyright © 2009 RobiTobi Team