segunda-feira, 23 de novembro de 2015

Tutorial 6: Arduino e Matlab - Controlando servoMotor


    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:

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  

    É importante salvar o arquivo .m com o mesmo nome da função, ou seja, servo_motor.

   Execute o programa no command window.


BIBLIOGRAFIA:


https://pt.wikipedia.org/wiki/Servomotor

Nenhum comentário:

Postar um comentário