KURZ: Motor a jeho pohyb

KAPITOLY

Pro pohyb a natáčení robotů a jejich jednotlivých částí můžeme využít Interaktivní servomotor. Tento motor je kombinací motoru zajišťujícího otáčení a senzoru měřícího míru natočení.

Vlastnosti motoru

Nejdůležitější vlastností motoru je výkon, směr a port, ke kterému je motor připojen.

Výkon motoru: udává intenzitu (rychlost) motoru jakou se motor otáčí. Hodnotu výkonu lze nastavit v procentech, kde 100 % je maximální výkon.

Směr: určuje směr otáčení motoru (vpřed, vzad či zastavení).

Port: udává port řídící jednotky (A, B, C) ke kterému je motor připojen.

Určení míry natočení

Otáčení motoru zaznamenávají optická čidla poskytující zpětnou vazbu. Tuto hodnotu lze pomocí programu načíst, ale je též automaticky využívána k vykonání různých pohybových sekvencí. Pohyb lze realizovat čtyřmi různými způsoby:

Stupně

Nastavením stupňů v rozsahu 0 až 360° motoru udáváme, o kolik stupňů se má otočit. Úhel natočení je motorem zjišťován a korigován zpětně přes počitadlo otáček. Protože se nejedná o krokový motor, není pohyb zcela přesný a je tak nutné počítat s určitou odchylkou v řádu jednotek. V případě zadání malého natočení pak i s případným rozmitáním motoru.

Rotace

Vyjádření míry natočení pomocí rotace motoru udává, kolik otočení kolem své osy má být k danému pohybu vykonáno. Jedna rotace motoru odpovídá 360°. Natočení pomocí rotace využijeme pro pohyb po delší trase známé délky.

Sekundy

Sekundy určují, po jakou dobu se má provádět otáčení motoru. Chceme-li tímto způsobem stanovit délku dráhy po které se robot bude pohybovat, musíme počítat také s nastaveným výkonem motoru. Během stejného časového úseku totiž motor s menším výkonem provede méně otáček. Vyjádření míry natočení pomocí času tedy není pro potřeby přesného stanovení délky dráhy příliš přesné.

Neomezeně

Poslední možností nastavení míry natočení je neomezený pohyb motoru. Jak již název naznačuje, nejedná se o časově ani parametrově omezený pohyb. Vykonávání je prováděno po celou dobu chodu programu. Tento způsob tedy neskýtá možnost jakkoliv ovlivnit dobu či míru natočení.

Použití motoru v programovacím prostředí

NXT-G

Blok pro ovládání motoru

Rozcestník


Umístění bloku

Programový blok MotorDragged Motor je umístěn v paletě icon completeCompleteAction Action.

NXTG Motor rozbaleny

 

Popis bloku

Blok MotorDragged Motor obsahuje celkem osm konektorů sloužících k propojení s dalšími programovými bloky:

Port Port - vyjadřuje, ke kterému výstupnímu portu (A, B, C) je motor připojen.

Direction Direction - označuje směr otáčení motoru (vpřed či vzad).

Action Action - nastavený typ ovládání akcelerace motoru.

Power Power - intenzita otáčení motoru.

SoundMode Control Motor Power - regulace výkonu motoru.

Goal Duration - délka trvání pohybu.

Wait Wait for Completion - ukončení činnosti před dalším krokem programu.

StopAfter Next Action - vyjadřuje, zda bude po ukončení akce motor pokračovat v činnosti či nikoliv.

Direction Direction out - řízení pohybu motoru během provádění činnosti bloků.

Degreesout Degrees out - vyjadřuje, o kolik stupňů se motor otočí během provádění činnosti bloků.

Aktuální nastavení bloku označují tři ikony v jeho dolní části. První označuje směr otáčení Forward, druhá intenzitu otáčení motoru Power a třetí značí délku trvání pohybu Infinity. Číslo v horní části bloku označuje, ke kterému výstupnímu portu je motor připojen.

 

Parametry bloku

motor single

Port: udává port řídící jednotky (A, B, C) ke kterému je motor připojen.

Direction: určuje směr otáčení motoru (vpřed, vzad či zastavení).

