Codewerkplaats Les 3 (Motoren, motordriver en batterij)

Het is hoog tijd om de motoren toe te voegen aan het karretje. Omdat de motor meer stroom nodig heeft dan de Arduino kan leveren gebruiken we een motordriver en 6 AA-batterijen.

Naar de andere lessen

Motoren [↑]

 

Een elektromotor werkt met elektromagnetisme. Dit komt er in het kort op neer dat de draden in een motor door de stroom magnetisch worden en dat deze worden aangetrokken of afgestoten door een permanente magneet die ook in de motor zit.

De motoren hebben een plus- en een minaansluiting. Als je deze omdraait dan draait de motor andersom. Op de tekening verderop op deze pagina zie je hoe je de motor op de motordriver moet aansluiten.

In het gele deel zitten tandwielen die ervoor zorgen dat de as langzamer draait en meer kracht heeft.

De motoren zetten we met speciale beugeltjes (3D-geprint in het Digitale Atelier) op het chassis.

Neuswiel [↑]

Om het karretje een beetje recht te laten staan monteren we ook het neuswiel. Hierbij gebruiken we twee extra neusplaatjes. Het karretje komt hierdoor wel wat naar achteren te hangen, maar hierdoor krijgen de lijnsensors wel de goede afstand tot de grond.

Kogelwiel Twee of drie neusplaatjes

Motordriver (L298N) [↑]

De motordriver zorgt voor twee dingen:

  1. Zorgen voor de voedingsspanning van de Arduino door de 9 Volt van de zes AA-batterijen om te zetten naar 5 Volt.
  2. Zorgen dat de signalen van de Arduino worden omgezet naar een spanning die de motor voor- of achter of achteruit laat draaien.

Op de motordriver zie je zes aansluitingen naast elkaar.

Dit zijn:

ENA Snelheid motor 1
IN1 Motor 1 rechts draaien
IN2 Motor 1 links draaien
IN3 Motor 2 links draaien
IN4 Motor 2 rechts draaien
ENB Snelheid motor 2

Batterijen [↑]

We gebruiken in 6 AA-batterijen. Iedere batterij levert 1,5 Volt en omdat ze achter elkaar (in serie) zijn geschakeld is de totale spanning 6 x 1,5 = 9 Volt.

Het is belangrijk dat je dezelfde soort batterijen gebruikt. Als je dit niet doet dan kan één van de batterijen erg warm worden of ervoor zorgen dat de totale spanning veel lager is dan 9 Volt.

Op de grote batterijhouder met daarin vier AA-batterijen zit ook de schakelaar waarmee je het karretje aan- en uit kan zetten.

Monteren motordriver [↑]

De motordriver zit op een plankje met daaronder ruimte voor de batterijen. Om het bouwen wat makkelijker te maken zijn de motordriver, het plankje en de afstandsbussen al gemonteerd. Je kan het zo op het karretje monteren!

Aansluiten motordriver [↑]

Hier komt even wat meer bij kijken. Het moet er zo uit gaan zien:

LET OP: De tekening hieronder wijkt af van de tekening die in de lesbrief staat. Er is een verschil met D3, D4 en D5. Dit is de juiste tekening.

 

We gaan stap voor stap te werk:

Stap 1 – Motoren aansluiten [↑]

Let hierbij goed op de kleuren van de draden. Motor links en Motor rechts zijn precies andersom aangesloten. Je sluit de draden aan door ze in het blauwe aansluitblokje te steken en dan de schroeven vast te draaien.

Stap 2 – Rode draad batterij aansluiten [↑]

Steek de draad in het blauwe aansluitblokje en schroef de draad vast.

Stap 3 – Zwarte draad batterij en zwarte draad snoertje aansluiten [↑]

In de middelste aansluiting komen twee zwarte draden. Één draad van de batterij en de zwarte draad van het aansluitsnoertje dat naar de Arduino gaat.

Stap 4 – Rode en witte draad aansluitsnoertje aansluiten [↑]

De rode en de witte draad van het aansluitsnoertje zijn al aan elkaar gesoldeerd. Samen komen ze in de derde aansluiting.

Stap 5 – Snoertjes besturing aansluiten [↑]

LET OP: Andere aansluitingen LED-koplampen [↑]

Eerder hebben we de pinnen D3 en D5 gebruikt voor de koplampen. Verplaats deze naar D7 en D6.

Bruin-rood-oranje snoertjes aansluiten [↑]

Omdat deze snoertjes anders worden aangesloten als je tot nu toe hebt gedaan, hebben ze een andere kleur.

LET OP: Deze aansluitingen wijken af van het overzicht dat in de lesbrief staat. Dit zijn de juiste aansluitingen.

Pin op driver Regelt Kleur van de draad Pin op de Arduino
ENA Snelheid motor 1 Bruin D3 D5
IN1 Motor 1 rechts draaien Rood D4
IN2 Motor 1 links draaien Oranje D5 D3
IN3 Motor 2 links draaien Oranje D11
IN4 Motor 2 rechts draaien Rood D10
ENB Snelheid motor 2 Bruin D9

Kijk goed op de tekening hiervoor hoe de draden precies moeten worden aangesloten. Alle drie de draden hebben een eigen gele aansluitpin op de Arduino-aansluitprint.

Stap 6 – Aansluitingen laten controleren [↑]

Laat de aansluitingen door Chris Dorna controleren. Als alle goed zit, krijg je van hem de batterijen.

Motor programmeren met Arduino IDE [↑]

Helaas kunnen we de motor niet eenvoudig programmeren met Easybloqs. We gaan daarom meteen aan de slag met de Arduino IDE. Met het programma hieronder rijdt het karretje een rechte lijn tot de ultrasoon sensor een hindernis (muur) ziet. Het karretje rijdt dan een stukje achteruit en draait een beetje. Daarna gaat het weer vooruit.

Bibliotheken [↑]

In het programma gebruiken we twee bibliotheken (libraries):

  1. L298N, voor het besturen van de motordriver
  2. NewPing, voor het besturen en uitlezen van de ultrasoon afstandssensor

In les 2 heb je al gezien hoe je een library toevoegt aan de Arduino IDE. Voor de zekerheid zie je ook hoe je de bibliotheek L298N toevoegt aan de IDE:

Library NewPing toevoegen aan de IDE [↑]

  1. Kies in het menu ‘Tools’
  2. Kies ‘Manage Libraries…’

  3. Zoek ‘L298N’
  4. Klik op ‘INSTALL’

De library is nu toegevoegd aan de Arduino IDE. Om deze in je programma te gebruiken gebruik je de code #include <L298N.h>.

Het programma [↑]

  1. Kopieer en plak de code hieronder en plak deze in de Arduino IDE:

  1. Sluit de Arduino aan op je laptop.
  2. Selecteer het board ‘Nano’ en upload het programma naar jouw robot.

Colofon [↑]

Huis73 maakte het mogelijk om deze lessen te schrijven en organiseert de lessen.
Digitaal Atelier had de spullen voor het lasersnijden en 3d-printen van de onderdelen en is ook nog eens een hartstikke leuke ruimte waar iedereen hartstikke leuke dingen kan doen.
Stichting Leaphy was de eerste die in Nederland op grote schaal Arduino-robotkarretjes beschikbaar stelde en ook nog eens de programmeeromgeving Leaphy Easybloqs ontwikkelde en voor iedereen beschikbaar stelt.
CodeKids bedacht de lessen, ontwikkelde een eigen (goedkoper) karretje en verzorgt de lessen.
Iedereen mag materiaal uit deze lessen (her)gebruiken als daarbij de bron (www.codekids.nl) wordt vermeld.