Vous êtes sur la page 1sur 8

Control de motores DC con microcontroladores PIC Resumen

En este articulo se dar a conocer las formas de hacer correcciones en la velocidad de un motor DC con escobillas haciendo uso de un microcontrolador PIC18F4550. Estos microcontroladores nos brindan una herramienta muy util a la hora de controlar la corriente en un motor DC, un modulo CCP/PWM; este modulo es el que nos trae la posibilidad de generar una seal manipulable para asi controlar la corriente promedio que circula por los devanados del motor. No obstante esta no es la unica aplicacion que tiene este modulo, tambien se puede utilizar para sistemas de control automatico, en los que se requiera variar la intensidad de un campo magnetico, la temperatura, para el control de servomotores. Existe una gama muy amplia de posibilidades para este modulo, de las cuales estaremos describiendo una de ellas en este articulo, el control de motores DC con escobillas.

Materiales

Microcontrolador PIC18F4550 1 CI L298 Fuente de poder de 12V y 5V 4 Pulsadores Cristal de 4 MHz 2 Condensadores de 470nF 4 Resistencias de 10K 4 Diodos 1N4007 1 Bornera Motor DC con escobillas con un consumo menor a 1,5 A Fuente DC de 12 voltios

Herramientas utilizadas
Para el desarrollo del sistema se utilizaron las siguientes herramientas de desarrollo:

MPLAB C18. Proteus 7.4 SP3

Descripcin
El circuito basicamente esta constituido por un "cerebro", el microcontrolador PIC18F4550, es este quien controla la velocidad del motor mediante una seal PWM, la cual es generada por un modulo independiente. Es por ello que a continuacin daremos

una explicacin en principio del circuito y posteriormente el diagrama de flujo simplificado para un completo entendimiento del software del microcontrolador.

Diagrama circuital

Grfico 1. Circuito para el control de un motor DC.

A este punto tenemos detalles de como nos quedara el circuito final, como podemos notar, el CI L298 es el que se encarga del control del paso de la corriente, este tiene internamente dos puentes H, de los cuales solo utilizaremos uno. Los diodos de proteccin son muy necesarios porque recordemos que estamos trabajando con cargas inductivas los cuales pueden producir picos de corriente muy altos y pueden ocasionar daos al CI L298 o incluso a nuestro microcontrolador, esto sin contar algunos problemas de reset ocasionados por estos picos de corriente. Aun as los 4 diodos nicamente no son suficiente, para completar la estabilizacin de la alimentacin del microcontrolador es necesario la puesta de 2 filtros bypass, uno para cada fuente de alimentacin. Se probo con filtros cermicos de 470nF y funcionaron excelente. Otros valores mas bajos pueden ocasionar una respuesta indeseada y permitir resets en el microcontrolador o incluso un dao permanente. Por otro lado, tenemos los pulsadores que tienen cuatro funciones bsicas: aumentar, disminuir, apagar y cambiar el sentido de giro del motor. Todos los pines a los cuales irn conectados estos pulsadores deben estar configurados como entradas y debemos recordar colocar las 4 resistencias de 10K a tierra para evitar entradas al aire que ocasionen un comportamiento indeseado.

Configuracin del L298


El CI L298 forma parte importante del sistema ya que permite la entrega de altas corrientes al circuito, sin embargo, la configuracin de este debe ser preparada cuidadosamente. Cabe destacar que en este caso estamos trabajando con cargas inductivas, por lo que la corriente no esta en fase con el voltaje y esto genera sobreimpulsos cuando trabajamos con ondas cuadradas. Es de vital importancia la colocacin de los condensadores ByPass tanto para la alimentacin del microcontrolador como para la alimentacin del L298, si no colocasen estos condensadores, lo mas probable es que el microcontrolador se reseteara e incluso podra causar daos al programa, o en el peor de los casos, daar el microcontrolador. Notese que en la salida del L298 se deben colocar 4 diodos como se muestra en el circuito, esto es para evitar picos de corriente que pueden daar los transistores del L298 o daar el microcontrolador, los 4 son necesarios, y la demostracin a esto se puede observar en el grfico siguiente:

Grfico 3. Ciclo de onda de la seal con diodos.

Grfico 4. Ciclo de onda de la seal sin diodos.

En el grfico 3 se puede observar una limpia seal cuadrada muestreada en el anodo del diodo D1. Observen unos pequeos picos que intentan exceder los niveles de voltaje del PWM, esto se debe a la accin correctiva de los diodos puesto que eso que se ve alli no

