Redeya.com
Control de motor CC mediante PC

Autor: Alejandro Cubas García ACUBAS@santandersupernet.com

Indice

El autor no se responsabiliza del uso que se le de a este documento y no limita su distribución dentro de cualquier soporte siempre que sea gratuitamente. Se autoriza la copia parcial o total, con la única condición de mencionar al autor en el documento destino.


Descripción

El circuito propuesto consta de dos partes:

Circuito de interface de salida

Es el encargado de extraer los datos del puerto de salida del ordenador, además de proteger a dicho puerto mediante separación galvánica de las alimentaciones.

Circuito de conversión, control y potencia

Se encarga de convertir la señal digital en otra analógica de valor proporcional a la combinación digital y amplificarla, controlar el sentido de giro y la puesta en marcha y paro del motor, que será la aplicación a controlar.

Interface de salida


El circuito realiza la función de aislamiento galvánico entre el puerto paralelo del ordenador y el circuito exterior, además de convertir los niveles de tensión TTL en niveles de 0 y +12V, ya que dichos niveles serían insuficientes para actuar sobre los relés y el motor.

Para lograr esto se han colocado seis etapas idénticas compuestas por las resistencias limitadoras de corriente (R1 a R6), que evitarán que se sobrecargue el puerto, al actuar sobre los LED que llevan integrados los optoacopladores (Opto1 a Opto6), que son los encargados de realizar la separación galvánica. Estos LED polarizan la base de un fototransistor, también integrado en el optoacoplador, y que tiene conectado su colector al positivo de alimentación (12V) y su emisor a masa (0V) a través de una resistencia (R7 a R12), por lo que actúan como simples interruptores: si en el puerto aparece un "1" (5V), se polariza directamente el LED correspondiente que a su vez Polariza al transistor, que entra en conducción, apareciendo en los terminales de la resistencia de salida una tensión igual a la de alimentación, que será la que utilicemos en la aplicación posterior. En caso contrario tendremos una tensión de 0V a través de las resistencias de salida.

Componentes:

6 Resistencias ¼ W 560 ohmios (R1 a R6)
6 Resistencias ¼ W 1K2 ohmios (R7 a R12)
6 Optoacopladores 4N27
1 Conector DB25/M
1 Conector DB9/H

Circuito de conversión, control y potencia


Éste circuito se compone de tres partes:

La primera se encarga de convertir la señal digital compuesta por los cuatros primeros Bits en una señal analógica de valor proporcional, para lo cual se emplea una red de resistencias R-2R, que logra que las tensiones que aparecen en la salida sean fracciones de las de entrada, así tenemos que para el bit de más peso la tensión obtenida es Vcc/2, para el siguiente es Vcc/4 y así sucesivamente. Esta tensión resultante, que es suma de las tensiones parciales, es aplicada a la entrada no inversora de un amplificador operacional configurado como seguidor de tensión, con objeto de no cargar a la red de resistencias y evitar falsos niveles de tensión en la salida. La salida del operacional es aplicada a través de una resistencia a la base de un transistor conectado como regulador de tensión serie, que será el encargado de controlar la tensión aplicada al motor.

La segunda parte del circuito se compone de un relé y un transistor que lo comanda, además de la resistencia de base y el diodo de protección, que se encarga de invertir el sentido de giro al cambiar la polaridad del motor, en función del estado del 5º bit del puerto.

La tercera parte es idéntica a la anterior, con la salvedad de que no invierte la polaridad del motor, sino que simplemente lo desconecta, en función del 6º bit del puerto.

Componentes:

13 Resistencia ¼ W 1K ohmio (R1 a R13)
3 Resistencia ¼ W 3K ohmios (R14 a R16)
3 Transistores BC337
2 Diodos 1N4001
2 Relés inversores 12V, 1A
1 Operacional LM741
1 Conector DB9/M

1 Motor 12V DC

Fuente de alimentación

El circuito puede ser alimentado con una fuente de laboratorio normal. Como requisitos se expone que debe soportar una corriente mínima de 1A y suministrar 12V.

Programa ejemplo

El programa propuesto es un sencillo ejemplo en BASIC, que permite controlar todas las funciones del motor y está estructurado de la siguiente manera:

  • Líneas 10 a 40 - Esta parte inicializa las variables y pone a cero todas las líneas del puerto.
  • Líneas 50 a 220 - Aquí se prepara la pantalla del menú, desde el cual podemos cambiar cualquier dato.
  • Líneas 230 a 290 - Envío del dato al puerto del ordenador y impresión del dato generado en la pantalla. Desde aquí el programa vuelve al menú.
  • Líneas 300 y 310 - Esta parte actúa cuando seleccionamos desde el menú la opción Salir, y se encargan de poner a cero las líneas del puerto y borrar la pantalla, después de lo cual finaliza el programa.
10 REM inicialización
20 OUT &H378,&H0
30 DIR=&H378
40 M=0:S=0:V=0:M$="":S$=""
50 REM Entrada de datos
60 CLS
70 PRINT"1. cambio de velocidad"
80 PRINT"2. cambio de sentido"
90 PRINT"3. Marcha/paro"
100 PRINT"S. Salir"
110 IN$=INKEY$
120 IF IN$="1" GOTO 190
130 IF IN$="2" GOTO 170
140 IF IN$="3" GOTO 210
150 IF IN$="S" OR IN$="s" GOTO 300
160 GOTO 110
170 INPUT "Sentido de giro (D/I) :";S$
180 IF S$="D" OR S$="d" OR S$="I" OR S$="i" GOTO 230 ELSE GOTO 170
190 INPUT "Velocidad (0-15) :";VEL
200 IF VEL>15 OR VEL<0 GOTO 190 ELSE GOTO 230
210 INPUT "Marcha o paro (M/P) :";M$
220 IF M$="M" OR M$="m" OR M$="P" OR M$="p" GOTO 230 ELSE GOTO 210
230 REM Cálculo de datos
240 IF S$="D" OR S$="d" THEN S=0 ELSE S=16
250 IF M$="M" OR M$="m" THEN M=32 ELSE M=0
260 DATO=(VEL+S+M)
270 REM envío de datos
280 OUT &H378,DATO
290 PRINT DATO:GOTO 70
300 OUT &H378,0
310 CLS

Página original de Http://www.redeya.com, prohibida su reproducción sin consentimiento del autor