Motorsturing
Voor de voortbeweging van het wagentje werden twee 12V DC-motoren ter beschikking gesteld van het type RS 245-6089.
Enkele karakteristieke gegevens:
No-load speed |
125tpm |
Rated speed |
80tpm |
Rated torque |
2.5Ncm |
Rated current |
50mA |
Mass |
55g |
De maximale rotatiesnelheid bedraagt onder belasting ongeveer 80 omwentelingen per minuut, omwille van de ingebouwde tandwielkast. Dit betekent dat we zonder bijkomende reductie en een wiel met diameter 7.5 cm zowel een goede snelheid bekomen, als voldoende trekkracht.
De werking van de motor is zeer eenvoudig: de DC-spanning bepaalt de snelheid, met een maximum van 12V, wat overeenstemt met de gegeven batterij-pakketen.
Omdat de stuursignalen van de microcontroller niet het nodige voltage, noch de nodige stroom kan leveren, is het nodig om een stroomversterkende IC te gebruiken. In het labo waren H-brug drivers van het type L6203 ter beschikking:
Deze H-brug werkt als volgt:
De belasting, in ons geval de motor, wordt tussen Out1 en Out2 geplaatst.
Er zijn 3 digitale stuuringangen. Ten eerste is er de enable-ingang, enkel als deze hoog is kan er stroom door de power transistoren lopen, omwille van de vier AND-poorten. De twee andere ingangen IN1 en IN2 zijn zo geschakeld dat volgend schema kan worden bekomen:
Enable |
IN1 |
IN2 |
Uitgang |
0 |
X |
X |
Stop |
1 |
0 |
0 |
Stop |
1 |
1 |
0 |
Draai links/rechts |
1 |
0 |
1 |
Draai rechts/links |
1 |
1 |
1 |
Stop |
De draairichting van de motor kan dus geregeld worden door IN1 laag en IN2 hoog in te stellen, of het omgekeerde voor de andere richting. De Enable-ingang kan gebruikt worden om de motor aan en uit te schakelen.
Om de snelheid van de motor te kunnen regelen, kan gebruik gemaakt worden van pulsbreedte modulatie via de Enable-ingang. Men ziet in de tabel dat door het snel aan- en uitschakelen van het signaal van de Enable-ingang, de resulterende spanning aan de uitgang geregeld kan worden, ongeacht de draairichting. Om dit te verwezenlijken wordt gebruik gemaakt van de PWM-mode die aanwezig is in de microcontroller.
Aansluitingen van de L6203:
1 OUT 2: Naar motor.
2 Vs: Voedingsspanning, minimaal 12V (10*1.2V batterijen).
3 OUT 1: Naar motor.
4 BOOT 1: Om de twee bovenste transistoren aan te sturen (zie Figuur 3) is er een hoger voltage dan Vs nodig. Dit wordt bewerkstelligd door de interne "charge pump", in combinatie met het boostrap circuit. Indien een te kleine waarde van de boostrap wordt gekozen, bestaat het risico dat de transistor niet volledig aangeschakeld wordt, met een hogere Drain-Source weerstand tot gevolg. Poort 4 wordt dus verbonden met een capaciteit van minimaal 10nF. De condensator wordt met de GND verbonden via een diode. De diode aangegeven op de datasheet (BYW98) is een beetje "oversized", aangezien de motor uiteindelijk slechts 50mA verbruikt. In de uiteindelijke schakeling werd dan, na de nodige testen, geopteerd voor iets kleinere exemplaren.
5 IN 1: Aansturing richting van de motor.
6 GND: Te verbinden met algemene GND.
7 IN2: Aansturing richting van de motor.
8 BOOT2: Idem poort 4.
9 Vref: 220nF naar GND aansluiten aangeraden als by-pass van het interne referentie voltage.
10 SENSE: Feedback uit deze poort te gebruiken bij eventuele snelheidscontrole via een stroomregulator. Deze optie wordt niet gebruikt in de robot. Het niet verbinden van poort 10 heeft evenwel voor problemen gezorgd: de motor draait niet op volle kracht. Een kleine weerstand naar de ground bleek na enig zoekwerk de oplossing. Eerst werd voor de veiligheid geopteerd voor een grote weerstand, maar de kracht van de motor bleek te vergroten met het verkleinen van deze weerstand; met dan weer als gevolg dat er een vrij grote stroom wegvloeit via poort 10. Een weerstand van 100 Ohm werd reeds zeer warm, waardoor de vrees bestond dat een kortsluiting geen goed idee zou zijn. Wanneer de weerstand Rs echt klein gekozen werd, verdween de verhitting. Een kortsluiting of quasi-kortsluiting bleek de oplossing.
11 ENABLE: Aansturing van de motor.
De aansturing van de ventilator gebeurt veel eenvoudiger, hiervoor gebruiken we gewoon een transistor die als aan/uit schakelaar functioneert, de ventilator hoeft namelijk maar in 1 richting en op een vaste snelheid te draaien.