Está en la página 1de 23

David Ros Bourrier

Plataforma mvil CICLOPE

ndice general
1 Introduccin al nacimiento del cclope . . . . . . . . . . . . . . . . . 2 2 Control de los movimientos del cclope . . . . . . . . . . . . . . . . . 3
2.1 2.2 Descripcin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Motores de CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 Introduccin 2.2.2 Motores de corriente continua 2.2.3 El Motor Maxon

2.3 El controlador de 3 ejes de CC SMCC-01. . . . . . . . . . . . . 8


2.4 El controlador de movimiento LM628/629. . . . . . . . . . . . .10
2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 Introduccin Modo de operacin El generador de trayectorias El filtro digital PID La salida PWM

2.5

Diseo del regulador PID . . . . . . . . . . . . . . . . . . . . . . . . . 14


2.5.1 Concepto de controlador 2.5.2 Importancia del controlador PID 2.5.3 Descripcin del control PID

2.6

E/S digital: la interfase 82c55a de Intel. . . . . . . . . . . . . . . 16


2.6.1 2.6.2 2.6.3 2.6.4 Introduccin l interfase programable de perifricos 82c55a de intel Descripcin funcional del 82c55a Adquisicin de datos

Programacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.1 3.2 Dislocacin por el rectngulo de dilogo . . . . . . . . . . . . . . 21 Dislocacin por el Joystick . . . . . . . . . . . . . . . . . . . . . . . . . 23

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

1 Introduccin al nacimiento del cclope


La inspeccin de lneas elctricas es una tarea crtica para el suministro fiable de energa elctrica. Hoy en da, el nico mtodo disponible para la inspeccin de lneas que discurren en terrenos de difcil acceso es el uso de helicpteros tripulados, con el consiguiente riesgo y coste. El objeto global del Grupo de Control e Informtica Industrial (GCII) es el desarrollo de un pequeo vehculo areo autnomo con el fin de ser usado en este tipo de tareas. Prototipos de vehculos areos autnomos estn en desarrollo por prestigiosas universidades y compaas del mundo. Con este fin, se est empleando un helicptero de radio control equipado con un sistema de Visin artificial para la percepcin e inspeccin de las lneas elctricas.

Miembros del grupo trabajan en los algoritmos de control (manejo de Evi-D31 de Sony, Burns, Optical Flow, seguimiento de objetos, geometra epipolar,...) los cuales sern probados, previo paso a su instalacin definitiva en el helicptero, en una plataforma mvil diseada expresamente para ello. Esta plataforma consiste en dos lminas de acero atornilladas a travs de separadores plsticos, dotada de traccin y direccin mediante dos motores de las mismas caractersticas. Como puede verlo, sobre la plataforma se ha montado un PC que esta conectado a la red elctrica y a que hacemos llegar la informacin a travs de un cable fsico de red.

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Ahora podemos mover el cclope con la aplicacin MobilRobotControl que permite el movimiento simultneo de transmisin y direccin con distintas aceleraciones, velocidades y desplazamientos y adems podemos moverle con un joystick lo que facilita en gran medida su maneja.

2 Control de los movimientos del cclope


2.1 Descripcin
Hoy, los motores son muy utilizados para muchos casos y para la mayora de ellas son utilizado para controlar. Aqu eso no cambia, por el contrario, nosotros utilizamos dos motores, para mover el cclope, que son utilizados para la traccin y la direccin del vehculo. La traccin de la plataforma no es total, pues nicamente posee una rueda motriz que dota al sistema de una transmisin real, junto que otra "loca" que se mueve por el propio rozamiento. La direccin del sistema se logra con el control de una doble rueda central delantera, a travs de otro motor que permite el giro ilimitado de sta.

Adems, como puede ver lo, los motores son alimentados por las tarjetas de interfase y potencia PWM(foto abajo izquierda), que recibe informaciones del ordenador, para el control de los motores y una fuente conmutada de 24 V(foto abajo derecha) para la alimentacin de stos.

