Download capitulo 4
Document related concepts
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