es mas que el sobreimpulso (recortado) generado por la descarga de la bobina del motor durante el cambio de nivel de voltaje. De no existir diodos protectores sucederia lo visto en el grfico 4. En este grfico observamos que el sobreimpulso que se genera cuando el nivel de voltaje llega a los casi 40 voltios sigue su camino hasta que es amortiguado por los transistores internos del L298, observese que el nivel mximo del sobreimpulso es de aproximadamente 50V que es lo que soporta el L298. Por otro lado, en el sobreimpulso inferior se nota un subamortiguamiento de la seal muy pronunciado debido a la respuesta de la bobina del motor al descargarse. Estos sobreimpulsos son particularmente dainos ya que pueden interferir en el buen funcionamiento del microcontrolador u otro dispositivo analgico o digital, produciendo fallos en las lecturas, alteracin en el contador de programa o incluso en los datos de la memoria, reseteo del microcontrolador o en el peor de los casos podra causar el dao permanente del mismo.

Algunos cambios
El circuito constituido por el L298 puede ser ligeramente modificado para realizar algunas pruebas y mejoras; las terminales 1 y 15 estn puestas directamente a tierra ya que no se necesita un sistema de sensado de corriente por los momentos, sin embargo, es posible que ud lo desee. Estos sistemas de sensado pueden ser constituidos simplemente por una resistencia (de muy bajo valor) colocada en lugar de un cable, o en dado caso, si se requiere un mnimo de perdidas, se podra utilizar directamente un cable con un circuito amplificador para obtener una seal a partir de estas mediciones y as realizar clculos como, por ejemplo, la corriente promedio que circula por el motor, implementar algn tipo de controlador o regulador de corriente para evitar sobrecalentamiento, existen muchas alternativas con respecto a esto. En los articulos relacionados podra conseguir algunos temas sobre el sensado de seales, que es muy util para este caso.

Diagrama de flujo
El diagrama de flujo es una herramienta importantisima a la hora de describir el funcionamiento basico del codigo del programa, es una forma muy entendible y se las mostrare en las siguientes lineas. Lo que se pretende es dar una explicacion simplificada y generalizada acerca del funcionamiento del firmware del microcontrolador.

Grfico 3. Diagrama de flujo del firmware del microcontrolador.

En este sencillo diagrama tenemos un proceso en el cual primeramente se deben iniciar los puertos como debera ser para todo inicio de un microcontrolador, ademas tenemos la configuracin inicial del modulo PWM, es de recordar que el modulo PWM del PIC18F4550 utiliza el timer 2 para generar su seal. Posteriormente se inicializan los modulos PWM1 y PWM2 para posteriormente ser utilizados. Por otro lado tenemos la deteccion de cada uno de los pulsadores correspondientes, los cuales primeramente deberan hacer un recorrido por un subproceso para la omision de rebotes (mediante retardos), luego para cada caso tendremos las siguientes acciones: 1. Boton +: En este caso se verifica que no se haya excedido el limite permitido por el ciclo util del microcontrolador (1023) luego se verifica la direccion actual para determinar a cual de los dos PWMs se les asignara el valor del ciclo util. 2. Boton -: En este caso tenemos el mismo procedimiento con la unica diferencia de que en ves de realizar una validacion en un limite superior para el valor del ciclo util, la haremos por el limite inferior, es decir, 0. El resto del proceso es el mismo que para el anterior. 3. Switch: Para este boton hacemos una verificacion del sentido de giro actual y posteriormente tenemos que hacer el cambio del mismo para que la proxima ves que se vuelva a presionar el sentido estara cambiado. Seguidamente, se alternan los valores de los PWMs. 4. ON: En este caso tenemos que verificar la salida Enable (entrada 6 del L298) para alternar su valor; en caso de que esta banderilla este activada, se desactiva, y en caso contrario, se activa y se asignan los valores correspondientes a cada uno de los PWMs dependiendo del sentido de giro. Una rutina que no se comento en la lista anterior pero que no deja de ser importante en el manejo de pulsadores es el proceso para verificar el levantamiento del pulsador, el cual solamente consta de un bucle que durara hasta que el usuario suelte el botn pulsado. Esto se hace para evitar que una ves pasado el tiempo de deteccin de rebotes (20ms aprox.) el ciclo se repita violentamente mientras tengamos el pulsador presionado, lo que ocasionara un comportamiento indeseado en el sistema completo.

Vous aimerez peut-être aussi