AREXX ARDUINO ROBOT AAR BAUANLEITUNG: AAR-04 © AREXX - DIE NIEDERLANDE V052012 -1-
Inhaltsverzeichnis 1. PRODUKTBESCHREIBUNG AAR 3 1.1 Die ARDUINO Roboterfamilie 3 1.2 Spezifikationen 3 1.3 Warnungen 4 2. ARDUINO ALLGEMEINE INFO 5 3 Der AREXX ARDUINO ROBOTER 10 3.1 Blockschaltbild des ARDUINO ROBOTERS 10 3.2 Hintergrundinformation zum AAR 11 3.3 HINTERGRUNDINFO ZUR ARDUINO SOFTWARE 12 4. Erste Schritte auf dem Weg zur Installation 13 4.1 Download und Installation der Arduino Software 13 4.2 Die Programmiersprache Arduino 13 4.
1. PRODUKTBESCHREIBUNG AAR 1.1 Die ARDUINO Roboterfamilie Arduino ist eine „open source “-Plattform1 zur Entwicklung von Elektronikprototypen, die uns einen Mikrocontroller einschließlich aller peripheren Schnittstellen und benötigter Software zur Verfügung stellt. Das Arduino-Konzept wurde entwickelt um auf möglichst einfacher Weise die Handhabung mit der modernen Elektronik zu erlernen, die man in der Roboterwelt, Softwaresteuerung und Sensoren verwendet.
1.3 Warnungen 1. Sie müssen dieses Handbuch gelesen haben ehe Sie auf einem der Anschlüssen eine Stromquelle anschließen! Fehlerhafte Anschlüsse können die Hardware schädigen. 2. Überprüfen Sie bitte sorgfältig die Anschlussbelegung! Arbeiten Sie bei der Verdrahtung des Systems sehr sorgfältig. Falsche Anschlüsse können Komponenten beschädigen. Beachten Sie die korrekte Polarität der Stromversorgungsanschlüsse. Eine Umpolung der Stromversorgungsanschlüsse kann die Hardware beschädigen. 3.
2. ARDUINO ALLGEMEINE INFO 2.1. Wer oder was ist ARDUINO? Arduino ist ein open source-Einplatinen Mikrocontroller, der insbesondere Künstlern, Designern, Bastlern und anderen Interessierten den Zugang zur Programmierung und zu Mikrocontrollern und die Projektarbeit an interaktiven Objekten erleichtern soll. Die Arduino-Plattform basiert auf einer ATmega168 oder ATmega328 Mikrocontroller von Atmel. Das System stellt dem Anwender sowohl digitale Ein- und Ausgänge als analoge Eingänge zur Verfügung.
2.2 Mikrocontroller! 2.2.1 Anwendungen Ein Mikrocontroller (manchmal in der verkürzten Schreibweise auch μC, uC oder MCU genannt) ist ein kleiner Computer in einer integrierten Einzelschaltung, der den Prozessorkern, Speicher und und einen Satz programmierbarer Ein-/Ausgangsanschlüsse enthält. Programmspeicher und ein kleiner Datenspeicher, RAM (beziehungsweise Random Access Memory) gehören oft ebenfalls zur Ausstattung des Chips.
2.3. Leistungsverbrauch und Geschwindigkeit Manche Mikrocontrollers arbeiten bei einer niedrigen Taktfrequenz von 4 kHz und weisen einen geringen Leistungsverbrauch im Milliwatt- oder Mikrowatt-Bereich auf. Sie können üblicherweise sofort auf einem Knopfdruck oder Interrupt-Prozess aktiviert werden. Der Leistungsverbrauch liegt beim Warten (bei abgeschaltetem CPUClockgenerator sowie fast der kompletten Zusatzbeschaltung) im Nanowattbereich, was eine Langlebigkeit der Batterien sicherstellt.
Je nach Chiptyp kann das Programm in einem permanenten ROM3 -Speicher, der nur während der Fertigung des Chips beschrieben werden kann, oder in einem immer wieder beschreibbaren Flash – oder mehrfach beschreibbarem ROM-Speicher gespeichert werden. Ursprünglich hat man Mikrocontroller nur in Assemblersprache programmiert, aber zur Zeit sind auch verschiedene höheren Programmiersprachen für die Programmierung der Mikrocontroller verfügbar.
Ein weniger üblichen Form der Datenverwandlung in Mikrocontroller ist die Digital zu Analog-Umwandlung (im D/A-Wandler oder DAC5) womit der Prozessor Analogsignale oder Spannungspegel erzeugen kann. Zusätzlich zu den Konvertern verfügen einige eingebettete Systeme auch noch über Zeituhr-Schaltungen (Timers). Eins der gängigen Zeituhrtypen ist die Programmierbare Intervall-Zeituhr (PIT6) , der von einem beliebigen Anfangswert herabzählt nach Null.
3. AREXX ARDUINO ROBOT 3.1 Blockschaltbild des ARDUINO ROBOTERS 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Abb. 1: AAR Platine Anschluss für den Batteriehalter. (Beachten Sie bitte die Polarität) Ein/Aus-Schalter für den Roboter. Status-LED: Anzeige, dass der Roboter von der Stromversorgung gespeist wird.
3.2 Hintergrundinformation zum AAR Der AAR ist ein Arduino-Roboter, der speziell entworfen wurde zum Erlernen der Arduino Software. An der Vorderseite befindet sich die USB-Schnittstelle mit dem FT232 IC, welches das USB-Signal in ein RS232 UART-Signal verwandelt, das vom ATMEGA328P Prozessor (rechts vorne) verarbeitet werden kann. Auf der gegenüberliegenden Seite wurde der EIN/AUS-Schalter mit dem JP3-Steckerplatz für den Stromversorgungsanschluss und den Motortreiber IC2 montiert.
Der Roboter arbeitet mit einer Bordspannung von 5V und ist eventuell auch zufrieden mit der USB-Spannungsquelle, was beim testen und programmieren einige Handgriffe einspart. Ausgesprochen nützlich sind in diesem Roboterkonzept die Steckplätze, auf denen Sie die eigenen oder die AREXX-Erweiterungsplatinen aus der ASURO-Reihe platzieren können 3.3 HINTERGRUNDINFO ZUR ARDUINO SOFTWARE Die Arduino Software gehört zur Open Source-Kategorie und ist deshalb für jeden verfügbar.
4. Erste Schritte auf dem Weg zur Installation 4.1 Download und Installation der Arduino Software Installieren Sie bitte zuerst die Erstversion der Arduino Software von der CD, da wir dann sicher sind, dass diese Version richtig funktioniert. Später können Sie auch die Arduino Webseite besuchen und von dort die aktuelleren Versionen abrufen. WICHTIG: Es ist möglich dass manche ARDUINO-Softwareversionen mit diversen Versionen der Applikationssoftware Schwierigkeiten bereiten.
4.4 AAR Hardware 4.4.1 Das Anschließen von Akkus Der Roboter wurde dimensioniert für eine Stromversorgung aus einem Batteriebehälter für vier 1,5V Batterien. Falls Sie stattdessen aufladbare Akkus verwenden, sollte die Drahtbrücke JP4 für die Verwendung von Akkus durchverbunden werden. (siehe Abb. 1 Nummer 4). ACHTUNG! Sobald die Drahtbrücke JP4 platziert wird, geht der Schutz gegen fehlerhaften Polarität der Stromversorgung verloren.
4.5 ARDUINO Software 4.5.1 Programmierung des Roboters mit der Arduino Software. Schließen Sie den Roboter mit einem USB-Kabel auf dem PC an. Falls der Roboter auf dem USB-Port angeschlossen ist, benötigt Arduino nicht unbedingt eine Batteriespannung. Der USB-Anschluss des PCs übernimmt dann die Funktion der Stromversorgung. ACHTUNG: Der Roboter ist immer eingeschaltet sobald dieser auf dem PC angeschlossen ist, der Schalter und LED5 sind nur bei Batteriebetrieb aktiv.
Afb. 4a Programm Blink Afb. 4b Board Festlegen (Selektieren) Wir müssen jetzt den korrekten Arduino-Platinentyp festlegen. Klicken Sie dazu auf Tools>Board> Arduino Duemilanove or11 Nano w/Atmega328 (siehe Abb. 4b) 4.5.3 Festlegung der COM-Schnittstelle Der nächste Schritt legt die korrekten COM-Schnittstelle in der Arduino-Software fest. Die richtige COM-Schnittstelle (COM-Port) für den Anschluss des Roboters ist COM 12.
4.5.4 Übertragung eines Programms zum Arduino Roboter Klicken Sie anschließend auf die mit einem roten Pfeil markierte Taste (oder im Menu auf „File>Uploading to I/O board“) um dieses Programm an den angeschlossenen Arduino Roboter zu übertragen (siehe Abb. 6). Im Statusbalken meldet die Software jetzt dass das System das Programm compiliert und anschließend einen Upload startet. Afb. 6 Übertragung eines Programms zum Arduino Roboter (Upload-Vorgang). Afb.
5. Hintergrundinformation zur H-Brücke Die H-Brücke ist eine Elektronikschaltung womit man mittels vier Schalter zum Beispiel einen Gleichstrommotor umpolen kann. Ein solcher Schalter wird in der Robotertechnologie oft angewandt um Motoren in zwei Richtungen an zu steuern. Meistens sind für solche Schaltungen integrierte Module verfügbar, aber zur Verdeutlichung der Funktionsweise und Dimensionierung der Stromversorgung kann es gelegentlich interessant sein auch eine ältere Schaltung zu studieren. 5.
In der Endstufe ist M der Motor und wird die Steuerungsstufe des Vorverstärkers mit einem Widerstand R14 simuliert. Dieser Widerstand R14 erdet die Basisanschlüsse der Transistoren TR6 und TR5. Es leitet deshalb auch nur die Endstufe auf der rechten Seite einen nennenswerten Strom. Die Transistoren TR8, TR5 und TR9 führen Strom und die drei übrigen sind gesperrt. Falls wir R14 an einer positiven Spannung anschließen, sperren wir den Rechten Zweig der Endstufe und wird der Motorstrom umgepolt.
Die 3V-Stromversorgung ist eine ideale Ausgangsbasis für ein Roboter, der von nur 2 Batterien gespeist wird. Die PNP-Transistoren sind jedoch schlecht geeignet für eine Implementierung in einen integrierten Schaltkreis wie der L293D. Ein IC ist dagegen in anderer Hinsicht vorteilhaft, wie zum Beispiel im Bereich der Zuverlässigkeit, Absicherung gegen Schaltfehler und geringeres Platzbedarfes sowie Gewichts.
6. Odometrie-Systeme In diesem Kapitel werden wie einige interessante Konzepte für die Anwendung des AAR-Roboters beschreiben. Es sind Ideen für Studien und Kunstprojekte. Die Entwicklung solcher Arduino-Software mag uns beim Programmieren des Mikrocontrollers beflügeln und beseelen. 6.1 Linienfolger, Farbsucher und Farbflüchter Mit lichtempfindlichen Sensoren kann man einen Roboter zum Linienfolger, Farbsucher und Farbflüchter programmieren.
6.3 Komplexe Linienfolger Roboter, die Linien folgen oder Linienmuster aus dem Weg gehen, verwenden in der Regel eine Lichtquelle und zwei oder mehr Lichtsensoren, womit das Suchsystem eine Linie identifizieren und folgen kann.
Aus der Komplexität der benötigten Software mag der Programmierer in Staunen versetzt werden und eine Bewunderung für die lebende Organismen entwickeln, die ein solches Verhaltensmuster kombinieren mit der regelmäßigen Suche nach Nahrung und einer erfolgreichen Fortpflanzungsstrategie. Es ist wahrlich die großartige Leistung der Natur solche Verhaltensmuster immer wieder zu perfektionieren und am Leben zu erhalten.
7. Programmierung des Bootloaders Achtung! Die Verfahren in diesem Kapitel setzen Programmiererfahrung voraus ! Man kann den Arduino Bootloader zum Beispiel mittels STK500 hochladen. Zur Übertragung der in Arduino geschriebenen Programmen in den Atmega Mikrocontroller muss der AtmegaProzessor von einer speziellen Arduino-Bootloader versehen werden. Der Bootloader sorgt dafür, dass die übertragene Codezeichen an der korrekten Stelle des Atmega-Speichers geschrieben werden.
APPENDIX - 25 -
A. Teileliste Teil C1 C2 C3 C4 C6 C7 C8 C9 C11 C12 C13 C14 C15 C16 C17 C19 D1 D2 IC1 IC2 IC3 IC4 IC5 JP1 JP2 JP3 JP4 JP5 SV2 T1 T2 T3 T4 U$1 U$2 U$3 U$4 X1 LED1 LED2 LED3 LED4 LED5 LED6 Wert Ausführung 18pF 0805 18pF 0805 0.
Teil LED8 LED9 LED10 LED11 LED12 LED13 LED14 LED16 LED17 LED18 Q1 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29/C3 R31 R32 S1 S2 SV1 Wert Ausführung Rd Rd Rd Rd Gn Rd Bl Rd Rd Rd 16mhz 20k 20k 1k5 220 1k5 1k 680 680 20k 20k 220 220 10k 220 220 220 220 220 220
B.
C.
Schaltbild AAR ATmega328P D.