Ardumower LP: Unterschied zwischen den Versionen
(→Stromversorgung) |
(→Benötigte Module) |
||
Zeile 16: | Zeile 16: | ||
Alle Module und Teile können über den [https://www.marotronics.de/ shop] bezogen werden . | Alle Module und Teile können über den [https://www.marotronics.de/ shop] bezogen werden . | ||
− | |||
Was wird für den Aufbau eines Ardumowers alles benötigt. | Was wird für den Aufbau eines Ardumowers alles benötigt. | ||
Zeile 32: | Zeile 31: | ||
**1 x Real Time Clock I2C DS1307 | **1 x Real Time Clock I2C DS1307 | ||
**1 x 24 VoltLadegerät für den Ardumower Akku | **1 x 24 VoltLadegerät für den Ardumower Akku | ||
− | |||
*Optionale Module: | *Optionale Module: | ||
Zeile 41: | Zeile 39: | ||
**GPS Modul GY-GPS6MV2 | **GPS Modul GY-GPS6MV2 | ||
**GYRO-80 | **GYRO-80 | ||
− | |||
− | |||
*1 x [http://www.asn-shop.de/Ardumower-Power-Pack-259V-45Ah Ardumower Power Pack] | *1 x [http://www.asn-shop.de/Ardumower-Power-Pack-259V-45Ah Ardumower Power Pack] | ||
− | |||
*1 x [https://www.marotronics.de/3-Messer-3-Schrauben-passend-zB-fuer-AutomowerZ-von-HusqvarnaZ 3 Messer + 3 Schrauben passend z.B. für Automower® von Husqvarna®] | *1 x [https://www.marotronics.de/3-Messer-3-Schrauben-passend-zB-fuer-AutomowerZ-von-HusqvarnaZ 3 Messer + 3 Schrauben passend z.B. für Automower® von Husqvarna®] | ||
− | |||
*1 x [https://www.marotronics.de/Perimeter-Sender-Board-Prototyp-mit-Platinen-Zubehoer Perimeter Sender Board (Prototyp) mit Platinen Zubehör] | *1 x [https://www.marotronics.de/Perimeter-Sender-Board-Prototyp-mit-Platinen-Zubehoer Perimeter Sender Board (Prototyp) mit Platinen Zubehör] | ||
Zeile 61: | Zeile 55: | ||
**Anschlussklemmen max.3 (2xSchleife, 1xLadeanschluss) | **Anschlussklemmen max.3 (2xSchleife, 1xLadeanschluss) | ||
**Einbaubuchse für Gehäuse 2,5 | **Einbaubuchse für Gehäuse 2,5 | ||
− | |||
*Weiteres Zubehör je nach Bedarf: | *Weiteres Zubehör je nach Bedarf: | ||
Zeile 67: | Zeile 60: | ||
**[https://www.marotronics.de/25-Rasennaegel-Heringe-fuer-Rasenroboter-zB-Robomow-STAFFELPREISE Rasennägel/Heringe] | **[https://www.marotronics.de/25-Rasennaegel-Heringe-fuer-Rasenroboter-zB-Robomow-STAFFELPREISE Rasennägel/Heringe] | ||
**[https://www.marotronics.de/100-m-Kabel-Einzelader-1-x1-mm-H05V-K-schwarz Kabel für die Schleife] | **[https://www.marotronics.de/100-m-Kabel-Einzelader-1-x1-mm-H05V-K-schwarz Kabel für die Schleife] | ||
− | |||
*Eine Ladestation ist in der Entwicklung und folgt demnächst. | *Eine Ladestation ist in der Entwicklung und folgt demnächst. |
Version vom 30. Mai 2016, 11:08 Uhr
Inhaltsverzeichnis
- 1 Zusammenfassung
- 2 Benötigte Module
- 3 Hauptleiterplatte
- 4 PCB Bauanleitung
- 5 Leiterplatten Jumper
- 6 Leiterplatten-Module
- 7 Leiterplatten Steckverbinder
- 8 Stromversorgung
- 9 Programm downloaden und Arduino programmieren
- 10 Erste Inbetriebnahme
- 11 Diagnose/Fehlerbehebung
- 12 Starten des Mähroboters
- 13 Fehlerzähler / Fehlertöne
- 14 Einstellungen
- 15 Weitere Links
Zusammenfassung
Diese Seite beschreibt,wie die Ardumower Hauptleiterplatte aufgebaut wird, wie das Programm auf den Arduino aufgespielt wird, und wie man den Mähroboter konfiguriert.
Kernstück der Steuerung ist ein fertiges Microcontroller-Modul (Arduino Mega 2560 verwendet 54 I/O pins).
Benötigte Module
Alle Module und Teile können über den shop bezogen werden .
Was wird für den Aufbau eines Ardumowers alles benötigt.
- Wichtige Module dazu wählen:
- Zubehör Set (Widerstände, Stiftleisten etc.)
- 2 x Protector Board
- 1 x Mega Board 2560 R3
- 1 x INA169 Strom Sensor Board
- 2 x Dual Treiber MC33926
- 3 x DC-DC LM2596 Step-Down Regler
- 1 x Wireless Bluetooth Modul HC-05
- 1 x Real Time Clock I2C DS1307
- 1 x 24 VoltLadegerät für den Ardumower Akku
- Optionale Module:
- Zubehör Set Ladeschaltung (Blei Akkus)
- WIFI Wlan Modul ESP8266 ESP01
- Ultraschallsensoren HC-SR04 (bis zu 3 Stück werden unterstützt)
- Regensensor
- GPS Modul GY-GPS6MV2
- GYRO-80
- 1 x Perimeter Sender Board (Prototyp) mit Platinen Zubehör
- Wichtige Module dazu wählen:
- 1x Dual MC33926 Motor Driver Carrier
- 1x INA169 Analog DC Current Sensor Breakout - 60V 2,5A / 5A Marotronics
- 1 x DC-DC Spannungsregler LM2596 Step-Down Regler einstellbar
- 1 x Nano V3.0 ATmega328-AU Arduino kompatibel Mikrocontroller Board
- Optionale Module:
- Gehäuse inklusive 5 passender Schrauben für das PCB
- Anschlussklemmen max.3 (2xSchleife, 1xLadeanschluss)
- Einbaubuchse für Gehäuse 2,5
- Weiteres Zubehör je nach Bedarf:
- Eine Ladestation ist in der Entwicklung und folgt demnächst.
Hauptleiterplatte
Die Leiterplatte wurde mit folgenden Parametern entwickelt:
- LP Abmessungen 241x114mm
- Alle Module (Motortreiber, Bluetooth, usw.) können auf die Leiterplatte gelötet (oder gesteckt) werden (Modules sind im Ardumower-Shop verfügbar)
- Verwendet den Arduino Mega 2560
- Optional: kann der Arduino Due mittels zusätzlicher LP-Adapter verwendet werden
- Optional: integrierter Ladestromkreis (Strombegrenzung)
- alle Verbindungen, einschliesslich +5V und GND, sind über Steckverbinder realisiert
- Max. Strombelastung der Leiterbahnen (für Motoren): 8A
PCB Bauanleitung
Roboterplatine v0.5 (1. Prototyp, bitte nicht mehr verwenden)
Roboterplatine v1.2 (geringe Layoutänderungen)
- Schaltpläne
- Photos
- Bauanleitung
- WorkaRound20150527
- WorkaRound20150530
- Motor-decrease noise REV20150531, (englische Kommentare)
- Motortreiber-Schutz (unbedingt für sicheren Einsatz der Motortreiber verwenden!)
- siehe auch: Dokumentationen im Github
12V/24V: Die Platine ist für 24V ausgelegt worden. Für 12V müssen einige wenige Sachen geändert werden auf der 1.2 Platine:
- R2 Vorwiderstand „Led Betriebsspannung“ muss bei 12V auf 560OHm angepasst werden
- R11 Vorwiderstand“StationsLED „ muss bei 12V auf 560OHm angepasst werden
- und man benötigt noch statt den 24V Relais ein 12V Relais.
Roboterplatine PCB v1.3 (in Entwicklung)
- basiert auf Arduino Due
- Shields für Motor Controller, Perimeter-Empfänger etc.
- Batterie-Abschaltung
Bemerkung: Das Schaltbild und die Platinen-Zeichnungen wurden mit KiCad entwickelt. Sie können hier heruntergeladen github und damit bearbeitet werden KiCAD software.
Leiterplatten Jumper
Feature used | YES | NO | Comment |
---|---|---|---|
integrierter Laderegler mit einstellbarem
Spannungsregler (LM350T) mit Potentiometer für einstellbare Ladespannung (empfohlen: Nein) |
D7: DIODE
D3: DIODE C1, C4, U4, RV1: verwendet |
D7: brücken
D3: brücken C1, C4, U4, RV1: nicht verwendet |
Bei externem Ladegerät nicht verwenden |
externe Stromversorgung währen des Ladens (empfohlen: Nein) | JP6: geschlossen
JP7: offen D4: DIODE C5: nicht verwendet |
JP6: offen
JP7: geschlossen D4: brücken C5: verwendet |
um Platine von aussen mit Strom zu versorgen (trennt Akku von Platine) während des Ladens |
von Arduino gesteuertes Laderelais (empfohlen: ja) | JP4: geschlossen
JP5: offen |
JP4: offen
JP5: geschlossen |
verwendet für vom Arduino gesteuertem Laderelais (keine automatische Ladung) |
Arduino Due (3.3V I/O) | LP0, ..., LP15: offen | LP0, ..., LP15: geschlossen | Nicht verwenden bei Arduino Mega |
Bluetooth VCC=3.3V | JP8: offen
JP9: geschlossen |
JP8: geschlossen
JP9: offen |
viele neuere Module laufen mit 3.3V |
Bluetooth Programmier-Modus | JP2: geschlossen | JP2: offen | verwendet für Programmierung der BAUD-Rate usw. |
Leiterplatten-Module
Module | Feature | Pinout | Optional | Comment |
---|---|---|---|---|
U1 | DC/DC Wandler (10V) | GND, Vout, Vin, GND | Nein | |
U2 | Bluetooth (HC-05) | VCC, GND, TXD, RXD, Key, LED | Ja | |
U3 | Stromsensor (Ladestrom) | VCC, GND, OUT, IP+, IP-5 | Ja | |
U4 | Laderegler (LM350T) | AJD, OUT, IN | Ja | |
U5 | Stromsensor (währen des Ladens) | VCC, GND, OUT, IP+, IP-5 | Ja | |
U6 | DC/DC Wandler (3.3V) | GND, Vout, Vin, GND | Nein | |
U7 | DC/DC Wandler (5V) | GND, Vout, Vin, GND | Nein | |
U8 | Echtzeituhr (DS1307) | Batt, GND, VCC, SDA, SCL, DS, SQ | Ja | |
U9 | WLAN (ESP8266) | TX, CH_PD, Reset, VCC, GND, GP_IO2, GP_IO0, RX | Ja | |
U10 | Pegelwandler 5V->3V (Arduino Due) | Ja | ||
U11 | WLAN(ESP8266) | TX, CH_PD, Reset, VCC, GND, GP_IO2, GP_IO0, RX | Ja | alternative Montageposition |
Leiterplatten Steckverbinder
Connector | Feature | Pinout | Optional | Comment |
---|---|---|---|---|
P1 | Sonar mitte (HC SR-04) | 5V, GND, Trigger, Echo | ja | |
P2 | Sonar rechts (HC SR-04) | 5V, GND, Trigger, Echo | ja | |
P3 | Sonar links (HC SR-04) | 5V, GND, Trigger, Echo | ja | |
P4 | reserviert | ja | ||
P5 | IMU (gyro,acceleration,compass) (GY-80) | ja | ||
P6 | Rasensensor | ja | ||
P7 | Status LEDs | ja | ||
P8 | Odometrie rechts | ja | ||
P9 | Odometrie links | ja | ||
P10 | GPS (GY-NEO6MV2) | ja | ||
P11 | Bumper | GND, GND, rechts, links | ja | |
P12 | Perimeter-Empfänger (mitte oder links) | 5V, GND, perimeter | ja | |
P13 | R/C Fernsteuerung | 5V, GND, mow, steer, speed, switch | ja | |
P14 | Messpunkte | 5V, GND, (abhängig von JP15: 3.3V, 5V or Arduino 3.3V) | ja | |
P15 | Antriebsmotor links | M1OUT1, M1OUT2 | Nein | |
P16 | Optionaler Motortreiber-Eingang | ja | nicht verbinden | |
P17 | Optionaler Motortreiber-Eingang | ja | nicht verbinden | |
P18 | Antriebsmotor rechts | M2OUT1, M2OUT2 | Nein | |
P19 | Neigungssensor | 5V, GND, tilt | ja | |
P20 | Taster (Start/Stop) | Nein | ||
P21 | Absturzsensor rechts | ja | ||
P22 | reserviert | ja | ||
P23 | reserviert | ja | ||
P24 | reserviert | ja | ||
P25 | reserviert | ja | ||
P26 | reserviert | ja | ||
P27 | reserviert | ja | ||
P28 | reserviert | ja | ||
P29 | reserviert | ja | ||
P30 | Perimeter-Empfänger rechts | ja | ||
P31 | Absturzsensor links | ja | ||
P32 | GND | ja | ||
P33 | 5V | ja | ||
P34 | 3.3V | ja | ||
P35 | Mähmotor Drehzahl | ja | ||
P36 | reserviert | ja | ||
P37 | Mähmotor | Nein | ||
P38 | reserviert | ja | ||
P39 | reserviert | ja | ||
P40 | User switches | ja | ||
P41 | Regensensor | ja | ||
P42 | Ladeanschluss | ja | ||
P43 | Akku (24V) | Nein | ||
P44 | WLAN Modul (ESP8266) | ja | ||
P45 | reserviert | ja | ||
P46 | reserviert | ja |
Stromversorgung
Bitte lies auch den Abschnitt 'Spannungen' unter Motor driver für mehr Informationen über die Motorspannung
Empfehlenswert ist die Verwendung von Step down Spannungswandlern (d.h. Module verwenden LM2596) um die 5V Spannung für den Arduino und alle zusätzlichen Module zu erzeugen. vor der Verbindung mit der Schaltung (Jumper), stelle den Wandler auf 5V ein, dann erst den Jumper schliessen.
Warnung : niemals mehr als 5V an die Arduino 5V pins anlegen, das würde den Arduino zerstören. Deshalb, immer die 5V messen bevor die Verbindung zum 5V Pin des Arduino erfolgt! Alle Komponenten zusammen (wie im Schaltbild gezeigt) benötigen ca. 5W Leistung.
Programm downloaden und Arduino programmieren
NOTE: Wenn du noch nie mit Arduino gearbeitet hast, lies unser 'Arduino first steps' introduction.
Du hast zwei Möglichkeiten:
- Download github code (empfohlen) oder
- Download v0.9.3 code (alt, nicht empfohlen)
Zuletzt, downloade und starte Arduino IDE um das Programm auf dem Arduino zu speichern.
Arduino Version: Es ist wichtig, dass du die Version 1.6.3 oder höher der Arduino-Entwicklungssoftware benutzt und dass du das richtige Board auswählst (Mega 2560 or Due).
Wichtig für Arduino IDE 1.6 oder höher: Falls sich Unterordner im Code-Ordner befinden (z.B. "unused"), diese bitte vor dem Kompilieren löschen! Vergewissere dich, dass die Pin-Belegung im Arduino-Code (config.h/mower.cpp) mit deinem aktuellen Schaltplan übereinstimmt.
Erste Inbetriebnahme
1. Alle Sensoren deaktivieren
Zunächst alle Sensoren deaktivieren - In 'mower.cpp' den Roboter auf folgende Standard-Einstellungen setzen: bumperUse = 0; dropUse = 0; rainUse = 0; sonarUse = 0; perimeterUse = 0; lawnSensorUse = 0; imuUse = 0; batMonitor = 0; odometryUse = 0; gpsUse = 0; buttonUse = 1; timerUse = 0;
2. Die Software bietet einen seriellen Konsole-Modus. Öffne die serielle Konsole in der Arduino IDE (Strg+Shift+M) und setze die BAUD-Rate auf 19200. Die Motor- und Sensorwerte sollten daraufhin ständig angezeigt werden. Erstmal löschen wir evtl. vorhandene Fehler:
Konsole: press... d for menu e=delete all errors
3. Dann die ADC-Kalibrierung vornehmen, damit alle ADC-Signale einen Nullpunkt erhalten.
press... d for menu 8=ADC calib (perimeter sender, charger must be off
4. Motor-Ansteuerung testen:
Konsole: press... d for menu 1=test motors Sicherheitshinweis: Aus Sicherheitsgründen sind die Mähmesser bei den ersten Tests nicht zu montieren!
Du solltest überprüfen ob die Antriebsmotoren richtig gesteuert werden und sich in die richtige Richtung drehen. Erhöhe 'motorAccel' in 'mega.cpp' falls die Motoren nicht schnell genug beschleunigen.
Diagnose/Fehlerbehebung
Jedesmal, wenn ein Sensor anspricht, zählt ein korrespondierender Sensorzähler um 1 hoch. Die Zählerstände der Sensorzähler sowie die aktuellen Sensorwerte kann man in der seriellen Konsole ansehen. Die folgenden Werte werden in der seriellen Konsole angezeigt:
- Zeit des state machine's Status (ms)
- Schleifendurchläufe pro sec
- gewählter Anzeige-Modus (0=Zählerstände/1=aktuelle Werte/2=aktuelle Werte)
- aktueller state machine Status (FORW, REV, ROLL usw.)
- Fährt in Ladestation? (1/0)
- "spd" - Ansteuerung/Drehzahl der Motoren: links (PWM), rechts (PWM), Mähmotor (RPM)
- "sen" - Überstromzähler der Motoren: links, rechts, Mähmotor
- "bum" - Bumper Zähler: links, rechts
- "son" - Ultraschall Abstandsschwelle unterschritten (Zähler)
- "pit/roll" - Neigung (berechnet von Beschleunigungssensor)
- "com" - Kompass Kurs
- "per" - Perimeterschleife erkannt: Zähler
- "bat" - Akku Spannung
- "chg" - Ladestrom
Mittels der Taste 'v' kann zwischen Sensor-Zählerständen und den aktuellen Sensorwerten umgeschaltet werden.
Zusätzlich kannst du mit Hilfe der Android-App 'pfodApp' die Sensorenausgaben über die Zeit grafisch darstellen (Zählerstände und aktuelle Werte). Das ermöglicht die drahtlose Überwachung deines Mähroboters zur Fehlersuche. Es ist sehr zu empfehlen.
Fehlercodes und deren Behebung
http://wiki.ardumower.de/index.php?title=Fehlerbehebung
Starten des Mähroboters
Um den Mähroboter zu starten wird ein Taster und ein Piezo-Summer benötigt:
pinButton —o Taster o— GND (button for ON/OFF)
pinBuzzer —o Buzzer o— GND (Piezo buzzer)
Drücke nun den Taster, bis Du die Anzahl Pieptöne hörst, die dem Modus entspricht, den Du einstellen möchtest:
Modus (Drücke Taster bis du x Töne hörst):
1 Piep : Normales mähen (verwendet, wenn verfügbar, Messermodulation) 2 Pieps : Normales mähen (ohne Messermodulation) 3 Pieps : Fahren mit Fernsteuerung (RC) 4 Pieps : Fahren ohne mähen 5 Pieps : Finde Perimeterschleife und folge ihr
Fehlerzähler / Fehlertöne
Gibt es ein Kommunikationsproblem oder ein anderes ernstes Problem, zählt der entsprechende Fehlerzähler hoch. der Fehlerzähler kann über die pfodApp eingesehen. Zusätzlich Piept der Roboter beim starten.
Siehe Abschnitt Troubleshooting für Details zu allen Fehlern.
I2C Bus / Fehlertöne
Verschiedene Komponenten (Arduino Nano, RTC, IMU, usw.) kommunizieren über den I2C Bus (SDA/SCL Leitung). diese Leitungen sollten sehr kurz sein (evt. verdrillt) und sie sollten weit weg von DC/DC Wandlern und Motortreibern sein. Wenn es ein Kommunikationsproblem gibt, wird der Fehlerzähler erhöht und der Roboter piepst beim Starten. Der Fehlerzähler kann über die pfodApp eingesehen werden.
Einstellungen
Der Roboter verwendet Einstellungen die du für deinen Roboter und deine Umgebung anpassen kannst (über pfodApp oder direkt in der Software). Die Grundeinstellungen (factory settings) werden in der Konfigurationsdatei 'mower.cpp' gespeichert.
Die Einstellungen können über ein Android-Handy verändert werden(pfodApp).
Wichtig: Wenn du eine neue Softwareversion auf deinen Arduino lädst, setze alle Einstellungen über die pfodApp auf die Grundeinstellungen zurück (Settings->Factory reset). Das löscht alle vorhandenen Einstellungen. alte Einstellungen können zu Fehlfunktionen führen, wenn sich das interne Einstellungsformat geändert hat.