Nesse tutorial iremos explorar o controle de um servo usando o Matlab. Para começar, o que é um servo motor?
Servomotor é uma máquina, eletromecânica, que apresenta movimento proporcional a um comando. Servomotores são dispositivos de malha fechada, ou seja: recebem um sinal de controle; que verifica a posição atual para controlar sua movimentação indo para a posição desejada com velocidade monitorada externamente sob feedback de um dispositivo denominado taco ou sensor de efeito Hall ou encoder ou resolver, ou tachsin, dependendo do tipo de servomotor e aplicação.
Em contraste com os motores contínuos que giram indefinidamente, o eixo dos servo motores possui a liberdade de apenas cerca de 180º graus (360º em alguns modelos) mas são precisos quanto a posição.[1]
Para entendimento, as cores do cabo identificam :
- Cabo Vermlho - 5V
- Cabo Marrom - GND
- Cabo Amarelo - pino PWM do arduino.
Sabendo as cores do cabos faça as conexões devidas ao arduino, foi usado o pino 10 do Arduino 2560 para esse experimento.
Para maiores informações de como usar o servo junto com matlab acesse:
Para maiores informações de como usar o servo junto com matlab acesse:
CÓDIGO:
function [] = servo_motor()
board = arduino();
finishup = onCleanup(@() exitprogram(board));
motor = servo(board,10);
disp('prescione Ctr-C para sair');
while 1
for pos = 0:0.25:1
disp(['position: ',num2str(pos)]);
writePosition(motor,pos);
pause(1);
end
for pos = 1:-0.25:0
disp(['posição: ',num2str(pos)]);
writePosition(motor,pos);
pause(1);
end
end
end
function exitprogram(b)
clear b;
disp('Exit');
end
Nenhum comentário:
Postar um comentário