Diese Seite beschreibt den internen Aufbau des Rasenmähroboters “Ambrogio L50” sowie einige “Arduino-Hacks” für diesen Roboter. Nach dem Rasenmähroboter “Tianchen TC-G158” habe ich mir inzwischen zwei gebrauchte Rasenmähroboter Ambrogio L50 der Firma “Zucchetti Centro Sistemi” zugelegt (auch bekannt als Wiper Blitz).
Mechanik:
- Antriebsmotoren: 2 x 24V, Bürsten (Allrad umgesetzt über Zahnriemen)
- Mähmotor: 24V, 120W, 4000 rpm, Bürsten (FISE M5930C04004), Motorstrom etwa 3A mit Messer
Elektronik:
- Ambrogio L50 Motorplatine
- Motortreiber L6201
- U1: 74HC00 (Quad NAND, Ausgang ist Motortreiber)
- U3: A04A/LM7301 (OPAMP, Eingang ist Spannungsabfall am 0.025 Ohm Widerstand zum Motorstrom)
- Ambrogio L50 Mähmotor Steckerbelegung (JP3)
Pin6 (dünnes braunes Kabel/zum Platinenrand) – Hallsensor VCC
Pin5 (grün) – Hallsensor Signal
Pin4 (weiss) – Hallsensor Masse/GND
Pin3 nicht belegt
Pin2 (dickes schwarzes Kabel) – Motor (-)
Pin1 blau – Motor (+) - Ambrogio L50 Hauptplatine
- 2 x Motorrelais: 24V, 12A (1500 Ohm)
- 1 x Relais JTN1S-PA-F-DC24V (Ein-/Ausschaltung für gesamte Platine ?)
- MCU: M30843FHFP (Renesas M32C, 384K Flash, 24K RAM, CISC)
- U1: L5970D (ST) (Schaltregler)
- U7: OP291G (OPAMP)
- U8: STE9721 (Lademanagement 9721 von Fairchild ??)
- U13: 818 302D ??
- U3: 431AI (Adjustable Precision Zener Shunt Regulator)
- U19, U24: 14011BG (Quad 2-input NAND)
- U17: 202ECBNZ (RS232- Treiber)
- U1: ST432WP ??
- U18, U30: ??
- Mikrocontroller-Pinout:
U15.28 Motor B PWM
U15.30 Motor A PWM
U15.31 (TX) -U17.10 (T2_IN)
U15.32 (RX) -U17.9 (R2_OUT)
U15.51 Motor A Direction
U15.52 Motor B Direction
U15.93 Motor B Sense
U15.95 Motor A Sense A - Tasterbelegung
- 6 x Rasensensor über Kapazitätsmessung
- Akku: LI-ION Akku, 25.2V, 6.9Ah (7S3P, Laden mit 29.3V)
Platine im Akku (“E-LAWN-MOWER-7S3P-LOW-COST_2C (G.H)”):
7 x S6201 (AUK Semiconductor Battery Protection IC for 1-cell pack)
2 x T430 Thryistor
Rasensensor:
Jeder der 6 Rasensensoren ist (offensichtl.) ein Metalldraht welcher sich jeweils in einem Kunststoffgehäuse befindet. Um nun herauszufinden, ob das Sensorgehäuse Kontakt mit Rasen hat, mißt der L50 die elektr. Kapazität zwischen jeweils zwei dieser Sensoren. Setzt man den Roboter auf Rasen (Rasen ist quasi Dielektrikum), steigt die gemessene Kapazität leicht (um wenige pF) an.
kein Rasen: ~0 pF
auf Rasen: 1-4 pF
Umsetzung mit Mikrocontroller (noch nicht getestet):
MCU Pin 1 ---- R2M ----x----------------------------o Rasen MCU Pin 2 ---- R200 ---|
Der Sensor besteht aus einem Kabel welches üben den Rasen geführt wird. Zunächst wird das Kabel über den Mikrocontroller-Ausgangs Pin 1 entladen (auf “Low” gezogen). Dann wird Pin1 auf “High” umgestellt, über einen Widerstand (z.B. 2Megaohm) wird das Kabel jetzt langsam aufgeladen. Über den Mikrocontroller Eingangs-Pin 2 wird die Zeit gemessen, bis dieser auf “High” liegt. Da Mikrocontroller sehr schnell und zuverlässig in Zeitmessungen sind, kann man hiermit noch geringste Kapazitäten nachweisen!
Erweiterung mit Ultraschallsensor (HC-SR04 / Arduino Hack):
Manchmal versagen die Rasensensoren und der L50 rast in Gebiete hinein, die er gar nicht mähen soll. Praktisch wäre es, wenn man ihn mit einem Ultraschallsensor ausrüsten könnte, der ihn rechtzeitig zur Umkehr zwingt! (So ein Sensor hat sich in meinen Tests im Tianchen als äußerst wirkungsvoll erwiesen).
Was man noch braucht ist ein Pin, womit man den L50 zur Umkehr zwingt. Da der L50 über keine Bumper verfügt und nur Hindernisse über den Motorstrom erkennt, kann man z.B. den Pin zur Strommessung / Ausgang des LM7301-OPAMP auf der Motorplatine verwenden (Pins 15 am 22-poligen Steckpfosten der Motorplatine), welche über einen 10k Widerstand zur MCU geht:
LM7301 OUT ----R10k----Pin15 Motorplatine----o------------- MCU MOTOR SENSE
(Siehe auch Schaltbild Motorplatine oben weiter)
Ein kurzer High-Impuls an Pin15 simuliert hohen Motorstrom (Hinderniss) und der L50 kehrt um!
Weitere verwandte Themen:
Eine Mähroboter-Simulation (für diesen und ähnliche Roboter) findet man hier.
Eine neue Steuerung (“Ardumower”) für diesen Roboter findet man hier.
Hallo,
ich hoffe, Sie können mir eine Frage beantworten. Beim Einbau einer neuen Batterie habe ich aus Versehen Plus und Minus vertauscht! Nun tut es die Hauptplatine nicht mehr. Gibt es einen Verpolungsschutz und wo ist er und wie arbeitet er. Wie kann ich die Platine wieder zum Leben erwecken? Oder ist es ein Totalschaden?
Mit freundlichen Grüßen
Michael Glombek
Hi, nice, nice work.
I have problem with my Ambrogio l50beu- during charging the charger s burned, battery is full now, but when I press the On/ off button , all 4 indication LEDs light on only( on/ off, high battery, low battery and play/ pause ), and with one flashing stay to light continiously. If I press the Play/ pause button robot does not move, nothing happens, it is all.
Please, if You have any idea, I would like to contact me- I ll be happy to donate this amazing site. All the best.