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.
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, ontwerpers, hobbyisten en een ieder die geïntesseerd is om interactieve objecten te creëren.
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 voorgeschreven. Gebruik een goede gestabiliseerde voeding die geen piekspanningen geeft. 4. Pas op met electrostatische ontlading.
2. ARDUINO ALGEMENE INFO 2.1. Wie of wat is ARDUINO? Arduino is een open source single-board microcontroller en is ontworpen 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 interactieve objecten te creëren.
2.1 Microcontrollers! Een microcontroller (soms afgekort tot µC, uC or MCU) is een kleine computer opgebouwd als een geïntegreerde schakeling. Dit noemen we een IC, (IC = integrated circuit). Een IC bevat een processor 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.
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 reduceert echter wel de functionaliteit maar er zijn voldoende applicaties waar snelheid niet van belang is, zoals kijken of er een knop bediend wordt en daar dan op reageren (bijvoorbeeld een afstandsbediening).
2.4 Interface Architecture Microcontrollers hebben normaalgesproken een tiental tot enkele tientallen algemene (General Purpose) input/output pinnen (GPIO). GPIO pinnen zijn configureerbaar in de software als ingang of als uitgang. Als de GPIO pinnen zijn geconfigureerd als input, dan worden ze meestal gebruikt om sensoren of externe signalen uit te lezen. Als ze als uitgang geconfigureerd zijn, dan kunnen de GPIO pinnen gebruikt worden om externe componenten zoals LEDS en/of IC’s aan te sturen.
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.
3. AREXX ARDUINO ROBOT Afb. 1: AAR Printplaat 3.1 ARDUINO ROBOT OVERZICHT 1. 2. 3. 4. Aansluiting voor batterijhouder (Let op de polariteit). Aan/uit schakelaar robot. Status led: Geeft aan of de robot voeding heeft. Wanneer er gebruik wordt gemaakt van oplaadbare batterijen kan deze pinheader worden overbrugd zodat de robot de juiste werkingsspanning krijgt (Let op: Polariteit beveiliging wordt hiermee overbrugd). 5. USB aansluiting voor het programmeren van de robot met de Arduino software. 6.
3.2 Achtergrondinformatie AAR De AAR is een Arduino robot die speciaal is ontworpen om te leren programmeren met de Arduino software. Aan de rechterkant zit de USB interface met het FT232 IC die het USB signaal converteert naar een RS232 UART datasignaal waar de ATMEGA328P processor (rechtsvoor) mee kan werken. Aan de andere kant zit de aan-uit schakelaar met de connector JP3 voor de voedingsspanning aansluiting en IC2 de motordriver. Aan de achterkant van de print zitten de motoren en de wielsensoren.
Achtergrondinformatie ARDUINO SOFTWARE De software van Arduino is open source. Dat betekent gratis beschikbaar voor iedereen. Open Source wil tevens zeggen dat ook de broncode van de programmeeromgeving beschikbaar is. De Arduino programmeeromgeving heeft een tekst editor, een berichtvak en een tekst console. De programmeeromgeving kan direct communiceren met de AAR om op eenvoudige wijze programma’s in de processor te laden. Software die geschreven is in Arduino wordt sketch genoemd.
4. Getting Started (Beginnen) 4.1 Download en installatie van Arduino Software Installeer de Arduino software (version 1) vanaf de CD. We weten namelijk zeker dat het met die software allemaal zal werken! Later kun je ook de laatste software downloaden vanaf de ARDUINO website. Eventueel moet je dan onze voorbeeldprogramma’s wat aanpassen aan de laatste Arduino versie.
4.4 AAR hardware 4.4.1 Aansluiten accu De robot is ontworpen voor een accupack met vier 1,5 V batterijen. Wanneer er gebruik wordt gemaakt van oplaadbare batterijen moet de pinheader JP4 voor oplaadbare batterijen worden doorverbonden (zie Afb.1 Nr. 4). LET OP! Wanneer deze pinheader JP4 is doorverbonden, is de robot niet meer beveiligd voor polariteit en kan dus bij verkeerd aansluiten onherstelbaar beschadigd raken. Sluit de accu aan zoals afgebeeld (afb Afb. 2). Afb.
4.5 ARDUINO software 4.5.1 Robot programmeren met Arduino software Sluit de robot aan op de computer door middel van de USB kabel. Wanneer de robot is aangesloten op de USB poort is het niet nodig om de batterijspanning aan te sluiten. De USB poort van de PC verzorgt dan de spanning LET OP: De robot staat altijd aan wanneer hij aangesloten is op de computer. De schakelaar en LED5 werken alleen bij batterijspanning. Open de Arduino software (zie Afb. 3a). Afb. 3a Arduino software Afb.
Afb. 4a Programma Blink Afb. 4b Board Selecteren Nu zal het juiste board ingesteld moeten worden. Klik op Tools>Board> Arduino Duemilanove or Nano w/Atmega328 (zie Afb. 4b). 4.5.3 COM poort selecteren Als volgende stap zal de juiste COM poort toegewezen moeten worden. De COM poort waarop de robot is aangesloten, moet worden ingesteld in de Arduino software. In dit geval is dat COM 12. Om de COM poort in te stellen, ga naar Tools> Serial Port>COM 12. (Zie Afb. 5) Afb.
4.5.4 Uploaden van de Arduino software Klik nu op Uploaden om de software in de Arduino te laden (zie Afb. 6a). In de onderbalk zal nu te zien zijn dat de software bezig is met compilen en daarna uploaden. Wanneer het uploaden voltooid is, zal er Done uploading in de onderbalk verschijnen (zie Afb. 6b). Afb. 6a Uploaden software Afb. 6b Klaar met uploaden Nu kun je de robot ontkoppelen van de USB kabel, de batterijspanning aansluiten en de robot starten. Meer informatie en downloads zie: www.arexx.
5. Achtergrondinformatie H-Brug De H-brug is een elektrische schakeling waarmee men met behulp van vier schakelaars bijvoorbeeld een gelijkstroommotor kan ompolen. Een dergelijke schakeling wordt in robots vaak toegepast om een aandrijving in twee richtingen te laten draaien.
In de eindtrap is M de motor en wordt de sturing van de voorversterker met behulp van een weerstand R14 gesimuleerd. Weerstand R14 aardt de basis van TR6 en TR5. Daardoor loopt er uitsluitend een stroom door de rechtse tak van de eindtrap. De transistoren TR8, TR5 en TR9 geleiden de stroom en de andere drie zijn gesperd. Indien wij R14 aan de positieve spanning aansluiten, geleiden de transistoren in de linkse tak van de eindtrap en keert de motorstroom om.
De 3V-voedingsspanning is een ideale uitgangsbasis voor een robot, die door twee batterijen wordt gevoed. De PNP-transistoren zijn echter minder geschikt voor de implementatie in een geïntegreerde schakeling zoals de L293D. Een IC heeft echter andere voordelen, zoals een hogere betrouwbaarheid, een uitstekende beveiliging en een minimale printoppervlakte. Om deze redenen heeft men de AAR-robot van een L293D met een dubbele H-brug voorzien. Met een dergelijke chip kunnen wij twee motoren sturen. 5.
6. Odometriesystemen Onderstaand enkele interessante gedachtes en ideeën voor eventuele toepassingen voor de AAR robot. Dit zijn leuke projectsuggesties voor studie- en kunstprojecten. Het maken van dergelijke Arduino software zal enorm veel inzicht geven in het programmeren van microcontrollers en hun mogelijkheden. 6.1 Lijnvolgers, kleurzoekers en kleurvluchters Een robot kan met behulp van lichtgevoelige sensors tot een lijnvolger, kleurvluchter of kleurzoeker worden geprogrammeerd.
6.3 Complexe lijnvolgers Robots, die lijnen volgen of patronen ontwijken, worden vaak van een lichtbron en twee of meer lichtcellen voorzien, waarmee het zoeksysteem de doorgetrokken lijn kan identificeren. Principieel kan de robot van een speciale zoekroutine worden voorzien, waarmee de detector in een zoekmodus (volgens een speciaal zoekpatroon, bijvoorbeeld een spiraal met een steeds groter wordende radius) rondrijdt totdat de sensor een opvallend lijnpatroon kruist en vervolgens deze lijn gaat volgen.
Men kan zich voorstellen dat dit gedragspatroon, waarin naast de lijnvolgers, de kleurafhankelijkheid en de diverse geluidsbronnen een complexe rol spelen, hoge eisen aan de systematische aanpak van de software stelt. Alleen door middel van een goed, modulair ontwerp kan men de software zo schrijven, dat het systeem onder alle omstandigheden stabiel en betrouwbaar het gespecificeerde gedrag vertoont.
7 Bootloader programmeren Let op! Alleen voor gevorderden: De Arduino bootloader inladen via bijv. een STK500 Om een Atmega microcontroller via de Arduino software te programmeren, dient de Atmega te worden voorzien van een speciale Arduino bootloader. De bootloader zorgt ervoor dat de geschreven code op de juiste positie in de Atmega komt. Om de bootloader in te laden zijn de volgende componenten nodig : * * * * AVR Programmer board bijv.
8 APPENDIX - 25 -
Onderdelenlijst Part 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 Value Package 18pF 18pF 0.
Part 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 R31 R32 S1 S2 SV1 Value Package 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.
D.