2.2 Motores de CC
2.2.1 INTRODUCTION Cuando se trata de mover una cosa, podemos clasificar tres grandes grupos. El nombre de estos 3 grandes grupos es en funcion de la energa que consuman, as podemos llamarlos: -Hidrulicos -Neumticos -Elctricos

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Respectivamente, los elementos hidrulicos y neumticos hacen uso de aire o de fluido a presin. Los elementos elctricos, como los motores, utilizan obviamente la energa elctrica. Para elegir uno o un otro tipo de elemento eso depende de lo que queremos hacer con ello. Pero donde los elementos hidrulicos y neumticos permiten un trabajo rpido con cargas muy pesados, los elementos elctricos permiten de realizar un control riguroso de sus movimientos. 2.2.2 MOTORES DE CORRIENTE CONTINUA Un motor utiliza una energa elctrica para convertirla en un movimiento mecnica que consiste en un giro de un eje. Entro los dos grandes tipos de motores, es decir los motores de corriente alterna y los motores de corriente continua, los que hemos elegido son los motores de corriente continua, para la facilidad de su control y regulacin. De hecho, podremos controlar exactamente la posicin, la aceleracin y la velocidad del motor. El controlador que vamos a estudiar est incluido dentro de la categora de controladores de lazo cerrado, pues resulta imposible establecer una relacin fiable entre la seal aplicada y la posicin final, es decir, los motores de corriente continua no pueden funcionar en lazo abierto. Para ello, se realimenta la variable de salida( en este caso la velocidad) para genera a partir de esta y de la seal de control una funcin de error que el controlador tratar de minimizar. Aunque esto implica un mayor coste en hardware, es mas adecuado para aplicaciones en las que existen perturbaciones externas que pueden variar el funcionamiento del sistema. Para el correcto funcionamiento de estos motores, se necesita incorporar un detector de posicionamiento final del eje.

Figura 2.1 Controlador en lazo cerrado


Para controlar el posicionamiento del motor de CC hay que tener n cuenta que la velocidad que desarrolla el motor es directamente proporcional a la tensin aplicada en el inducido y al flujo producido. Para el control de la velocidad se manipulan los dos factores antes mencionados dependiendo de las caractersticas requeridas en cada caso particular.

Tipos de control de motores Si la aplicacin que estamos desarrollando necesita un par constante para distintas velocidades, lo que haremos es controlar la tensin de inducido manteniendo constante la excitacin de campo inductor. Sin embargo, si lo que necesitamos es mantener constante la potencia lo que haremos ser mantener constante la tensin de inducido variando la excitacin del motor. Estos diferentes tipos de control dan lugar a dos diferentes tipos de control de motores:

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

. Control por inducido (=Cte.; UiCte.): se trata de poder modificar el par del motor (Pm) a travs, nicamente, de la tensin de entrada, manteniendo el flujo () constante.

Figura 2.2 Control por inducido Pm(t)=Kp.ii(t)

Ui(t)=Ri(t).ii(t)+Li.dit(t)+Um(t) dt Control por excitacin (Cte. ; Ui=cste): este tipo de control mantiene constante la intensidad de la corriente que circula por el inducido, actuando sobre la corriente ie(t) del campo de excitacin del motor.

Figura 2.3. Control por excitacin Pm(t)=Kp.ie(t) Ue(t)=Re.ie(t)+Le.die(t) Dt - El control de potencia por el PWM Por otro lado, para realizar el control de al potencia del motor existen bsicamente tres grandes mtodos: . Modulacin del ancho del pulso( PWM- Pulse Width Modulation) en corriente continua. El que vamos utilizar. . Modulacin de la frecuencia del pulso( PFM- Pulse Frequency Modulation) en corriente continua. . Modulacin controlado por silicio ( SCR- Silicon Controlled Rectifier) en corriente alterna. El mas utilizado en este caso. La modulacin por ancho de pulso(PWM) se basa en que el valor medio de una seal peridica es igual a la integral entre cero y el periodo de la funcin de la seal respecto al tiempo, dividido todo ello por el valor del periodo. En el caso de una seal lgica y considerando el periodo constante, podemos decir que la funcin no es continua sino definida a trozos. Entonces
5

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

obtenemos que el valor medio de la seal durante el periodo fijado es igual al valor de la seal en estado alto multiplicado por el tiempo en estado alto mas el valor de la seal en estado bajo multiplicado por el tiempo en estado bajo, y dividido todo ello por el tiempo total (periodo).

Figura 2.4. Modulacin del ancho de pulso PWM


Y=Uh.Th+Ub.Tb T

Segn este planteamiento, si generamos las seales de control a los puentes de transistores a una frecuencia fija y variamos proporcionalmente cuantas veces mandamos la seal de activacin en un sentido y cuantas veces mandamos la seal de detencin, podremos variar tensin media de alimentacin del motor y por tanto su velocidad. Para ello podemos utilizar un proceso generando peridicamente que utilizando unas variables de control enve las seales de actuacin al controlador.

