0% encontró este documento útil (0 votos)
8 vistas9 páginas

Control de Servomotores con PWM

Este documento describe el funcionamiento interno y control de servomotores. Explica que los servomotores constan de engranajes, un motor DC y un circuito de control. El documento también detalla cómo se utilizó un microcontrolador para controlar dos servomotores mediante señales PWM y teclas, y verificó el funcionamiento midiendo los pulsos con un osciloscopio.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas9 páginas

Control de Servomotores con PWM

Este documento describe el funcionamiento interno y control de servomotores. Explica que los servomotores constan de engranajes, un motor DC y un circuito de control. El documento también detalla cómo se utilizó un microcontrolador para controlar dos servomotores mediante señales PWM y teclas, y verificó el funcionamiento midiendo los pulsos con un osciloscopio.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Sistemas de control y automatización

Práctica 4: Servomotores
Grupo: 6IV2
Alumno: Espejel Vázquez David Jafet
Profesor: Ramírez Rodríguez Edgar Miguel
Fecha: 30/04/2021
Servomotores, marco teórico.
Los servomotores se componen por una caja de engranajes, un circuito de control
y un motor DC. Estos son sus 3 elementos internos de forma general, mientras
que en la parte exterior se encuentra un engranaje que será el eje del motor; y los
cables de conexión que vienen del interior, rojo para positivo, negro o café para
negativo y amarillo, naranja o blanco es el cable de control del servomotor, ya que
se controla su ángulo y velocidad de rotación mediante una señal PWM.

Los engranajes en su interior están configurados de forma que el eje del motor DC
se vea reducido, lo que significa que el motor avanzará y transmitirá su giro por los
distintos engranajes pero con una relación distinta entre sí, para que, por ejemplo,
cada 10 vuelta que dé el motor CD solamente de media vuelta el eje exterior. A
esto se le llama reducción y su propósito es aumentar el torque de giro, ya que a
mayor velocidad de giro, menor torque y viceversa, (es por este motivo que un
coche deportivo en la velocidad 1 puede jalar un camión, pero no podrá con la
velocidad 4, por ejemplo).

El circuito de control es discreto y se compone de varias partes, se muestran en el


diagrama siguiente:

La señal PWM es proporcionada por otro circuito de control externo.


El circuito electrónico tiene como componente principal un amplificador
operacional para poder operar el motor DC, como se aprecia en la imagen de
arriba, el motor puede ser controlado en el sentido horario y anti horario.

El potenciómetro se ajusta al mismo tiempo con el movimiento del eje principal,


entre sus terminales sucede un divisor de voltaje y este valor es tomado por el
circuito de control para reconocer la posición actual del eje en grados.

Los grados en los que puede moverse un servomotor son limitados por
características geométricas y físicas, lo más común es que se mueva entre 0 y
180°, como es el caso de tipo limitado, los de rotación continua permiten 360°. La
cantidad de grados que se desplaza el eje dependen del ciclo de trabajo de la
señal PWM. Supóngase una señal PWM con un periodo de 20ms, dentro de estos
20ms el ancho del pulso debe comprender entre 0.5 y 2.5 mili segundos para que
el servomotor pueda mantener la posición. El periodo también puede variar, entre
15 y 25 milisegundos. Entre más ancho sea el pulso más grados girará hacia 180°,
entre más corto sea el pulso tenderá hacia 0°.

El consumo eléctrico del motor al vacío (sin carga en el eje) ronda el orden de los
cientos de mili amperios, por este motivo, debe energizarse con una fuente y
transistores BJT o FET para evitar que se quemen los circuitos de control, además
de diodos en paralelo con el motor y estos transistores para polarizar la corriente y
evitar de igual forma el daño de los mismos. En el caso del simulador esto no es
estrictamente necesario.
Desarrollo de la práctica
Se utilizó un microcontrolador con una frecuencia de oscilación de 4MHz para el
manejo de un teclado de 12 botones, una pantalla LCD 16x2 y 2 servomotores de
tipo limitado, además un osciloscopio para medir el ancho de pulso de los
servomotores.

Diagrama utilizado en esta práctica.

El puerto B de este microcontrolador PIC se utiliza para manejar tanto el teclado


como la pantalla LCD, mientras que el puerto C se utiliza para enviar las señales
PWM a los servomotores.

Los pasos para utilizar el circuito son:

1. Introducir un el número de servomotor a controlar (0 para el primer motor, 1


para el segundo)
2. Una vez introducido 0 o 1, la pantalla preguntará por el ángulo de posición
que tendrá el eje del servomotor, las opciones son 0°, 90° y 180°.
3. Ya que se introdujo el valor del ángulo, se debe presionar la tecla asterisco
(*) para ejecutar la acción
Código de control utilizado en los servomotores.

El control de la señal PWM se realiza mediante la interrupción del timer0,


configurado con un valor inicial de 255 y un preescaler de 32.

En el código se encuentra una variable llamada “angulo”, esta no admite valores


superiores a 180 debido a una condición en la que si el ángulo introducido es
mayor a 180, entonces este mismo valdrá 180. (if (angulo>180) angulo=180;)

Posteriormente se establece una relación en la que cuando una variable llamada


“pwm” tiene un valor de 7, se tendrá un ancho de pulso de aproximadamente 800
micro segundos (0.8 milisegundos) para tener 0° en el servomotor, y si tiene un
valor de 21, el ancho de pulso valdrá 2.1 milisegundos aproximadamente para
tener 180° en el eje. Todo esto con un periodo de oscilación de aproximadamente
25ms.

La fórmula utilizada para darle valor a la variable “pwm” es: pwm = (angulo/13)+7
De forma que cuando “angulo” vale 0, se obtiene el valor de 7 para un ángulo de
0°, y cuando “angulo” vale 180, pwm valdrá 20.84, que se redondea a 21 para
evitar valores de punto flotante.

Estos valores que toma la variable pwm se valoran en una sentencia de tipo
switch, en los que se busca el valor introducido de servomotor y posteriormente se
envía la señal al pin correspondiente y con el valor de la variable pwm.

En este esquema se aprecia el ancho de pulso y ángulo correspondiente según el


valor que toma “pwmx” (x es el número de pin del puerto C que controlará al
servomotor de mismo valor), “control_pwm” corresponde al valor inicial del timer0
antes de desbordarse justo después de 255.

Comprobación

En el ejemplo
inmediato superior se
aprecia el estado
inicial del circuito,

donde el acho de pulso debe tener un aproximado de 0.8ms y los servomotores,


en este caso, tienen un valor de -90° lo cual significa que en otro marco de
referencia, será su valor correspondiente a 0° (+90° para los 180°)

Con un valor de 100 micro segundos por división, se aprecian aproximadamente


730 microsegundos, valor cercano al teórico.
Se observa que se ha introducido un valor de 180° para el motor 0 (señal
amarilla). (El motor marca un valor de +90, correspondientes a 180°)

El valor teórico son 2.1 milisegundos para el ancho de pulso; en este osciloscopio
se tienen 5ms por división, lo cual midiendo se tienen aproximadamente 0.4
cuadros para el ancho de pulso, o sea, 2 milisegundos de ancho de pulso, valor
cercano al teórico. También se aprecian aproximadamente 5.2 cuadros para el
periodo, lo cual son 26 milisegundos, valor aproximado al teórico.

Conclusiones
En esta práctica se realizó un trabajo a un nivel más técnico sobre los
servomotores a comparación de las prácticas anteriores correspondientes donde
se utilizaron.

Se realizó una explicación del funcionamiento interno en términos generales del


servomotor y su control mediante un PWM aprovechando un microcontrolador y el
desborde del registro timer0 para este propósito, ya que existen más técnicas para
realizar esto o directamente con un circuito integrado NE555. Este no fue el caso
debido a que se debía implementar un teclado de 12 pulsadores y una pantalla
LCD que despliegue un menú con los valores introducidos.

Debido a que el funcionamiento y la comprobación mediante el osciloscopio son


correctos (valores cercanos a los teóricos como el ancho de pulso para 0°, 90° y
180°, y las instrucciones de uso de este circuito se pueden cumplir), no se
pudieron controlar satisfactoriamente visualmente en el valor marcado en los
servomotores ni su giro a pesar de que el ancho de pulso de la señal PWM
marque un cambio.

Bibliografía
Funcionamiento interno:

[Link]
%20servomotor%20es%20un%20tipo,eje%20en%20un%20momento
%20dado.&text=Este%20tipo%20de%20motor%20tiene,cambia%20su%20sentido
%20de%20giro.

Código analizado y circuito utilizado extraído de:

[Link]
16f876a_13.html

También podría gustarte