Action: umožňuje třemi způsoby ovládat akceleraci motoru.

  • Ramp Up - pomalé zvyšování rychlosti dokud není dosaženo nastavené intenzity otáčení motoru (power).
  • Ramp Down - pomalé snižování intenzity otáčení motoru, dokud není dosaženo nulové hodnoty.
  • Constant - plného výkonu je dosaženo ihned. Zastavení je dosaženo buď setrvačností motoru nebo dalším nastavením (Next Action).

Power: intenzita (rychlost) otáčení motoru nastavitelná v procentech (100% je maximum).

Control: zapnutí regulace výkonu motoru.

Duration: možnost nastavení délky trvání pohybu. Skýtá čtyři možnosti nastavení:

  • míra natočení ve stupních (Degrees),
  • míra natočení vyjádřená pomocí otáček motoru (Rotations),
  • doba chodu motoru při daném výkonu v sekundách (Seconds),
  • neomezený běh motoru po dobu průběhu programu (Unlimited).

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.

Next Action: udává, zda se má po ukončení akce motor zastavit (Brake) nebo pokračovat v chodu (Coast).

RobotC

Příkazy a metody

V programu RobotC se ovládání motoru provádí v podstatě pomocí jediného příkazu. Další chování ovlivňují zadané hodnoty a proměnné.

Rozcestník


Nastavení a ovládání motoru

Veškeré ovládání motoru v programovacím prostředí RobotC je prováděno pomocí příkazu motor[]. V tomto příkazu označujeme jak port, ke kterému je motor připojen, tak i intenzitu jeho otáčení a směr otáčení

Port: výraz v závorce označuje, ke kterému portu (motorA, motorB nebo motorC) řídící jednotky je motor připojen.

 
motor[motorA] = 100; // Motor je pripojen k portu A a otaci se smerem vpred s maximalnim vykonem.
 

 

Intenzita otáčení motoru: udává na stupnici od 0 do 100% výkon motoru.

 
motor[motorA] = 75; // Motor je pripojen k portu A a otaci se smerem vpred s vykonem 75%.
 

 

Směr otáčení motoru: je určen znaménkem před hodnotou určující výkon motoru. Kladné číslo vyjadřuje otáčení vpřed, záporné vzad.

 
motor[motorA] = -100; // Motor je pripojen k portu A a otaci se smerem vzad s maximalnim vykonem.
 

Ovlivnění doby otáčení 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] = 100; // Motor je pripojen k portu A a otaci se smerem vpred s maximalnim vykonem.
wait1Msec(4000); // Otaceni motoru je provadeno 4 sekundy, po kterych je pohyb ukoncen a program pokracuje dale.
motor[motorA] = 0; // Vykon motoru je nastaven na nulu.
 

Možnosti natočení motoru

Natočení motoru je možné provádět příkazem bMotorReflected[], díky němuž se motor pootočí o 180 stupňů. Nabývá hodnot true nebo false.

 
bMotorReflected[motorA] = true;  // Motor A se pootoci o 180 stupnu.
bMotorReflected[motorA] = false; // Motor A se nepootoci o 180 stupnu.
 

Druhou možností, která umožňuje oproti předchozímu příkazu libovolné natočení, je pomocí čítače otáček motoru. Čítač zaznamenává, o kolik stupňů (0 - 360) se motor pootočil. Pracuje se s ním pomocí příkazu nMotorEncoder[]. Na příkladu můžete vidět, jak pomocí čítače pootočit motor o 360 stupňů.

 
nMotorEncoder[motorB] = 0; // Nulovani citace motoru B.
while(nMotorEncoder[motorB] < 360) // Nastavení podminky cyklu (dokud citac motoru B nedosahne 360 stupnu...).
{
   motor[motorB] = 75; // ...tak se motor B otaci s vykonem 75%. 
}
motor[motorB] = 0; // Nastaveni vykonu motoru B na 0.
 

EV3

BLOK PRO OVLÁDÁNÍ SERVOMOTORU

Rozcestník

Blok pro ovládání lineárního motoru

Rozcestník


Umístění bloku

Programový blok Large Motor je umístěn v paletě Action Action.

UMISTENI LARGE


Výběr výstupního portu

Před započetím práce s motorem je nejprve nutné zvolit výstupní port (A, B, C nebo D) řídící jednotky, ke kterému je motor připojen (červeně zvýrazněno).

LARGE REZIMY


Změna režimu

Programový blok Large Motor můžeme využívat v pěti režimech. Přepínání mezi nimi se provádí pomocí tlačítka v levé spodní části (červeně zvýrazněno).

 LARGE REZIMY


