Search
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).
Pan-Tilt jednotku lze z MATLAbu ovládat pomocí Serial Port I/O.
ser = serial('COM1'); set(ser,'BaudRate',57600); fopen(ser);
ser
fwrite
ptmove
ptmove(ser, pan_pos, tilt_pos);
pan_pos
tilt_pos
pan_pos==127
tilt_pos==127
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
fclose(ser); delete(ser);