Inleiding
Voor school moet ik dit jaar een PWS (profielwerkstuk) maken. De bedoeling van een PWS is dat je een eigen onderzoek
uitvoert in het laatste schooljaar van je middelbare school opleiding (VWO in mijn geval). Je moet een onderwerp bedenken voor
je PWS waar je een onderzoek aan wilt doen en dat betrekking heeft op ten miste één vak van je profiel. Je moet minstens 80
uur besteden aan je PWS. Ik doe het profiel Natuur & Techniek en aangezien ik veel met elektronica bezig ben, kwam ik
op het idee om een PWS te maken over robots. De bedoeling is dat ik een simpele robot ga maken.
Het plan
Er zijn natuurlijk veel verschillende manieren om een simpele robot te maken. En iedereen zal het weer op een andere manier
doen en zijn robot andere functies geven. Zo zijn er in de loop van de tijd verschillende soorten robots gemaakt door hobbyisten.
Mijn robot heeft als doel om in een kamer rond te rijden, zonder dat hij ergens tegen op botst. Hij wordt uitgerust
met infrarood LEDs en detectoren die de objecten moet detecteren. Als een detector een object waarneemt, dan geeft hij een signaal
door aan de microcontroller, die op zijn buurt de juiste motor aanstuurt om het object te vermijden.
Hieronder vindt je nog een paar belangrijkste punten waaraan mijn robot moest voldoen:
Aandrijving
Ik heb ervoor gekozen om mijn robot uit te rusten met twee gelijkstroom-motoren met wielen en een zwenkwieltje omdat dat het makkelijkste
en goedkoopste methode is om een robot aan te drijven. Met deze methode kan de robot alle kanten op rijden. Aan de voorkant
van de robot heb ik aan beide kanten een gelijkstroom-motor met een wiel geplaatst en aan de achterkant van de robot heb ik
in het midden een zwenkwieltje geplaatst. Als je nu beide motoren vooruit laat draaien dan rijdt de robot vooruit, als je
beide motoren achteruit laat draaien dan gaat de robot achteruit en als je één motor vooruit laat draaien en
de ander achteruit dan draait de robot met een kleine draaicirkel.
Ik maak gebruik van twee gelijkstroom-transmissiemotoren die ik gekocht heb via Conrad. Hieronder zie je een tabel met de technische specificaties:
| Afmetingen motor (øxl) | 37mm x 57mm |
| Afmeting as (øxl) | 6mm x 21mm |
| Max. draaimoment | 180 Ncm (18 kg x cm) |
| Overbrenging | 1 : 200 |
| Onbelast toerental | 31 rpm |
| Belast toerental | 26 rpm |
| Werkspanning | 12 V |
| Max. stroomverbruik | ± 300 mA |
Ik heb voor deze motoren gekozen omdat er al een transmissie opgebouwd zit. De gelijkstroom-motor die in deze transmissiemotor zit heeft een maximale snelheid van 4650 rpm en een maximaal draaimoment van 35 g x cm. De snelheid is natuurlijk te hoog voor de robot en het draaimoment juist weer te klein. Door de overbrening van 1 : 200 neemt de snelheid af tot 31 rpm en het draaimoment toe tot 18 kg x cm. Dit is voldoende voor mijn robot.
Natuurlijk heeft de grootte van de wielen ook invloed op de snelheid van de robot. Ik heb gekozen voor wielen met tractorprofiel omdat ik deze wel mooi vond voor mijn robot. De diameter van de wielen zijn 120 mm en de bandbreedte is 65 mm. Het zijn dus best wel forse wielen voor mijn robot en daardoor zal mijn robot er ook sterker eruit zien. De motoren zorgen samen met de wielen voor een goede snelheid van mijn robot.
Voeding
Mijn robot heeft een spanning nodig van 12 V omdat de gelijkstroom-transmissiemotoren werken op 12 V. Ik schat dat mijn
robot ongeveer werkt op 0,6 A. Omdat mijn robot een mobiele robot is, moet hij dus niet via de netspanning worden
gevoed. Ik kon de robot gaan voeden met batterijen of met een accu. De batterijen vielen af omdat ik dan 9 batterijen
van 1,5 V nodig had. De goedkopere 1,5 V batterijen hebben ook maar een capaciteit van ongeveer 1000 mAh waardoor mijn robot
maar ongeveer 1,5 uur kan werken op volle batterijen. Er zijn ook 1,5 V batterijen met een hogere capaciteit alleen
die werden in totaal zo duur dat het goedkoper was om een loodaccu te nemen.
Het voordeel van een loodaccu is, dat hij steeds opnieuw opgeladen kan worden wat bij batterijen alleen maar bij oplaadbare batterijen kan en die zijn nog duurder. Daarom heb ik ervoor gekozen om mijn robot te voeden met een loodaccu. Hieronder staan de eigenschappen van de loodaccu die ik gebruik:
| Afmetingen (lxbxh) | 134mm x 67mm x 61mm |
| Spanning | 12 V |
| Capaciteit | 3.2 Ah |
Uiterlijk
De robot bestaat uit drie lagen plexiglas van 5mm die als een soort verdiepingen boven elkaar zijn geplaatst. Dit heb
ik gedaan door afstandsbussen te plaatsen tussen de lagen.
![]() |
![]() |
![]() |
Op de onderste laag zit aan de voorkant van de robot de twee motoren met wielen, aan de achterkant zit een zwenkwieltje en in het midden zit de accu. Hieronder zie je drie afbeelding die het wat verduidelijken. De twee motoren zitten in het zilveren blok waar de wielen aan zitten en het zwarte blok stelt de accu voor.
![]() |
![]() |
![]() |
In de middelste laag heb ik 16 LEDs verwerkt die ongeveer 3,2 cm uit elkaar staan. Dit zijn 5mm RGB LEDs die dus licht in de kleuren rood, groen en blauw kan uitzenden. Met deze LEDs kun je een heel scala aan kleuren creéren door de lichtsterkte van de kleuren te variéren. Ik heb deze LEDs verwerkt in mijn robot omdat het een best leuk effect geeft. De kleuren komen overeen met de actie van de robot. Aan de kleur kun je dus zien wat de robot op dat moment doet.
Op de middelste laag staan ook drie printplaten die de besturing vormen van de robot. de eerste printplaat is voor de besturing van de motoren, Op de tweede printplaat zit de chip met alle uitgangen en deze printplaat zorgt ook voor de stroomvoorziening en de derde printplaat zorgt voor de besturing van het LCD-scherm, van de RGB leds in de middelste plaat en van de IR-LEDs.
Op de onderste laag staan voorop ook drie printplaten: de sensoren. Dit zijn de infrarood sensoren die de objecten moeten zien die voor de robot staan. Hieronder staan drie afbeelding waarop je kunt zien dat in de middelste plaat ledjes zitten. Op de middelste plaat zie je ook drie groene platen staan die de besturing van de robot voorstellen en voorop de robot staan drie groene platen die de sensoren voorstellen.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Advertentie
De motoren en wielen
De wielen konden helaas niet direct aan de motor bevestigd worden daarom heb ik eerst twee assen gemaakt zodat de wielen
wel aan de motoren bevestigd kunnen worden.
![]() |
![]() |
![]() |
Hierboven zie je op de eerste afbeelding een motor waar ik een ijzeren plaatje aan de onderkant heb bevestigd. Aan de boven kant komt ook een nog een ijzeren plaatje zodat de as waar het wiel aan komt te zitten precies er tussen past. Dit heb ik gedaan om ervoor te zorgen dat de as toch ergens op kan rusten zodat hij niet breekt door de belasting van de robot.
Op de tweede en derde afbeelding is de as te zien. De as bestaat uit een lange bout, een moer en twee lagers. De as van de motor heeft aan één kant een vlak stuk. In de boutkop zijn aan de voorkant en aan de zijkant twee gaten geboord. De as van de motor zit in het gat aan de voorkant van de boutkop. Het vlakke stuk van de as zit voor het gat die aan de zijkant van de boutkop zit. In deze gat is een klein inbusbout vast geschroeft die de as van de motor vast houdt en zorgt dat de as meedraait met de as van de motor
Aan de bout zitten twee lagers en een moer. De twee lagers passen precies tussen de twee ijzeren plaatjes die aan de voorkant van motoren waren bevestigd. Aan één kant van de moer is het zeskant profiel kleiner geslepen. In de velgen van de wielen zijn ook zeskant profielen gemaakt zodat de ene kant van de moer er precies in past. De wiel wordt ook op de as geschoven tegen de geslepen moer en daarna wordt het wiel vastgezet met een bout die als laatste op de as wordt geschroefd.
De motoren zijn beiden aan elkaar gekoppeld door een ijzeren strip die aan de onderkant van motoren zijn gelast. De motoren worden via deze strip aan de bovenkant van de onderste laag van de robot geschroefd.
Besturing voor de motoren
![]() |
![]() | |
| Schema | Print-layout |
Klik op de afbeeldingen om ze te vergroten.
Onderdelen
Hierboven staan een schema en een print layout van de besturing voor de motoren. Ik heb gebruik gemaakt van twee H-bruggen om beide motoren apart aan te sturen. Het schema bestaat uit één H-brug en de print layout bestaat uit twee H-bruggen. Dit zijn precies dezelfde H-bruggen waarvan de voedingslijnen met elkaar verbonden zijn. Ik zal in het kort uitleggen hoe deze H-brug werkt aan de hand van het schema.
Een gelijkstroom-motor kan linksom en rechtsom draaien, dit ligt er maar net aan hoe je de plus en de min op de motor aan sluit. Met een H-brug kan je de motor linksom en rechtsom laten draaien zonder dat je de plus en de min verwisseld. Als je op Pin 1 een spanning van 5 V zet dan gaan Q1 en Q4 geleiden. Q1 t/m Q4 zijn namelijk mosfets en die kun je vergelijken als een soort schakelaars die je met een bapaalde spanning kunt laten schakelen. Q1 en Q2 moeten met een negatieve spanning geschakeld worden en Q3 en Q4 met een postieve spanning. Dit heeft met de bouw van de mosfet te maken. Als je dus op Pin 1 een spanning van 5 V zet dan krijgt Q4 een positeve spanning en T1, R1, R2 zorgen samen ervoor dat er op Q1 een negatieve spanning onstaat. Q1 en Q4 gaan beiden geleiden en daardoor gaat de stroom van Q1 door de motor van links naar recht naar Q4. De motor draait nu de ene kant op. Als je nu op Pin 2 i.p.v Pin 1 een spanning van 5 V zet dan gaan Q2 en Q3 geleiden en daardoor gaat de stroom van Q2 door de motor van rechts naar links naar Q3. De motor draait nu de andere kant op. Zo kun je doormiddel van Pin 1 en Pin 2 de motor besturen. Je mag nooit op beide pinnen te gelijk een spanning zetten want dan gaat de schakeling kapot. D1 tot D4 zijn diodes en die zorgen ervoor dat de spanning die door de motor zelf worden opgewekt (een motor is namelijk een soort dynamo) kan wegvloeien zonder dat er componenten worden vernield.
In mijn robot zitten twee van deze H-bruggen om beide motoren te besturen. Nu kan ik dus mijn robot vooruit, achteruit en laten draaien zonder dat ik handmatig de plus en de min van de motoren moet verwisselen.
Infrarood sensoren
![]() |
| Schema |
Klik op de afbeelding om hem te vergroten.
Onderdelen
Hierboven zie je het schema voor de besturing van de infrarood-LEDs. De IR-detectoren die ik gebruik voor deze robot zijn de TSOP1738. Deze detectoren werken alleen met een IR-signaal die een frequentie hebben van rond de 38000 Hz. Dit betekent dus dat de IR-leds infrarood-licht moet uitzenden met een frequentie van 38000 Hz. Om dit voor elkaar te krijgen heb ik de IR-LEDs aan een NE555 chip gehangen. Deze chip is zeer geschikt voor het opwekken van blokgolven. Met behulp van C2, R7 en R8 kun je een bepaalde frequentie kiezen voor de blokgolf. Ik heb C2, R7 en R8 zo gekozen dat de NE555 een blokgolf signaal af geeft met een frequentie van rond de 38000 Hz. Dit signaal stuurt de IR-LEDs aan en deze zenden nu een infrarood-licht uit met een frequentie van 38000 Hz.
![]() |
![]() | |
| Schema | Print-layout |
Klik op de afbeeldingen om ze te vergroten.
Onderdelen
Hierboven staat een schema van de IR-detector en een print-layout van de IR-detector samen met 2 IR-LEDs. In totaal zitten er op de robot drie van deze printplaten. Op elke printplaat zitten 2 IR-LEDs en dat zijn in totaal 6 IR-LEDs zoals op het schema van de besturing van de IR-LEDs is aangegeven. De besturing voor de IR-leds mist dus op de printplaten. Ik heb de besturing namelijk op een aparte printplaat gezet en alle IR-leds daarmee verbonden.
Op elk van de drie printplaten zit ook een detector. De IR-LEDs zenden continu een infrarood-licht uit. Als er een object voor de IR-LEDs staan dan wordt dit infrarood-licht teruggekaatst naar de detector toe. Deze detector zendt op zijn buurt weer een signaal uit via zijn uitgang. Als de detector geen infrarood-licht opvangt dan geeft de detector een hoog signaal af en als hij wel infrarood-licht opvangt dan geeft hij een laag signaal af. Deze twee signalen kun je dus gebruiken om de robot te laten weten dat er een object voor hem staat.
Stroomvoorziening en de chip
![]() |
![]() | |
| Schema | Print-layout |
Klik op de afbeeldingen om ze te vergroten.
Onderdelen
Hierboven staat een schema voor de stroomvoorziening. Deze print zorgt ervoor dat de rest van de robot van stroom wordt voorzien. Er zijn 6 headers (JP7 t/m JP 12) waar een spanning van 12V op staat. Deze spanning komt rechtstreeks van de accu. De accu is beveiligd met een zekering om ervoor te zorgen dat bij kortsluiting de accu niet leeg loopt en dat de compenten kapot gaan. C1, C2, IC1, C3 en C4 zetten de spanning van 12V om in 5V. Er zijn dus ook 6 headers (JP1 t/m JP6) waar een spanning van 5V op staat. Ik maak gebruik van 5V en 12V omdat de ene schakeling werkt op 12V (H-bruggen) en de andere op 5V (sensors). Er zijn meer stroomconnectoren dan schakelingen in mijn robot. Hierdoor is het gemakkelijk als dat nodig is om later een extra schakeling op de robot te plaatsen zonder dat de stroomvoorziening aangepast moet worden.
Op de print-layout van de stroomvoorziening is ook een chip geplaatst: de PIC16F887. Dit is een programmeerbare chip die zelf de motoren kan aansturen, sensor kan uitlezen enzovoort. Deze chip heeft 36 pinnen die kunnen dienen als in- en uitgang. Deze pinnen kun je aansturen met een programma, dat je in de chip programmeert. Als een pin als uitgang wordt ingesteld dan kun je via het programma de pin hoog (5V) en laag (0V) maken. Je kunt dus de H-bruggen, die de motoren besturen, hierop aansluiten en dan kun je de motoren via deze chip aansturen.
Als je een pin instelt als ingang dan kan hij hoge en lage signalen meten. De IR-detectoren van de sensoren kun je dus ook aan de pinnen van de chip hangen. Als de detector een hoog signaal (er staat 5V op de uitgang van de detector) af geeft dan kan de chip deze meten en daarop reageren. Dit geldt ook als de detector een laag signaal afgeeft.
Alle in- en uitgangen van de chip heb ik op de print verbonden met headers zodat ik ze allemaal kan gebruiken als dat nodig. De pinnen van de chip hebben ook een naam en die naam kun je gebruiken in het programma van de chip om de pinnen aan te sturen. JP15 bevat de pinnen A0 t/m A7, JP16 bevat de pinnen B0 t/m B7, JP17 bevat de pinnen C0 t/m C7, JP18 bevat de pinnen D0 t/m D7 en JP19 bevat de pinnen E0 t/m E3. De 4 ingangen van de twee H-bruggen zijn aangesloten op de pinnen C0 t/m en de drie uitgangen van de IR-detectoren zijn aangesloten op de pinnen A1 t/m A3. De pinnen C0 t/m C3 zijn met ingesteld als uitgangen want je moet de H-bruggen sturen met een signaal van 5V. Als ik nu bijvoorbeeld C0 een hoog signaal laat afgeven dan gaan één van de motoren draaien. Maak je C2 nu ook hoog dan gaat de andere motor ook draaien. De draairichting van de motoren kun je nu veranderen door C0 en C2 laag te maken en C1 en C3 hoog te maken. Door steeds de juiste twee uitgangen van de chip hoog te maken kan de robot vooruit en achteruit rijden en kan hij rondjes draaien.
De pinnen A1 t/m A3 zijn ingesteld als ingangen want de uitgangen van de IR-detectoren geven een signaal af. Als alle detectoren een hoog signaal afgeven dan kan de chip die meten en weet hij dus dat er geen objecten voor de robot stssn. Als echter één van detectoren een laag signaal afgeeft dan meet de chip ook een laag signaal op één van zijn ingangen en weet hij dus dat er een object voor de robot staat. Je kunt dan de chip zo programmeren dat hij dan stopt met rijden (uitgang C0 t/m C3 worden laag gemaakt) en dat hij dan een stukje achteruit rijdt, een bochtje maakt en weer vooruit rijdt. Zo kun je een programma maken voor de chip die verteld wat de robot moet doen. Verderop is een voorbeeld-programma geven waarin wordt uitgelegt wat het programma doet.
Extra functies
![]() |
| Schema |
Klik op de afbeelding om hem te vergroten.
Onderdelen
Een extra functie op mijn robot is het aansturen van de RGB-LEDs die in de middelste plexieglasplaat zijn verwerkt. Hierboven zie je de schakeling die zorgt voor de aansturing van de RGB-LEDs. JP1-1 sluit je aan op de poot voor het blauwe licht van de RGB-leds, JP1-2 aan de poot voor het groene licht, JP1-3 aan de poot voor het rode licht en JP1-4 aan de poot van de gezamelijke minpool van de drie lichten. JP2-1 sluit je aan op C4 van de chip, JP2-2 op C5 en JP2-3 op C6. C4 t/m C5 stel je in als uitgangen.
T1 t/m T3 zijn transistors: een soort schakelaars die je aanstuurt met stroom. Als ik op C4 een hoog signaal zet dan gaat T1 geleiden. Hierdoor gaat er stroom lopen door de blauwe LEDs van de RGB-LED waardoor de RGB-LED blauw licht geeft. Als ik C4 laag maak en C5 hoog maak dan zenden de RGB-LEDs groen licht uit en als C5 laag maak en C6 hoog maak dan zenden ze rood licht uit. Deze kleuren kun je ook combineren met elkaar door i.p.v. één uitgang, twee of alle drie de uitgangen hoog te maken. Je kunt deze RGB-LEDs dus ook gemakkelijk besturen met de chip.
Advertentie