Arexx AAR User guide [nl]

AREXX ARDUINO ROBOT
AAR
HANDLEIDING: AAR-04
© AREXX - V082012
- 1 -
Inhoud
1. Productbeschrijving AAR 3
1.1 De ARDUINO Robotfamilie 3
1.2 Specificaties 3
1.3 Waarschuwingen 4
2. AAR Algemene info 5
3. De AREXX ARDUINO robot 10
3.1 Blokschema 10
3.2 AAR achtergrondinformatie 11
4. Opstarten van de AAR 13
4.1 Software installeren 13
4.2Programmeren met de Arduino 13
4.3 USB Driver installeren hardware 13
4.4 Hardware 14
4.5 ARDUINO Software 15
4.5.1 Programmeren met de Arduino 15
4.5.2 Arduino programma selecteren 15
4.5.3 Com poort selecteren 16
4.5.4 Programma uploaden naar de AAR 17
5. Achtergrond H-brug 18
6.1 Een H-brug voor 3 Volt 18
6.2 Een H-brug voor 4,5 Volt 20
6. Odometrie systemen 21
8. Bootloaderashen  24
9. APPENDIX 25 A. Onderdelenlijst 26 B. Printplaat 27 C. Schema 30
AREXX und AAR zijn geregistreerde merken van AREXX Engineering
© AAR Handleiding (Juli 2012): AREXX Engineering (NL). Niets uit deze handleiding mag op welke wijze en voor welke doeleinde dan ook worden overgenomen zonder schriftelijke toestemming van de Europees importeur: AREXX Engineering te Zwolle (NL).
De fabrikant en importeur stellen zich niet verantwoordelijk en aanvaarden geen enkele aansprakelijkheid voor de gevolgen van ondeskundige handelingen en/of eventuele fouten bij het bouwen en bij het gebruik van dit product door het niet opvolgen van deze handleiding. De inhoud van deze handleiding kan zonder kennisgeving vooraf door ons worden gewijzigd.
Fabrikant: AREXX Engineering JAMA Oriental
Importeur: AREXX Engineering ZWOLLE
Technische vragen zie:
WWW.AREXX.COM
WWW.ROBOTERNETZ.DE
© AREXX Holland en JAMA Taiwan
- 2 -
1. PRODUCTBESCHRIJVING AAR
1.1 De ARDUINO Robotfamilie?
Arduino is een open source single-board microcontroller en ontworpen om elektronica en met name microprocessoren toegankelijker te maken in verschillende projecten. Een Arduino bord maakt gebruik van een Atmega processor.
Arduino is in eerste instantie bedoeld voor kunstenaars, ont­werpers, hobbyisten en een ieder die geïntesseerd is om interactieve objecten te creëren. De Arduino hardware bestaat altijd uit een Atmel AVR processor met zowel digitale in- en uitgangen en analoge ingangen. Hiermee kan het Arduino bord signalen ontvangen van de omgeving en vervolgens kan het daar weer op reageren.
In navolging van de AREXX ASURO robot, die programmeer­baar is in de programmeertaal C is er nu de AREXX Arduino Robot. De AAR Robot lijkt erg op de ASURO maar is veel een­voudiger programmeerbaar dankzij de open source program­meertaal Arduino.
1.2Specicaties:
Motoren 2 Gelijkstroommotoren (3 Volt) Processortype ATmega328P Programmeertaal ARDUINO of C Spanning 4 st. AAA accu of batterijen 4,8 - 6 Volt Stroom Min. 10 mA Max. 600 mA Communicatie USB en ISP Stekker Uitbreidingen ASURO Uitbreidingsmodules
Hoogte 40 mm Breedte 120 mm Lengte 180 mm
- 3 -
2.5. Waarschuwingen
1. Lees eerst de handleiding volledig door voordat je de spanning aansluit! Foutieve handelingen kunnen deze robot onherstelbaar beschadigen.
2. Controleer altijd de aansluitingen van de kabels en externe componenten. Verkeerde spanning of polariteit kunnen de robot onherstelbaar beschadigen.
3. Gebruik geen spanningen die hoger zijn dan voor­ geschreven. Gebruik een goede gestabiliseerde voeding die geen piekspanningen geeft.
4. Pas op met electrostatische ontlading. Werk ESD-veilig en raak de componenten nooit zomaar met je handen of metalen gereedschap aan, zonder ESD-beveiliging.
Algemeen
* Als de onderdelenblister geopend wordt, vervalt het retourrecht * Lees voordat je begint de gehele handleiding door * Wees voorzichting met gereedschappen en kleine onderdelen, houd deze buiten het bereik van kleine kinderen! * Houd dit product buiten het bereik van kleine kinderen. * Controleer altijd zorgvuldig de polariteit van de batterijen! * Houd de batterijen droog en verwijder ze als de AAR voor lange tijd niet gebruikt gaat worden. Mix nooit gewone en oplaadbare batterijen of lege en volle
batterijen!
- 4 -
2. ARDUINO ALGEMENE INFO
2.1. Wie of wat is ARDUINO?
Arduino is een open source single-board microcontroller en is ont­worpen om elektronica toegankelijker te maken in verschillende projecten. Een Arduino bord maakt gebruik van de Atmega 168 of Atmega 328 microcontroller van Atmel.
Zoals je in de inleiding kon lezen is het bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïntesseerd is om interac­tieve objecten te creëren. De hardware bestaat uit een Atmel AVR processor met zowel digitale in- en uitgangen en analoge ingangen. Hiermee kan het Arduino bord signalen ontvangen van de omgeving en vervolgens daar op reageren.
Er zijn meerdere Arduino borden beschikbaar zoals Arduino Uno, Arduino LilyPad en Arduino Mega 2560. Voor elk project is er wel een Arduino bord dat het meest geschikt is, omdat elke Arduino
specieke eigenschappen bezit.
De input kan onder andere gegenereerd worden door schakelaars, lichtsensoren, bewegingsensoren, afstandsmeters en temperatuur­sensoren. Ook is het mogelijk om commando’s als input te zien afkomstig van internet. Met de output signalen kunnen motoren, lampjes, pompjes en beeldschermen aangestuurd worden.
Er is een standaard programmeertaal compiler en bootloader aan­wezig om het bord te programmeren. De programmeertaal waarmee de Arduino hardware wordt geprogrammeerd is gebaseerd op de wiring programmeertaal en komt overeen met C++.
Arduino is als een project begonnen in Ivrea, Italië in 2005. Het was oorspronkelijk bedoeld om studenten te helpen om projecten te ontwerpen. Het moest goedkoper worden dan andere prototype systemen die al beschikbaar waren. De makers Massimo Banzi en David Cuartielles hebben het project genoemd naar een historisch persoon ‘Arduin of Ivrea’. Het woord ‘Arduino’ betekent ‘sterke
vriend’.
- 5 -
2.1 Microcontrollers!
Een microcontroller (soms afgekort tot µC, uC or MCU) is een kleine computer opgebouwd als een geïntegreerde schakeling. Dit noe­men we een IC, (IC = integrated circuit). Een IC bevat een proces­sor core, een geheugen en programmeerbare in- en uitgangen. Het programmageheugen (ROM) en een klein datageheugen (RAM) zijn vaak ook geïntegreerd in het IC.
2.1.1 Applicaties
Microcontrollers worden gebruikt in geautomatiseerde processen. Er zijn vele toepassingen in vele producten, zoals computers, auto’s, machines, gereedschappen, mobiele telefoons, afstandsbedieningen en speelgoed. Eigenlijk kom je ze elke dag overal tegen.
Doordat ze steeds kleiner en goedkoper worden, zijn er telkens meer applicaties waarvoor ze gebruikt kunnen worden, denk bijvoorbeeld aan de tablet of de smartphones.
- 6 -
2.3. Opgenomen vermogen en snelheid
Sommige microcontrollers hebben een klokfrequentie van slechts 4 kHz. Dit is omdat ze dan een heel laag stroomverbruik hebben (milliwatts of microwatts). Een dergelijke lage klokfrequentie redu­ceert echter wel de functionaliteit maar er zijn voldoende applicaties waar snelheid niet van belang is, zoals kijken of er een knop be­diend wordt en daar dan op reageren (bijvoorbeeld een afstands­bediening).
Er zijn andere applicaties waar een hoge kloksnelheid een must is, bijvoorbeeld bij digitale signaalverwerking, in het Engels, digi­tal signal processor (DSP). Naast de hoge klokfrequentie is er dan ook direct een groter stroomverbruik. Denk hierbij ook aan PC’s en smartphones.
Onze Arduino robot werkt met een krachtige Atmel 328 processor voorzien van een 8-bit microcontroller op een frequentie van 20MHz
en met een 16K bytes In-systeem programmeerbare ash. De
veilige voedingsspanning ligt in de range van 4,5 - 7V DC. Dit zorgt voor stabiele en veilige condities voor de ATMEL processor en het motorcircuit.
2.4 Microcontroller programma’s
Microcontroller programma’s moeten passen in een geheugen dat op het IC zit. Het is duur en omslachtig om extra extern geheugen toe te voegen. Compilers en assemblers worden gebruikt om de uitvoe­rige hogere programmeertaal (waar het programma in geschreven wordt) om te zetten (te assembleren) in een machinecode die de processor begrijpt. Deze machinecode wordt dan in het geheugen van de processor geladen. Afhankelijk van het type is het geheugen permanent of vluchtig. Vroeger werden de processoren direct in de machinecode geprogrammeerd. Nu zijn er diverse hogere (eenvou­dige) programmeertalen zoals C of de vereenvoudigde C taal ARDUINO. De verschillende talen die er zijn hebben vaak betrekking op de applicaties, maar C is momenteel wel de meest gebruikte taal voor het programmeren van processoren. Veel bekende software zoals bijvoorbeeld Windows van Microsoft is voor een groot deel in C geschreven.
Onze Arduino robot heeft een ashgeheugen (ash memory) van
ongeveer 16K bytes voor programma’s. Deze kunnen in plaats van de Arduino taal ook direct geschreven worden in de C taal.
- 7 -
2.4 Interface Architecture
Microcontrollers hebben normaalgesproken een tiental tot enkele tientallen algemene (General Purpose) input/output pinnen (GPIO).
GPIO pinnen zijn congureerbaar in de software als ingang of als
uitgang.
Als de GPIO pinnen zijn gecongureerd als input, dan worden ze
meestal gebruikt om sensoren of externe signalen uit te lezen.
Als ze als uitgang gecongureerd zijn, dan kunnen de GPIO pinnen
gebruikt worden om externe componenten zoals LEDS en/of IC’s aan te sturen.
Veel embedded systemen (apparaten met een processor zoals bij­voorbeeld onze AAR robot) moeten analoge signalen uitlezen. Dit kan een processor alleen doen met behulp van een analoog-naar­digitaal converter (ADC). Vanaf het begin moesten processoren alleen digitale data analyseren en verwerken (1-en en 0-en). Ze kunnen zelf niets doen met de analoge signalen die ze aangeboden krijgen. De ADC wordt gebruikt om een analoog signaal om te zet­ten naar een digitaal signaal, zodat een processor dit kan verwer­ken.
Er zijn processoren, zoals bijvoorbeeld de ATMEGA (die gebruikt wordt in onze AAR robot), die al een ADC aan boord hebben. Der­gelijke processoren kun je dus direct analoge signalen aanbieden zonder dat je een externe ADC nodig hebt.
De meeste moderne processoren hebben ook één of meerdere timers. De meest gebruikte timer is een Programmable Interval Timer (PIT). Een PIT telt af van een ingestelde waarde naar nul. Als de waarde nul bereikt is, stuurt het een interrupt naar de pro­cessor zodat die weet dat het tellen gestopt is. Dit is handig voor sensoren zoals thermostaten die periodiek een temperatuur moeten meten. De processor kan dan op haar beurt weer een apparaat zoals
een verwarming of ventilator aansturen als dat nodig mocht zijn.
- 8 -
De Universal Asynchronous Receiver/Transmitter (UART) is een heel belangrijk onderdeel van de processor. Dit deel van de processor maakt het mogelijk om data te ontvangen of te verzenden over een seriële lijn. Dit alles met een zeer lage belasting voor de processor capaciteit.
De meeste moderne processoren kunnen ook digitaal met andere apparaten of IC’s communiceren, bijv. via een I2C bus of met de Serial Peripheral Interface (SPI) bus.
De ATMEGA processor in onze Arduino robot heeft 14 digitale I/O’s en 7 analoge I/O’s. Verder zijn er vier timers, een 16KB ash geheugen en een ADC.
- 9 -
Loading...
+ 21 hidden pages