Tipos de control de velocidad Para controlar la velocidad del motor existe, industrialmente existen dos tipos de configuraciones para realizar esto: . El punto en H . La configuracin en T En nuestro caso, utilizaremos el puente en H o el puente de transistor. A travs de este puente se controla la tensin de alimentacin del motor. Cuando se activan las seales de control de la misma rama del puente (p.e. esquina superior derecha y esquina inferior izquierda) se hace circular la mxima corriente en un sentido, si se activa la rama opuesta, fluye en el sentido contrario. Desactivando las dos ramas, se corta la corriente y se detiene el motor. Las seales de control son seales TTL, mientras que las dems lneas de alimentacin del puente en H estarn alimentadas al voltaje mximo del motor.

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Figura 2.5. puente en H Este esquema permite la siguiente microprogramacin: Sentido de giro 1 (A1=0, A2=1, B1=1,B2=0), Sentido de giro 2 (A1=1, A2=0, B1=0, B2=1), Detencin (A1=1, A2=0, B1=1, B2=0). Si cambiamos esta tcnica c0n la modulacin por ancho de pulso conseguimos un sencillo control hardware de la alimentacin del motor y por tanto de la velocidad. La configuracin en T presenta un menor hardware pero restringe su uso a tener dos fuentes de alimentacin. De cualquier modo presenta similares caractersticas en su funcionamiento y resultados equivalentes. 2.2.3 LOS MOTORES MAXON Para mover el cclope tenemos que utilizar dos motores, y para facilitar los calculas eran de las mismas caractersticas, es decir que son motores de corriente continua con una alimentacin de 24V.

Las caractersticas ms importantes del motor son: a

. Potencia nominal: .Inercia del motor: .Voltaje nominal: 24V .Inductancia de inducido: .Velocidad en vaci: .Resistencia trmica entre carcasa : Resistencia trmica rotor y carcasa: .Mximo par de inicio: .Corriente sin carga: .Corriente de inicio: .Resistencia de inducido: .Gradiente velocidad /par: .Velocidad mxima permitida: .Corriente continuo mximo: .Por continuo mximo: .Mxima potencia de salida con la tensin nominal:
7

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

.Mximo rendimiento: .Constante de par: .Constante de velocidad: .Constante de tiempo mecnica: .Inercia del motor:
Por otro lado, el motor lleva un encoder acoplable a 5V compatible con seales TTL que es capaz de realizar 500 cuentas por giros. Es el encargado de realimentar la seal en posicin.

2.3 EL CONTROLADOR DIGITAL DE 3 EJES DE CC SMCC-01


Toda la circuiteria necesaria para el control completo de los motores se rene dentro del controlador digital de tres ejes de corriente continuo SMCC-01, formado por dos tarjetas, una para los circuitos de potencia PWM y otra de comunicacin o de control con el PC, unidades mediante un cable paralelo plano con conectivos DB37. El SMCC-01 es capaz de controlar simultneamente tres motores de corriente continua, con la posibilidad de manejar un cuarto eje, aunque este sin control. Los principales elementos que forman este controlador son: . 3 chips LM629 encargados del control de los motores cc . 1 chip 82C55A que se ocupa de gestionar la posible entradas / salidas digitales para la relacin con el exterior . 3 puentes de potencia en H implementados con relees, uno para cada motor

f 8

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Esto permite liberar al ordenador de realizar estas funciones y poder dedicarse a la ejecucin de otras tareas, aumentando la capacidad de procesamiento del sistema. Las caractersticas generales de esta placa son: . Compatible con bus PC. . Algoritmo de control PID digital, . Control de velocidad, posicin y aceleracin, . Generacin de perfiles de velocidad y posicin, . Entradas / salidas digitales opto-aisladas, . Entrada para codificador ptico incremntale, . Salida PWM y sentido de giro, para manejar un puente en H.

Tarjeta de control o comunicacin con el ordenador

En la tarjeta de potencia PWM se sitan principalmente los tres puentes en H para el manejo de los motores, as como un frontal de interfase que le comunica con la tarjeta de control, permite la alimentacin y las salidas de los distintos motores, la adquisicin de seales digitales, etc... Las caractersticas generales de esta placa son: . Capacidad de manejar hasta 3 motores de corriente continua simultneamente. . Alimentacin de 12 a 55V, de corriente continua. . Entrada PWM. . Potencia continua 250W por motor. Potencia de pico; 1100 W. . Dos niveles de proteccin de corriente. . Puente en H completado implementado con reles, para un cuarto eje no controlado. . Consumo desde fuente principal: 5W. . Tiempo de sobrecarga: 10 s, pasado el umbral de potencia continua. . Frecuencia mxima de PWM: 30 Khz. . Ancho del pulso mnimo: 4 s.

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Tarjeta de potencia PWM

Conexin con el ordenador para dar los ordenes

Alimentacin de los motores

2.4 EL CONTROLADOR DE MOVIMIENTOS LM628/629


2.4.1 INTRODUCCIN El circuito LM628/629 en un controlador de movimiento de precisin para una gran variedad de motores de corriente continua, con o sin escobillas, as como de otro servomecanismo cuya realimentacin de posicin sea una seal incremntale en cuadratura. Sus principales caractersticas son: - 3 registro de 32 bits para la posicin, la velocidad y la aceleracin, - Un filtro digital PID programable, - Una seal de salida PWM de 8 bits, - Un generador interno de perfiles de velocidad trapezoidales, - La velocidad, la posicin y los parmetros del filtro pueden ser cambiados durante el movimiento, - Distintos modos de operacin en cuenta a posicin y a velocidad, - Interrupciones programables en tiempo real, - Capacidad de gestin de seales incremntales en cuadratura.

