De Motorrotatiesensor gebruiken



Je kunt de Motorrotatiesensor gebruiken om te meten hoe ver een motor gedraaid heeft. Er is een rotatiesensor ingebouwd in de Medium motor, de Grote motor en de NXT-motor. De sensoren in deze motoren kunnen de rotatiehoeveelheid in graden detecteren. 360 graden staat voor een volledige omwenteling van de motor.

Je kunt de Motorrotatiesensor ook gebruiken om het huidige vermogensniveau van de motor op te vragen.
Handige weetjes
Een Motorrotatiesensor wordt gebruikt met een motor die aangesloten is op een motorpoort op de EV3-steen (A, B, C of D). Motorrotatiesensoren kunnen niet gebruikt worden met de sensorpoorten van de EV3 (1, 2, 3 en 4).
Motorrotatiegegevens
Een Motorrotatiesensor kan de volgende gegevens verschaffen:
GegevensTypeOpmerkingen
Graden NumeriekRotatiehoeveelheid in graden
Rotaties NumeriekRotatiehoeveelheid uitgedrukt in rotaties (graden/360, als een decimaal getal)
Huidige vermogen NumeriekHuidig vermogensniveau van de motor als deze draait (1-100), of 0 als deze gestopt is
Een Motorrotatiesensor opnieuw instellen
Je kunt een Motorrotatiesensor om het even waar in een programma opnieuw instellen op nul. De sensor zal vervolgens de totale rotatiehoeveelheid meten ten opzichte van het herstelpunt. Om een Motorrotatiesensor opnieuw in te stellen, gebruik je het blok Motorrotatie in de modus Opnieuw instellen.
Handige weetjes
Als je een Motorrotatiesensor meet die nog nooit opnieuw werd ingesteld, krijg je de totale rotatiehoeveelheid van de motor sinds de start van het programma te zien.
Motorrotatierichting en Totale rotatie
Een voorwaartse rotatie van een motor resulteert in een positief aantal graden of rotaties, en een achterwaartse rotatie in een negatief aantal. De rotatie wordt altijd gemeten als de totale hoeveelheid voorwaartse rotatie sinds de sensor voor het laatst opnieuw werd ingesteld. Achterwaartse rotatie wordt afgetrokken van de opgetelde voorwaartse rotatie.

In de onderstaande tabel zie je een voorbeeld van motoracties uitgevoerd in verschillende stappen, en het resultaat van het meten van de motorrotatie na elke stap.
StapActieMotorrotatie op dat ogenblik:
1Programma start, motor heeft nog niet gedraaid0 graden
2Motor draait een volledige omwenteling voorwaarts (360 graden)360 graden
3Motor draait nogmaals een volledige omwenteling voorwaarts720 graden
4Motor draait 60 graden voorwaarts780 graden
5Motor draait 30 graden achterwaarts750 graden
6Motorrotatie wordt opnieuw ingesteld:0 graden
7Motor draait 100 graden achterwaarts-100 graden
8Motor draait 60 graden achterwaarts-160 graden
9Motor draait 360 graden voorwaarts200 graden
Voorbeelden van het gebruik van de Motorrotatiesensor
Hieronder vind je enkele voorbeelden van het gebruik van de Motorrotatiesensor in een programma.
Voorbeeld 1: Een geluid maken als de robot voortgeduwd wordt
Met dit programma maakt een robot een geluid als deze met de hand voortgeduwd wordt zodat de wielen een klein beetje bewegen. In dit programma wordt gebruikgemaakt van het blok Wachten in de modus Motorrotaties – Wijzig – Graden om te wachten tot de rotatiesensor van motor C in een willekeurige richting met 5 graden gewijzigd wordt. Vervolgens wordt er een geluid geproduceerd door een blok Geluid.
Voorbeeld 2: Een bepaalde afstand met een bepaald patroon afleggen
Met dit programma rijdt een robot gedurende twee rotaties rechtdoor, waarna hij gedurende 6,5 rotaties in een zigzagpatroon rijdt. Er wordt in een zigzagpatroon gereden door eerst het ene en vervolgens het andere wiel te bewegen. Het zigzagpatroon wordt herhaald via een blok Herhaling tot motor B in totaal 6,5 rotaties heeft gedraaid. In het programma wordt gebruikgemaakt van het blok Herhaling in de modus Motorrotatie – Rotaties om de lus te stoppen wanneer de rotatiesensor van motor B in totaal 6,5 rotaties gemeten heeft. Om ervoor te zorgen dat de 6,5 rotaties enkel het zigzagpatroon omvatten (dus niet de 2 rotaties rechtdoor aan het begin van het programma), wordt de rotatiesensor van motor B voorafgaand aan het zigzagpatroon opnieuw ingesteld op nul via het blok Motorrotatie in de modus Opnieuw instellen.
Voorbeeld 3: Snelheidsregelaar
Met dit programma doet de motor die verbonden is met poort C dienst als snelheidsregelaar voor de motor die aangesloten is op poort B. Door motor C voorwaarts of achterwaarts te draaien met de hand, kun je de snelheid van motor B regelen. In dit programma wordt het blok Motorrotatie in de modus Meten – Graden gebruikt om het aantal graden dat motor C gedraaid heeft te meten. Het resultaat hiervan wordt gebruikt voor de input Vermogen van een blok Grote motor en wordt ook weergegeven via een blok Beeldscherm (weergeven). Dit proces wordt herhaald zodat de snelheid doorlopend geüpdatet wordt.
Handige weetjes
Als de input Vermogen voor het blok Grote motor meer bedraagt dan 100, zal er 100% vermogen gebruikt worden.
Blokken en modi voor Motorrotatie
In de onderstaande tabel zie je de programmeerblokken en modi die je kunt gebruiken met de Motorrotatiesensor.
BlokModusGebruiken
Wachten Motorrotatie - VergelijkenWachten tot een rotatiesensor een bepaalde waarde heeft bereikt (Graden, Rotaties of Huidige vermogen).
WachtenMotorrotatie - WijzigWachten tot een rotatiesensor met een bepaalde waarde wijzigt (Graden, Rotaties of Huidige vermogen).
Herhaling MotorrotatieEen bloksequentie herhalen tot een rotatiesensor een bepaalde waarde bereikt (Graden, Rotaties of Huidige vermogen).
Schakelen MotorrotatieKiezen tussen twee bloksequenties, gebaseerd op een rotatiesensor (Graden, Rotaties of Huidige vermogen).
MotorrotatieMetenEen rotatiesensor lezen (Graden, Rotaties of Huidige vermogen) en het resultaat krijgen via een Numerieke gegevensverbinding.
MotorrotatieVergelijkenEen rotatiesensor (Graden, Rotaties of Huidige vermogen) vergelijken met een drempel en het resultaat krijgen via een Logische gegevensverbinding.
MotorrotatieOpnieuw instellenEen rotatiesensor opnieuw instellen op nul.
DataloggingZie Datalogging.
Handige weetjes
Motorrotatiesensoren worden in de volgende blokken en modi van Actie ook intern gebruikt:
BlokkenModiGebruiken
Medium motor,
Grote motor
Aantal graden Aan,
Aantal rotaties Aan
Een motor gedurende een bepaald aantal graden of rotaties laten draaien.
Richting veranderen,
Tankbesturing
Aantal graden Aan,
Aantal rotaties Aan
Met behulp van twee Grote motoren een bepaald aantal graden of rotaties blijven rijden.
Motorrotatie
Snelkoppelingen