CourseWare Wiki
Search
Log In
b181
help
common
robot_pan_tilt_megarobot
Warning
This page is located in archive.
Differences
This shows you the differences between two versions of the page.
View differences:
Side by Side
Inline
Go
Link to this comparison view
Go
Go
help:common:robot_pan_tilt_megarobot [2014/02/18 12:06]
krsek
[Ovládání jednotky]
help:common:robot_pan_tilt_megarobot [2018/02/03 10:49]
Line 1:
Line 1:
-
==== Pan-Tilt jednotka Megarobot ====
-
-
Pan-Tilt jednotka se skládá vždy ze dvou pohonů AI-701 firmy Megarobotics. Pohon AI-701 tvoří servo, které je řízeno příkazy prostřednictvím sběrnice RS-232. Samotné servo přímo interpretuje příkazy. Mezi PC a pohonem není prostředníkem žádná řídící jednotka.
-
-
V případě PT jednotky jsou na jedné sběrnici RS-232 počítače připojeny vždy dva pohony. Příjemce řídícího příkazu je v něm identifikován identifikačním číslem (ID). V tomto případě byly pohony nastaveny tak, aby pohon pro otačení v azimutu (vodorovně) měl ID == 0 a pohon pro elevaci (svisle) měl ID == 1. **Neprovádějte změny ID** -- můžete tak snadno způsobit nefunkčnost zařízení. Ze stejných důvodů je také zakázáno měnit komunikační rychlost sériového rozhraní (Baudrate).
-
-
* Dodavatel ([[http://www.megarobot.net/|MEGAROBOT.NET]]) poskytuje manuál k pohonu {{:help:common:aimotor701_manual_megarobot.pdf|AI-701}}.
-
* K snadnému testování pohonu lze použít program "AI-MOTOR Tool v1.26", který je již na pracovišti nainstalován.
-
* K programu doporučujeme číst krátky popis "{{:help:common:zaciname_s_aimotorem.pdf|Zacínáme s AI-MOTORem}}" , který poskytuje dodavatel ([[http://www.megarobot.net/|MEGAROBOT.NET]]). Tento poisis se zabývá prvními kroky práce s pohonem ve zmíněném programu.
-
-
==== Ovládání jednotky ====
-
-
Pan-Tilt jednotku lze z MATLAbu ovládat pomocí [[http://www.mathworks.com/help/matlab/matlab_external/getting-started-with-serial-i-o.html|Serial Port I/O]].
-
-
- Pan-Tilt jednotka se inicializuje následující sekvencí příkazů<code>ser = serial('COM1');
-
set(ser,'BaudRate',57600);
-
fopen(ser);</code>
-
- Ovládat jednotku lze zapisováním příslušných řídících bytů (viz {{:help:common:aimotor701_manual_megarobot.pdf|manuál}}) do souboru ''ser'' pomocí příkazu ''fwrite''.
-
- Pro ulehčení práce s ovládáním jednotky je možno použít funkci ''ptmove'':<code>ptmove(ser, pan_pos, tilt_pos);</code> kde ''pan_pos'' udává absolutní úhel otočení kolem svislé osy, ''tilt_pos'' potom absolutní úhel otočení kolem vodorovné osy. Rozsah hodnot pro ''pan_pos'' i ''tilt_pos'' je 0 až 254, pokrývající cca 80 úhlových stupnů v daném směru. Pro nastavení jednotky do základní polohy, tedy do polohy, kdy optická osa kamery je kolmá na plochu LCD obrazovky, použijte hodnoty ''pan_pos==127'', ''tilt_pos==127''.<code>function ptmove(ser, pan_pos, tilt_pos, speed)
-
if nargin<4
-
speed = 3;
-
end
-
-
sermove(ser, speed, 0, pan_pos);
-
sermove(ser, speed, 1, tilt_pos);
-
end
-
-
function sermove(ser, speed, pantilt, pos)
-
b1 = uint8(hex2dec('ff'));
-
b2 = uint8(bitshift(uint8(speed), 5) + uint8(pantilt));
-
b3 = min(max(uint8(pos), uint8(0)), uint8(254));
-
b4 = uint8(bitand(bitxor(b2, b3), uint8(hex2dec('7f'))));
-
fwrite(ser, [b1 b2 b3 b4]);
-
end
-
</code>
-
- Pro skončení práce s jednotkou ji deinicalizujte příkazy<code>fclose(ser);
-
delete(ser);</code>
-
help/common/robot_pan_tilt_megarobot.txt
· Last modified: 2018/02/03 10:49 (external edit)