Hardware: verschil tussen versies

Uit TrompBot
Naar navigatie springen Naar zoeken springen
Geen bewerkingssamenvatting
Regel 48: Regel 48:
[[Bestand:servo-puls.png]]
[[Bestand:servo-puls.png]]


==Software==
Om de aanstuurpuls te maken met de [[Software]] moet je een paar opdrachten gebruiken:


De de [[Software]] zijn er speciale functies om zo'n puls te maken.
===Verstellen dat je een servo wilt gebruiken===
  Servo ''ServoNaam'';
Dit doe je aan het begin van je programma (voor <code>setup()</code> en <code>loop()</code> functie)
De ServoNaam mag vanalles zijn (bijvoorbeeld ''arm'' of ''draai''). Die naam gebruik je later weer om de servo iets te laten doen.
Als je meerdere servos wilt gebruiken, moet je deze opdracht meerdere keren gebruiken, en iedere keer een andere ''ServoNaam'' verzinnen.
Bijvoorbeeld:
  Servo hooglaag;
  Servo draai;
 
===Verbinding maken met de servo===
  ''ServoNaam''.attach( ''pennummer'' );
Dit doe je 1 keer in de <code>setup()</code> functie) voor ieder servo die je wilt gebruiken. ''pennummer'' is een getal. Dit is het nummer van de aansluitpen op de microcontroller. (in ons geval 10 of 11). ''ServoNaam'' is de naam die je eerder verzonnen hebt, toen je hebt verteld dat je een servo wou gebruiken.
 
===Een nieuwe hoek in stellen===
  ''ServoNaam''.write( ''hoek'' );
Dit kan je zo vaak je wilt doen in de <code>setup()</code> en <code>loop()</code> functie.
 
----
 
Zie de [[Software]] voor meer uitleg over de functies. En Het voorbeeldprogramma ''servo1'' om een servo aan te sturen

Versie van 30 jun 2012 11:21

Beginnen | Hardware | Software | Voorbeeldprogramma | Inkscape & lasersnijden | Errors & Tips | Kekbot | [TrompBot Website] | Trompbots | Percussie & ritme | Fioretti programma


Microcontroller

De robot wordt bestuurd door een microcontroller. De microcontroller die gebruikt wordt is een MSP430 (zo heet deze) die gemaakt wordt door Texas Instruments. Wat de microcontroller gaat doen moet je opschrijven in het programma dat je gaat maken. Dit programmeren doen we in de computertaal C++. Om te lezen hoe je zo'n computerprogramma maakt, kijk dan op de Software pagina.

Printplaat

De printplaat zorgt voor de aansluiting van de componenten op de microcontroller. Je soldeert hier de stekkertjes op zodat er verbinding wordt gemaakt tussen de verschillende componenten.

Het schema. Hier is te zien hoe alle stekkers en componenten op de printplaat aangesloten zijn
Dit is een tekening van het ontwerp van de printplaat. De ontwerpbestanden kunnen [hier] gedownload worden



Servo

De servo is een motor die met de microcontroller aangestuurd kan worden.


De servo heeft 3 draadjes:

Kleur Naam Opmerkingen
Bruin of Zwart Voeding - De MIN van de voeding
Rood Voeding + De PLUS van de voeding (3 tot 6 Volt)
Oranje of Wit Signaal Een "HOOG" puls van 0,5 tot 2,8 milliseconden met een LAAG tijd van 10 tot 30 msec


Aansturen

De servo heeft voedingsspanning nodig om de motor rond te draaien. Deze voeding wordt op de + en de - draad aangesloten. De 3e draad is de signaaldraad. Hierop staat een signaal van de microcontroller dat zegt naar welke stand de servomotor moet draaien. Dat wordt gedaan door een bepaalde tijd het signaal hoog te maken. De stand van de servo is afhankelijk van hoe lang het signaal hoog is. Dat is te zien in de volgende grafiek.

Software

Om de aanstuurpuls te maken met de Software moet je een paar opdrachten gebruiken:

Verstellen dat je een servo wilt gebruiken

 Servo ServoNaam;

Dit doe je aan het begin van je programma (voor setup() en loop() functie) De ServoNaam mag vanalles zijn (bijvoorbeeld arm of draai). Die naam gebruik je later weer om de servo iets te laten doen. Als je meerdere servos wilt gebruiken, moet je deze opdracht meerdere keren gebruiken, en iedere keer een andere ServoNaam verzinnen. Bijvoorbeeld:

 Servo hooglaag;
 Servo draai;

Verbinding maken met de servo

 ServoNaam.attach( pennummer );

Dit doe je 1 keer in de setup() functie) voor ieder servo die je wilt gebruiken. pennummer is een getal. Dit is het nummer van de aansluitpen op de microcontroller. (in ons geval 10 of 11). ServoNaam is de naam die je eerder verzonnen hebt, toen je hebt verteld dat je een servo wou gebruiken.

Een nieuwe hoek in stellen

 ServoNaam.write( hoek );

Dit kan je zo vaak je wilt doen in de setup() en loop() functie.


Zie de Software voor meer uitleg over de functies. En Het voorbeeldprogramma servo1 om een servo aan te sturen