10

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

2.4.2 MODO DE OPERACIN Aqu esta el diagrama de un servo sistema usando un LM 629:

C P U

Figura 2.6. Diagrama de bloques de un LM629 El procesador se comunica con el LM629 a travs de entrada / salida para facilitar la programacin del perfil trapezoidal de velocidad y del filtro PID. Para iniciar el movimiento, el procesador central carga los valores de aceleracin, velocidad y posicin deseada en el generador de trayectorias del LM629. En cada periodo de muestra estos valores son usados para calcular la nueva posicin deseada, a la que se le resta la posicin real del eje, obtenida por el codificador ptico incremntale y el decodificador de posicin. As se origina la seal de error, que es la entrada al filtro compensador PID. El convertidor digital-analgico convierte la seal producida a otra aplicable al motor. De nuevo se decodifica la posicin y se genera otro perfil de velocidad. En el LM629 los bloqueos los ms importantes son: a) El generador de trayectorias b) La realimentacin en posicin c) El filtro digital PID d) La salida PWM 2.4.3 EL GENERADOR DE TRAYECTORIAS Para mover el motor, el LM 629 utiliza los valores de la aceleracin, la mxima velocidad y la posicin final que lo transmite el procesador. Primero, la velocidad se incrementa en funcin de la aceleracin de consigna hasta que se alcanza la velocidad mxima especificada en el registro correspondiente. Depuse, la velocidad se mantiene hasta que la desaceleracin del motor se activa, con una magnitud igual a la aceleracin. Eso dure hasta la fin del movimiento.

11

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

trapezoide estndar

Trapezoidal modificado Figura 2.7. Perfiles generados por el LM629 Si hay perturbaciones durante la desaceleracin o el mantenimiento de la velocidad media se mantenga constante, principal variable de calculo para conseguir la posicin final. Prcticamente en todos los perfiles hay un error de posicin o de velocidad, que aunque es mnimo deber ser tenido en cuenta ( el regulador PID se encarga de minimizar este error). 2.4.4 EL FILTRO DIGITAL PID El LM629 usa un filtro PID para compensar el lazo de control. La implantacin de este filtro es la siguiente:
N

U(n)=Kp.En+Ki. en+Kd.(en - en 1)
I=0

Aqu la seal aplicada al motor es proporcional a la seal de error en posicin de la muestra n, mas la integral del error, mas la derivada del error, sabiendo que:

. U(n): es la seal de control aplicada al motor en un tiempo n. . en : error de posicin en el tiempo n. . en: error de posicin en el muestro derivativo de n (n). . en-1: error de posicin en la muestra derivativo anterior a n. El primer termino, el termino proporcional, transmite al motor una fuerza ajustada a la seal de error segn la ley de Hooke. El segundo terminado, termino

12

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

integral, permite al motor incrementar su velocidad con el tiempo y adems asegura que el error esttica de posicin es cero. El tercer termino, el termino derivativo, suministra una seal proporcional para mejor el error de posicin. En este caso, el periodo de muestreo derivativo se debe escoger como mltiplo del periodo de muestro del LM 629, que va de 1 hasta 256. En la operacin, el algoritmo del filtro recibe una seal de error de 16 bits proveniente de la resta entre la seal del generador de trayectorias y la realimentacin en posicin. La seal se satura a los 16 bits para impedir un comportamiento imprevisible del sistema. Esta seal se satura a los 16 bits para impedir un comportamiento imprevisible del sistema. Esta seal de error multiplicada por el coeficiente proporcional (Kp) se suma en cada muestreo a los errores acumulada anteriormente en forma de suma integral (Ki) para conseguir una seal de 24 bits, aunque solo los 16 bits mas significativos sern usados posteriormente para multiplicarlos con el coeficiente derivativo (Kd). Los 16 bits menos significativos de cada uno de los tres productos (cada producto es un registro de 32 bits) se suman para producir la seal de control. De estos 16 bits, los 8 mas significativos forman la salida que, tras ser debidamente tratada, decodificada y amplificada por la etapa de potencia que alimentara al motor para conducirlo a la posicin deseada. 2.4.5 LA SALIDA PWM Como salida PWM, el LM629 proporciona las seales de amplitud y signo para alimentar al amplificador. Son estas independientes, la seal de amplitud y la seal de signo, las que determinan la tensin y la polaridad, respectivamente. La seal de amplitud consiste en un tren de pulsos, a una frecuencia constante ( 512 / fclk), cuya duracin es funcin de la seal de control obtenida del PID. Cuanto mayor sea est, mayor ser el llamado factor de servicio o duty-cycley, por lo tanto, mayor ser la tensin que reciba el motor. El rango de a (a = duracin del pulso dividido del pulso dividido entre el periodo entre el periodo de la seal) est entre 0/128 ( motor parado ) y. 127/128 ( mayor tensin con polaridad positiva) 128/128 ( tensin continua, polaridad negativa). Hay cuatro periodos PWM en un intervalo de muestro del LM 629. De este modo, para un LM 629 con un reloj de 8 Mhz se incrementa el rango de salida desde 3,9 Khz. a una frecuencia de conmutacin del puente en H de 15,6 Khz.
DUTY CICLE

