Las características principales de un servomotor son el par y la velocidad.
- El par: fuerza que es capaz de hacer en su eje. El par también se puede llamar torque. Se suele expresar en Kg/cm, por ejemplo 3Kg/cm. A mayor par, mayor corriente de consumo del servo, pero no suelen consumir mucho, dependiendo del tipo de servomotor.
- Velocidad: velocidad angular o de rotación.
Normalmente la tensión de alimentación de los servos en c.c. está entre 4 y 8V (voltios). Un servomotor es un sistema compuesto por:
- Un motor eléctrico: es el encargado de generar el movimiento, a través de su eje.
- Un sistema de regulación: formado por engranajes, que actúan sobre el motor para regular su velocidad y el par. Mediante estos engranajes, normalmente ruedas dentadas, podemos aumentar la velocidad y el par o disminuirlas.
- Un sistema de control o sensor: circuito electrónico que controla el movimiento del motor mediante el envío de pulsos eléctricos.
- Un potenciómetro: conectado al eje central del motor que nos permite saber en todo momento el ángulo en el que se encuentra el eje del motor. Recuerda que un potenciómetro es una resistencia variable.
En esta practica hemos utilizado este servo
La practica consiste en mover un servo con la ayuda de la Raspberry pi 3 a la posición en grados que quiera el cliente , todo esto después de una interrupción externa producida por dicho cliente , a su vez todo esto estará controlado desde el Smartphone vía SSH.
¿Qué es una interrupción externa en la raspberry?
Una interrupción se produce gracias a una resistencia pull down/up dependiendo de como lo configures en el programa , hay distintos tipos de interrupciones :
- Por espera: el pin elegido espera durante el tiempo que tu le apliques un 0 ó 1 lógico.
- Por flag: el programa se va ejecutando a no ser que se produzca una interrupción
- Por interrupción de programa: cuando se produzca un cambio en el pin, se detendrá el programa y se ejecutará la función indicada.
Nos apoyaremos en el código proporcionado por el PDF del drive , ademas no hay que olvidarse de que tenemos que añadir una interrupción de manera que después de esta te permita seleccionar los grados a los que le quieres mandar , ademas en cualquier momento el cliente podrá parar el programa con una interrupción por teclado.
El principal problema en esta practica es que la raspberry al no ser determinista , no trabaja en real-time ya que a la vez de estar ejecutándose el programa , se están haciendo múltiples procesos , por lo que al mandar el servo a una posición este podía variar un poco y temblar , para ello cada vez que mandaba el servo a una posición determinada , ponía el dutty cicle a 0 por lo que el servo dejaba de moverse ya que no tenia torque en él.