CONTROL DE UN MOTOR DC

INTRODUCCIÓN

Continuando con la implementación de motor DC, en esta ocasión se desea poner una carga/resistencia, en el eje del motor, con el fin de que genere una disminución en su velocidad (RPM), de manera que se debe compensar  automáticamente, la velocidad hasta encontrar la ingresada por el usuario a través del teclado matricial.

OBJETIVOS

Realizar el diseño y su respectivo montaje de un circuito que permita el control de la velocidad de un motor DC, el cual puede presentar o no, carga o perturbaciones que generen una disminución de su velocidad. El sistema debe compensar y buscar generar la velocidad ingresada por teclado aumentando el ancho del PWM.

CONDICIONES

  • Es necesario contar con un sistema de sensado de velocidad de motor usando un disco perforado y un sistema óptico que permita contar los pulsos y de esta forma establecer la velocidad de giro del motor.
  • En caso de que la velocidad de giro sea afectada por perturbaciones externas el sistema debe compensar y buscar generar la velocidad ingresada por teclado aumentando el ancho del PWM..
MATERIALES
  1. Protoboard
  2. Resistencias
  3. Panalla LCD
  4. Cable
  5. PSoC 
  6. Motor DC
  7. Puente H 
  8. Disco perforado 
  9. Opto sensor
  10. PSoC Creator
  11. Teclado matricial 
  12. Algunos componentes adicionales integrados en el software PsoC creator, que serán nombrados a lo largo del desarrollo de la practica.

DESARROLLO 


HARDWARE 

Para la realización de esta practica fue necesario el uso de un "puente H" con el fin de desacoplar las tierras del PSoC y del motor con el único fin de cuidar amos componentes. Adicional mente fue necesario la elaboración de una rueda perforada que se ajusto al eje del motor para que, junto a un opto sensor, funcionaran como sensado de la velocidad del motor y así poder determinar sus RPM.


(Circuito final cableado.)

ESQUEMÁTICO


Para el control de las velocidades pre-programadas, ya se había realizado su respectivo montaje en la practica anterior, de manera que ya se cuenta con una base y por ende a partir de esta, se buscara conseguir los requerimientos  de la practica actual.

Por la misma razón anterior, no se entrara en detalle respecto a los elementos que cumplen la misma función que en la practica anterior, solo se detallaran aquellas modificaciones realizadas para esta practica.





(Pagina uno del circuito final PsoC creator)


(Pagina dos del circuito final PsoC creator)


Como se puede observar, todo el apartado del sensado de los RPM y la visualización en pantalla LCD (Pagina 1 del proyecto) , sigue igual si ninguna modificación, de manera que su explicación ya se encuentra hecha en la anterior practica.

Las modificaciones que se realizaron corresponden al PWM, que tiene la misma lógica que el usado anteriormente, sin embargo esta vez se uso un comparador (Ya explicado anteriormente) y  la implementanción de un nuevo componente el cual funciona una vez se le pone carga o una perturbación al giro del motor.


(Componente Control)


El componente anteriormente mostrado, esta encargado de comparar los RPM asociados a las velocidades introducidas por el teclado matricial y los RPM sensados a partir del disco perforado y el opto sensor. De manera que, si los RPM sensados son menores a los debidos, de acuerdo con la velocidad ingresada, significa que el motor presenta una perturbación o una carga y por ende este componente "CONTROL" arroja un nivel lógico 1 a su salida S con el fin de comenzar a modificar el PWM del motor hasta que se igualen los RPM en otras palabras, que el motor funcione con la carga que presenta, al valor que se le ha indicado por medio del teclado matricial.

El componente "control" fue implementado a partir de verilog y a continuación se presenta el código usado:


(Código en verilog, componente "control")

Una vez explicado como se creo el componente, se procede a explicar su uso en el Top-Desing. Como se puede evidenciar en la pagina dos del esquemático, este componente una vez esta funcionando, activa un contador el cual ira conectado a un sumador con el fin de comenzar a aumentar el PWM del motor hasta que este funcione a la velocidad que se le ha indicado. Una vez llega a este valor, el componente arroja un nivel lógico 1 a su salida C con el fin de resetear el contador sin afectar el PWM en el que se esta trabajando actualmente. A modo de aclaración, el motor si no presenta ninguna perturbación automáticamente va a funcionar a la velocidad que se le indica.


PRUEBAS

A continuación se muestra el montaje final y su correcto funcionamiento.

Explicación: 


El usuario a través del teclado matricial ingresa un el valor al cual quiere que el motor este funcionando teniendo en cuenta la siguiente codificación:




0 ------> 0% de la velocidad nominal
1 ------> 10% de la velocidad nominal
2 ------> 20% de la velocidad nominal
3 ------> 30% de la velocidad nominal
4 ------> 40% de la velocidad nominal
5 ------> 50% de la velocidad nominal
6 ------> 60% de la velocidad nominal
7 ------> 70% de la velocidad nominal
8 ------> 80% de la velocidad nominal
9 ------> 90% de la velocidad nominal
A ------> 100% de la velocidad nominal


Adicional mente, si se le agrega una perturbación al giro del motor (fricción generada por el roce de la mano con el disco), el programa automáticamente modifica el PWM para que el motor funcione adecuadamente a la velocidad que se introdujo.





















Comentarios

Entradas populares