Seal de salida PWM


13

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

2.5 DISEO DEL REGULADOR PID


En aos recientes se ha incrementado el uso de controladores digitales en sistemas de control, los cuales se utilizan para alcanzar un desempeo optimo del sistema. La tendencia actual de controlador los sistemas dinmicos de forma digital se debe en primero a la disponibilidad de computadoras digitales de bajo costo y a las ventajas de trabajar con seales discretas en lugar de seales en tiempo continuo. 2.5.1 CONCEPTO DE CONTROLADOR El controlador es un instrumento que sustituye al operador humano en su tarea de mantener una variable del proceso en torno a un valor deseado, mediante actuaciones sobre otra variable denominada manipulada, como se puede ver en la figura abajo:

Figura 2.9. Modelo de controlador Los controladores normalmente permiten la operacin en modo manual dejando al operador exterior elegir el valor de la variable manipulada, y tambin pueden operar en modo automtico efectuando modificaciones sobre la variable manipulada de acuerdo con una leyes de actuacin. En el caso concreto que nos interesa para muestro sistema, estas leyes sern del tipo particular PID.

2.5.2 IMPORTANCIA DE LOS CONTROLADORES PID La importancia de este tipo de controladores radica en los siguientes puntos: Son muy simples porque su comportamiento se puede realizar con elementos poco sofisticados: puramente mecnicos, neumticos o elctricos. Se encuentran sumamente extendidos en el control de procesos. Los primeros controladores eran PID y ahora siguen implantndose masivamente. A pesar de ser simples su eficacia es buena de forma que en actualidad se utilizan mucho aun disponiendo de herramientas para realizar algoritmos de control mucho mas sofisticados. Solo en caso muy puntuales, en los que el control PID es insuficiente, se recurre a realizar anlisis mas profundas y a obtener algoritmos mas apropiados a la dinmica del proceso que se pretende controlar. 2.5.3 DESCRIPCION DEL CONTROL PID La actuacin de un controlador PID se puede descomponer en tres componentes que son: la accin Proporcional (P), la accin integral (I) y la accin derivada (D). Seguidamente se describe cada e estas tres componentes:

14

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

- Accin proporcional Se llama accin proporcional cuando la actuacin sobre la variable manipulada es proporcional a l desviacin o error de la variable a controlar desde su consigna. Cada incremento de desviacin tendr como respuesta un incremento de actuacin proporcional al primero. La intensidad de la accin proporcional la determina su parmetro denominado Ganancia. Incremento de desviacin X Ganancia = Incremento de actuacin Si la respuesta a una desviacin de un 1% es una actuacin de un 3% se dice que el controlador tiene una ganancia de 3. El valor de la ganancia de un controlador depende de las escalas que se elijan para la variable a controlar y para la variable manipulable. Por ejemplo si un proceso necesita para compensar el error de 1 grado de su temperatura la vlvula se mueve un 1%, su controlador debera estar ajustado con una ganancia de un 1 si la escala fuese 100 grados, o con una ganancia de 10 si su escala fuese 1000 grados. La intensidad de la accin proporcional tambin se cuantifica con el parmetro banda proporcional que es la banda de desviacin que supone una actuacin de un 100%. Una banda proporcional de un 25 % es equivalente a una ganancia de 4. Los controladores proporcionales permiten errores permanentes por lo que normalmente siempre actan junto con la accin integral. -accin integral La actuacin integral del controlador es proporcional a la desviacin de la variable a controlar y al tiempo que se mantiene esta desviacin. Se trata de una integracin en el tiempo. El parmetro que cuantifica la accin integral se expresa en repeticiones por unidad de tiempo que es el tiempo que es el tiempo que tarda la accin integral en repetir la actuacin correspondiente a la accin proporcional en el caso de que se mantenga el error constante. Tambin se utiliza el parmetro inverso que le corresponden las unidades reciprocas, esto es, numero de unidades de tiempo por repeticin. La accin integral no permite errores permanentes y que ante ellos provoca cambios en la variable manipulada - accin derivativa La accin derivativa es proporcional al cambio de depende de la variable a controlar (o de la desviacin ). El parmetro que cuantifica la accin derivativa se expresa en una unidades de tiempo. El numero de unidades de tiempo de este parmetro corresponde al adelanto de la accin proporcional que se produce por la accin derivada. Por ejemplo si la ganancia es 3, el parmetro derivativo es 2 segundos y se produce un cambio de pendiente de 1%/segundo, la accin derivativa provocara una actuacin de un 6%.

