Download capitulo 4

Document related concepts

Microcontrolador PIC wikipedia , lookup

Motorola 68HC11 wikipedia , lookup

HID wikipedia , lookup

Microcontrolador wikipedia , lookup

USB Type-C wikipedia , lookup

Transcript
Diseño e implementación de un equipo de prácticas
de control automático
controlador, o directamente darles el patrón o modelo de las perturbaciones y retraso y que realicen
exclusivamente el diseño del controlador.
4
4.1
Descripción general de la placa de control
Diagrama de bloques.
A través del siguiente diagrama de bloques se pueden observar los diferentes componentes que
constituyen el proyecto que se va a realizar.
El primer microcontrolador como podemos observar, se encarga de gestionar las comunicaciones con
Matlab a través de usb. También actúa sobre el Motor 1 a través del driver para hacer que se mueva
regulando la velocidad en tensión. Por otro lado gestiona la información del encoder y también recibe del
Motor 2 la información a tensión generada a través del conversor analógico digital. Se comunica con el
segundo microcontrolador a través del puerto serie. El segundo microcontrolador se encarga de gestionar
los periféricos y de actuar sobre el primer microcontrolador, de tal forma que tiene almacenados en memoria
los parámetros de configuración de varios ejemplos de algoritmos de control, mediante teclado se envías
esos
parámetros
al
microcontrolador
1,
que
se
encarga
de
ejecutar
una
simulación.
El GLCD muestra la información en tiempo real de los procesos que se llevan a cabo en cada momento en
el equipo de prácticas, muestra también mensajes de error, y tiene la capacidad de imprimir por la pantalla
la tensión de salida.
22/06/2011
Alejandro Quintero García
Página 17 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.2
Microcontrolador PIC 18f4550.
El microcontrolador que se ha escogido es el 18F4550 fabricado por Microchip debido a que cumple
con las necesidades requeridas para el proyecto.
Esencialmente interesa que tenga canales CCP e interfaz USB. Las características más importantes
del microcontrolador son las siguientes:


USB V2.0 (Baja velocidad 1.5Mb/s y Alta velocidad 12Mb/s)
Soporta transferencias de volumen (Bulk tranfers) y transferencia Asíncrona.
Soporta más de 32 Endpoints (16 en bidireccional).
1 Kbyte de RAM de doble acceso para USB.
4 modos para cristales incluyendo PLL de alta precisión para USB.
2 Modos de reloj externo superiores a 48MHz.
Bloque interno de oscilador con 8 frecuencias seleccionables por el usuario desde 31Khz a
8MHz.
Oscilador secundario usando el Timer1 a 32Khz.
Las opciones de oscilador Dual permiten al microcontrolador y al modulo USB funcionar
con velocidades de reloj distintas.
3 interrupciones externas.
Cuatro módulos de temporizadores.

Más de dos módulos CCPs





















 Captura a 16 bits, máxima resolución 5.2ns.
 Comparador de 16 bits, máxima resolución 83.3ns.
 Salida PWM de 1 a 10 bits.
