A controlador del servo motor es un circuito que se usa para controlar la posición de un servomotor. También se llama conductor del servo motor. A controlador del servo motor consiste en un controlador, el servomotor y la fuente de alimentación.
El conductor del servo motor puede ser usado para controlar un solo servo o incluso un grupo de servo-motores. En muchos proyectos en los que el control de los servomotores es el pilar de la tarea a realizar, el controlador debe accionar más de un servo. Un ejemplo de esto es un avión RC, que utiliza muchos servos.
Componentes esenciales
- Un microcontrolador
- Una fuente de alimentación
Componentes misceláneos
- A potenciómetro
- Conectores, cables, etc.
Microcontrolador
A servo motor es impulsado por la aplicación de la voltaje …le hacen una señal a intervalos regulares. El servo es sensible a las variaciones de tiempo. Un pulso de anchura específica tiene que ser aplicado en intervalos de tiempo específicos. Típicamente, la duración del pulso varía de 0ms a 2.2ms y la tasa de repetición es de 50Hz a 60Hz. Para un control preciso de la posición, el controlador que se elija debe tener temporizadores que tengan la resolución requerida. Además, si se tiene que controlar más de un motor simultáneamente, el reloj del procesador debe ser lo suficientemente rápido. Para el control de un solo motor, se puede utilizar un 8051 como un AT89s51 o un P89v51RD2. Pero para más de un motor, debemos usar un PIC, como un PIC18F o un ATMEGA, para poder utilizar su PWM interno. Sin embargo, la selección del microcontrolador depende totalmente del diseñador y de los requisitos del proyecto.
Suministro de energía
El diseño del controlador del servomotor de la fuente de alimentación depende del número de servomotores que están conectados a la placa. Los servomotores operan desde 4.8V hasta 6V de voltaje de alimentación. El valor típico es de 5V. No es aconsejable aplicar voltajes mayores que el voltaje de suministro ya que puede dejar el motor permanentemente inutilizado. El consumo de corriente del motor es variable y depende del par que genera. Además, consumirá menos corriente cuando esté en modo de reposo y más corriente cuando esté en funcionamiento. El consumo máximo de corriente de un servomotor está dado por su corriente de parada. Esta es la máxima corriente que consumirá cuando esté funcionando con el máximo par antes de que se detenga debido a una sobrecarga. Este valor de corriente puede ser tan alto como 1 A para algunos motores.
Para un control de un solo motor, un regulador de voltaje como un LM317 puede ser usado junto con un disipador de calor adecuado. Pero cuando es necesario interconectar varios motores, se debe utilizar un suministro de alta calidad con una mayor capacidad de corriente. Una SMPS (fuente de alimentación en modo conmutado) puede ser una buena opción.
El diagrama de bloques de abajo muestra las interconexiones en un servo motor.
Control del servomotor
El servomotor tiene tres terminales.
- Señal de posición (pulsos PWM)
- Vcc (De la fuente de alimentación)
- Tierra
La posición angular del servomotor se controla aplicando pulsos PWM de un ancho específico. La duración del pulso varía desde unos 0,5 ms para una rotación de 0 grados hasta 2,2 ms para una rotación de 180 grados. Los pulsos deben darse a frecuencias de alrededor de 50Hz a 60Hz.
Para generar la forma de onda PWM (Pulse Width Modulation), como se muestra en la siguiente figura, se puede utilizar el módulo PWM interno del microcontrolador o se pueden utilizar los temporizadores. El uso del bloque PWM es más flexible, ya que la mayoría de las familias de microcontroladores están diseñadas, y este bloque PWM se adapta mejor a las necesidades de aplicaciones como servo motor. Para diferentes anchos de pulsos PWM, necesitamos programar los registros internos en consecuencia.
Ahora, también tenemos que decirle al microcontrolador cuánto tiene que girar. Para ello, podemos utilizar un simple potenciómetro y usar un ADC para obtener el ángulo de rotación o para aplicaciones más complejas se puede utilizar un acelerómetro.
Algoritmo del programa
Diseñemos el Programa para controlar un solo servo y la entrada de posición se da a través del potenciómetro conectado a una clavija del controlador.
- niciar los pines del puerto de entrada/salida.
- Lea el ADC para la posición de servo deseada.
- Programe los registros PWM para el valor deseado.
En cuanto se activa el módulo PWM, la clavija del canal PWM seleccionado se eleva (lógica 1) y después de alcanzar el ancho requerido, vuelve a bajar (lógica 0). Así que después de disparar el PWM, debes iniciar un temporizador con un retardo de unos 19 ms y esperar hasta que el temporizador se desborde - Ir al paso 2
Hay varios modos de PWM disponibles que puedes usar dependiendo del microcontrolador que elijas. Se debe hacer algún grado de optimización en el código para controlar el servo.
Si planeas usar más de un servo, necesitarás tantos canales PWM como necesites. A cada servo se le puede dar la señal PWM de forma secuencial. Pero debes tener cuidado de que se mantenga la frecuencia de repetición de pulsos de cada servo. De lo contrario, el servo se quedará sin sincronización.
Nota:
Si planeas hacer tu propia tabla para el controlador del servo motor…dar el grosor adecuado a las pistas que llevan la corriente al servo. Se deben seguir las reglas de verificación de ERC y DRC. Las señales PWM para un servo de rotación continua no son las mismas que las de un servo de 180 grados. La hoja de datos del servo debe ser consultada para tales motores.
Un servomotor es crítico para las fluctuaciones de voltaje y un voltaje demasiado alto puede dañar el circuito interno de control de retroalimentación. Por lo tanto, la fuente de alimentación debe ser diseñada minuciosamente según las especificaciones del servo y comprobada antes de su despliegue. Se debe utilizar un disipador de calor si es necesario.