Ardumower LP: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(Needed modules)
(Leiterplatten-Module)
 
(91 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Zusammenfassung=
+
[[File: Pcb_top.jpg | 800px]]
Diese Seite beschreibt,wie die Ardumower Hauptleiterplatte aufgebaut wird, wie das Programm auf den Arduino aufgespielt wird, undwie man den Mähroboter konfiguriert.
+
 
 +
Diese Seite beschreibt,wie die Ardumower Hauptleiterplatte aufgebaut wird, wie das Programm auf den Arduino aufgespielt wird, und wie man den Mähroboter konfiguriert.
 +
 
 +
=Übersicht=
  
 
Kernstück der Steuerung ist ein fertiges Microcontroller-Modul (Arduino Mega 2560 verwendet 54 I/O pins).  
 
Kernstück der Steuerung ist ein fertiges Microcontroller-Modul (Arduino Mega 2560 verwendet 54 I/O pins).  
 
<gallery>
 
<gallery>
 
File: Ardumower_overview.png | Komponenten Überblick
 
File: Ardumower_overview.png | Komponenten Überblick
File: Ardumower_chassis_components.png | Chassis Komponenten
 
File: Arduinomega.jpg | Das Hirn des Ardumowers : Der Arduino Mega 2560 Mikrocontroller
 
File: Ardumower_parts.jpg| Im Shop verfügbare Module
 
 
File: Ardumower_pcb_photo.jpg | Die Ardumower LP verbindet alle Module (verfügbar im Shop)
 
File: Ardumower_pcb_photo.jpg | Die Ardumower LP verbindet alle Module (verfügbar im Shop)
File: Ardumower_chassis_pcb1.jpg | Chassis und LP im Innern
+
File: Pcb_top.jpg | PCB oben
File: Ardumower_chassis_pcb2.jpg | Leiterplatte montiert
+
File: Pcb_bluetooth.jpg | PCB unten
 +
File: Pcb_mc33926.jpg | PCB und MC33926
 
</gallery>
 
</gallery>
  
 
=Benötigte Module=
 
=Benötigte Module=
  
Alle Module können als komplettes Kit über den [https://www.marotronics.de/index.php?k=7 shop] [[File: shopping.png|link=https://www.marotronics.de/index.php?k=7]] bezogen werden .
+
Alle Module und Teile können über den [https://www.marotronics.de/ Shop] bezogen werden.
  
* Hauptfunktionen
+
=Hauptleiterplatte=
** Arduino Kabel (female-female and male-female jumper cable)
+
Die Leiterplatte wurde mit folgenden Parametern entwickelt:
** Arduino Mega 2560 (oder Arduino Due)
+
** einstellbare DC voltage step-down Module (3.3v, 5v, 8v)
+
** zweifach Motortreiber-Modul mit integriertem Stromsensor (2 Antriebsmotoren)
+
** Stromsensor Module
+
** Motortreiber-Modul mit integriertem Stromsensor (Mähmotor)
+
** Resistors, Capacitors, Fuse
+
** Piezo buzzer, button, ON/OFF switch
+
  
* Perimeter sender (optional)
+
* LP Abmessungen 241x114mm
** Arduino Nano
+
* Alle Module (Motortreiber, Bluetooth, usw.) können auf die Leiterplatte gelötet (oder gesteckt) werden (Modules sind im Ardumower-Shop verfügbar)
** DC voltage step-down module
+
* Verwendet den Arduino Mega 2560
** motor driver module with integrated current sensor
+
* 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
  
* Perimeter receiver (optional)
+
=PCB Bauanleitung=
** pre-amplifier module
+
Roboterplatine v0.5 (1. Prototyp, bitte nicht mehr verwenden)
** Capacitor, Receiver coil
+
* [https://github.com/Ardumower/ardumower/tree/master/pcb/Produzierte_Platinen/megashield_svn_0.5/Platinenbilder Fotos]
 +
* [https://github.com/Ardumower/ardumower/raw/master/pcb/Produzierte_Platinen/megashield_svn_0.5/ardumower%20mega%20shield%20svn.pdf Schaltbilder]
  
* Additional modules
+
Roboterplatine v1.(geringe Layoutänderungen)
** IMU module (gyro, accel. compass) (REQUIRED)
+
* [https://github.com/Ardumower/ardumower/raw/master/pcb/Produzierte_Platinen/megashield_svn_1.2_geschlossen/ardumower%20mega%20shield%20svn.pdf Schaltpläne]
** realtime clock module (REQUIRED)
+
* [https://github.com/Ardumower/ardumower/tree/master/pcb/Produzierte_Platinen/megashield_svn_1.2_geschlossen/Platinenbilder Photos]
** Bluetooth module (for phone control, RECOMMENDED)
+
* [http://www.ardumower.de/media/kunena/attachments/1259/ArdumuverBestckung2015-04-221115.pdf Bauanleitung]
** ultrasonic sensor module (optional)
+
* [https://github.com/Ardumower/ardumower/blob/master/Dokumentation/Megashield%20svn%201.2%20und%20V0.5/WorkaRound20150527.pdf WorkaRound20150527]
 +
* [https://github.com/Ardumower/ardumower/blob/master/Dokumentation/Megashield%20svn%201.2%20und%20V0.5/WorkaRound20150530.pdf WorkaRound20150530]
 +
* siehe auch: Dokumentationen im [https://github.com/Ardumower/ardumower/tree/master/Dokumentation Github]
  
=PCB=
+
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:
The printed circuit board (PCB) connects all electronic modules. The PCB is made with the following design parameters:
+
* 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.
  
* PCB dimensions 241x114mm
 
* All modules (motor driver, Bluetooth, etc.) can be soldered (or plugged) on the PCB (modules are available in the Ardumower shop)
 
* Uses the Arduino Mega 2560
 
* Optional: can use Arduino Due via additional adapter PCB
 
* Optional: integrated charging circuit (current limiting)
 
* All connections are available on connectors as well as +5V and GND
 
* Max. trace current (for motors): 8A
 
  
=PCB versions=
+
'''Bemerkung:''' Das Schaltbild und die Platinen-Zeichnungen wurden mit KiCad entwickelt. Sie können hier heruntergeladen  [https://github.com/Ardumower/ardumower/archive/master.zip github] und damit bearbeitet werden [http://kicad.nosoftware.cz/windows/KiCad_testing-2014.10.19-BZR5203_Win_full_version.exe KiCAD software].
Robot PCB v0.5 (initial prototype)
+
* [https://github.com/Ardumower/ardumower/tree/master/pcb/megashield_svn_0.5/Platinenbilder Photos]
+
* [https://github.com/Ardumower/ardumower/raw/master/pcb/megashield_svn_0.5/ardumower%20mega%20shield%20svn.pdf Schematics]
+
  
Robot PCB v1.2  (minor layout changes)
+
=PCB Bauanleitung Videos=
* [https://github.com/Ardumower/ardumower/raw/master/pcb/megashield_svn_1.2_geschlossen/ardumower%20mega%20shield%20svn.pdf Schematics]
+
* [https://www.youtube.com/watch?feature=player_embedded&v=smZj60sxQvU Widerstände]
* [https://github.com/Ardumower/ardumower/tree/master/pcb/megashield_svn_1.2_geschlossen/Platinenbilder Photos]
+
* [https://www.youtube.com/watch?feature=player_embedded&v=chEBCcJDsjg Dioden und Relais]  
* [https://github.com/Ardumower/ardumower/raw/master/pcb/megashield_svn_1.2_geschlossen/Dokumentation/WorkaRound20150527.pdf WorkaRound20150527]
+
* [https://www.youtube.com/watch?feature=player_embedded&v=O6nyuSsCH1I Elkos und Transistoren]
* [https://github.com/Ardumower/ardumower/raw/master/pcb/megashield_svn_1.2_geschlossen/Dokumentation/WorkaRound20150530.pdf WorkaRound20150530]
+
* [https://www.youtube.com/watch?feature=player_embedded&v=m8XGWGwdEBk Piezo Buzzer und Sicherung]
* [https://github.com/Ardumower/ardumower/raw/master/pcb/megashield_svn_1.2_geschlossen/Dokumentation/Motor-EntstoerungREV20150531.pdf Motor-decrease noise REV20150531][http://www.ardumower.de/media/kunena/attachments/1725/Motor-EntstoerungREV20150531.pdf (English comments)]
+
* [https://www.youtube.com/watch?feature=player_embedded&v=a1y8C_uRdtA Stiftleisten]
 +
* [https://www.youtube.com/watch?feature=player_embedded&v=RrU6lTCU0cc DC/DC Wandler]
 +
* [https://www.youtube.com/watch?feature=player_embedded&v=fOvV-kD0y7k RTC-Modul]
 +
* [https://www.youtube.com/watch?feature=player_embedded&v=DokrJiVzX2I Dual MC33926]
 +
* [https://www.youtube.com/watch?feature=player_embedded&v=lyCH8CQD358 INA169]
 +
* [https://www.youtube.com/watch?feature=player_embedded&v=M-rC03VlGK4 Akku & Ladegerät]
  
Robot PCB v1.3 (in development)
+
=Leiterplatten Jumper=
* simplified design (Due adapter will be externally)
+
* motor driver protection
+
* battery-off circuit, safety-button
+
* sets 'reference-design' and required modules: 3x DC/DC, RTC, IMU
+
  
 
+
[[File: Bestueckung_versorgung_laden.png]]
'''NOTE:''' The schematics and PCB files were created with KiCad. They can be downloaded from [https://github.com/Ardumower/ardumower/archive/master.zip github] and can be edited by open source [http://kicad.nosoftware.cz/windows/KiCad_testing-2014.10.19-BZR5203_Win_full_version.exe KiCAD software].
+
 
+
=PCB jumpers=
+
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Feature used
+
! Wenn benutzt...
! YES
+
! ...JA
! NO
+
! ...NEIN
! Comment
+
! Kommentar
 
|-
 
|-
| Integrated charging control via adjustable
+
| integrierter Laderegler mit einstellbarem
  
voltage regulator (LM350T) with potentiometer
+
Spannungsregler (LM350T) mit Potentiometer
  
for adjustable charging voltage
+
für einstellbare Ladespannung
(recommended: NO)  
+
(empfohlen: Nein)  
 
| D7: DIODE
 
| D7: DIODE
  
 
D3: DIODE
 
D3: DIODE
  
C1, C4, U4, RV1: used
+
C1, C4, U4, RV1: verwendet
|D7: SHORT-CIRCUIT
+
|D7: brücken
  
D3: SHORT-CIRCUIT
+
D3: brücken
  
C1, C4, U4, RV1: not used
+
C1, C4, U4, RV1: nicht verwendet
| Do not use if using external battery charger
+
| Bei externem Ladegerät nicht verwenden
 
|-
 
|-
| External power while charging (recommended: NO)
+
| externe Stromversorgung währen des Ladens (empfohlen: Nein)
| JP6: CLOSE
+
| JP6: geschlossen
  
JP7: OPEN
+
JP7: offen
  
 
D4: DIODE
 
D4: DIODE
  
C5: not used
+
C5: nicht verwendet
| JP6: OPEN
+
| JP6: offen
  
JP7: CLOSE
+
JP7: geschlossen
  
D4: SHORT-CIRCUIT
+
D4: brücken
  
C5: used
+
C5: verwendet
| Use to power your PCB from externally (disconnect battery from PCB) while charging
+
| um Platine von aussen mit Strom zu versorgen (trennt Akku von Platine) während des Ladens
 
|-
 
|-
| Arduino controlled charge relay (recommended: YES)
+
| von Arduino gesteuertes Laderelais (empfohlen: ja)
| JP4: CLOSE
+
| JP4: geschlossen
  
JP5: OPEN
+
JP5: offen
| JP4: OPEN
+
| JP4: offen
  
JP5: CLOSE
+
JP5: geschlossen
| Use for Arduino controlled charge relay (not automatic charging)
+
| verwendet für vom Arduino gesteuertem Laderelais (keine automatische Ladung)
 
|-
 
|-
 
| Arduino Due (3.3V I/O)
 
| Arduino Due (3.3V I/O)
| LP0, ..., LP15: OPEN
+
| LP0, ..., LP15: offen
| LP0, ..., LP15: CLOSE
+
| LP0, ..., LP15: geschlossen
| Do not use if using Arduino Mega
+
| Nicht verwenden  bei Arduino Mega
 
|-
 
|-
 
| Bluetooth VCC=3.3V
 
| Bluetooth VCC=3.3V
| JP8: OPEN
+
| JP8: offen
  
JP9: CLOSE
+
JP9: geschlossen
| JP8: CLOSE
+
| JP8: geschlossen
  
JP9: OPEN
+
JP9: offen
| Many latest modules use 3.3V
+
| viele neuere Module laufen mit 3.3V
 
|-
 
|-
| Bluetooth programming mode
+
| Bluetooth Programmier-Modus
| JP2: CLOSE
+
| JP2: geschlossen
| JP2: OPEN
+
| JP2: offen
| Use for reprogramming baud rate etc.
+
| verwendet für Programmierung der BAUD-Rate usw.
 
|}
 
|}
  
=PCB modules=
+
=Leiterplatten-Module=
 +
 
 +
[[Image:Ina169_marotronics.jpg|thumb|200px| Wichtig für Marotronics INA169: Pads verlöten für 5A Betrieb]]
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 158: Zeile 150:
 
|-
 
|-
 
| U1
 
| U1
| DC/DC converter (10V)
+
| DC/DC Wandler (10V)
 
| GND, Vout, Vin, GND
 
| GND, Vout, Vin, GND
| No
+
| Nein
 
|
 
|
 
|-
 
|-
Zeile 166: Zeile 158:
 
| Bluetooth (HC-05)
 
| Bluetooth (HC-05)
 
| VCC, GND, TXD, RXD, Key, LED
 
| VCC, GND, TXD, RXD, Key, LED
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U3
 
| U3
| Current sensor (charging)
+
| Stromsensor (Ladestrom)
 
| VCC, GND, OUT, IP+, IP-5
 
| VCC, GND, OUT, IP+, IP-5
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U4
 
| U4
| Charge control (LM350T)
+
| Laderegler (LM350T)
 
| AJD, OUT, IN
 
| AJD, OUT, IN
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U5
 
| U5
| Current sensor (charging)
+
| Stromsensor (währen des Ladens)
 
| VCC, GND, OUT, IP+, IP-5
 
| VCC, GND, OUT, IP+, IP-5
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U6
 
| U6
| DC/DC converter (3.3V)
+
| DC/DC Wandler (3.3V)
 
| GND, Vout, Vin, GND
 
| GND, Vout, Vin, GND
| No
+
| Nein
 
|
 
|
 
|-
 
|-
 
| U7
 
| U7
| DC/DC converter (5V)
+
| DC/DC Wandler (5V)
 
| GND, Vout, Vin, GND
 
| GND, Vout, Vin, GND
| No
+
| Nein
 
|
 
|
 
|-
 
|-
 
| U8
 
| U8
| Realtime clock (DS1307)
+
| Echtzeituhr (DS1307)
 
| Batt, GND, VCC, SDA, SCL, DS, SQ
 
| Batt, GND, VCC, SDA, SCL, DS, SQ
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U9
 
| U9
| Wifi (ESP8266)
+
| WLAN (ESP8266)
 
| TX, CH_PD, Reset, VCC, GND, GP_IO2, GP_IO0, RX
 
| TX, CH_PD, Reset, VCC, GND, GP_IO2, GP_IO0, RX
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U10
 
| U10
| Level shifter 5V->3V (Arduino Due)
+
| Pegelwandler 5V->3V (Arduino Due)
 
|  
 
|  
| Yes
+
| Ja
 
|
 
|
 
|-
 
|-
 
| U11
 
| U11
| Wifi (ESP8266)
+
| WLAN(ESP8266)
 
| TX, CH_PD, Reset, VCC, GND, GP_IO2, GP_IO0, RX
 
| TX, CH_PD, Reset, VCC, GND, GP_IO2, GP_IO0, RX
| Yes
+
| Ja
| alternative mount position
+
| alternative Montageposition
 
|-
 
|-
 
|}
 
|}
  
=PCB connectors=
+
=Leiterplatten Steckverbinder=
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 236: Zeile 228:
 
|-
 
|-
 
| P1
 
| P1
| Sonar center (HC SR-04)
+
| Sonar mitte (HC SR-04)
 
| 5V, GND, Trigger, Echo
 
| 5V, GND, Trigger, Echo
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P2
 
| P2
| Sonar right (HC SR-04)
+
| Sonar rechts (HC SR-04)
 
| 5V, GND, Trigger, Echo
 
| 5V, GND, Trigger, Echo
| Yes
+
| ja
 
|-
 
|-
 
| P3
 
| P3
| Sonar left (HC SR-04)
+
| Sonar links (HC SR-04)
 
| 5V, GND, Trigger, Echo
 
| 5V, GND, Trigger, Echo
| Yes
+
| ja
 
|-
 
|-
 
| P4
 
| P4
| reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 260: Zeile 252:
 
| IMU (gyro,acceleration,compass) (GY-80)
 
| IMU (gyro,acceleration,compass) (GY-80)
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P6
 
| P6
| Lawn sensor
+
| Rasensensor
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 272: Zeile 264:
 
| Status LEDs
 
| Status LEDs
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P8
 
| P8
| Odometry right
+
| Odometrie rechts
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P9
 
| P9
| Odometry left
+
| Odometrie links
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 290: Zeile 282:
 
| GPS (GY-NEO6MV2)
 
| GPS (GY-NEO6MV2)
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P11
 
| P11
 
| Bumper
 
| Bumper
| GND, GND, right, left
+
| GND, GND, rechts, links
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P12
 
| P12
| Perimeter coil (center or left)
+
| Perimeter-Empfänger (mitte oder links)
 
| 5V, GND, perimeter
 
| 5V, GND, perimeter
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P13
 
| P13
| R/C remote control
+
| R/C Fernsteuerung
 
| 5V, GND, mow, steer, speed, switch
 
| 5V, GND, mow, steer, speed, switch
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P14
 
| P14
| Measurement points
+
| Messpunkte
| 5V, GND, (Depending on JP15: 3.3V, 5V or Arduino 3.3V)
+
| 5V, GND, (abhängig von JP15: 3.3V, 5V or Arduino 3.3V)
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P15
 
| P15
| Wheel motor left
+
| Antriebsmotor links
 
| M1OUT1, M1OUT2
 
| M1OUT1, M1OUT2
| No
+
| Nein
 
|  
 
|  
 
|-
 
|-
 
| P16
 
| P16
| Optional motor driver input
+
| Optionaler Motortreiber-Eingang
 
|
 
|
| Yes
+
| ja
| Do not connect
+
| nicht verbinden
 
|-
 
|-
 
| P17
 
| P17
| Optional motor driver input
+
| Optionaler Motortreiber-Eingang
 
|
 
|
| Yes
+
| ja
| Do not connect
+
| nicht verbinden
 
|-
 
|-
 
| P18
 
| P18
| Wheel motor right
+
| Antriebsmotor rechts
 
| M2OUT1, M2OUT2
 
| M2OUT1, M2OUT2
| No
+
| Nein
 
|  
 
|  
 
|-
 
|-
 
| P19
 
| P19
| Tilt sensor
+
| Neigungssensor
 
| 5V, GND, tilt
 
| 5V, GND, tilt
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P20
 
| P20
| Button (Start/Stop)
+
| Taster (Start/Stop)
 
|  
 
|  
| No
+
| Nein
 
|  
 
|  
 
|-
 
|-
 
| P21
 
| P21
| Drop sensor right
+
| Absturzsensor rechts
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P22
 
| P22
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P23
 
| P23
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P24
 
| P24
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P25
 
| P25
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P26
 
| P26
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P27
 
| P27
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P28
 
| P28
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P29
 
| P29
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P30
 
| P30
| Perimeter coil right
+
| Perimeter-Empfänger rechts
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P31
 
| P31
| Drop sensor left
+
| Absturzsensor links
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 422: Zeile 414:
 
| GND
 
| GND
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 428: Zeile 420:
 
| 5V
 
| 5V
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 434: Zeile 426:
 
| 3.3V
 
| 3.3V
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P35
 
| P35
| Mower motor RPM
+
| Mähmotor Drehzahl
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P36
 
| P36
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P37
 
| P37
| Mower motor
+
| Mähmotor
 
|  
 
|  
| No
+
| Nein
 
|  
 
|  
 
|-
 
|-
 
| P38
 
| P38
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P39
 
| P39
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
Zeile 470: Zeile 462:
 
| User switches
 
| User switches
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P41
 
| P41
| Rain sensor
+
| Regensensor
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P42
 
| P42
| Charging pins
+
| Ladeanschluss
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P43
 
| P43
| Battery (24V)
+
| Akku (24V)
 
|  
 
|  
| No
+
| Nein
 
|  
 
|  
 
|-
 
|-
 
| P44
 
| P44
| Wifi module (ESP8266)
+
| WLAN Modul (ESP8266)
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P45
 
| P45
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
| P46
 
| P46
| Reserved
+
| reserviert
 
|  
 
|  
| Yes
+
| ja
 
|  
 
|  
 
|-
 
|-
 
|}
 
|}
  
=Power supply=
+
=Stromversorgung=
Please also read the section 'Voltages' under [[Motor driver]] for more information on motor voltages.
+
Bitte lies auch den Abschnitt 'Spannungen' unter [[Motor-Treiber]] für mehr Informationen über die Motorspannung
  
It is recommended to use a voltage step-down converter (e.g. module using LM2596) to generate the 5V voltage for the Arduino and all additional modules. Before connecting, set the voltage of the converter to 5V.  
+
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.  
  
[[File:warning.png]]Warning : never connect more than 5V on the Arduino 5V pins, or you will damage the Arduino. Therefore, always measure the 5V voltage before connecting it to the Arduino 5V pin!
+
[[File:warning.png]]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!
All components together (as shown in the schematics) need about 5W power.
+
Alle Komponenten zusammen (wie im Schaltbild gezeigt) benötigen ca. 5W Leistung.
  
<gallery>
+
=Programm downloaden und Arduino programmieren=
File: Dcdc_noise.jpg | NOTE: Keep away coil/pre-amplifier from DC/DC converters!
+
</gallery>
+
  
=Download and flash Arduino code=
+
<b>NOTE</b>: Wenn du noch nie mit Arduino gearbeitet hast, lies unser <b>[http://wiki.ardumower.de/index.php?title=Arduino_first_steps 'Arduino first steps' introduction]</b>.
  
<b>NOTE</b>: If you have never worked with Arduino before, read our <b>[http://wiki.ardumower.de/index.php?title=Arduino_first_steps 'Arduino first steps' introduction]</b>.
+
Du hast zwei Möglichkeiten:  
 +
* Download [https://github.com/Ardumower/ardumower/releases github code (empfohlen)]  oder
 +
* Download [http://www.ardumower.de/index.php/de/downloads v0.9.3 code (alt, nicht empfohlen)]
  
You have two options:
+
Zuletzt, downloade und starte [http://arduino.cc/en/Main/Software Arduino IDE] um das Programm auf dem Arduino zu speichern.
* Download [https://github.com/Ardumower/ardumower/releases github code (recommended)] OR
+
* Download [http://www.ardumower.de/index.php/de/downloads v0.9.3 code (old, not recommended)]
+
  
Finally, download and start the [http://arduino.cc/en/Main/Software Arduino IDE] to flash the code to your Arduino.
+
'''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).
  
'''Arduino Version''': It is very Importent that you use the Arduino IDE version 1.6.3 or above AND select the right Board (Mega 2560 or Due).
+
[[File:warning.png]] <b>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! </b>
 +
Vergewissere dich, dass die Pin-Belegung im Arduino-Code (config.h/mower.cpp) mit deinem aktuellen Schaltplan übereinstimmt.
  
[[File:warning.png]] Note: Always verify that the pin configuration in your Arduino code (config.h/mower.cpp) matches your actual circuit!
+
=Einstellungen=
 +
Der Roboter verwendet Grundeinstellungen die du für deinen Roboter und deine Umgebung anpassen kannst. Die Grundeinstellungen (factory settings) werden in der Konfigurationsdatei 'mower.cpp' gespeichert. In dieser Datei findest Du auch eine kurze Beschreibung aller Grundeinstellungen.
  
=First-time calibration=
+
Diese Grundeinstellungen können später über ein Android-Handy verändert werden ([http://wiki.ardumower.de/index.php?title=Bluetooth pfodApp]). Diese veränderten Einstellung haben dann höhere Priorität als die Grundeinstellungen. Alle geänderten Einstellungen können jederzeit auf Grundeinstellung (Werkseinstellung) zurückgesetzt werden.
==Wheel motors==
+
[[File:warning.png]]Security note: For security reasons, always remove mower blades in your first tests!
+
  
Initially, you should verify that the wheel motors are controlled correctly and in the right direction. The software offers a diagnostic mode. Open the serial console in the Arduino IDE (CTRL+SHIFT+M) and set the baudrate to 19200. The motor and sensor values should appear constantly:
+
<gallery>
 +
  File:Cheat_sheet.png | Visualisierung der Einstellungen
 +
  File:Speedcontrol.png | Motor-Einstellungen
 +
</gallery>
  
<blockquote style="background-color: lightgrey; border: solid thin grey;">
+
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.
<pre>
+
    20 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son...
+
    21 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son...
+
    22 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son...
+
    23 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son...
+
    24 OFF  spd    0    0    0 sen    0    0    0 bum    0    0 son...
+
    ...
+
</pre>
+
</blockquote>
+
  
Now, press the key ‘t’ on the keyboard, and confirm using ENTER. The diagnostic mode should appear, and you can test your motors.
+
=Erste Inbetriebnahme=
  
==ADC calibration==
+
1. Alle Sensoren deaktivieren. Zunächst alle Sensoren deaktivieren - In 'mower.cpp' den Roboter auf folgende Grund-Einstellungen setzen:
Run the ADC calibration once (either via serial console or "pfodApp->ADC Calibration"), so that the received signal is symmetric around zero.
+
  
=Diagnostics/troubleshooting=
+
bumperUse = 0;
Each time a sensor triggers, its corresponding sensor counter increases. The sensor trigger counters as well as the current sensor values can be viewed on the serial console. The following values are shown for the trigger counters in the serial console:
+
dropUse = 0;
 +
rainUse = 0;
 +
sonarUse = 0;
 +
perimeterUse = 0;
 +
lawnSensorUse = 0;
 +
imuUse = 0;
 +
batMonitor = 0;
 +
odometryUse = 0;
 +
gpsUse = 0;
 +
buttonUse = 1;
 +
timerUse = 0;
  
# Time of state machine's state (ms)
+
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:
# loop()-counts per second
+
# choosen Verbose-Mode (0=counter readings/1=current values/2=current values)
+
# current state machine state (FORW, REV, ROLL etc.)
+
# drive home? (1/0)
+
# "spd" - Control/speed motors: left (PWM), right (PWM), mower (RPM)
+
# "sen" - Current limit exceeded counter motors: left, right, mower
+
# "bum" - bumper counter: left, right
+
# "son" - Ultrasonic-distance threshold exceeded (counter)
+
# "pit/roll" - Tilt (computed by acceleration sensor)
+
# "com" - compass course
+
# "per" - Perimeter loop detected: counter
+
# "bat" - Battery voltage
+
# "chg" - Charging current
+
  
Using the key 'v', you can toggle between sensor trigger counters and current sensor values.
+
Konsole:
 +
press...
 +
d for menu
 +
e=delete all errors
  
[[File:warning.png]] Additionally, you can use pfodApp (Android) to plot the sensors (trigger counters and current values) over time. This allows you to wirelessly monitor your robot mower for error diagnostics. It is highly recommended.
+
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
  
<gallery>
+
4. Motor-Ansteuerung testen:
File:Ardumower_sensor_counter_plotting.jpg |Sensor trigger counters
+
Konsole:
File:Ardumower_plot_sensors.jpg |Sensor measurement values
+
press...
</gallery>
+
d for menu
 +
1=test motors
 +
 +
[[File:warning.png]]Sicherheitshinweis: Aus Sicherheitsgründen sind die Mähmesser bei den ersten Tests [[nicht]] zu montieren!
  
=Starting the mower=
+
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.
  
To start the mower, you need to add a button and a buzzer:
+
=Starten des Mähroboters=
 +
Um den Mähroboter zu starten wird ein Taster und ein Piezo-Summer benötigt:
  
  pinButton —o Button o— GND (button for ON/OFF)
+
  pinButton —o Taster o— GND (button for ON/OFF)
  
 
  pinBuzzer —o Buzzer o— GND (Piezo buzzer)
 
  pinBuzzer —o Buzzer o— GND (Piezo buzzer)
  
Now, press the button as long as you hear the beeps:
+
Drücke nun den Taster, bis Du die Anzahl Pieptöne hörst, die dem Modus entspricht, den Du einstellen möchtest:
  
Mode (press button for x beeps):
+
Modus (Drücke Taster bis du x Töne hörst):
  1 beeps : Normal mowing (using blade modulation if available)
+
  1 Piep  : Normales mähen (verwendet, wenn verfügbar, Messermodulation)
  2 beeps : Normal mowing (without blade modulation)
+
  2 Pieps : Normales mähen (ohne Messermodulation)
  3 beeps : Drive by model remote control (RC)
+
  3 Pieps : Fahren mit Fernsteuerung (RC)
  4 beeps : Drive without mowing
+
  4 Pieps : Fahren ohne mähen
  5 beeps : Find perimeter and track it
+
  5 Pieps : Finde Perimeterschleife und folge ihr
  
=Error counter / error beeps=
+
=Diagnose/Fehlerbehebung=
If there's a communication problem or another serious problem, the error counter increases. The error counter can be monitored via pfodApp. Additionally, the robot mower will beep when started.
+
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 oder mittels der App ansehen. Die folgenden Werte werden in der seriellen Konsole angezeigt:
  
See section [[Troubleshooting]] for details on all errors.
+
# 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
  
==I2C bus / error beeps==
+
Mittels der Taste 'v' kann zwischen Sensor-Zählerständen und den aktuellen Sensorwerten umgeschaltet werden.
Several components (Arduino Nano, RTC, IMU, etc.) are communicating via the I2C bus (SDA/SCL wires). These wires should be very short (maybe even twisted) and they should be far away from DC converter and motor drivers. If there's a communication problem, the error counter will increase and robot will beep when started. The error counter can be monitored via pfodApp.
+
  
=Settings=
+
[[File:warning.png]] 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.
The robot uses settings that you can adjust for your own robot and environment (via pfodApp or directly in the code). The default settings (factory settings) are stored in the config file 'mower.cpp'.
+
 
+
The settings can be adjusted via Android phone ([http://wiki.ardumower.de/index.php?title=Bluetooth pfodApp]).  
+
  
 
<gallery>
 
<gallery>
  File:Cheat_sheet.png | General settings
+
File:Ardumower_sensor_counter_plotting.jpg |Sensor-Zählerstände
  File:Speedcontrol.png | Motor speed settings
+
File:Ardumower_plot_sensors.jpg |gemessene Sensorwerte
  File:Ardumower_config_files.png | General config file idea
+
File: Ardumower_states.png | Ardumower Zustände
 
</gallery>
 
</gallery>
  
Important: If you uploaded a new version into your robot, reset all settings via pfodApp once (Settings->Factory reset). This will delete all existing settings. Old settings can produce malfunction if the internal settings format has changed.
+
==Fehlercodes und deren Behebung==
 +
http://wiki.ardumower.de/index.php?title=Fehlerbehebung
 +
 
 +
=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.
  
=Further links=
+
=Weitere Links=

Aktuelle Version vom 20. Juni 2016, 09:52 Uhr

Pcb top.jpg

Diese Seite beschreibt,wie die Ardumower Hauptleiterplatte aufgebaut wird, wie das Programm auf den Arduino aufgespielt wird, und wie man den Mähroboter konfiguriert.

Übersicht

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.

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)

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.


Bemerkung: Das Schaltbild und die Platinen-Zeichnungen wurden mit KiCad entwickelt. Sie können hier heruntergeladen github und damit bearbeitet werden KiCAD software.

PCB Bauanleitung Videos

Leiterplatten Jumper

Bestueckung versorgung laden.png

Wenn benutzt... ...JA ...NEIN Kommentar
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

Wichtig für Marotronics INA169: Pads verlöten für 5A Betrieb
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-Treiber 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.

Warning.pngWarnung : 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:

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).

Warning.png 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.

Einstellungen

Der Roboter verwendet Grundeinstellungen die du für deinen Roboter und deine Umgebung anpassen kannst. Die Grundeinstellungen (factory settings) werden in der Konfigurationsdatei 'mower.cpp' gespeichert. In dieser Datei findest Du auch eine kurze Beschreibung aller Grundeinstellungen.

Diese Grundeinstellungen können später über ein Android-Handy verändert werden (pfodApp). Diese veränderten Einstellung haben dann höhere Priorität als die Grundeinstellungen. Alle geänderten Einstellungen können jederzeit auf Grundeinstellung (Werkseinstellung) zurückgesetzt werden.

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.

Erste Inbetriebnahme

1. Alle Sensoren deaktivieren. Zunächst alle Sensoren deaktivieren - In 'mower.cpp' den Roboter auf folgende Grund-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

Warning.pngSicherheitshinweis: 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.

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

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 oder mittels der App ansehen. Die folgenden Werte werden in der seriellen Konsole angezeigt:

  1. Zeit des state machine's Status (ms)
  2. Schleifendurchläufe pro sec
  3. gewählter Anzeige-Modus (0=Zählerstände/1=aktuelle Werte/2=aktuelle Werte)
  4. aktueller state machine Status (FORW, REV, ROLL usw.)
  5. Fährt in Ladestation? (1/0)
  6. "spd" - Ansteuerung/Drehzahl der Motoren: links (PWM), rechts (PWM), Mähmotor (RPM)
  7. "sen" - Überstromzähler der Motoren: links, rechts, Mähmotor
  8. "bum" - Bumper Zähler: links, rechts
  9. "son" - Ultraschall Abstandsschwelle unterschritten (Zähler)
  10. "pit/roll" - Neigung (berechnet von Beschleunigungssensor)
  11. "com" - Kompass Kurs
  12. "per" - Perimeterschleife erkannt: Zähler
  13. "bat" - Akku Spannung
  14. "chg" - Ladestrom

Mittels der Taste 'v' kann zwischen Sensor-Zählerständen und den aktuellen Sensorwerten umgeschaltet werden.

Warning.png 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

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.

Weitere Links