Přidání vstupního portu

Po kliknutí do pole pro výběr výstupních portů pro řízení motorů je možné vybrat první možnost Wired, po které se do programového bloku přidá vstupní port Identification 515 Port Port (červeně zvýrazněno).

LARGE WIRED


Režimy programového bloku

Off (vypnuto)

Vypnutí chodu motoru. V tomto řežimu  je aktivní pouze jediný vstupní port.

LARGE OFF

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

 

 

On (Zapnuto)

Neomezený běh motoru po dobu průběhu programu. V tomto řežimu  je aktivní pouze jediný vstupní port.

LARGE ON

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

 

 

On for seconds (otáčení po zadaný časový úsek)

Ovlivnění chodu motoru pomocí času. V tomto režimu máme k dispozici tři vstupní porty.

LARGE SECONDS

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

Identification 240 Time Seconds - doba otáčení motoru udávaná ve vteřinách.

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.


 

 

On for Degrees (otočení o zadaný úhel)

Ovlivnění chodu motoru pomocí úhlových stupňů. V tomto režimu máme k dispozici tři vstupní porty.

LARGE DEGREES

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

Identification 288 DegreesAngle Plus360 Degrees - míra natočení zadávaná v úhlových stupních od 0 do 360°.

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

 

 

On for Rotations (otočení o počet otáček)

Ovlivnění chodu motoru pomocí počtu nastavených otáček. V tomto režimu máme k dispozici tři vstupní porty.

LARGE ROTATIONS

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

Identification 503 NumberRotations Rotations - počet prováděných otáček motoru.

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

 

 



Umístění bloku

Programový blok Medium Motor je umístěn na paletě Action Action.

UMISTENI MIDDLE 


Výběr výstupního portu

Před započetím práce s motorem je nejprve nutné zvolit výstupní port (A, B, C nebo D) řídící jednotky, ke kterému je motor připojen (červeně zvýrazněno).

MIDDLE PORT


Změna režimu

Programový blok Medium Motor můžeme využívat v pěti režimech. Přepínání mezi nimi se provádí pomocí tlačítka v levé spodní části (červeně zvýrazněno).

MIDDLE REZIMY


Přidání vstupního portu

Po kliknutí do pole pro výběr výstupních portů pro řízení motorů je možné vybrat první možnost Wired, po které se do programového bloku přidá vstupní port Identification 515 Port Port (červeně zvýrazněno).

MEDIUM WIRED


Režimy programového bloku

Off (Vypnuto)

Vypnutí chodu motoru. V tomto řežimu  je aktivní pouze jediný vstupní port.

MIDDLE OFF

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

 

 

On (zapnuto)

Neomezený běh motoru po dobu průběhu programu. V tomto řežimu  je aktivní pouze jediný vstupní port.

MIDDLE ON

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

 

 

On for Seconds (otáčení po zadaný časový úsek)

Ovlivnění chodu motoru pomocí času. V tomto režimu máme k dispozici tři vstupní porty.

MIDDLE SECONDS

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

Identification 240 Time Seconds - doba otáčení motoru udávaná ve vteřinách.

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

 

 

On for Degrees (otočení o zadaný úhel)

Ovlivnění chodu motoru pomocí úhlových stupňů. V tomto režimu máme k dispozici tři vstupní porty.

MIDDLE DEGREES

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

Identification 288 DegreesAngle Plus360 Degrees - míra natočení zadávaná v úhlových stupních od 0 do 360°.

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

 

 

On for Rotations (otočení o určitý počet otáček)

 Ovlivnění chodu motoru pomocí počtu nastavených otáček. V tomto režimu máme k dispozici tři vstupní porty.

MIDDLE ROTATIONS

Identification 203 Speed Plus75 Power - rychlost otáčení motoru udávaná v procentech na stupnici od 100 (vpřed) do -100 (vzad).

Identification 503 NumberRotations Rotations - počet prováděných otáček motoru.

Identification 508 BrakeAtEnd BrakeBreak at End - způsob zastavení motoru. Okamžité zastavení (Break) reprezentuje logická hodnota True a pozvolné dojetí (Coast) hodnota False.

  

1 1 1 1 1 1 1 1 1 1 Hodnocení 3.00 (2 hodnocení)

Nemáte oprávnění přidat komentář.
Komentáře mohou přidávat pouze registrovaní uživatelé, kteří neporušují pravidla diskuze.