15

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

2.6 E/S DIGITALES: LA INTERFACE 82C55A DE INTEL


2.6.1 INTRODUCION En los Sistemas de Control actualmente implantados en los procesos industriales predominan de forma rotunda los que utilizan entradas / salidas digitales o analgicas con cableado para cada una de ellas, sin embargo en un futuro prximo el uso de las E/S digitalizadas es previsible que progresivamente pasen a utilizarse de forma predominante. En este apartado se indican las caractersticas bsicas que tienen los circuitos utilizadas por los sistemas de control para obtener la informacin de los procesos y actuar sobre ellos, mediante seales digitales. El circuito tpicamente utilizado para las entradas digitales con cableado dedicado para cada una de ellas es como se indica en la figura siguiente:

ma

+V

Controlad or con alta impedanci a de

I<10 mA Pocos mA

Circuito de control de entradas digitales


El circuito se cierra con el interruptor correspondiente a la entrada cuyo estado se desea conocer y con un canal de una tarjeta del sistema. Este canal ofrece una impedancia considerable al circuito de forma que cuando el contacto exterior cierra, la intensidad suele ser de algn miliamperio. Se consume relativamente poca energa para conocer el estado de la entrada. 2.6.2 LA INTERFACE PROGRAMABLE DE PERIPHERICOS 82C55A DE INTEL El controlador utilizado en el proyecto que nos ocupa es el chip 82C55A de Intel, el cual es capaz de gestionar puntos de entradas / salidas digitales a travs de la tarjeta de comunicaciones instalada en el ordenador. El Intel 82C55A es una versin industrial CHMOS de alto rendimiento (con 5200 transistores) del estndar 8255A, dispositivo programable para entradas y salidas (I/O) diseado para usarlo con microprocesadores Intel, aunque soporta la mayora de las plataformas. El integrado posee un puerto de control y 24 pines o patillas en tres puertos (PA, PB y PC), configurables como entradas o salidas independientemente y programables en dos grupos (A y B) de 12 pines mediante tres modos de operacin (0, 1 y 2):

16

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Modo 0: Cada grupo puede ser programado en paquetes de 4 bits, que pueden ser tanto entradas como salidas. Modo 1: Cada grupo puede programarse para tener 8 de sus lneas como entradas o salidas, y los 4 restantes se usan para intercambios handshaking y el control de las interrupciones.

Modo 2: Es el llamado modo en bus direccional, que usa 8 lneas como un bus y el resto para intercambios handshaking.

En resumen, las caractersticas ms importantes de este integrado son: Compatibilidad con todos los productos de Intel y la mayora del resto de procesadores. Alta velocidad, superior a los 8 MHz. 24 pines programables como entradas o salidas. Bajo consumo por su tecnologa CHMOS. Compatibilidad absoluta con la familia TTL. Posibilidad de lectura / escritura con control de puertos.

2.6.3 DESCRIPCION FUNCIONAL DEL 82C55A


- General: La funcin de este integrado es, pues, la de servir de nexo de unin

entre el sistema, en nuestro caso de luz estructurada, y el computador, en lo que se refiere a las seales digitales. La configuracin funcional del 82C55A se realiza normalmente a travs de un sistema software, que manda un paquete de informacin al chip con el modo de funcionamiento, el BIT set, el BIT reset,... inicializando su configuracin. Como hemos visto, esta interfase contiene tres puertos, llamados PA, PB y PC, todos ellos configurables de mltiples maneras, segn las necesidades del sistema. stos puertos se encuentran encuadrados en dos grupos, A y B, del siguiente modo:

17

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Agrupamiento de los puertos del 82C55A


Los modos para los puertos A y B se definen por separado, mientras que el puerto C se divide entre los dos grupos. Todos los registros de salida, incluyendo los estados de los biestables se resetean cuando se cambia el modo, pudindose stos combinar en la bsqueda de la solucin ms adecuada. Modo de operacin 0: El modo bsico utilizado para pequeas aplicaciones industriales es el modo 0. Esta operatividad nos lleva a simples entradas y salidas para cada uno de los tres puertos, no requiriendo del mtodo handshaking, pues los datos se escriben o leen directamente sobre el puerto especfico. Este modo se caracteriza por: 2 puertos de 8 BIT (PA y PB), y otros 2 puertos de 4 BIT (PCH y PCL) Cada puerto puede independientemente. configurarse como entrada o como salida

Las salidas son cerradas, mientras que las entradas son abiertas.

As pues, de este modo surgen 16 posibles configuraciones, segn el estado del puerto de control, como se puede ver en las Figuras siguiente:

18

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

