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.
Pagina 4
2.5. Waarschuwingen Lees eerst de handleiding volledig door voordat je de spanning aansluit! Foutieve handelingen kunnen deze robot onherstelbaar beschadigen. Controleer altijd de aansluitingen van de kabels en externe componenten. Verkeerde spanning of polariteit kunnen de robot onherstelbaar beschadigen. Gebruik geen spanningen die hoger zijn dan voor- geschreven.
Pagina 5
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.
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.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).
Pagina 8
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.
Pagina 9
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.
AREXX ARDUINO ROBOT Afb. 1: AAR Printplaat 3.1 ARDUINO ROBOT OVERZICHT 1. Aansluiting voor batterijhouder (Let op de polariteit). 2. Aan/uit schakelaar robot. 3. Status led: Geeft aan of de robot voeding heeft. 4. 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).
USB spanning. Dit is handig bij het testen en programmeren. Handig bij deze Arduino robot zijn de headers waarmee je eenvoudig zelf een uitbreidingsbord kunt maken of waar je de AREXX uitbreidingsmodu- les van de ASURO op aan kunt sluiten.
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 Ar- duino programmeeromgeving heeft een tekst editor, een berichtvak en een tekst console.
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.
4.4 AAR hardware 4.4.1 Aansluiten accu De robot is ontworpen voor een accupack met vier 1,5 V bat- terijen. 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...
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 ver- zorgt dan de spanning LET OP: De robot staat altijd aan wanneer hij aangesloten is op...
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 wor- den.
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.com --> Forum www.roboternetz.de --> Forum - 17 -...
5. Achtergrondinformatie H-Brug De H-brug is een elektrische schakeling waarmee men met behulp van vier schakelaars bijvoorbeeld een gelijkstroommotor kan om- polen. Een dergelijke schakeling wordt in robots vaak toegepast om een aandrijving in twee richtingen te laten draaien. Voor de meeste van deze verschillende toepassingen bestaan er geïntegreerde schakelingen, maar ter verduidelijking van de werking en dimensionering van de voeding is het interessant eens een oudere schakeling met losse onderdelen te bestuderen.
Pagina 19
In de eindtrap is M de motor en wordt de sturing van de voorver- sterker 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.
Pagina 20
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.
6. Odometriesystemen Onderstaand enkele interessante gedachtes en ideeën voor eventu- ele 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 lijnvol- ger, 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 vervol-...
Pagina 23
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.