KURZ: Lineární motory
- Podrobnosti
- Mgr. Jan Baťko
- Aktualizováno: 01.04.2014
- Zobrazení: 14862
V robotické stavebnici LEGO Mindstorms NXT je možné používat velké množství rozšiřujících senzorů a zařízení od různých výrobců. Nyní se zaměříme na zařízení, jehož výrobcem je firma Firgelli Technologies Inc. Jedná se o lineární motor, který je někdy nazývaný také jako lineární aktuátor. Jeho funkcí je pohyb výsuvného ramena poháněného vestavěným motůrkem v jednom směru. Je pouze na konstruktérovi robota, zda jej použije pro zařízení v horizontálním nebo vertikálním směru. Praktické využití může být směřováno například k robotovi, který využívá posuvného ramena jeřábu. Další možností může být vetikální pohon zdvihového zařízení skladového manipulátoru, někdy zvaného též ještěrka.
PRÁCE S lineárním motorem V PROGRAMOVACÍCH PROSTŘEDÍCH
NXT-G
BLOK PRO OVLÁDÁNÍ LINEÁRNÍHO MOTORU
Rozcestník
UMÍSTĚNÍ BLOKU
Lineární motor je v programovacím prostředí NXT-G řízen blokem Actuator Block. Tento blok není součástí základní instalace. Pro jeho použití je nutné jej do prostředí importovat. Návod k importu rozšiřujících modulů naleznete v kapitole Instalace rozšiřujících modulů.
Poznámka: Blok naleznete ke stažení na stránkách výrobce ZDE.
POPIS BLOKU
Blok lineárního motoru obsahuje celkem 5 konektorů pro propojení s dalšími bloky:
Output dup - výstupní port umožňující předání řízení jinému motoru na jiném portu.
Wait for Completion? - konektor, který vyjadřuje, zda se má čekat na dokončení příkazu.
Distance in Milimetres - označuje, o kolik se má motor posunout (v mm).
Power - vyjadřuje rychlost pohybu motoru (0 - 100).
Output - označuje port, ke kterému je motor připojen.
PARAMETRY BLOKU
Port: označuje, ke kterému výstupnímu portu je lineární motor připojen.
Direction: směr posunu motoru.
Speed: rychlost posunu motoru (0 - 100).
Distance: vzdálenost, o kterou má být rameno motoru vysunuto nebo zasunuto. Je možné ji vyjadřovat v milimetrech (mm) nebo ve standardizovaných LEGO jednotkách (holes). Jedna jednotka se rovná 8 mm.
Wait: vybráním této možnosti dáváme motoru pokyn ukončit svoji činnost ještě před dalším krokem programu.
Manual: zaškrtnutí volby umožní řídit motor ručně pomocí tlačítek na řídící kostce NXT.
RobotC
Příkazy a metody
Ovládání lineárního motoru je totožné s ovládáním klasického servomotoru. Provádí se pomocí příkazu motor[].
Port: označení portu, ke kterému je motor připojen je uvedeno v závorce jako parametr příkazu (motorA, motorB nebo motorC).
motor[motorA] = 20; // Motor je pripojen k portu A a otaci se smerem vpred s vykonem 20%.
Intenzita otáčení motoru: udává na stupnici od 0 do 100% výkon motoru.
motor[motorA] = 20; // Motor je pripojen k portu A a otaci se smerem vpred s vykonem 20%.
Směr otáčení motoru: v programovacím prostředí RobotC se směr pohybu motoru označuje znaménkem. Pokud je hodnota intenzity pohybu lineárního motoru kladná, vysouvá se jeho rameno směrem ven. Pokud je hodnota záporná, jedná se o opačný pohyb, tedy zasouvání ramena.
motor[motorA] = -20; // Motor je pripojen k portu A a otaci se smerem vzad s vykonem 20%.
OVLIVNĚNÍ DOBY posunu MOTORU
Délka trvání pohybu je nastavována v milisekundách pomocí příkazu wait1Msec() nebo v desítkách milisekund příkazem wait10Msec().
motor[motorA] = 40; // Posuv linearniho motoru je provaden rychlosti 40%. wait1Msec(4000); // Doba posunu je stanovena na 4 sekundy.