Configuracin del modo 0 de operacin Cuando el 82C55A es programado en modo 0 como una salida, cada puerto tiene ligeras diferencias en cuanto a su lectura. El valor ledo desde el puerto A representar fsicamente el estado de esa patilla de salida, as, si esa patilla est a tierra, el valor ledo ser siempre 00H, sin preocuparse por el valor escrito. Sin embargo, los valores ledos de los puertos B y C son diferentes. Estos valores representan el estado de la salida cerrada, no el estado fsico, y si los puertos B y C son puestos a tierra el ltimo valor escrito ser el ledo, sin preocuparse del estado fsico de la patilla.

2.6.4. ADQUISICION DE DATOS Cuando en un sistema hay que conectar el procesador central a elementos que no estn alimentados por su misma fuente de alimentacin, hay que prever la existencia de diferencias de potencial importantes entre los terminales de referencia a masa respectiva. Este punto se pone de manifiesto en nuestro controlador digital SMCC-01 con la posibilidad de unir la masa del ordenador con la masa de la fuente exterior mediante el conectivo JP1, que finalmente fue cortocircuitado. Mientras las seales procedentes de los censores suelen ser analgicas, los procesadores son digitales y la comunicacin con otros sistemas se prefiere que sea tambin digital, entre otras razones por su mayor inmunidad ante las interferencias. Esta inmunidad se logra eligiendo adecuadamente el tipo y el cdigo de transmisin, as como reuniendo caractersticas adecuadas en el entorno. En el mbito de realizacin

19

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

fsica, el empleo de cables apantallados y la disposicin de las tomas de masa confieren mayor inmunidad, aspectos no tenidos en cuenta en el proyecto debido a su carcter experimental. El aislamiento en la adquisicin o distribucin de seales es necesario cuando hay diferencias de potencial elevadas entre las tomas de masa, cuando se transmite a larga distancia o simplemente cuando hay subsistemas con fuentes de alimentacin independientes, como ocurre con la CPU del ordenador y la fuente de alimentacin del motor y de los interruptores. Las seales se aslan normalmente mediante opto acopladores, que consisten en un diodo emisor de infrarrojos y una foto detector (fotodiodo o fototransistor). Todos los opto acopladores son intrnsecamente unidireccionales, y esto evita que posibles interferencias e incluso cortocircuitos en el circuito de entrada (motor) pasen a la salida (CPU). En un opto acoplador se combinan una fuente de luz, normalmente un LED infrarrojo de AsGa y una foto detector de Si, que puede ser desde un simple fotodiodo hasta una combinacin de ste con un circuito integrado que incluya un regulador de tensin y un circuito elemental para el procesado de la seal (disparador Schmitt,...). Aunque es posible formar un opto acoplador mediante componentes discretos, el diseo con elementos integrados ofrece muchas ms ventajas.

Constitucin de un opt acoplador En lo referente a nuestro sistema, la tarjeta de control del SMCC-01 posee a la entrada del 82C55A un conjunto de 8 integrados de 8 pines, cada uno correspondientes a opto acopladores QTC 2531 capaces de aislar dos BIT cada uno En lo referente a nuestro sistema, la tarjeta de control del SMCC-01 posee a la entrada del 82C55A un conjunto de 8 integrados de 8 pines, cada uno correspondientes a opto acopladores QTC 2531 capaces de aislar dos BIT cada uno.

20

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

3 PROGRAMACIN
Como lo hemos dicho antes, ahora podemos comunicar con el cclope y hacerlo mover con la aplicacin MobilRobotControl y tambin con el Joystick, Microsoft Sidewinder. Entonces, vamos a explicar el funcionamiento de este programa ejecutado sobre Visual C++, para cada uno de los dos casos. 3.1. DISLOCACIN POR EL RECTNGULO DE DIALOGO Como lo hemos visto mas alto, el ordenador utiliza una tarjeta de control para conversar con la tarjeta de potencia PWM, para eso tenemos que crear un dialogue box que permite de poner los valores de la aceleracin, de la velocidad, del posicionamiento, del PID, que necesita el LM629 para mover los motores. Entonces lo que tenemos que hacer es crear una aplicacin que contiene un box de dialogo bajo Windows que permite eso:

Adems, como puede verlo, hemos agregado dos ventanas que permite al LM 629 de saber cual es motor al que debemos enviar las informaciones. --Comunicacin con el LM629(programa lm629_8255) Para comunicar con el LM629 habemos creando funciones que nos permitirn de tener una conexin con el LM629 y el Intel 8255. Estas funciones permiten de dar
21

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