Modulo CCP mejorado.
Modulo USART mejorado.
Convertidor A/D de 10bits, de más de 13 canales con tiempo de adquisición de datos
programable.
Arquitectura optimizada para compiladores C con juego de instrucciones extendido.
100.000 ciclos de borrado/escritura para memoria Flash.
1.000.000 de ciclos de borrado/escritura para memoria EEPROM.
Retención de datos para la memoria Flash de más de 40 años.
Auto programable bajo software de control.
Niveles de prioridad para interrupciones.
Watchdog Timer extendido.
Código de protección programable.
Rango de operación del voltaje de 2.2 a 5.5 voltios.
22/06/2011
Alejandro Quintero García
Página 18 de 214
Diseño e implementación de un equipo de prácticas
de control automático
En la figura de abajo se puede ver un dibujo del microcontrolador con los correspondientes pines y
su utilidad, además de un esquema de su estructura interna.
22/06/2011
Alejandro Quintero García
Página 19 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.3
Microcontrolador PIC 18f4685.
Para el segundo microcontrolador se ha utilizado un pic de la gama media, concretamente el 18f4685.
Dicho pic, al ser de la misma familia que el anteriormente descrito, 18f4550, dispone de la misma
disposición de pines, la diferencia más notable es que el 18f4685 no dispone de conexión USB, pero si
dispone del doble de memoria RAM y ROM. Para no repetir características comunes a ambos, dado que
pertenecen a la misma familia, a continuación mostraremos una tabla a modo de resumen, el resto de
características son comunes a las del 18f4550.
Program Memory Type
Program Memory (KB)
CPU Speed (MIPS)
RAM Bytes
Data EEPROM (bytes)
Digital Communication Peripherals
Capture/Compare/PWM Peripherals
Timers
ADC
Comparators
CAN
Temperature Range (C)
Operating Voltage Range (V)
Pin Count
Flash
96
10
3,328
1024
1-A/E/USART, 1-MSSP(SPI/I2C)
1 CCP, 1 ECCP
1 x 8-bit, 3 x 16-bit
11 ch, 10-bit
2
1 ECAN
-40 to 125
2 to 5.5
40
22/06/2011
Alejandro Quintero García
Página 20 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.4
GLCD K0108 128x64.
Dentro de las pantallas LCD hay un grupo que se denominan "gráficas". En lugar de representar caracteres,
como las populares pantallas de dos filas de 16 caracteres, pueden imprimir pixel a pixel.
Esto las hace especiales para la representación de gráficos, aunque por supuesto, con un programa
adecuado, puede mostrar texto, incluso con diferentes fuentes y tamaños.
Estas pantallas disponen de dos chip integrados que se encargan de imprimir las dos mitades de la pantalla,
concretamente el K0108, que es uno de los chip más populares, por lo que a la hora de pensar en
repuestos o sustituciones, cualquier modelo de GLCD que disponga de dicho chip será compatible con el
equipo de prácticas sin necesidad de modificar el software del mismo.
El compilador CCS proporciona una librería capaz de dibujar formas sobre varios modelos de displays LCD
gráficos o GLCD (por Graphic Liquid Cristal Display). Hay versiones de esta librería para pantallas con
diferentes controladores embebidos, como el Samsung KS0108 mencionado anteriormente, y que es el que
se ha utilizado para el prototipo, o el Toshiba T6963.
22/06/2011
Alejandro Quintero García
Página 21 de 214
Diseño e implementación de un equipo de prácticas
de control automático
La distribución de pines de nuestro GLCD es la siguiente:
Como podemos observar en el pinout, la pantalla dispone de una salida de voltaje negativo, dicha salida se
utiliza para ajustar el contraste. No todos los modelos de pantallas disponen de dicha salida de tensión
22/06/2011
Alejandro Quintero García
Página 22 de 214
Diseño e implementación de un equipo de prácticas
de control automático
negativa. En este caso facilita la electrónica dado que de no tenerla habría que implementar dicha tensión a
base de inversores y conversores dc-dc.
4.5
Fuente de alimentación y regulador de tensión.
Para alimentar el circuito necesitamos 24V para el motor Maxon, y 5V para las dos placas de control así y el
GLCD. Se ha rediseñado el esquema clásico del conversor dc-dc LM78XX para obtener incrementar la
corriente de salida.
Ya sea que nuestro circuito se alimente directamente de la red eléctrica de 110/220V o que lo haga a partir
de pilas o baterías, generalmente es necesario contar con una etapa encargada de proveer un voltaje
adecuado, y constante en el tiempo.
Existen muchas maneras de lograr un voltaje estable, pero en general utilizan varios componentes
discretos, lo que redunda en un costo elevado, un diseño más complicado, y circuitos más grandes. La
alternativa es utilizar algún regulador de tensión integrado, disponibles para casi todos los voltajes que
podamos imaginar, y para corrientes desde unas pocas centésimas de Amper hasta varios amperes.
Dentro de los reguladores de voltaje con salida fija, se encuentran los pertenecientes a la familia LM78xx,
donde “xx” es el voltaje de la salida. Estos son 5, 6, 8, 9, 10, 12, 15, 18 y 24V, entregando una corriente
máxima de 1 Amper y soporta consumos pico de hasta 2.2 Amperes. Poseen protección contra sobrecargas
térmicas y contra cortocircuitos, que desconectan el regulador en caso de que su temperatura de unión
supere los 125°C.
Los LM78xx son reguladores de salida positiva, mientras que la
familia LM79xx es para voltajes equivalentes pero con salida
negativa. Así, un LM7805 es capaz de entregar 5 voltios positivos, y
un LM7912 entregara 9 voltios negativos.
La capsula que los contiene es una TO-220, igual a la de muchos
transistores de mediana potencia. Para alcanzar la corriente máxima
de 1 Amper es necesario dotarlo de un disipador de calor adecuado,
sin el solo obtendremos una fracción de esta corriente antes de que
22/06/2011
Alejandro Quintero García
Página 23 de 214
Diseño e implementación de un equipo de prácticas
de control automático
el regulador alcance su temperatura máxima y se desconecte.
La potencia además depende de la tensión de entrada, por ejemplo,
si tenemos un LM7812, cuya tensión de salida es de 12v, con una
tensión de entrada de digamos 20v, y una carga en su salida de
0,5A, multiplicando la diferencia entre la tensión de entrada y la
tensión de salida por la corriente que circulara por la carga nos da
los vatios que va a tener que soportar el integrado:
(Vint - Vout) x Iout = (20 - 12) x 0.5 = 4W
La tensión de entrada es un factor muy importante, ya que debe ser superior en unos 3 voltios a la tensión
de salida (es el mínimo recomendado por el fabricante), pero todo el exceso debe ser eliminado en forma de
calor. Si en el ejemplo anterior en lugar de entrar con 20 volts solo usamos 15V (los 12V de la salida más el
margen de 3V sugerido) la potencia disipada es mucho menor:
(Vint - Vout) x Iout = (15 - 12) x 0.5 = 1.5W
De hecho, con 15v la carga del integrado es de 1,5W, menos de la mitad que con 20v, por lo que el calor
generado
será
mucho
menor
y
en
consecuencia
el
disipador
necesario
también
menor.
En la figura 3 vemos la disposición de pines de estos reguladores. Es diferente según se trate de un 78xx o
un 79xx. En el caso de los primeros, el pin 1 corresponde a la entrada (input), el pin 2 es el punto común
(common) y el pin3 es el correspondiente a la salida (output). En el caso de los reguladores negativos, el pin
1 y el pin 2 intercambian sus funciones, siendo el primero el correspondiente al punto común, y el segundo
la entrada. Es importante recordar esto al momento de conectarlos, ya que es posible que se destruyan si
son conectados en forma incorrecta.
22/06/2011
Alejandro Quintero García
Página 24 de 214
Diseño e implementación de un equipo de prácticas
de control automático
El voltaje máximo que soportan en la entrada es de 35 voltios para los
modelos del LM7805 al 7815 y de 40 voltios para el LM7824.
Por último, debemos mencionar que existen versiones de estos
reguladores para corrientes menores y mayores a 1 Amper.
Efectivamente, los que tienen como nombre LM78Lxx disponibles en
capsula TO-92 entregan una corriente máxima de 100 mili amperes, y
proveen tenciones de salida de 3.3; 5; 6; 8; 9; 12; 15; 18 y 24V.
Luego del nombre llevan un sufijo, que puede ser “AC” o “C”, que
indican el error máximo en su salida, que es de +/-5% en el primer caso
y de +/-10% en el segundo. Así, un LM78L05AC es un regulador de
voltaje positivo, de salida 5 volts/100mA, con un error máximo del 5%.
En caso de necesitar manejar corrientes mayores, las versiones en
capsula TO-3 soportan una corriente de salida máxima de 5 A.
La serie de los reguladores 78xx tienen una salida de corriente limitada a 1 A típico, es posible aumentar la
salida usando este circuito. Un transistor de potencia se usa para proporcionar un aumento de corriente a la
carga del regulador, pero manteniendo una salida de voltaje constante. Corrientes de hasta 650mA salen
directamente del regulador, por encima de este valor el transistor de potencia empieza a conducir
proporcionando la corriente extra a la carga.
Se debe poner un adecuado disipador de calor al transistor de potencia evitando que se caliente
demasiado.
22/06/2011
Alejandro Quintero García
Página 25 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Supongamos que usamos un regulador de 12 v es decir el 7812. La entrada no regulada al regulador debe
estar algunos voltios por encima del valor a regular, asumimos 20 volts. Si asumimos que la carga nos
demanda 5 amperios. La potencia disipada por el transistor se calcula usando Vce * Ic es decir (2012)*8=40 vatios. Observar que este es un valor bastante alto por lo cual es necesario tener un muy buen
disipador de calor.
En el caso que deseáramos incrementar la salida de una fuente regulada negativa usando el 79xx el circuito
es similar, la única diferencia es que se debe poner un transistor de potencia equivalente pero del tipo NPN.
El transistor 2N2955 es de chapa PNP, es complementario del bien conocido transistor de potencia 2N3055
que es de tipo NPN.
Podemos añadir un segundo transistor a modo de protección contra cortocircuito como se indicaba en
puntos anteriores. Los transistores de potencia pueden ser los mostrados en el esquema o equivalentes,
como puede ser el tip45. Se recomiendo que para el conversor dc-dc se utilice en su formato TO3 dado que
disipan mayor calor aportando mayor corriente de salida.
En la siguiente figura vemos el esquema eléctrico de una fuente de 5V a partir de la red de 220V (o 110V,
simplemente cambiando el transformador). El transformador de entrada se encarga de reducir la tensión de
red a 9 voltios de corriente alterna, que será rectificada por los cuatro diodos dispuestos en forma de
puente. A la salida del puente de diodos tendremos presente una tensión continua algo mayor a 10 voltios,
con un pequeño ripple que será eliminado por el capacitor electrolítico C1.
22/06/2011
Alejandro Quintero García
Página 26 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.6
Driver Puente H LMD18200T
El LMD18200 es un H-Bridge diseñado para control de aplicaciones con motor. Este dispositivo se ha
construido usando un proceso multitecnologico que combina circuiteria de control CMOS y bipolar con
dispositivos de alimentación DMOS en la misma estructura monolítica.
Por tanto es ideal para usar como driver de motores DC. Este chip soporta corrientes de pico superiores a
los 6A. Además tiene incorporado un innovador circuito que facilita el conocimiento de la corriente de salida
del driver.
Características principales de este chip:
•
•
•
•
•
•
Proporciona corrientes de manera continuada de hasta 3A.
Funciona a voltajes de alimentación de hasta 55V.
Entradas compatibles con tecnologías TTL y CMOS.
Salida de aviso térmico a una temperatura de 145ºC.
Apagado térmico a 170ºC
Protección contra cortocircuito.
22/06/2011
Alejandro Quintero García
Página 27 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.7
Motor Maxon A-Max 26
La siguiente tabla expone las características del motor:
Datos de motor
Unidad
Valores a tensión nominal
Tensión nominal
V
24
Velocidad en vacío
Rpm
8820
Corriente en vacío
MA.
31.7
Velocidad nominal
Rpm
6730
Par nominal
mNm
17.2
Corriente nominal
A
0.704
Par de arranque
mNm
77.6
Corriente de arranque
A
3.04
Max. Rendimiento
%
79
Resistencia en bornes
Ω
7.90
Inductancia en bornes
mH
0.770
Constante de par
mHm/A
25.5
Constante de velocidad
Rpm/V
374
Relación velocidad/par
Rpm/mHm
116
Constante de tiempo mecánica
Ms
15.8
Inercia del rotor
Gcm
2
13.0
Reductor de Engranaje Recto GS 38, 0.1 – 0.6 Nm
Datos técnicos
Unidad
Reductor de engranaje recto
Diente recto
Eje de salida
Acero inoxidable
Rodamiento a la salida
Cojinete sinterizado
Juego radial a 5 mm de la
Mm
Max 0.1
Mm
0.03 – 0.2
N
50
Máxima carga axial admisible
N
30
Máxima
N
500
brida
Juego axial
Max. Carga radial adm. A 5
mm de la brida
fuerza
adm.
En
22/06/2011
Alejandro Quintero García
Página 28 de 214
Diseño e implementación de un equipo de prácticas
de control automático
acoplamientos a presión
Holgura media en vacío
º
2
Holgura con carga nominal
º
3
Rpm
<5000
ºC
-5 a 80
Velocidad
de
entrada
recomendada
Rango
de
temperatura
aconsejado
Reducción
18:1
Reducción absoluta
18
Diámetro máximo del eje del
motor
Mm
3
Numero de etapas
3
Max par permanente
Max par admisible de forma
intermitente
Sentido
de
Nm
0.2
Nm
0.6
giro,
≠
entrada/salida
Max rendimiento
%
73
Peso
G
60
Holgura media en vacío
º
Momento de inercia
Gcm
Longitud del reductor
Mm
1.5
2
0.4
23.1
Encoder MR, tipo ML, 128 – 1000 ppv, 3 canales, con line driver
Numero de pulsos por vuelta
500
Número de canales
3
Max.
Frecuencia
funcionamiento
de
Khz
200
22/06/2011
Alejandro Quintero García
Página 29 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.8
Comunicación serie entre los dos Pic’s.
Algunos PIC disponen del módulo de comunicaciones serie USART/SCI, concretamente todos los de la
gama media 18F disponen de al menos un módulo a nivel de hardware USART/SCI, que es el más utilizado
entre los módulos de interfaz serie.
La principal función del USART es la de transmitir o recibir datos en serie. Este operación puede dividirse en
dos categorías: síncrona o asíncrona. La transmisión síncrona utiliza una señal de reloj y una línea de
datos, mientras que en la transmisión asíncrona no se envía la señal de reloj, por lo que el emisor y receptor
deben tener relojes con la misma frecuencia y fase. Cuando la distancia entre el emisor y receptor es
pequeña se suele utilizar la transmisión síncrona, mientras que para distancias mayores se utiliza la
transmisión asíncrona.
El USART puede recibir o transmitir datos serie. Puede transferir tramas de datos de 8 o 9 bits por
transmisión y detectar errores de transmisión. También puede generar interrupciones cuando se produce
una recepción de datos o cuando la transmisión ha sido completada.
Algunos PIC tiene un USART direccionable, o AUSART (addresable USART) que utiliza el noveno bit de
datos para distinguir entre la recepción de datos o de dirección. En algunos PIC se ha mejorado el módulo
USART dando lugar a el UESART, que permite la detección automática de baudios, el despertar automático
al recibir la señal de sincronismo o la transmisión del carácter Break de 12bits, permitiendo su utilización en
sistemas de redes de interconexión local (bus LIN).
Básicamente, la transmisión serie consiste en enviar los datos bit a bit a través de una línea común en
periodos de tiempo fijos, dando lugar a la llamada velocidad de transmisión o número de bits enviados por
segundos (baudios). Tanto el emisor como el receptor poseen registros de desplazamiento para realizar la
comunicación. Los bits están codificados en NRZ (nivel alto: 1, nivel bajo: 0), NRZI (cambio de nivel: 1, sin
cambio de nivel: 0), etc.
En el modo síncrono se permite la transmisión continua de datos y no existe un límite de tamaño, es un
modo semi-duplex (la comunicación serie se establece a través de una única línea, en ambos sentidos, pero
no se puede transferir información en ambos sentidos de forma simultánea). En este modo de transmisión
se puede trabajar de dos formas:

En modo maestro, donde el microcontrolador maestro genera la señal de reloj e inicio o finaliza la
comunicación.
22/06/2011
Alejandro Quintero García
Página 30 de 214
Diseño e implementación de un equipo de prácticas
de control automático

En modo Esclavo, donde el microcontrolador esclavo recibe la señal de reloj y depende del
microcontrolador maestro para recibir o enviar información.
En el modo asíncrono se emplean relojes tanto en el emisor como en el receptor. Ambos relojes deben ser
de igual frecuencia y deben estar en fase o sincronizados. La frecuencia de reloj se acuerda antes de la
transmisión configurando la velocidad mientras que la sincronización se realiza durante la transmisión. Cada
trama de datos tiene un tamaño fijo y poseen un bit inicial o de arranque (start) y un bit final o de parada
(stop) que permite realizar dicha sincronización. La transmisión es en modo full-duplex (es utilizan dos
líneas, una transmisora TX y otra receptora de RX, transfiriendo información en ambos sentidos; se puede
transmitir y recibir información de formas simultánea).
El modo más habitual de transmisión por el USART es el modo asíncrono, puesto que permite
comunicaciones en largas distancias. Existen distintas normas de transmisión asíncrona, como la RS232 o
la RS 485, etc. Los niveles de tensión empleados en estas normas son diferentes al empleado por el PIC.
Por ellos, suele ser necesaria la utilización de circuitos externos de adaptación (por ejemplo MAX232).
Los terminales utilizados en el módulo USART son normalmente el RC6/TX/CK y el RC7/RX/DT:

En el modo síncrono maestro, el pin RC6/TX/CK se utiliza como señal de reloj (salida) y el
RC7/RX/DT como línea de datos a enviar o recibir.
22/06/2011
Alejandro Quintero García
Página 31 de 214
Diseño e implementación de un equipo de prácticas
de control automático

En el modo asíncrono esclavo, el pin RC6/TX/CK se utiliza como señal de reloj (salida) y el
RC7/RX/DT como línea de datos a enviar o recibir.

En el modo asíncrono, el pin RC6/TX/CK se utiliza como terminal de transmisión de datos y el
RC7/RX/DT como terminal de recepción.
Los registros asociados al módulo USART/SCI son:

SPBRG: Generador del ratio de baudios.

TXSTA: Estado de transmisión y control.

RCSTA: Estado de recepción y control.

TXREG: Registro de datos de transmisión.

RCREG: Registro de datos de recepción.

PIR1: Flag de interrupción.

PIE1: Habilitación de la interrupción.
Como comentábamos anteriormente, el USART puede configurarse para transmitir 8 o 9 bit de datos
configurando el bit TX9 del registro TXSTA. Si se utiliza el formato de 9 bits, el noveno bit debe colocarse en
el bit TX9D del registro TXSTA antes de escribir los 8bit en el registro. Una vez están todos los bit en dicho
registro, son transferidos al registro de desplazamiento TSR, desde allí son transferidos al ciclo de reloj por
el pin TX comenzando por el bit de start y terminando por el bit de stop.
Aquellos microcontroladores que disponen de AUSART, o USART direccionable, permiten direccionar a
nivel de hardware y de forma automática algunas transmisiones. Los datos recibidos son separados en dos
categorías, dirección y datos, que se indican por el noveno bit. Este hecho es de gran utilidad cuando hay
varios dispositivos en el bus y las transmisiones se direccionan a uno en concreto. Los dispositivos que
22/06/2011
Alejandro Quintero García
Página 32 de 214
Diseño e implementación de un equipo de prácticas
de control automático
reciben la transmisión ignoran todos los bytes de datos con el noveno bit a 0 y sólo reciben los bytes de
dirección con el noveno bit a 1. Cuando se recibe el bute de dirección y coincide, el dispositivo puede pasar
a recepción normal y recibir el resto de datos.
La velocidad de comunicación se controla por el valor cargado en el registro SPBRG. Genera el reloj que
permite la comunicación. La velocidad se empresa en baudios (bits/seg).
Módulo USART en C:
Deberemos configurar el módulo utilizando la directiva #USE RS232(opciones).
Esta directiva le dice al compilador la velocidad en baudios y los pines utilizados para la I/O serie. Esta
directiva tiene efecto hasta que se encuentra otra directiva RS232. La directiva #USE DELAY debe
aparecer antes de utilizar #USE RS232. Esta directiva habilita el uso de funciones tales como GETCH,
PUTCHAR y PRINTF. Si la I/O no es estándar es preciso poner las directivas FIXED_IO o FAST_IO delante
de #USE RS232.
OPCIONES:
RESTART_WDT
Hace que GETC() ponga a cero el WDT mientras
espera un carácter.
22/06/2011
Alejandro Quintero García
Página 33 de 214
Diseño e implementación de un equipo de prácticas
de control automático
INVERT
Invierte la polaridad de los pines serie (normalmente
no es necesario con el convertidor de nivel, como el
MAX232). No puede usarse con el SCI interno.
PARITY=X
Donde X es N, E, u O.
BITS =X
Donde X es 5-9 (no puede usarse 5-7 con el SCI).
FLOAT_HIGH
Se utiliza para las salidas de colector abierto.
ERRORS
Indica al compilador que guarde los errores
recibidos en la variable RS232_ERRORS para
restablecerlos cuando se producen.
Permite velocidades de transmisión bajas en chips
(uC's, memorias, etc.) que tienen problemas de
transmisión.
BRGH1OK
ENABLE=pin
FORCE_SW
Cuando utilizamos dispositivos con SCI y se
especifican los pines SCI, entonces se usará el SCI.
Si no se puede alcanzar una tasa de baudios dentro
del 3% del valor deseado utilizando la frecuencia de
reloj actual, se generará un error.
El pin especificado estará a nivel alto durante la
transmisión.
Usa una UART software en lugar del hardware aun
cuando
Se especifican los pines del hardware.
La definición de RS232_ERRORS es como sigue:
Sin UART:
El bit 7 es el 9º bit para el modo de datos de 9 bit.
El bit 6 a nivel alto indica un fallo en el modo flotante
alto.
Con UART:
Usado sólo para conseguir:
Copia del registro RCSTA, excepto: que el bit 0 se
usa para indicar un error de paridad.
22/06/2011
Alejandro Quintero García
Página 34 de 214
Diseño e implementación de un equipo de prácticas
de control automático
#USE STANDARD_IO (puerto)
Esta directiva afecta al código que el compilador genera para las instrucciones de entrada y salida. El
método estándar de hacer I/O causará que el compilador genere código para hacer que un pin de I/O sea
entrada o salida cada vez que se utiliza.
En los procesadores de la serie 5X esto necesita un byte de RAM para cada puerto establecido como I/O
estándar.
FUNCIONES DE I/O SERIE RS232
c = GETC()
c = GETCH()
c = GETCHAR()
Estas funciones esperan un carácter por la patilla RCV del dispositivo RS232 y retorna el carácter recibido.
Es preciso utilizar la directiva #USE RS232 antes de la llamada a esta función para que el compilador pueda
determinar la velocidad de transmisión y la patilla utilizada.
La directiva #USE RS232 permanece efectiva hasta que se encuentre otra que anule la anterior.
Los procedimientos de I/O serie exigen incluir #USE DELAY para ayudar a sincronizar de forma correcta la
velocidad de transmisión. Recordad que es necesario adaptar los niveles de voltaje antes de conectar el
PIC a un dispositivo RS-232.
Ejemplo:
printf("Continuar (s,n)?");
do {
respuesta=getch(); } while(respuesta!='s'&& respuesta!='n');
GETS(char *string)
22/06/2011
Alejandro Quintero García
Página 35 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Esta función lee caracteres (usando GETC()) de la cadena (string) hasta que encuentra un retorno de
carro(valor ASCII 13). La cadena se termina con un 0.
PUTC()
PUTCHAR()
Estas funciones envían un carácter a la patilla XMIT del dispositivo RS232. Es preciso utilizar la directiva
#USE RS232 antes de la llamada a esta función para que el compilador pueda determinar la velocidad de
transmisión y la patilla utilizada. La directiva #USE RS232 permanece efectiva hasta que se encuentre otra
que anule la anterior.
Ejemplo: if (checksum==0) putchar(ACK);
else putchar(NAK);
PUTS(string)
Esta función envía cada carácter de string a la patilla XMIT del dispositivo RS232. Una vez concluido el
envío de todos los caracteres la función envía un retorno de carro CR o RETURN (ASCII 13) y un avance de
línea LF o LINE-FEED (ASCII 10).
Ejemplo:
puts( " ---------- " );
puts( " | HOLA |" );
puts( " ---------- " );
PRINTF([function], string, [values])
La función de impresión formateada PRINTF saca una cadena de caracteres al estándar serie RS-232 o a
una función especificada. El formato está relacionado con el argumento que ponemos dentro de la cadena
(string). Cuando se usan variables, string debe ser una constante. El carácter % se pone dentro de string
para indicar un valor variable, seguido de uno o más caracteres que dan formato al tipo de información a
representar. Si ponemos %% obtenemos a la salida un solo %. El formato tiene la forma genérica %wt,
donde w es optativo y puede ser 1,2,...,9. Esto es para especificar cuántos caracteres son representados; si
22/06/2011
Alejandro Quintero García
Página 36 de 214
Diseño e implementación de un equipo de prácticas
de control automático
elegimos el formato 01,...,09 indicamos ceros a la izquierda, o también 1.1 a 9.9 para representación en
punto flotante.
T es el tipo de formato y puede ser uno de los siguientes:
C Carácter
U Entero sin signo
x Entero en Hex (en minúsculas)
X Entero en Hex (en mayúsculas)
D Entero con signo
%e Real en formato exponencial(notación científica)
%f Real (Float)
Lx Entero largo en Hex (en minúsculas)
LX Entero largo en Hex (en mayúsculas)
Lu Decimal largo sin signo
Ld Decimal largo con signo
% Simplemente un %
KBHIT()
Esta función devuelve TRUE si el bit que se está enviando al pin RCV de un dispositivo RS232, es el bit de
inicio de un carácter.
Es preciso utilizar la directiva #USE RS232 antes de la llamada a esta función para que el compilador pueda
determinar la velocidad en baudios y la patilla utilizada. La directiva #USE RS232 permanece efectiva hasta
que se encuentre otra que anule la anterior.
SET_UART_SPEED(baud)
22/06/2011
Alejandro Quintero García
Página 37 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Esta función cambia la velocidad de transmisión de la UART (Universal Asynchronous Receiver Transmitter)
en tiempo de ejecución.
Debido a que la programación del primer microcontrolador incluye interrupciones por usb, por módulo
comparador y por timer1, se ha elegido la comunicación serie asíncrona entre los dos pics. Se ha utilizado
el módulo hardware disponible en dichos microcontroladores para tal tarea. En este caso se utilizan dos
2
patillas del pic. La elección frente a otros medios de comunicación como puede ser el I C o SPI ha sido por
la imposibilidad de compatibilizar sus interrupciones con la programación del primer microcontrolador. La
comunicación se realiza a la velocidad estándar 9600 baudios y al ser comunicación directa entre dos pics,
no se requiere hardware adicional para acondicionar las señales a los niveles ttl como en el caso de la
comunicación serie entre el PC y un microcontrolador.
DIRECTIVA PRINCIPAL #USE RS232(OPCIONES)
Permite configurar los parámetros más importantes de la USART, como pueden ser la velocidad de
transmisión, los pines de TX-RX etc.
22/06/2011
Alejandro Quintero García
Página 38 de 214
Diseño e implementación de un equipo de prácticas
de control automático
22/06/2011
Alejandro Quintero García
Página 39 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.9
Interfaz USB y generalidades.
Debido a que se escogió el sistema de comunicación USB, se utilizara el sistema interno del
microcontrolador destinado para este propósito. La familia de dispositivos 18FX455/X550 contiene una
interfaz USB que soporta alta velocidad o baja velocidad (SIE) que permite una rápida comunicación entre
cualquier bus USB y el microcontrolador.
El dispositivo USB está estructurado funcionalmente en un marco de capas. Cada nivel está asociado con
un nivel funcional. El nivel o capa más alta distinta de la del dispositivo es la configuración de manera que el
dispositivo pueda tener múltiples configuraciones. Para cada configuración hay múltiples interfaces y cada
interfaz puede soportar un modo particular de una configuración.
Por debajo de la interfase están los endpoints. Los datos son directamente movidos a ese nivel. Puede
haber unos 16 endpoints bidireccionales. El endpoint 0 es siempre un endpoint de control y por defecto
cuando el dispositivo tiene activado el bus, el endpoint 0 debe estar habilitado para configurar el dispositivo.
22/06/2011
Alejandro Quintero García
Página 40 de 214
Diseño e implementación de un equipo de prácticas
de control automático
La información comunicada al bus es agrupada en bloques o ranuras de tiempo de un milisegundo
denominados frames. Cada frames puede contener muchas transacciones a varios dispositivos y endpoints.
Hay varios tipos de trasferencia definidos en las especificaciones USB.
•
Síncrono: Este tipo permite un método de transferencia para grandes bloques de datos (superiores
a un 1Kbytes) con una entrega asegurada en tiempo y no en integridad. Este es un buen sistema de
transmisión siempre que pequeñas pérdidas de datos no sean críticas.
•
Bulk: Este tipo permite la transmisión de grandes bloques de datos que serán transferidos con la
integridad asegurada. Sin embargo, no se aseguran los tiempos de envío.
•
Interrupt: Este método asegura los tiempos y la integridad en los pequeños bloques de datos.
Mientras el funcionamiento del dispositivo a alta velocidad funciona con todos los tipos de transferencia, el
funcionamiento a baja velocidad está limitado a la transferencia en modo interrupt.
El sistema o tipo de transmisión utilizado es el Bulk/interrupt, una mezcla de ambos, pues interesa preservar
la integridad y tiempos en los bloques de datos transmitidos.
22/06/2011
Alejandro Quintero García
Página 41 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.9.1 Alimentación de la interfaz USB
Cuando el dispositivo está conectado al bus, el host comienza un proceso de enumeración en un
intento de identificar el dispositivo. Esencialmente, el host interroga al dispositivo para conseguir información
del consumo de energía, tipo y tamaño de los datos, protocolo y otra información descriptiva. Los
descriptores contienen esta información. Un proceso de enumeración típico podría ser como el siguiente:








Reset USB : Resetea el dispositivo.
Consigue el Descriptor del dispositivo: El host pide una pequeña porción del
descriptor del dispositivo.
Reseteo del USB: Se resetea el dispositivo otra vez.
Establecer direcciones: El host asigna una dirección al dispositivo.
Conseguir el descriptor del dispositivo: El host pide el descriptor del dispositivo,
consiguiendo información del creador del producto, tipo de dispositivo y tamaño de
los paquetes.
Conseguir la configuración del descriptor.
Conseguir otros descriptores.
Establecer una configuración.
El procero de enumeración exacto depende del host.
La alimentación está asegurada desde el USB. Las especificaciones USB definen los
requerimientos de alimentación del bus. El dispositivo puede ser autoalimentado o alimentado por el bus. La
autoalimentación toma la corriente desde una fuente externa mientras que la alimentación a través del bus
toma la corriente a través de este.
Las especificaciones USB limitan la alimentación tomada del bus. Cada dispositivo proporcionara
100 mA. a 5V aproximadamente. La alimentación exterior podría requerirse para una alimentación de
más de 500mA.
22/06/2011
Alejandro Quintero García
Página 42 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Como se puede ver en este esquema eléctrico, el controlador es alimentado desde la PC a través
del bus USB. Esta es una opción viable siempre que se tenga en cuenta que un puerto usb solo suministra
un máximo de 500 mA. y que manteniendo el voltaje a 5v solo es capaz de suministrar 100 mA. Si en un
momento dado se necesita más, se tendría que recurrir a alimentación externa para lo que se utilizaría otro
montaje distinto, en concreto, cualquiera de los dos expuestos a continuación.
22/06/2011
Alejandro Quintero García
Página 43 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Una vez decidido que se precisa de alimentación externa, hay dos posibles opciones a tomar. La
primera es tomar alimentación externa exclusivamente cuyo esquema eléctrico ha sido expuesto. La otra
opción es utilizar un esquema que permita ambas formas de alimentación.
En este proyecto se ha decidido utilizar un esquema eléctrico donde se utilice solamente
alimentación externa debido a que nunca se dará el caso de que se tenga que utilizar la placa sin utilizar el
motor, el cual consume muy por encima de lo que cualquier puerto usb puede proporcionar.
4.9.2 Enumeración de un dispositivo USB
Cuando el dispositivo está conectado al bus, el host comienza un proceso de enumeración en un
intento de identificar el dispositivo. Esencialmente, el host interroga al dispositivo para conseguir información
del consumo de energía, tipo y tamaño de los datos, protocolo y otra información descriptiva. Los
descriptores contienen esta información. Un proceso de enumeración típico podría ser como el siguiente:








Reset USB: Resetea el dispositivo.
Consigue el Descriptor del dispositivo: El host pide una pequeña porción del
descriptor del dispositivo.
Reseteo del USB: Se resetea el dispositivo otra vez.
Establecer direcciones: El host asigna una dirección al dispositivo.
Conseguir el descriptor del dispositivo: El host pide el descriptor del dispositivo,
consiguiendo información del creador del producto, tipo de dispositivo y tamaño de
los paquetes.
Conseguir la configuración del descriptor.
Conseguir otros descriptores.
Establecer una configuración.
El procero de enumeración exacto depende del host.
22/06/2011
Alejandro Quintero García
Página 44 de 214
Diseño e implementación de un equipo de prácticas
de control automático
4.9.3 Descriptores utilizados en la enumeración
Hay ocho tipos diferentes de descriptores estándares de los cuales 5 son los más importantes.
DESCRIPTOR DEL DISPOSITIVO:
El descriptor del dispositivo proporciona información general tal como el creador, número del producto,
numero de serie, la clase del dispositivo y el número de configuraciones. Solo hay un descriptor del
dispositivo.
DESCRIPTOR DE CONFIGURACION.
El descriptor de configuración proporciona información de los requerimientos de alimentación del dispositivo
y cuantas interfaces distintas son soportadas en esta configuración. Podría haber más de una configuración
por cada dispositivo.
DESCRIPTOR DE LA INTERFACE.
El descriptor de la interface detalla el número de endpoints utilizados en esta interface, así como la clase de
la interface. Podría haber más de una interface por cada configuración.
DESCRIPTOR DE LOS ENDPOINTS.
El descriptor de los endpoint identifica el tipo de transferencia y la dirección así como algunas otras
especificaciones de los endpoints.
DESCRIPTOR DE STRING (CADENA DE CARACTERES).
Los descriptores de string proporcionan información leíble sobre la capa que describen. Estos string son
utilizados para ayudar a los usuarios a identificar el dispositivo. Estos descriptores van codificados en
formato Unicode
4.9.4 Velocidad del Bus
22/06/2011
Alejandro Quintero García
Página 45 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Cada dispositivo USB debe indicar su velocidad al host. Esto se realiza a través de una resistencia
de 1.5K que se conecta al bus en el momento del suceso.
Dependiendo de la velocidad del dispositivo, la resistencia pulls up se conecta a D+ o D- a 3.3v. Si
funciona a baja velocidad se conecta a la línea D-. Si funciona a alta velocidad se conecta a la línea D+.
4.9.5 Especificaciones de clase de driver
22/06/2011
Alejandro Quintero García
Página 46 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Las especificaciones de USB incluyen especificaciones de clase las cuales son soportadas normalmente en
los sistemas operativos. Ejemplos de clases incluyen audio, HID,… En la mayoría de los casos, se requiere
un driver para comunicar el sistema operativo con el dispositivo.
4.10 Configuración del conversor analógico digital.
Los microcontroladores PIC incorporan un módulo de conversión de señal analógica a señal digital. Los
módulos ADC que utiliza Microchip hacen un muestreo y retención (sample and hold) con un condensador y
después utiliza el módulo de conversión. Normalmente se trata de módulos de conversión por
aproximaciones sucesivas.
El convertidor de aproximaciones sucesivas se utiliza en aplicaciones donde se necesitan altas velocidades
de conversión. Se basa en realizar sucesivas comparaciones de forma ascendente o descendente hasta
encontrar un valor digital que iguale la tensión de entrada por el conversor D/A y la tensión de entrada.
Durante la fase de muestreo el interruptor se cierra y el condensador se carga a la tensión de entrada (el
tiempo que el interruptor permanece cerrado es fundamental para la correcta carga del condensador).
El tiempo de adquisición es el tiempo que tarda en cargarse el condensador, es del orden de 20
microsegundos. Una vez abierto el interruptor, el condensador mantendrá (teóricamente) la tensión de
entrada mientras el módulo A/D realiza la conversión.
22/06/2011
Alejandro Quintero García
Página 47 de 214
Diseño e implementación de un equipo de prácticas
de control automático
El módulo de conversión se caracteriza por parámetros como el rango de entrada, número de bits,
resolución, tensión de fondo de escala, tiempo de conversión o error en la conversión.
El PIC tiene un número de bits de 10 por lo que su resolución es de VIN/(2N-1), teniendo en cuenta la que la
tensión máxima de entrada es de 5V la resolución es de 0.0048V (4.8mV).
Funciones en C para el módulo ADC
SETUP_ADC_PORTS(value)
Esta función configura los pines del ADC para que sean analógicos, digitales o alguna combinación de
ambos. Las combinaciones permitidas varían, dependiendo del chip.
Las constantes usadas también son diferentes para cada chip. Véase el archivo de cabecera *.h para cada
PIC concreto. Las constantes ALL_ANALOG y NO_ANALOGS son válidas para todos los chips.
Algunos otros ejemplos de constantes son:
RA0_RA1_RA3_ANALOG
Esto hace que los pines A0, A1 y A3 sean analógicos y los restantes sean digitales. Los +5v se usan como
referencia; véase el siguiente ejemplo:
RA0_RA1_ANALOG_RA3_REF
Las patillas A0 y A1 son analógicas; la patilla RA3 se usa como voltaje de referencia y todas las demás
patillas son digitales.
Ejemplo:
Setup_adc_ports( ALL_ANALOG );
ADC(mode)
22/06/2011
Alejandro Quintero García
Página 48 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Esta función prepara o configura el conversor A/D. Para la serie 14000 esta función establece la corriente
de carga. Véase el archivo 14000.H para los valores según el modo de funcionamiento. Los modos son:





ADC_OFF
ADC_CLOCK_DIV_2
ADC_CLOCK_DIV_8
ADC_CLOCK_DIV_32
ADC_CLOCK_INTERNAL
SET_ADC_CHANNEL(canal)
Especifica el canal a utilizar por la función READ_ADC(). El número de canal empieza en 0. Es preciso
esperar un corto espacio de tiempo después de cambiar el canal de adquisición, antes de que se puedan
obtener lecturas de datos válidos.
i=READ_ADC()
Esta función lee el valor digital del conversor analógico digital. Deben hacerse llamadas a SETUP_ADC() y
SET_ADC_CHANNEL() en algún momento antes de la llamada a esta función.
Para adecuar la tensión de salida, que se encuentra entre 0 y 24 voltios, a la entrada del conversor
analógico digital del microcontrolador, que como comentábamos con anterioridad debe estar acotada entre
0 y 5V, empleamos un divisor de tensión formado a partir de dos resistencias de precisión.
22/06/2011
Alejandro Quintero García
Página 49 de 214
Diseño e implementación de un equipo de prácticas
de control automático
A nivel de software calculamos la recta de equivalencia entre los valores medidos en el divisor de tensión y
los valores reales. Dicha medida puede ser mostrada por pantalla o bien utilizada como variable de salida a
la hora de programar un algoritmo de control.
4.11 Generador de perturbaciones externas.
Se han realizado distintas pruebas a nivel de hardware en las distintas fases del desarrollo del prototipo,
aunque todas ellas con el mismo principio, es decir, añadir una resistencia variable en paralelo con la salida
del motor generador para así perturbar la medida tanto en tensión como en intensidad.
La primera prueba que se realizó fue con una resistencia digital variable. Las tensiones que se generan en
el segundo motor son del orden de 1 Amperio, por lo que la resistencia digital se quemó. El rango habitual
para estos componentes es de mA. La resistencia digital fue mi primera elección dado que es muy versátil,
se pueden programar patrones de perturbación en el microcontrolador de forma sencilla, de tal manera que
podemos ir variando el valor de la resistencia, y por tanto de la perturbación, de forma totalmente digital.
Finalmente, y dada la limitación en cuanto a corriente se refiere se descartó este tipo de componente.
La segunda prueba que se realizó fue con un potenciómetro mecánico de 1K y 15W. Las pruebas fueron
satisfactorias, pero el problema que surge con este tipo de elementos es que al ser mecánico, es difícil de
modelar la perturbación por lo que finalmente se optó por resistencias de valor fijo.
Finalmente se han instalado dos resistencias fijas de 33ohm. La corriente máxima medida en la salida del
motor generador es de 1A de pico, pero en el rango de tensiones medio (motor al 50%), que es el ideal para
la realización de cualquier práctica, dado que se evitan muchas vibraciones en el equipo, tenemos unos
500mA. Las resistencias se han instalado de forma escalonada con un conmutador circular, de tal forma
que podemos variar desde 0ohm hasta 66ohm la resistencia a la salida en dos escalones.
22/06/2011
Alejandro Quintero García
Página 50 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Pese a perder versatilidad frente a un potenciómetro mecánico lineal si disponemos de la información
precisa de la perturbación, y lo que es más importante, de la resistencia aplicada y por ende de la corriente
que se genera, lo cual nos va a permitir hacer control en corriente de salida.
Imagen del conmutador de 12 posiciones, del que solo se usan 3
22/06/2011
Alejandro Quintero García
Página 51 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Imagen de las dos resistencias utilizadas para escalonar las perturbaciones a la salida
Imagen del conmutador con el embellecedor de 12 posiciones.
Se ha instalado un conmutador de 12 posiciones porque el precio es bastante económico (inferior a 2€) y
permite en un futuro seguir escalonando las perturbaciones a base de añadir más resistencias.
22/06/2011
Alejandro Quintero García
Página 52 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Por otro lado, se ha hecho una placa independiente en la que se ha instalado las resistencias y el cableado
relativo al conmutador, de tal forma que puede ser sustituida fácilmente por otra placa en la que, como
comentábamos con anterioridad, escalonemos mas las resistencias, por ejemplo instalando 4 resistencias
de 16ohm, con lo que obtendríamos una perturbación en la salida equivalente a la instalada en el prototipo,
pero en este caso con 4 escalones en vez de dos.
4.12 Modos de funcionamiento.
El equipo de prácticas está diseñado para funcionar de forma manual o de forma remota. Entendemos
funcionamiento manual a la posibilidad de utilizar el equipo de prácticas sin necesidad de conexión a PC o
elemento externo, mientras que el funcionamiento remoto se realiza a través de la conexión USB a PC y
siempre gobernado a través de matlab. Explicaremos con más detalle en los siguientes puntos ambos
modos de funcionamiento:
4.12.1 Funcionamiento Local.
Como se ha explicado en puntos anteriores, el quipo de prácticas dispone de dos microcontroladores, el
primero de ellos se encarga de las comunicaciones USB a PC y del control del motor CC así como de la
lectura del encoder, pero además, se ha implementado un algoritmo de tipo PID expresado en sus
ecuaciones en diferencia. El segundo microcontrolador se encarga de gestionar los periféricos del equipo y
de interpretar los datos obtenidos del primer microcontrolador.
Volviendo a la estructura de control implementada en el primer microcontrolador, al disponer de dicho
control y de un microcontrolador secundario, a través de dicho micro secundario podemos introducir valores
de configuración del PID al primer micro, incluso gobernar los motores.
Por lo tanto, entendemos por funcionamiento manual el control de los motores a través del segundo
microcontrolador y la posibilidad de implementar de un ensayo basado en control PID con una referencia
22/06/2011
Alejandro Quintero García
Página 53 de 214
Diseño e implementación de un equipo de prácticas
de control automático
dada, para lo cual, el equipo dispone de una pantalla gráfica y de unos pulsadores mediante los cuales, y a
través de una serie de menús, podemos dar valores a las constantes del PID y arrancar los motores.
Para realizar todo lo anteriormente expuesto necesitamos comunicar los dos microcontroladores, y tener
una pantalla gráfica para la introducción de datos. Como se ha comentado en anteriores puntos, ambos
microcontroladores se comunican mediante rs232, por lo que disponemos de todas las herramientas
necesarias.
Dada la gran versatilidad del equipo de prácticas, y lo sencillo de la programación de los microcontroladores
en lenguaje C, como mejora se plantea la implementación de otro tipo de controladores embebidos en el
microcontrolador principal, lo que permitiría la realización de otro tipo ensayos sin necesidad de estar en los
laboratorios o las instalaciones dedicadas a realizar prácticas, y sobre todo sin necesidad de conexión con
elementos externos como puede ser un ordenador personal.
4.12.2 Funcionamiento Remoto.
En este modo de funcionamiento necesitamos un ordenador con conexión USB y Matlab funcionando. Se
han implementado una serie de funciones escritas en Matlab que serán detalladas en puntos posteriores de
este documento, mediante las cuales se puede realizar el control del equipo de prácticas. Se han escrito
funciones para la lectura y escritura de los parámetros de entrada y salida de ambos motores, como pueden
ser: tensión, posición, corriente o velocidad.
Con dichas herramientas, podemos implementar cualquier tipo de algoritmo de control que se nos ocurra,
controlando cualquiera de las variables mencionadas del motor generador con otra de las variables
disponibles del motor principal.
La idea es proporcionar al alumnado las herramientas necesarias para que sean ellos mismos los que
programen sus propios controladores según el ensayo diseñado.
La descripción de las funciones escritas se verá en puntos posteriores de forma detallada.
4.12.3 Detalle del menú de entrada de datos del equipo de prácticas
Se ha programado un sencillo menú mediante el cual podemos trabajar con el equipo de prácticas en modo
manual, es decir, controlando los motores desde el segundo microcontrolador a partir de unos pulsadores y
22/06/2011
Alejandro Quintero García
Página 54 de 214
Diseño e implementación de un equipo de prácticas
de control automático
una pantalla gráfica GLCD. Como se ha comentado en puntos anteriores, disponemos de algunas
estructuras de control embebidas en el microcontrolador primario del equipo de prácticas, dichas estructuras
de control está expresada en sus ecuaciones en diferencia. A través del segundo microcontrolador podemos
introducir todos los parámetros necesarios para establecer una referencia en la salida del motor secundario
y una estrategia de control.
Algunas de las pantallas se detallan en las siguientes imágenes que presentamos a continuación.
Pantalla de bienvenida del equipo de prácticas
Acceso al menú de funcionamiento del equipo de prácticas
22/06/2011
Alejandro Quintero García
Página 55 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Acceso al menú de funcionamiento del equipo de prácticas 2
Pantalla modo de funcionamiento remoto. Esperando conexión USB con PC
22/06/2011
Alejandro Quintero García
Página 56 de 214
Diseño e implementación de un equipo de prácticas
de control automático
Pantalla de funcionamiento manual. Esperando datos de entrada y salida (corriente, tensión o posición)
5
5.1
Esquemas eléctricos
Placa principal.
En el esquema eléctrico general que se representa más adelante se puede ver toda la circuitería que
compondrá el proyecto salvo la parte del motor que se monta de forma independiente al resto.
Regulación de voltaje:
Existen dos etapas reductoras y reguladoras de voltaje, la primera regula y reduce el voltaje a 15v desde los
24v iniciales. La segunda reduce y regula desde los 15v hasta los 5v.
Realizando un análisis transitorio del sistema se pueden ver los voltajes inicial y resultante de las dos
etapas de reducción. Hay que colocar aletas a ambos reguladores puesto que la tensión de entrada en
ambos supera con creces los tres o cuatro voltios por encima del voltaje que se quiere como salida.
Se ha mejorado la conversión de cc – cc mediante transistores de potencia tal y como se ha explicado en
puntos anteriores. Con dichos transistores conseguimos obtener un voltaje de salida estabilizado pero
dejamos pasar más corriente a través de dicho transistor, por lo que el conversor dc-dc tipo 78XX no se
calienta y conseguimos un extra de corriente para la alimentación de nuestro equipo.
22/06/2011
Alejandro Quintero García
Página 57 de 214