orden hasta el LM 629 para que enve orden a los dos motores. Para hacer la diferencia entre los dos motores, utilizamos un sistema de puntero y de buffer que varia en funcin de si queremos la direccin del motor o la transmisin. Para eso, lo que debemos hacer es vaciar el software del LM 629 para reemplazarlo por el nuevo, que define la posicin actual del cclope como origen y que trata el caso por el que el error de posicin supera el valor indicado se activa (nivel alto) el BIT 5 del registro de RDSTAT, y adems se detiene al motor. Ests tres operaciones se hacen por las funciones: -RESET -DFH -LPES Despus tenemos que almacena los parmetros del filtro digital (PID por los variables Kp, Kd, Ki, il) y el periodo de muestreo (T) y validar los. -LFIL -UDF Ahora, tenemos que dar los valores las ms importantes, es decir la aceleracin, la velocidad y el desplazamiento. Por eso tenemos: -LTP -LTV -LTA Por fin, la ultima etapa consiste en ejecutar un control de posicin, delante de desactivar los correspondientes indicadores de interrupcin. - Mover el cclope: Para mover el cclope, el utilizador tiene que escribir en el box de dialogo, visto mas alto, valores por la aceleracin, la velocidad, el desplazamiento y el PID para que la funcin CargarDatos los registre. Despus, la tarjeta de potencia espera el orden del utilizador para activar los motores, lo que se hace por la activacin con el ratn del ordenador sobre la funcin MoverMotor y por el ordenador se hace por la funcin DFH. Como lo hemos visto, el cclope tiene dos motores, entonces para saber en que motor debemos cargar los valores utilizamos dos puntero que se llaman pControlT y pControlD, el primero es para la Transmisin y el secundo es para la direccin. -Los buffer: Ests dos punteros son buffer de datos para cargar los valores del motor, delante de hacerlos mover tenemos que darlos las caractersticas siguientes: . En primero deben conocer su direccin de motor, lo que quiere decir que tienen que puntar sobre una de las salida del LM629. Por el momento hemos dado las posiciones 1 y 2, consecuentemente, debemos cargar las direcciones: pControlD->direccin = 768; (motor 1) pControlT->direccin = 770; (motor 2) Las valores las ms importante que cargar son, por supuesto, la velocidad, la aceleracin el desplazamiento y el PID, que se cargan como sigue: pControlD->pos.num = (long) ((200.0/360.0) * (ENCODER_LINEAS * 4 * psMiBufferD->Desplazamiento)); pControlD-> vel.num = (long)(ENCODER_LINEAS*4.0 *PERIODO_MUESTREO * 1.0/60.0

22

GCII-Fais-upm

David Ros Bourrier

Plataforma mvil CICLOPE

*psMiBufferD-> Velocidad * 65536.0); pControlD->acc.num=(long)(ENCODER_LINEAS*4.0 * PERIODO_MUESTREO* PERIODO_MUESTREO *65536.0*psMiBufferD->Aceleracion); pControlD->Kp.num=psMiBufferD->Kp; pControlD->Kd.num=psMiBufferD->Kd; pControlD->Ki.num=psMiBufferD->Ki; psMiBuffer representa en facto, los valores validados por el dialog box, es decir los valores que necesita el utilizador. Este buffer se cargan por la funcin DoDataExchange que se sita en MobilRobotControlDlg donde podemos observar que las valores queridado son cargado en psBuffer para ser validado en el programa MobilRobotControl por la funcin cargarDatos, lo que dar psMiBuffer.

3.2. DISLOCACIN POR EL JOYSTICK Para facilitar el control del cclope hemos punido une Joystick lo que permite al utilizador de no pasar por el cargamento de valores delante de hacer mover el Robot y despus de activar la funcin movermotor, lo que simplifica el funcionamiento. Para utilizar el Joystick, vamos a guardar el programa mas alto, pero vamos agregar mas condiciones al programa. Todo va se pasar en el programa de ventana principal, donde hemos punido una condicin que permite de detectar la presencia del Joystick o de su driver. Cuando el ordenador ha detectado el joystick, carga valores que necesitamos, desde la funcin CargarDatosJoystick, es decir las plazas de los motores, las valores del PID que necesitamos y las otras que el utilizador no utiliza en el CargarDatos. Despus ponemos los valores de la velocidad y de la aceleracin que pueden hacer mover el motor sin cortar la alimentacin. Por fin, ponemos valores de desplazamiento que nos permitirn de mover el cclope cuando movemos el Joystick, pero que djalo apagarse cuando no lo tocamos ms. Para hacerlo mover ponemos condiciones que se activan cuando el utilizador hace mover el Joystick en una direccin activa una o el otra de las funciones siguiente: - OnMoverAdelanteJoystick(); - OnMoverDerechaJoystick(); - OnMoverDetrasJoystick(); - OnMoverIzquierdaJoystick(); - OnMoverAdelanteDerecha(); - OnMoverAdelanteIzquierda(); - OnMoverDetrasDerecha(); -OnMoverDetrasIzquierda(); Para ver los funciones que estn citado mas alto tiene que mirar en el anexe.

23

GCII-Fais-upm

También podría gustarte