Sunteți pe pagina 1din 74

UNIVERSIDAD POLITCNICA DE VALENCIA ESCUELA TCNICA SUPERIOR DE INGENIERA INFORMTICA

PROYECTO FINAL DE CARRERA 2009 - 2010

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

ALUMNO: DIRECTORES: EMPRESA: TUTOR EMPRESA:

ION LADARESCU NGEL RODAS NGEL VALERA INDENOVA JORDI GISBERT

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

NDICE Introduccin.............................................................................................................. 6 1.1. Introduccin...................................................................................................... 7 1.2. Objetivos......................................................................................................... 10 2. Desarrollo Terico.................................................................................................. 12 2.1. Microcontroladores......................................................................................... 13 2.2. Protocolos de comunicacin........................................................................... 21 2.2.1. PWM....................................................................................................... 21 2.2.2. DMX....................................................................................................... 24 2.2.3. USB ........................................................................................................ 27 2.3. Sistemas de control embebido ........................................................................ 31 2.3.1. Aplicaciones ldicas ............................................................................... 31 2.3.2. Sistema de iluminacin profesional........................................................ 33 2.3.3. Sistema de navegacin mvil ................................................................. 35 3. Desarrollo prctico ................................................................................................. 37 3.1. Desarrollo del dispositivo genrico. Pic18f4550............................................ 38 3.2. Desarrollo de aplicaciones de control y monitorizacin desde PC ................ 46 3.3. Desarrollo de aplicaciones de control embebido............................................ 52 3.3.1. Control de autmatas mecnicos ............................................................ 53 3.3.2. Control de proyectores de iluminacin................................................... 58 3.3.3. Control de un vehculo tipo quad ........................................................... 62 4. Conclusiones........................................................................................................... 71 4.1. Conclusiones................................................................................................... 72 4.2. Trabajos futuros.............................................................................................. 72 5. Bibliografa............................................................................................................. 73 1.

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

NDICE FIGURAS Figura 1 Sistema ............................................................................................................... 7 Figura 2 Interfaces ............................................................................................................ 8 Figura 3 Encapsulado DIP o DIL. .................................................................................. 14 Figura 4 Encapsulado FLAT-PACK. ............................................................................. 14 Figura 5 Encapsulado SOIC. .......................................................................................... 14 Figura 6 Encapsulado LPCC. ......................................................................................... 15 Figura 7 Encapsulado LCCC.......................................................................................... 15 Figura 8 Evolucin del mercado de los microcontroladores y previsiones.................... 18 Figura 9 Estructura general de un microcontrolador ...................................................... 19 Figura 10 Arquitectura Von Neuman ............................................................................. 19 Figura 11 Arquitectura Harvard ..................................................................................... 19 Figura 12 Prestaciones del Pic18f4550 para el dispositivo genrico ............................. 20 Figura 13 PWM .............................................................................................................. 21 Figura 14 Esquema empleo PWM.................................................................................. 22 Figura 15 Simulacin del control de un motor AC con PWM ....................................... 22 Figura 16 El balanceador de seal DMX........................................................................ 24 Figura 17Estructura del protocolo DMX........................................................................ 24 Figura 18 SuperSpeedUsb3.0 ......................................................................................... 27 Figura 19 Esquema conectores usb 3.0 .......................................................................... 27 Figura 20 La evolucin del Usb ..................................................................................... 28 Figura 21 Esquema conectores Usb................................................................................ 30 Figura 22 Juguetes que incorporan microcontrolador .................................................... 31 Figura 23 Proyectores Dmx de ultima generacin ......................................................... 33 Figura 24 MACBOR ATV 49 mini................................................................................ 35 Figura 25 Familias de microcontroladores Pic ............................................................... 38 Figura 26 Bloques estructurales del Pic 18f4550 ........................................................... 39 Figura 27 Bloques funcionales del dispositivo genrico ................................................ 41 Figura 28 Componentes del dispositivo genrico........................................................... 42 Figura 29 Programador PICkit2 ..................................................................................... 45 Figura 30 Mdulos del firmware y la intercomunicacin. ............................................. 47 Figura 31 Principales funcionalidades de la aplicacin software................................... 48 Figura 32 Clases de la aplicacin .................................................................................. 50 Figura 33 El violinista autmata electromecnico ...................................................... 54 Figura 34 Figura circuito servo ...................................................................................... 54

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 35 Figura servo desmontado ............................................................................... 55 Figura 36 Diagrama de clases control autmatas ........................................................... 56 Figura 37 Esquema balanceador de seal para Dmx...................................................... 58 Figura 39 Los dimmers: ants y ahora. .......................................................................... 59 Figura 40 Dimmer: exterior, interior y un solo canal. .................................................... 60 Figura 40 Software de control y monitorizacin ............................................................ 61 Figura 41 El vehculo quad con los actuadores montados y en fase de experimentacin. ................................................................................................................................ 62 Figura 42 El servo que acta sobre el freno del quad..................................................... 63 Figura 44 Motor DC para el control de la direccin Quad............................................. 65 Figura 44 Disposicin de los datos en el vector de bytes............................................... 67 Figura 45 Diagrama lgica del firmware........................................................................ 68 Figura 46 Clases de la aplicacin de control y monitorizacin...................................... 69 Figura 47 Esquema componentes del quad. ................................................................... 69

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

NDICE TABLAS Tabla 1 Microcontroladores de la familia M68HC05 de Motorola................................ 16 Tabla 2 Microcontroladores de la familia M68HC08 de Motorola................................ 16 Tabla 3 Microcontroladores ATMEL de 8 bits. ............................................................. 16 Tabla 4 Microcontroladores de STMicroelectronics de 8 bits. ...................................... 16 Tabla 5 Microcontroladores de Microchip de 8 bits. ..................................................... 17 Tabla 6 Tabla de tiempos para el protocolo DMX. ........................................................ 25 Tabla 7 Tabla conexionado cable.USB .......................................................................... 30 Tabla 8 Comparativa de prestaciones de Pic con conectividad Usb .............................. 41 Tabla 9 Equivalencias digital - analgico....................................................................... 66

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

1. Introduccin.

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

1.1.

Introduccin.

La aparicin de los ordenadores ha marcado un cambio importante en todos los sectores de la vida, desde aplicaciones ldicas hasta procesos industriales. Los ordenadores controlan y monitoriza las actividades, almacenando y procesando datos adems de reducir sustancialmente el tiempo de clculo. Pueden realizar tareas programadas e intercambiar datos a larga distancia lo que abre el abanico de posibilidades de uso. Las necesidades de automatizar pequeas tareas, reducir el tamao y el coste ha desencadenado la aparicin de una nueva familia de circuitos integrados: los microcontroladores. En realidad ellos son ordenadores en miniatura. Los encontramos en los juguetes, en los electrodomsticos y hasta en las tarjetas de control industrial. Las diferencias y similitudes entre los dos logros de la tecnologa hacen que los ordenadores y los microcontroladores se complementen mutuamente. Con una comunicacin a alta velocidad entre ellos se puede conseguir control en tiempo real de amplia variedad de accionadores y actuadores. La realizacin de un soporte fsico para el microcontrolador, de fcil conexionado a sus puertos, respaldado por una plantilla de programacin, hace que el microcontrolador sea mucho ms fcil de acceder, programar y utilizar. En el presente proyecto abordaremos temas diseo e implementacin de rutinas para control por ancho de pulso, adquisicin de datos y la implementacin del protocolo de comunicacin Dmx adems del diseo y realizacin del dispositivo genrico basado en microcontrolador.

El sistema Para una vista general sobre el sistema explicamos el siguiente esquema estructural:

Figura 1 Sistema

La parte que controla el sistema es el Pc que transmite los datos al dispositivo a travs del Usb. El dispositivo procesa los datos y en funcin de las tareas 7

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

maneja los actuadores del perifrico directamente o encapsula los datos y los reenva al circuito acondicionador de seal del perifrico. El dispositivo tambin adquiere datos y los enva a PC a travs del Usb o los procesa y maneja el perifrico en funcin de ellos, segn el modo de funcionamiento programado. El PC visualiza los datos, tanto los del perifrico como los capturados por la adquisicin de datos. El dispositivo puede ser programado a travs del puerto ICSP (In Circuit Serial Programming) por intermedio de un programador para incluir nuevas funcionalidades o actualizaciones del firmware. Podemos describir el sistema como compuesto por varias interfaces que interactan en cadena. Esquema de interfaces

Figura 2 Interfaces

A continuacin explicaremos el sistema a travs de sus interfaces. En la primera interfaz, el usuario introduce los datos de control para el perifrico. Estos son procesados por el software. El puente entre las dos primeras interfaces es el software junto a tres archivos: .sys con informacin para el sistema, .inf, con informacin del dispositivo y .dll con funciones para la comunicacin entre el Pc y el dispositivo. En la segunda interfaz, los datos son encapsulados y transmitidos al dispositivo a travs de las funciones de la librera dinmica para acceso a hardware. El firmware del dispositivo procesa estos datos preparndolos para ser entendidos por el perifrico. El puente entre las interfaces siguientes es el firmware en si que se encarga de recibir y procesar datos, adems de manejar los puertos de entrada, salida y procesar datos adquiridos. En la tercera interfaz, los datos son transmitidos segn el protocolo requerido. El perifrico puede facilitar datos de su estado y enviarlos al dispositivo. Estos datos son adquiridos por el dispositivo y procesados.

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El camino inverso, para la monitorizacin u otras funcionalidades, es recorrido por los datos de la siguiente manera: En la segunda interfaz son encapsulados y reenviados al Pc, donde sern preparados para su visualizacin. En la primera interfaz, los datos de estado del perifrico estn visualizados, tratados y/o archivados. Cabe destacar que al principio, para poder establecer comunicacin el dispositivo debe ser reconocido por el sistema operativo (los archivos .sys y .inf). En la segunda interfaz, como primera operacin, se realiza la instalacin del dispositivo. La instalacin, normalmente, se ejecuta una sola vez por puerto Usb. Hemos de mencionar que en la primera interfaz, los datos facilitados por el usuario pueden ser introducidos a travs de controles, especificando un fichero de lectura, o a travs de otros dispositivos cmo teclado, ratn, joystick, escner, etc.

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

1.2.

Objetivos.

El objetivo del presente proyecto se centra en el diseo e implementacin de un sistema genrico de control embebido, configurable y monitorizado a travs de un ordenador. El sistema se adaptar fcilmente a distintos tipos de sensores y actuadores, mediante la programacin y configuracin en funcin de las especificaciones de los mismos. A fin de demostrar la utilidad prctica del mismo, se mostrarn ejemplos prcticos de uso sobre distintos mbitos de aplicacin. El sistema est compuesto por una estructura de componentes fsicos, es decir hardware y actuadores, y una parte lgica constituida por el software y el firmware. Disearemos un hardware genrico, programable al que conectaremos un circuito acondicionador de seal en funcin del tipo de actuadores La parte lgica debe manejar las seales combinando los datos adquiridos por sensores u otros medios, datos facilitados directamente por el usuario y datos calculados cmo los resultados de reguladores o convertidores de datos. La parte hardware ser constituida por un ordenador personal al que conectamos un dispositivo Usb diseado por nosotros, basado en microcontrolador. Disearemos la parte acondicionadora de seal en caso de no estar incorporada en los perifricos contenedores de los actuadores. La parte lgica ha de tener una interfaz de control y monitorizacin del estado de los actuadores y ha de disponer de otras partes, como clculo y transmisin de seales. El dispositivo Usb genrico dispondr de: - Conectividad usb - Entrada digital y analgica - Salida digital. - Plantilla para el desarrollo de aplicaciones especficas, software y firmware - Fcil programacin y configuracin - El dispositivo genrico se comunica con el ordenador a travs del puerto Usb y para ello hemos de desarrollar un software especfico. El proyecto se divide en las siguientes reas de investigacin: Anlisis del diseo del sistema genrico en funcin del tipo de microcontrolador. Anlisis del diseo del sistema genrico en funcin de la transmisin de datos Anlisis del diseo del sistema genrico en funcin del tipo de actuadores Se plantean los siguientes subobjetivos: 10

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Diseo del sistema de control, basado en microcontrolador, que gobernar el resto de subsistemas conectados al mismo. Diseo del subsistema de entrada/salida que incluir la interfaz con los sensores y actuadores as como la comunicacin con el computador a travs del bus Usb. Diseo del software y firmware de manejo de seales y control que permitir la combinacin de distintas fuentes de datos y establecer las estrategias de control/actuacin oportunas. Creacin de un conjunto de aplicaciones prcticas del sistema, en diversos mbitos, para comprobar la versatilidad del mismo

11

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2. Desarrollo Terico.

12

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.1.

Microcontroladores.

Un microcontrolador es un circuito integrado que incorpora procesador, memoria ROM y RAM, puertos de entrada/salida y otros dispositivos de propsito especial como conversores A/D, contadores, temporizadores y puertos de comunicacin . En otras palabras, un microcontrolador es un computador en miniatura. Estos elementos le convierte en una completa solucin para el diseo de sistemas empotrados. Los podemos encontrar en todos los aparatos, instrumentos o maquinaria, desde juguetes, electrodomsticos hasta unidades de disco, impresoras o coches. Hay fabricantes que ofrecen una amplia variedad de microcontroladores, siendo el diseador del dispositivo el que hace la eleccin.

Los inicios de los microcontroladores A principios de los aos 70, la divisin de microelectrnica de la empresa Intel, disea el microprocesador de 16 bits CP1600. Esta aparicin trajo como consecuencia la fabricacin de un conjunto de circuitos integrados que resolvan las necesidades de memoria, de entradas/salidas, temporizadores, conversores, etc. Los fabricantes de microprocesadores, conscientes de la importancia de este mercado, pusieron a disposicin de los tcnicos una gama variada de circuitos integrados que facilitaban la construccin de sistemas. En 1975 la misma empresa disea un controlador rpido pero limitado y con pocas instrucciones para funcionar en combinacin con el CP1600. Era un chip destinado a controlar E/S: el PIC (Peripheral Interface Controller). En el ao 1976, se integran junto con el microprocesador los subsistemas que anteriormente formaban unidades especializadas e independientes, pero unidas por las pistas de circuito impreso con el microprocesador formando lo que se conoce como sistema. Este nuevo circuito integrado se llam microcomputador monopastilla, es decir el microcontrolador. El primer microcontrolador de 8 bits se considera al 8048, fabricado por Intel en el 1979. Otra de las principales empresas del mundo de los dispositivos microprogramables es Motorola, que dispone del potente microcontrolador 68HC11 de 8 bits para datos y 16 para direcciones. Los microcontroladores PIC de la empresa Microchip han sido conocidos durante los 20 aos ltimos pero se adjudico el ttulo de los ms populares gracias al reducido coste, herramientas de desarrollo y fcil integracin. Tambin Zilog ha irrumpido con fuerza en el mercado de los microcontroladores. Recientemente ha lanzado algunos modelos con memoria OTP de la familia Z86XX, muy completos y fciles de manejar.

13

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Otras empresas como SGS-Thomson, Hitachi, Texas, Toshiba, National SemiConductor y muchos otros, abarcan pequeas partes del mercado.

Tipos de encapsulados de microcontroladores: Encapsulado DIP o DIL. Este es el encapsulado ms empleado en montaje por taladro pasante en placa. Este puede ser cermico (marrn) o de plstico (negro). Un dato importante en todos los componentes es la distancia entre patillas que poseen, en los circuitos integrados es de vital importancia este dato, as en este tipo el estndar se establece en 0,1 pulgadas (2,54 mm.). Se suelen fabricar a partir de 4, 6, 8, 14, 16, 22, 24, 28, 32, 40, 48, 64 patillas, estos son los que ms se utilizan.

Figura 3 Encapsulado DIP o DIL.

Encapsulado FLAT-PACK. Se disean para ser soldados en mquinas automticas o semiautomticas, ya que por la disposicin de sus patillas de pueden soldar por puntos. El material con el que se fabrican es cermico. La distancia entre patillas es de 1,27 mm., la mitad que en los DIP.

Figura 4 Encapsulado FLAT-PACK.

Encapsulado SOIC. Circuito integrado de pequeo contorno. Son los ms populares en los circuitos de lgica combinacional, tanto en TTL como en CMOS. Se sueldan directamente sobre las pistas de la placa de circuito impreso, en un rea denominada footprint. La distancia entre patillas es de 1,27 mm. (0,05).

Figura 5 Encapsulado SOIC.

14

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Encapsulado LPPC. Se emplea en tcnicas de montaje superficial pero, generalmente, montados en zcalos, esto es debido a que por la forma en J que tienen sus terminales la soldadura es difcil de verificar con garantas. Esto permite su uso en tcnicas de montaje convencional. Se fabrican en material plstico. La distancia entre terminales es de 1,27 mm.

Figura 6 Encapsulado LPCC.

Encapsulado LCCC. Al igual que el anterior se monta en zcalo y puede utilizarse tanto en montaje superficial como en montaje de taladro pasante. Se fabrica en material cermico.

Figura 7 Encapsulado LCCC.

Los encapsulados anteriormente sealados son los ms importantes y los ms utilizados, aunque no los nicos que existen.

Principales fabricantes Algunos de los fabricantes ms importantes y especializados en microcontroladores son los siguientes: Motorola Semiconductors Corp. Atmel Corp. Microchip Technology Corp. STMicroelectronics

15

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Familia de microcontroladores de 8 bits M68HC05 de Motorola:


DISPOSITIVO RAM EEPROM TIMER A/D WMM I/O MHZ TENSIN

68HC05B8 68HC05B16 68HC05B32 68HC705B16 68HC705B32 68HC05X16 68HC05X32 68HC705X32

176 352 352 528 528 352 528 528

256 256 256 256 256 256 256 256

4 4 4 4 4 4 4 4

8-8b 8-8b 8-8b 8-8b 8-8b 8-8b 8-8b 8-8b

2 2 2 2 2 2 2 2

32 32 32 32 32 32 32 32

1,2.1 1,2.1 1,2.1 2.1,4 1,2.1 2.2 2.2 2.2

3.3-5V 3.3-5V 3.3-5V 3.3-5V 3.3-5V 5V 5V 5V

Tabla 1 Microcontroladores de la familia M68HC05 de Motorola.

Familia de microcontroladores de 8 bits M68HC08 de Motorola:


DISPOSITIVO RAM TIMER A/D PWM I/O MHZ TENSIN

68HC08JK8 68HC908JL8 68HC08JL8 68HC908KX2 68HC908KX8

256 256 256 192 192

2 2 2 2 2

10-8b 13-8b 13-8b 4-8b 4-8b

2-16B 2-16b 2-16b 2-16b 2-16b

15 26 26 13 13

8 8 8 8 8

3V 3V 3V 3-5V 5V

Tabla 2 Microcontroladores de la familia M68HC08 de Motorola.

Los microcontroladores de ATMEL de 8 bits incorporan de tres a ocho canales PWM, trabajan a 16 MHz y poseen bastantes canales de convertidor analgico digital:
DISPOSITIVO RAM TIMER A/D PWM I/O MHZ TENSIN

Atmega169 Atmega16 Atmega8 Atmega8535 Atmega32

3 3 3 3 3

8-10b 8-10b 6-8,10b 8-10b 8-10b

4 4 3 4 4

53 32 23 32 32

16 16 16 16 16

4.5-5.5V 4.5-5.5V 4.5-5.5V 4.5-5.5V 4.5-5.5V

Tabla 3 Microcontroladores ATMEL de 8 bits.

STMicroelectronics presenta tambin tres familias de microcontroladores de 8 bits: ST5, ST6, ST7 y ST9. Algunos de los que presentan funciones A/D y PWM son los siguientes:
DISPOSITIVO RAM TIMER A/D PWM I/O MHZ TENSIN

ST52430K2 ST52510K2 ST72262G1 ST72621J2 ST92141K4

256 512 256 384 512

3 2 2 2 2

8-8b 8-10b 6-10b 8-10b 8-8b

3 2 2 2 2

23 22 22 31 15

3-5.5V 2.7-5.5V 2.4-5.5V 4-5.5V 4-5.5V

Tabla 4 Microcontroladores de STMicroelectronics de 8 bits.

16

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

La familia de microcontroladores de Microchip es la ms extensa contando cerca de 176 microcontroladores distintos. A continuacin se muestra alguno de ellos:

DISPOSITIVO

RAM

TIMER

A/D

PWM

I/O

MHZ

TENSIN

PIC16F873 PIC16F874 PIC16F876 PIC16F877 PIC16F73 PIC16F74 PIC16F76 PIC16F77

192 192 368 368 192 192 368 368

3 3 3 3 3 3 3 3

5-10b 8-10b 5-10b 8-10b 5-8b 8-8b 5-8b 8-8b

2 2 2 2 2 2 2 2

21 32 21 32 22 33 22 33

20 20 20 20 20 20 20 20

2-5.5V 2-5.5V 2-5.5V 2-5.5V

Tabla 5 Microcontroladores de Microchip de 8 bits.

Se han mostrado los microcontroladores de 8 bits por ser una de las especificaciones requeridas, aunque tambin existen microcontroladores de 4, 16 y 32 bits.

Los microcontroladores de 16 y 32 bits a pesar de no ser tan cotidianos como los de 8 bits son utilizados cada vez ms en aplicaciones en que los datos requieren ms precisin (instrumentacin, operaciones matemticas complejas, etc.). Estos microcontroladores de 16 y 32 bits suelen ser muy rpidos si se comparan con los de 8 bits adems de ser capaces de direccionar y gestionar grandes volmenes de memoria.

17

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Evolucin en el mercado

Aunque en el mercado de la Microinformtica la mayor atencin la acaparan los desarrollos de los microprocesadores, lo cierto es que se venden cientos de microcontroladores por cada uno de aqullos. La evolucin del mercado mundial de microcontroladores de 8 bits ha experimentado un espectacular increment a partir del ao 1990, en el que se vendieron 590 millones de unidades. En 1992 se vendieron 950 millones y en 1996 se superaron los 2.000 millones de unidades. La distribucin de las ventas segn su aplicacin es la siguiente: Una tercera parte se absorbe en las aplicaciones relacionadas con los computadores y sus perifricos. La cuarta parte se utiliza en las aplicaciones de gran consumo (electrodomsticos, juegos, TV, vdeo, etc). El 16 % de las ventas mundiales se destin al rea de las comunicaciones. Otro 16% fue empleado en aplicaciones industriales. El resto de los microcontroladores vendidos en el mundo, aproximadamente un 10% fueron adquiridos por las industrias de automocin. Respecto al mercado de los potentes microcontroladores de 16 bits, el crecimiento tambin ha sido su norma. De los 23 millones de unidades vendidas en 1988, se ha pasado a diez veces ms en 1996, siendo la ofimtica y las comunicaciones las reas que absorbieron la mayor parte.

Figura 8 Evolucin del mercado de los microcontroladores y previsiones

18

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Estructura general de un microcontrolador:

Figura 9 Estructura general de un microcontrolador

Arquitecturas: Arquitectura Von Newman dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control).

Figura 10 Arquitectura Von Neuman

Arquitectura Harvard dispone de dos memorias independientes, una que contiene slo instrucciones, y otra que contiene slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias.

Figura 11 Arquitectura Harvard

19

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Podemos clasificar los microcontroladores segn el juego de instrucciones CISC (complex instruction set computer) Es un juego de instrucciones muy amplio que permite operaciones complejas entre operandos situados en la memoria o en los registros internos. Son instrucciones potentes. RISC (reduced instruction set computer) Es un juego de pocas instrucciones que realizan funciones sencillas. Las instrucciones RISC tienen las siguientes caractersticas fundamentales: - Son instrucciones de tamao fijo en un reducido nmero de formatos. - Slo las instrucciones de carga y almacenamiento acceden a memoria. SISC (specific instruction set computer) Es un juego de instrucciones especficos para tareas concretas.

En definitiva, los microcontroladores suelen incluir variedad de funciones especiales que se pueden utilizar gracias a los dispositivos internos incluidos dentro de ellos, entre otras: La memoria de programa generalmente es una Flash EEPROM. Tiene puertos de Entrada y Salida (Configurables por software). Poseen contadores de propsito especial. Tiene incluido un reloj del sistema que permite contabilizar tiempo. Algunos modelos incluyen conversores A/D. Tiene Memoria EEPROM para almacenar datos. Tiene puerto de comunicaciones. Manejan velocidades de operacin hasta 20 MHz. Algunos de estos dispositivos tienen puerto de comunicaciones serial. Tienen entradas para interrupcin. La programacin es rpida. Las herramientas de desarrollo son econmicas y se encuentran disponibles en a red, las cuales incluyen el ensamblador y simulador.

Figura 12 Prestaciones del Pic18f4550 para el dispositivo genrico

Hoy en da, los microcontroladores son un buen recurso al alcance de cualquier desarrollador de hardware.

20

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.2.

Protocolos de comunicacin.

2.2.1. PWM. El control por ancho de pulso (Pulse Wide Modulate) es la forma de control que puede ser empleada tambin cmo protocolo de comunicacin. La principal ventaja es su simplicidad respaldada por la generalidad de sus parmetros. PWM es una seal peridica en la que los datos son representados por el ancho del pulso. Esto quiere decir que se aplica un pulso cada intervalo de tiempo. La duracin del pulso ha de ser inferior o igual al intervalo tiempo.

Figura 13 PWM

Las variables a tener en cuenta son el ancho de pulso y la frecuencia de envo de pulso. El ciclo de trabajo se calcula dividiendo el ancho de pulso por la frecuencia. Las aplicaciones son en el campo del control de motores y parte de un convertidor analgico digital. En caso del control de motores, el ancho de pulso se interpreta cmo velocidad de giro para los motores de corriente continua y cmo posicin para los servos. Para las conversiones, se hace la traduccin del voltaje a pulsos a travs de un filtro.

21

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 14 Esquema empleo PWM

Figura 15 Simulacin del control de un motor AC con PWM

Parte de la electrnica de control la velocidad de rotacin de un motor y la simulacin mediante PWM invertida al 50% y 80% respectivamente. A corriente alterna, B seal PWM, C salida alimentacin controlada para Motor. Acta solamente en el ciclo positivo de la fase. Se debe sincronizar la fase con el Pwm ajustndolo a la misma frecuencia y emplear un detector de paso por cero. Ejemplos del empleo del control por ancho de pulso del valor de la corriente continua: El control del valor de la corriente continua a partir de una onda cuadrada; El valor de la corriente continua en funcin del ancho del pulso. La corriente continua se puede crear empleando un filtro pasa-bajos. El control del valor variando el periodo del pulso (frecuencia)

La flexibilidad de la solucin PWM permite a cualquier diseador de sistemas emplearlo con las ms variadas configuraciones: ancho de pulso, forma de onda, frecuencia, todo ello constituyendo una sencilla y eficaz forma de comunicacin exenta de encabezados o redundancias. En cuanto al sistema fsico idneo para el PWM, no hay especificaciones sobre el sistema en el que se puede implementar, dejando al diseador decidir y especificar las caractersticas del bus de transmisin en funcin de la frecuencia y corriente.

22

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Actualmente el control por ancho de pulso est empleado desde el control de la velocidad de rotacin de los ventiladores existentes en los ordenadores, pasando por el posicionamiento gracias a los servomotores y hasta los variadores de intensidad para el control de velocidad de motores de corriente alterna.

23

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.2.2. DMX. DMX es un protocolo utilizado para el control de la iluminacin. Surgi en el 1986 para solucionar el problema de incompatibilidad que exista entre los distintos fabricantes de aparatos de control de iluminacin que usaban protocolos propietarios. El protocolo DMX es un protocolo muy directo. Consta en un bloque de un mnimo de 512 octetos sobre una lnea serie RS485. Estos 512 octetos, tambin llamados un universo, representan 512 diversos valores para regular la iluminacin o son parmetros (por ejemplo, color o nmero del gobo para los proyectores mviles). La simplicidad del protocolo permite utilizar microcontroladores para enviar/recibe la seal de DMX. La seal debe de ser balanceada, normalmente se usa el componente SN75176 que es bidireccional.

Figura 16 El balanceador de seal DMX

Se utiliza una velocidad 250kbit/sec, por lo tanto no es posible generar DMX con un puerto serial estndar del PC (velocidad mxima puerto serie 100kbit/sec).

Figura 17Estructura del protocolo DMX

24

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

DMX utiliza una codificacin estndar del octeto 8N2, que significa 1 startbit, 8 databits y 2 stopbits. Para saber cundo un nuevo bloque de 512 comienzos del octeto, tiene una secuencia especial del reajuste que se transmite.
No hay seal Break Mark after break Start Code: 1 0 1 1 frame start bit codigo inicio stop bits Mark Between Frame Universo 1 min 1 frames frame start bit codigo inicio stop bits 0 8 bits valor 2 bits a 1 tiempo 4us tiempo 8bitsx4us=32us tiempo 2bitsx4us=8us tiempo: continuo tiempo min 88us tiempo 8us 0 8 bits a 0 2 bits a 1

tiempo max 176us

tiempo 4us tiempo 8bitsx4us=32us tiempo 2bitsx4us=8us

tiempo min 0us tiempo max 1 sec

mark between 1 frame max 512 frames Mark Before Break 1 tiempo min 0us tiempo max 1 sec

tiempo min 0us tiempo max 1sec

Tabla 6 Tabla de tiempos para el protocolo DMX.

Especificaciones fisicas del Bus DMX: es un bus serie: adecuado para la transmisin de datos segn la norma EIA 485 para 250 Kbaudios. El medio de transmisin es cable de impedancia nominal de 120 ohmios (80 - 150) y baja capacitancia., apantallado y de par trenzado. Para algunas instalaciones, se requiere doble lnea y en ese caso se emplea cable con sendos pares trenzados y pantalla. El grosor mnimo de los conductores depende de la distancia: 24 AWG hasta 300 metros, 22 AWG hasta 500 metros. Aunque tericamente se podran duplicar estas distancias, por las condiciones habituales de uso, no es recomendable. Conectores XLR de 5 pines (1: masa, 2: data-, 3: data+, 4: data-, 5: data+). Los pines 4 y 5 slo se emplean en caso de utilizar cable con doble par. Lo normal es utilizar nicamente los pines 1, 2 y 3. Limitaciones del protocolo El mximo de 512 canales slo se pueden aumentar multiplexando los dimmers de tal manera que el modulo multiplexor enva el universo al grupo de dimmers correspondiente.

25

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Mesa de control de iluminacin profesional y dimmers respectivamente que emplean el protocolo DMX Las tendencias son optimistas: debito a demanda masiva de aparatos dmx utilizados en la iluminacin profesional, el dmx ser un protocolo duradero y en continuo desarrollo. Actualmente se han ampliado el numero de universos que puede manejar un aparato dmx y se usa encapsulado sobre ethernet para el control a largas distancias o para la gestin de redes complejas.

26

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.2.3. USB. El puerto Usb, actualmente se encuentra en la versin 2.0 y lleva unos ocho aos sin cambios. Es mucho tiempo teniendo en cuenta que la informtica avanza con pasos gigantescos. Intel ha estado trabajando en la nueva versin Usb 3.0 y a finales del 2008 ha publicado las especificaciones del nuevo puerto.

Figura 18 SuperSpeedUsb3.0

Con ms lineas en el bus, dispondr de comunicacin bidireccional simultanea y soportar ms carga por parte de dispositivos que necesitan alimentacin, nueve veces la corriente que suministra el Usb 2.0. La velocidad de transmisin ser sustancialmente mejorada llegando a los 4.8Gb/s, es decir una velocidad de vrtigo.

Figura 19 Esquema conectores usb 3.0

Otra novedad respeto a su antecesor ser la comunicacin basada en interrupciones, Usb 2.0 utilizaba la tcnica de pooling. Cmo cualquier trabajo bien hecho, Usb 3.0 dispondr de total compatibilidad con su anterior versin y su aparicin, en dispositivos completamente compatibles, est prevista para principios del 2010. Pero las races del puertos Universal Serial Bus radican en su creacin en el 1996 por las empresas IBM, Intel, Northern Telecom, Compaq, Microsoft, Digital Equipment Corporation y NEC para poder conectar perifricos a un ordenador. Con ello se consegua a la vez mejorar la conectividad plug and

27

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

play de los perifricos, permitiendo conexiones en caliente y suministrando alimentacin al dispositivo. 2.2.3.1.
Estndares.

USB 0.9: Primer borrador, publicado en Noviembre de 1995. USB 1.0: Publicada en 1996 Low speed), ofrece 1.5 Mbps, Full speed), es de 12 Mbps, USB 1.1: Publicada en 1998, aade detalles y precisiones a la norma inicial; es el estndar mnimo que debe cumplir un dispositivo USB. USB 2.0: Su versin final fue publicada en Abril del 2000; High speed 480Mbps

Figura 20 La evolucin del Usb

2.2.3.2.

Historia.

El primer ordenador que incluy un puerto USB de forma estndar fue el iMac de Apple, presentado en Marzo de 1998, que utilizaba esta conexin para el teclado y el ratn. Por su parte el mundo del PC solo comenz a utilizarlo cuando Microsoft introdujo los controladores correspondientes en la versin OSR 2.1 de Windows 95. 2.2.3.3.
Topologa.

Los dispositivos USB adoptan una topologa de estrella y se organiza por niveles a partir de un controlador host instalado en la placa base, que acta de interfaz entre el bus de sta y el primer dispositivo USB, el denominado concentrador raz (Root hub), instalado tambin en la placa.

28

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El bus USB soporta intercambio simultneo de datos entre un ordenador anfitrin y un amplio conjunto de perifricos. En un bus USB existen dos tipos de elementos: Anfitrin (host) y dispositivos; 2.2.3.4.
Funcionamiento.

El bus serie USB es sncrono, y utiliza el algoritmo de codificacin NRZI (Non Return to Zero Inverted) Existen cuatro tipos de paquetes distintos: Token, Datos, Handshake y Especial. El mximo de datos por paquete es de 8; 16; 32 y 64 Bytes. Se utiliza un sistema de deteccin y correccin de errores bastante robusto tipo CRC (Cyclical Redundancy Check). El funcionamiento est centrado en el host, todas las transacciones se originan en l. Es el controlador host el que decide todas las acciones, incluyendo el nmero asignado a cada dispositivo (esta asignacin es realizada automticamente por el controlador host cada vez que se inicia el sistema o se aade, o elimina, un nuevo dispositivo en el bus), su ancho de banda, etc. Cuando se detecta un nuevo dispositivo es el host el encargado de cargar los drivers oportunos sin necesidad de intervencin por el usuario. El sistema utiliza cuatro tipo de transacciones que resuelven todas las posibles situaciones de comunicacin. Cada transaccin utiliza un mnimo de tres paquetes, el primero es siempre un Token que avisa al dispositivo que puede iniciar la transmisin. Transferencia de control (Control transfer): Ocurre cuando un dispositivo se conecta por primera vez. Transferencia de pila de datos (Bulk data transfer): Este proceso se utiliza para enviar gran cantida de datos de una sola vez. Transferencia por interrupcin (Interrupt data transfer): Este proceso se utiliza cuando se solicita enviar informacin por el bus en una sola direccin (de la funcin al host). Transferencia de datos iscrona (Isochronous data transfer): Este proceso se utiliza cuando es necesario enviar datos en tiempo real. Los datos son enviados con una cadencia precisa ajustada a un reloj, de modo que la transmisin es a velocidad constante. 2.2.3.5.
Cables y conectores.

29

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El cable de bus USB es de 4 hilos, y comprende lneas de seal (datos) y alimentacin, con lo que las funciones pueden utilizar un nico cable. Pin Nombre Descripcin Color 1 VBUS 2 D3 D+ 4 GND
Tabla 7 Tabla conexionado cable.USB

+ 5 V. CC Data Data + Tierra

rojo azul amarillo verde

Se usan dos tipos de conectores, A y B. Los de tipo A utilizan la hembra en el sistema anfitrin, y suelen usarse en dispositivos en los que la conexin es permanente (por ejemplo, ratones y teclados). En general podemos afirmar que la hembra de los conectores A estn en el lado del host (PC) o de los concentradores (hubs), mientras las de tipo B estn del lado de los perifricos.

Conector tipo A
Figura 21 Esquema conectores Usb

Conector tipo B

A la espera del muevo superspeed 3.0 sabemos que podemos contar con las ventajas del 2.0 en las versiones miniUsb para conectar el mvil, cmara fotogrfica o video, y que algunos fabricantes hab usado para crear versiones todo-en-uno, como ejemplo siendo los mviles HTC con puerto miniUsb de cinco pines con conexin de auriculares. La introduccin del Usb ha sido exitosa desde sus principios y es considerada una solucin amplia y veloz ofreciendo a la vez versatilidad y comodidad.

30

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.3.

Sistemas de control embebido.

2.3.1. Aplicaciones ldicas. La industria de los juegos y los juguetes incorporando cada vez ms en sus productos logros tecnolgico. Juegos informticos, juguetes robotizados y libros que cuentan los cuentos son unos ejemplos. Tambin los sistemas de control embebido estn presentes en las salas de juego apoyando una rama de la diversin de la ms generadora de beneficios.

Figura 22 Juguetes que incorporan microcontrolador

Juguetes actuales que incorporan microcontrolador. Son capaces de gestionar protocolos de comunicacin con el mando a distancia por radiofrecuencia y controlar servos y luces, es programable y tiene varios modos de funcionamiento. El ordenador es una herramienta potente y el dispositivo genrico permite la conexin de cualquier tipo de juguete para ser interactuado en tiempo real. Las aplicaciones ldicas son un buen punto de partida para experimentar con el control del sistema genrico objeto de este proyecto. Adems se puede utilizar la parte artstica para una buena publicidad. Las marionetas son un medio de expresin que rene la escultura, la pintura y la cinemtica. Desde la antigedad se han empleado para divertir, contar o criticar y un objetivo ha sido automatizar. Los autmatas mecnicos se han hecho visibles desde tiempos muy lejanos. La construccin de unos autmatas robotizados controlados por ordenador se convierte en nuestra primera aplicacin. El tema es la msica, las marionetas son los msicos y el director es el ordenador. El director dirige a los msicos en una frentica comunicacin a travs del puerto Usb. Las ventajas de unos autmatas mecnicos controlados por ordenador son entre otras las precisiones de movimiento, el sincronismo de los movimientos con el sonido y el grande nmero de elementos que se pueden mover a la vez.

31

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Esta aplicacin necesita una adaptacin especfica del software de control y un tedioso estudio para el diseo de los mecanismos. La programacin de los movimientos se realizar en pocos pasos gracias a la programacin abreviada: se trata de la interpretacin de los datos existentes en archivos de sonido y su posterior conversin a los movimientos de los msicos. En futuras versiones ampliaremos el campo con la interpretacin de partituras. En esta primera aplicacin prctica emplearemos Pwm para el control de los servos. Quizs lo ms interesante de esta aplicacin es el control de un nmero elevado de servos y la optimizacin del algoritmo de envi de seal para conseguir el mximo rendimiento de los recursos del microcontrolador. En gran parte, el resultado final est condicionado por los mecanismos. Por ello intentaremos sintetizar y factorizar para obtener un mximo rendimiento de un motor maestro, de tal manera que con valores parecidos se consiga un amplio abanico de gestos.

32

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.3.2. Sistema de iluminacin profesional. Controlar la iluminacin en le mundo del teatro, cine y televisin se ha convertido en una necesidad que enriquece las escenas aportando calidad y sello de un trabajo profesional. El empleo de escenas con efectos de iluminacin inslitas, transiciones y cambio de colores proyectados sobre el vestuario de los actores y las escenografas enriquece el espectculo y llena de emociones difciles de describir. Lo que hace unos aos era una difcil tarea a la que se necesitaba varios das de montaje, enfoque y aprendizaje o programacin de las escenas con limitaciones, se ha convertido en un trabajo lleno de emocin para los diseadores que pueden contemplar el resultado en directo a golpe de ratn. Ahora deben saber que el limite es su propia imaginacin.

Figura 23 Proyectores Dmx de ultima generacin

En la figura 23 observamos perifricos de iluminacin: proyectores mviles DMX dotados con circuito para la recepcin del protocolo y actuacin segn 24 y 11 canales respectivamente para posicionamiento, intensidad, color y forma de la rea de iluminacin entre otras. Incorporan microcontrolador. Configuraremos nuestro sistema para reproducir efectos de iluminacin de encendido/apagado de proyectores con velocidad variable en funcin de las escenas, disparadas de manera manual o automtica, fundidos o relmpagos. Todo esto se consigue gracias a una mesa de control, el pc y dispositivo genrico en nuestro caso, conectada a un dimmer que maneja los proyectores actuadores. Cmo a hemos comentado, la distancia mxima entre nuestro dispositivo y el pc es de 5m necesitamos poder llevar la seal a ms distancia. Los dimmers usan un protocolo que permite una distancia mxima de hasta 500m. Se trata de implementar el protocolo DMX en nuestro dispositivo genrico para que este enve los datos hasta los dimmers. Hemos de acondicionar la salida de seal del pin configurado como DMX para cumplir con los requerimientos del bus DMX. La incorporacin de un sistema de control embebido a las aplicaciones de control de la iluminacin aporta una considerable evolucin en la programacin, almacenamiento y manejo de escenas y efectos, pasando de la tediosa tarea de la atencin constante de varios tcnicos durante el montaje y la

33

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

representacin a la programacin de la misma una vez y cargar y ejecutar en las futuras actuaciones. Actualmente, en la iluminacin profesional, se encapsula el universo DMX sobre Ethernet, para una transmisin ms fiable y a larga distancia, sobre todo si se trata de una red ms compleja de proyectores. A la vez que la informtica ha evolucionado, su aplicaciones en el campo de los proyectores se ha dejado ver. Hay proyectores motorizados, llamados mviles, que utilizan hasta 24 canales DMX para el control de posicin en dos ejes, cambia el color del filtro, maneja formas recortadas llamadas gobos o la posicin de la lente para enfocar o desenfocar los bordes del radio iluminado, adems de la intensidad de la luz. Otra ventaja inmediata del encapsulamiento del DMX sobre Ethernet son la posibilidad de la gestin de los proyectores de manera inalmbrica. Adaptar nuestro sistema a una comunicacin sobre Ethernet constituye uno de los futuros trabajos que nos planteamos. La aplicacin de nuestro sistema en la iluminacin profesional supone emplear el mismo en una aplicacin profesional por la implementacin de un protocolo estndar y la realizacin de un circuito acondicionador de seal especfico.

34

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

2.3.3. Sistema de navegacin mvil. La navegacin mvil automatizada es un objetivo perseguido continuamente y no tan fcil de realizar. Hoy en da se ha conseguido con tcnicas nada econmicas, sobretodo por el problema de posicionamiento, lectura de sensores, interpretacin de obstculos, reconocimiento de formas, en otras palabras, la combinacin de inteligencia artificial y visin por ordenador con un buen respaldo hardware. Lo que planteamos cmo aplicacin practica es la adaptacin del sistema aqu presentado para dar soporte fsico entre los sensores de posicin y los actuadores para posicionar el vehculo en el lugar deseado. La incorporacin del sistema de control embebido facilita la gestin de los actuadores incorporados en un sistema de navegacin mvil, siendo ste capaz de transmitir a las partes electromecnicas las maniobras necesarias para cumplir el objetivo. Con ello se consigue autonoma de actuacin una vez recibido el objetivo e informado continuamente el estado hasta el cumplimiento. En el sistema de navegacin mvil planteado, nosotros intervendremos en la parte de control del acelerador, freno y direccin al que llamaremos el sistema de movilidad. Estos tres elementos son manejados automticamente por el ordenador al travs del sistema genrico configurado adecuadamente para actuar como puente.

Figura 24 MACBOR ATV 49 mini

El vehculo quad, concretamente el modelo MACBOR ATV 49 mini, es el medio de desplazamiento. Dispone de un motor trmico de 50cc de consumo reducido. Necesita alimentacin elctrica para el motor de arranque. Los frenos han de ser programados para actuar en modo exclusivo frente al acelerador y viceversa. El control de acelerador est acoplado a un limitador de velocidad en el puo de gas y hay un mando a distancia que permite detener el vehculo desde lejos en caso de necesidad para un paro de emergencia durante las pruebas. La direccin de desplazamiento del vehculo es controlada por la posicin de las ruedas delanteras en el eje Z, es decir perpendicular a la superficie. El giro del vehculo se consigue gracias a un pistn controlado por un motor DC y acoplados con un mecanismo de tornillo sinfn. Hemos montado un 35

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

potencimetro en el eje de la direccin y su lectura nos indicar la posicin angular de las ruedas delanteras. En esta aplicacin, usaremos adquisicin de datos por la lectura del potencimetro, control de servomotores para freno y aceleracin y por ltimo, control de motor DC en funcin de la lectura analgica del potencimetro. Con estas modificaciones junto a la creacin de una librera para facilitar el uso de las funciones sobre los actuadores, daremos apoyo al control del vehculo realizado con control manual, semi-automatizado o totalmente automatizado y controlado por deteccin de obstculos gracias a sensores y a un dispositivo de rastreo lser. Nos planteamos cmo trabajos futuros la implementacin de un regulador Pid para el control de giro del vehculo y la mejora del frenado por la aplicacin de algoritmos para reducir la distancia de frenado.

36

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3. Desarrollo prctico.

37

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.1.

Desarrollo del dispositivo genrico. Pic18f4550.

Todos los microcontroladores que se fabrican en el presente tienen excelentes prestaciones pero el ms adecuado no es el ms servicios ofrecen. Segn la aplicacin y los requerimientos se ha de buscar en los modelos que ofrecen los varios fabricantes. Un diseador ha de conocer todo el abanico que se oferta en el mercado de microcontroladores para elegir el adecuado para cada situacin. La eleccin suele hacerse en primer lugar por las funciones que ha de cumplir, descartando una parte que no interesa y por ltimo en funcin del coste y facilidades de uso. En nuestro caso, para buscar en funcin de la aplicacin se ha de tener en cuenta: - La rapidez y precisin del procesamiento de datos - El tipo y numero de entradas y salidas - El tipo y cantidad de memoria - La precisin del ancho de palabra - Entradas analgicas - Comunicacin serie - Interrupciones. - El tamao del microcontrolador para el diseo de la placa. Microcontroladores PIC

Figura 25 Familias de microcontroladores Pic

La popularidad de los PIC hace que sean incluidos en la mayora de los proyectos debido a su bajo coste, reducido consumo, pequeo tamao, de fcil programacin y abundancia de herramientas econmicas de soporte. El Pic18F4550 se puede encontrar entre los microcontroladores de 8bits. Tiene una arquitectura Harvard y se caracteriza por 32kB de memoria para el programa y 2,2KB para los datos. Dispone de un juego de instrucciones RISC. Tiene 40 pines entre cuales se encuentran los cinco puertos configurables como entrada o salida.

38

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Destacamos la conectividad Usb v2.0, los 4 temporizadores y los 13 canales configurables como entrada analgica de 10 bits. Estructura del PIC18f4550.

Figura 26 Bloques estructurales del Pic 18f4550

A continuacin describiremos las funcionalidades que incorporaremos en nuestro proyecto. Entrada / Salida Los puertos Entrada/Salida los podemos configurar en funcin de cada aplicacin teniendo en cuenta que los pines RC4 y RC5 sern de uso exclusivo para la comunicacin Usb. En los ejemplos de aplicaciones prcticas usaremos, como norma general, el puerto B para configurar salidas generales y el puerto A para entradas analgicas o digitales. Conversor Analgico Digital Dispone de un conversor Analgico Digital de 10 bits. Hay 13 pines que se pueden configurar como entrada analgica, siempre en cascada, es decir si quieres seleccionar el pin AN2 cmo entrada analgica, obligatoriamente estarn seleccionados AN0 y AN1. Es un punto a tener en cuenta a la hora del diseo del dispositivo. La configuracin se realiza a travs de los registros ADCON. Interrupciones y temporizador El pic dispone de varios tipos de interrupciones y prioridades de las interrupciones. Las funciones definidas con prioridad baja interrumpirn cualquier ejecucin menos las definidas con prioridad alta. Destacamos la interrupcin Usb y la interrupcin del Temporizador al vencer un periodo de tiempo que configuraremos cmo variable dentro de nuestras aplicaciones prcticas.

39

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Las interrupciones se pueden habilitar, deshabilitar o configurar desde el registro INTCON. Reloj El microcontrolador necesita un reloj externo pero tenemos que configurar sus pulsos para obtener 48MHz necesarios para la comunicacin Usb. A un oscilador de cuarzo de 12MHz se le debe multiplicar por 3 su frecuencia. Desarrollo del dispositivo genrico. El elemento principal del dispositivo es el microcontrolador. Requerimientos para al microcontrolador Comunicacin Usb La necesidad de una comunicacin rpida y fiable nos lleva a la utilizacin del puerto Usb. Interrupciones Son necesarias para temporizar eventos. Imprescindible en el envo de Pwm. Adquisicin de datos: El microcontrolador tiene que disponer de entradas analgicas y conversin al digital. Esta parte es imprescindible para la lectura del potencimetro situado en el eje de la direccin. Hay una familia de microcontroladores de alta resolucin pero nos condiciona el factor econmico, por lo tanto una conversin a un dato de 10 bits estables es ms que suficiente. Frecuencia de funcionamiento Debemos emplear un microcontrolador que funcione a alta frecuencia de reloj para asegurar una buena transmisin Usb combinada con la seal de salida para los actuadores y la lectura de los elementos analgicos. Fcil programacin Valoraremos un microcontrolador que tiene una fcil y rpida programacin para hacer posible el desarrollo del programa interno (firmware) y la posterior grabacin con la ayuda de herramientas econmicas o gratuitas, ejemplos de uso y dispositivos de programacin sencillos y econmicos. Memoria interna Es importante disponer de suficiente memoria para los datos y para el programa. Una restriccin en este campo sera negativa ya que actuara directamente sobre la parte genrica del dispositivo.

Eleccin del microcontrolador De todos los microcontroladores nos hemos centrado en los que llevan preparada le comunicacin Usb. Hemos encontrado los microcontroladores Pic 18fx550 de la casa Microchip. Ms concretamente pic 18f2550 con 28 pines y 18f4550 de 40 pines.

40

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

La tabla comparativa de especificaciones nos aclara la eleccin y la diferencia de precio es desestimable.

Tabla 8 Comparativa de prestaciones de Pic con conectividad Usb

Hemos elegido pic18f4550 por todas las extras que el pic18f2550 no ofrece, mirando a realizar un dispositivo genrico de lo ms verstil.(ms canales A/D y ms puertos de E/S) Requerimientos del dispositivo Diagrama funcional por bloques del dispositivo.

Figura 27 Bloques funcionales del dispositivo genrico

A continuacin describiremos los circuitos adicionales para el dispositivo genrico Circuito del reset El reset del microcontrolador, el pin MCLR, se activa a nivel bajo, por lo tanto hemos de conectarlo a 5V fijos. Para poder resetear de forma manual el microcontrolador aadiremos un circuito externo que al pulsar un pulsador se conecte a 0V el pin del reset. Cabe destacar que para la grabacin del microcontrolador, este pin se debe conectar a 12V para que el microcontrolador pase a modo grabacin. El pin est conectado al puerto ICSP y de poner 12V en el pin se encargar el programador. Circuito del reloj El circuito externo del reloj se compone de un oscilador de cuarzo de 12MHz puesto en paralelo con los pines OSC1 y OSC2. cada uno de estos dos pines est en serie con un condensador de 22pF a la masa del circuito. Comunicacin Usb

41

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Los pines RC5 y RC4 estn conectados a data+ y data- respectivamente del microcontrolador. En serie con el Pin18 VUsb del microcontrolador conectamos en serie un condensador de 470uF a la masa del circuito. Circuito de programacin: ICSP, In Circuit Serial Programming, es el circuito diseado en esta direccin y la mayora de los microcontroladores lo incorpora. Al aplicar 12V en el pin Reset del microcontrolador, este pasa a modo programacin conmutando el pin RB6 cmo reloj y RB7 para datos. Puertos E/S Para los puertos hemos de tener en cuenta no superar las especificaciones de cada pin. Pueden ser configurados como entrada digital, entrada analgica o salida digital. En especial para este microcontrolador no se pueden superar los 25mA por pin. La estructura electrnica del dispositivo es simple: el conector ICSP es necesario para la programacin del microcontrolador (escribir el firmware) y el circuito del reset para reiniciar el microcontrolador. Los puertos de entrada/salida son configurables segn la aplicacin. El conector USB ser de tipo B, hembra con los pines conectados segn las indicaciones del fabricante del microcontrolador. El controlador ser montado sobre un zcalo, para evitar daos a la hora de soldar, teniendo la posibilidad de su extraccin para programacin y depuracin en un programador externo, adems de poderlo fcilmente remplazar si es necesario. Dispondr de un oscilador de cuarzo que se configurar a la frecuencia necesaria para la comunicacin usb. En nuestro caso hemos usado de oscilador de cuarzo de 12000Hz, configurando el microcontrolador para que funcione a 48000Hz . Es aconsejable dotar el dispositivo de un botn de reset para su reinicio. Hemos configurado los puertos como entrada/salida, analgicos o digitales en funcin de las necesidades de actuacin. Por ultimo, hemos dotado el dispositivo de un puerto ICSP para programacin del microcontrolador.

Figura 28 Componentes del dispositivo genrico

42

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Diseo Hardware El esquema funcional lo hemos diseado para conseguir un dispositivo genrico. En esta direccin hemos reducido el abanico de posibidades que ofrece el microcontrolador, implementando las imprescindibles para su programacin, conectividad al Usb, reinicio, oscilador externo y los puertos de entrada salida, dejando la configuracin de estos ltimos condicionados por el perifrico a controlar. Hemos aadido un puerto extra, ICSP, para grabar el microcontrolador sin extraerlo de la placa. El circuito de Reset va conectado al pin MCLR del microcontrolador, activo a nivel bajo. Por lo tanto, el interruptor es normal abierto que, al cerrar, pone un 0 lgico en el Mclr. El condensador de este circuito sirve para absorber los parsitos causados por el efecto rebote del interruptor. El circuito ICSP va conectado segn las indicaciones In Circuit Serial Programming. El Microcontrolador pasa al estado de grabacin al recibir 12V en el pin Mclr, correspondiente al pin 1 del Icsp. Los pines del Puerto B (RB7 y RB6, correspondientes a pin 6 y 5 del Icsp) son utilizados para la grabacin, siendo conmutados como entrada para la escritura y salida para la lectura. El Pin RB5 del Pic correspondiente al pin4 del Icsp se utiliza solamente para la depuracin. Los pines 2 y 3 del Icsp son la alimentacin del Pic, Vdd y Vss, es decir 5V y masa. El programador PicKit2 da la opcin de elegir la fuente de alimentacin si detecta el microcontrolador alimentado. Si no, lo alimenta el. El circuito oscilador est compuesto por un cristal de cuarzo de 12Mhz conectado a los pines osc1 y osc2 del microcontrolador, cada pin en serie con un condensador de 22pf a la masa del circuito. Los puertos de entrada/salida estn son conectores directos con los pines de los puertos del microcontrolador. Hemos conectado un condensador de 470uF al Pin Vusb del Pic con la masa del circuito segn las indicaciones del fabricante de microcontrolador para absorber los posibles picos de tensin. Hemos dotado con un conector para extender la alimentacin de partes auxiliares cmo leds, potencimetros o acondicionar como voltaje de referencia. Teniendo en cuenta que el circuito est alimentado del puerto usb del Pc, todo lo que se conecta a este pin no debe consumir ms de la diferencia de la corriente suministrada por el puerto usb y el consumo del Pic. El consumo del Pic variar en funcin de los elementos conectados a sus puertos, siendo la suma de todos ellos ms los de mantenimiento en marcha del Pic.

43

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Conectividad con actuadores Descripcin. Los perifricos son dispositivos remotos que realizan una tarea especfica cmo encender una luz, mover un objeto, etc. Estn compuestos por una parte electrnica de adaptacin de la seal y otra parte actuadora. Entendemos por actuador los dispositivos encargados de realizar un trabajo en funcin de los datos recibidos de un controlador. Pueden ser desde simples indicadores (leds, bcd) hasta otros dispositivos con los que se puede establecer una comunicacin. Algunos de ellos estn preparados para la conexin directa al microcontrolador, es decir tecnologa TTL (transitor transitor Logic) como son los servomotores de modelismo, pero la mayora carecen de estas caractersticas y se deben acondicionar. Mejor dicho, la conexin directa con los actuadores no es aconsejable excepto en los montajes en los que las especificaciones de los actuadores son compatibles con las de los puertos de salida del microcontrolador (Corriente mxima, diferencia de potencial, etc). En caso de no cumplir estos requisitos, se ha de disear y realizar un circuito electrnico para realizar esta tarea. Estos circuitos son especficos para cada tipo de actuador. Circuito electrnico acondicionador de seal Este circuito es un circuito acondicionador de seal parte integrante del perifrico. Debe disponer de componentes para proteger el microcontrolador y los actuadores, siendo recomendable el uso de los opto acopladores. Se ha de tener en cuenta que la masa del microcontrolador debe ser comn con la del actuador. Realizar la Placa Hemos optado por la realizacin artesanal de la placa, Hemos marcado con rotulador permanente el pcb calcado sobre la placa virgen de fibra-cobre, hechos los agujeros para los componentes y repasados con rotulador. Hemos preparado el lquido para la corosin, constituido por 50% salfumant, 20% agua oxigenada 80 volumenes y 30% agua, a una temperatura de 25 30 gradosC. Luego hemos introducido la placa en cido para la corrosin. La corrosin dura unos aproximativos 20 minutos. Al finalizar la corrosin, lavamos con agua la placa, la limpiamos con alcohol de quemar para eliminar los residuos del rotulador, la secamos y hemos repasado las rutas con estao. Por ultimo hemos comprobando la continuidad en las rutas. Hemos montado los componentes soldando desde los que estn ms pegados a la placa hasta los ms altos, revisado el conexionado y las rutas. Comprobacin. La comprobacin es necesaria para descartar fallos de construccin. Se repasarn punto por punto para una comprobacin exhaustiva de las conexiones. Grabacin Una vez comprobado el buen conexionado de los componentes se procede a la grabacin del microcontrolador.

44

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Para la grabacin hemos usado el conjunto PicKit2:

Figura 29 Programador PICkit2

PicKit2 graba a travs del puerto ICSP implementado en el dispositivo. PicKit2 Es un programador que se conecta al puerto Usb del Pc. Es rpido y ofrece opciones de configuracin de la grabacin, el tipo de accesos futuros al Firmware (enable protected code). Tambin gestiona la alimentacin del microcontrolador si este no estuviese conectado a la fuente. El programa de grabacin importa el archivo del firmware .hex lo enva a travs del Usb al programador y este es el encargado de escribir el microcontrolador. Dispone de opciones como la lectura del firmware en el microcontrolador, borrar el firmware existente, verificacin de la escritura, configurar el tipo de restricciones de acceso al firmware o a la memoria, entre otras. Es gratuito pero no compatible con otros tipos de programadores. Otra alternativa para la grabacin del Pic es el entorno de programacin mplab que dispone de una funcin que reconoce el programador (reconoce varios programadores), graba y verifica si se ha realizado con xito. Adems dispone de varias funciones como depuracin en tiempo real y visualizacin del estado de los registros del pic. Hemos diseado el firmware para transmitir los datos de control al perifrico implementando funciones que actan directamente sobre los puertos. Hemos elegido el protocolo necesario para la comunicacin con el perifrico en funcin del tipo de actuador. Este protocolo ser el encargado de encapsular los datos recibidos a travs del USB y enviarlos a travs de sus puertos, o bien, manejar los puertos en funcin de los datos recibidos, siendo el otro extremo de la parte lgica del sistema objeto de este proyecto. Conectividad al PC Como cualquier dispositivo, este ha de ser reconocido por el sistema operativo. Para ellos hemos editado el archivo de informacin .inf incluyendo informacin especfica del dispositivo. Los datos ms relevantes de este archivo son los datos identificativos del dispositivo PID (Product ID)y VID (Vendor ID), la ruta de los archivos para la instalacin, el driver mchpusb.sys en nuestro caso y los nombres de fabricante, software y del dispositivo, Strings.

45

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.2. Desarrollo de aplicaciones de control y monitorizacin desde PC.


En este apartado describiremos una aplicacin genrica compuesta por dos mdulos, Un mdulo estar instalado en el ordenador personal para el control general del sistema y el segundo modulo se instalar en el microcontrolador. Los dos mdulos han de estar comunicados continuamente. Esta aplicacin es genrica y constituye una plantilla para la implementacin del control del sistema, pudiendo ser modificada en funcin del tipo de sistema en el que se va a aplicar. Para el desarrollo de la aplicacin hemos optado por avanzar con pasos pequeos pero seguros. Antes del diseo del firmware hemos implementado la comunicacin usb. Una vez reconocido el dispositivo Usb e instalado, el programa residente en el ordenador hace una peticin de la versin del firmware del microcontrolador y este la devuelve. Conseguida la comprobacin, es decir la comunicacin Usb, se ha procede al desarrollo de las dems funciones de cada mdulo, primero haciendo una transferencia de datos como valores para actuadores y el manejo de ellos. Por ltimo se disea e implementa las dems funciones, Estas tareas se realizan en paralelo, es decir para el firmware y para el software.

Diseo del firmware. El Firmware (entendiendo software del microcontrolador) lo hemos diseado basndonos en las necesidades del sistema: funciones para la manipulacin de los datos recibidos a travs del Usb y el correspondiente tratamiento segn la aplicacin. funciones para el manejo de los actuadores: envo de seales o protocolo . funciones para la adquisicin de datos. Funciones de clculo adicionales Hemos usado las siguientes funciones propias del microcontrolador: Apertura y uso de la comunicacin Usb Configuracin e inicializacin de las interrupciones para el manejo de los actuadores. Configuracin e inicializacin de los puertos del microcontrolador

46

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Mostramos a continuacin una vista general sobre el planteamiento del firmware.

Figura 30 Mdulos del firmware y la intercomunicacin.

Los datos procesados o recibidos por Usb son enviados directamente a los puertos. Hemos elegido el protocolo necesario para la comunicacin con el perifrico en funcin del tipo de actuador. Este protocolo ser el encargado de encapsular los datos recibidos a travs del USB y enviarlos a travs de los puertos del microcontrolador configurados para la tarea, o bien, manejar los puertos en funcin de los datos recibidos. El microcontrolador utilizado, Pic18f4550, dispone de un puerto de salida pwm pero para aplicaciones que necesitan controlar por pwm ms de un actuador queda insuficiente. Por lo tanto hemos de implementar una funcin para generar pwm en cualquier pin se necesite. Lo ms prctico es el uso de interrupcin para temporizar los ciclos Pwm combinado con el uso de mscaras para manejar un puerto por operacin. Elegir el lenguaje y el entorno de programacin Hemos optado por el lenguaje C dentro del entorno de programacin MpLab de la casa Microchip, gratuito. Hemos compilado con C18 Student Edition, tambin gratuito, de la misma casa. Constituyen unas excelentes herramientas que cuentan adems con un buen soporte de aprendizaje y ayuda. Ofrece la posibilidade de visualizar los datos de los registros o las variables. Dispone de archivos predefinidos con la definicin registros y datos frecuentemente usados para cada uno de los microcontroladores Pic que fabrica o ha fabricado Microchip. Edicin del Firmware Como punto de partida hemos configurado el microcontrolador con los valores que hemos especificado en el archivo de informacin .inf. para poder ser reconocido por el sistema operativo. Luego hemos especificado el tamao del paquete a enviar, recibir. Segn los datos que se quieren manejar a travs del Usb, se define el tamao del paquete y se configura byte a byte la destinacin de cada uno. El mximo

47

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

de datos que un paquete usb puede manejar es de 64Bytes. Este paquete lo configuramos de la siguiente manera:

Para las aplicaciones prcticas variaremos el tamao del paquete y los valores de encabezamiento en funcin de las necesidades. A continuacin hemos creado la funcin de recibir datos y el tratamiento de las mismas. Para poder ser enviados a los perifricos, hemos configurado los puertos de entrada/salida. Las interrupciones las hemos inicializado para dar paso al control sincronizado del perifrico o del envo de datos, enviando segn protocolo. Llegados a este punto hemos de implementar mecanismo de acceso a datos a travs de semforos para evitar interbloqueos o lectura de datos errneas. Suele ocurrir cuando se dispara una interrupcin vencimiento del reloj y se interrumpe un proceso de recepcin de datos. En el peor de los casos se producira una excepcin al no poder acceder a un dato y derivara en el reset del microcontrolador. Por ltimo, hemos creado el bucle principal para atender de forma ordenada las tareas. Archivos de instalacin Los archivos de instalacin constituyen el enlace entre los dos medios lgicos, firmware y software. Estos archivos son utilizados por el sistema operativo para reconocer y configurar el dispositivo. Tambin son utilizados por el software a travs de llamadas a las funciones de la librera especfica para Usb facilitada por el fabricante. El archivo de informacin sobre el dispositivo tiene la extensin .inf. En el especificaremos: Vendor ID y Provider ID que deben ser los mismos especificados tanto en la clase UsbDll del software como en usbdsc.c del firmware. Las rutas del driver mchpusb.sys (si no se especifica la hemos de indicar manualmente) Los Strings de los nombres que muestra el dispositivo. Los archivos necesarios tienen las extensiones: inf, .sys

Diseo del software Diagrama de funcionalidades de la aplicacin

Figura 31 Principales funcionalidades de la aplicacin software

48

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Hemos dotado el programa de las siguientes funcionalidades: Parte de control: Distinguimos aqu tres tipos: 1. Control manual 1.1. Los propios controles de la ventana de la aplicacin. El usuario introduce datos en los controles de la ventana del programa. Estos pueden ser cuadros de texto, listas editables, botones, deslizadores, etc. 1.2. Medios fsicos de control. El usuario usa el joystick, el teclado, el ratn u otros perifricos para facilitar los datos a enviar, la aplicacin siendo la encargada de capturar estos datos 2. Control semi-automtico 2.1. Los datos son obtenidos de otros dispositivos o del mismo perifrico a controlar. Se trata de realimentacin, la intervencin del usuario es mnima pero decisiva, definiendo las preferencias del sistema, que tipo de algoritmo se aplicar, cuando se interviene, etc. 3. Control automtico 3.1. Datos obtenidos de ficheros. El usuario especifica uno o varios archivos de dnde se leern los datos para el control del perifrico Comunicacin Usb: Hemos utilizado la librera mpusbapi.dll facilitada por el fabricante del microcontrolador. Para el envo / recepcin de datos llamaremos a las funciones especficas para acceder al hardware, es decir al dispositivo. Monitorizacin: Para monitorizar, estados, posiciones, etc. hemos dotado el software de funciones que muestran en pantalla los datos de los actuadores. Elegir el lenguaje de programacin y la herramienta de edicin: El lenguaje C# es un lenguaje que nos ofrece todas las facilidades para una rpida programacin, siendo un lenguaje intuitivo con una buena base de documentacin. Los programas creados con este lenguaje corren sobre una mquina virtual. Para ejecutar nuestro programa es suficiente tener instalada NetFrame versin 2.0. Para aplicaciones ms complejas se recomienda instalar tambin la versin 3.5. La herramienta de edicin es el Visual C# 2008 Express Edition, disponible en la pgina de Microsoft, junto a la documentacin MSDN. Ambas son gratuitas. Dispone de buenos ejemplos cmo apoyo al programador. El entorno es muy amigable, intuitivo, el editor dispone de muchas facilidades y herramientas de programacin y depuracin. Organizacin del trabajo de edicin. En primer lugar hemos de crear una clase que importa la librera mpusbapi.dll. Ahora se podr acceder al hardware con una sola llamada. Necesitamos en segundo lugar una clase para mostrar los datos a enviar y los datos actuales del actuador. Adems hemos de crear varias clase especificas para cada tipo de adquisicin, procesamiento o almacenamiento de datos. Punto seguido crearemos varias clases para encapsular la estructura de datos y por ltimo crearemos la clase principal que dirige el flujo de datos. Software Estructura lgica para el software

49

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Siguiendo los pasos descritos en la primera parte del proyecto:

Figura 32 Clases de la aplicacin

UsbDll es la clase que importa la librera mpusbapi.dll. Se importan las funciones de la librera mpusbapi.dll. En el constructor se Inicializa los String Vid, Pid y las tuberas para la comunicacin Usb. Mtodos privados: int abrir(): abre la tubera de comunicacin, devuelve 0 si la operacin de ha ejecutado con xito, -1 en caso contrario. int cerrar(): cierra la tubera de comunicacin, devuelve 0 si la operacin de ha ejecutado con xito, -1 en caso contrario. int enviar(): envia los datos llamando a la funcin _MPUSBWrite de la dll, devuelve 0 si la operacin de ha ejecutado con xito, -1 en caso contrario. int recibir(): recibe los datos llamando a la funcin _MPUSBRead de la dll, devuelve 0 si la operacin de ha ejecutado con xito, -1 en caso contrario. Mtodos pblicos: byte[] Versin(): recibe la versin de la firmware int Servos(byte[]) prepara el paquete de datos para los actuadores tipo servomotores y llama al mtodo enviar(). devuelve 0 si la operacin de ha ejecutado con xito, -1 en caso contrario. FDatos es la clase encargada de facilitar los datos, actualizarlos y mostrarlos. El constructor inicializa la lista de Datos y las variables globales. Tiene mtodos privados para abrir ficheros en modo lectura o escritura: cargar() y guardar().

50

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Mtodos pblicos: get() devuelve la lista de datos a enviar. set(Datos, int): actualiza los Datos de la posicin especificada en int. refrescar(Datos) muestra los Datos en pantalla. Datos es la clase que almacena la informacin disponiendo de constructor que inicializa los datos, y mtodos pblicos de get que devuelve el dato en byte y set que actualiza el dato. FPrincipal es la clase que arranca la aplicacin. En el mtodo main llama a su constructor. El constructor inicializa la estructura de datos, lanza la ventana de adquisicin y visualizacin de datos e inicializa la comunicacin obteniendo la versin del firmware tras la llamada usbdll.Version() y mostrando en pantalla el resultado. Esta clase dispone de botones que implementan mtodos para controlar el flujo de datos.

51

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.3.

Desarrollo de aplicaciones de control embebido.

A o largo de la historia hemos podido ver una bsqueda continua para mejorar la vida cuotidiana en todos los aspectos. Lo que en un principio era una tarea de un largo periodo de tiempo, hoy en da se limita a un simple parpadeo. Es el ejemplo de los clculos, la escritura y envi de documentos. Tambin hemos visto cmo las distancias se han reducido y 3000 km se pueden recorrer en unas tres horas. La tecnologa se ha impuesto hasta en los campos ms remotos de nuestra civilizacin y seguir hacindolo por mucho tiempo. Las aplicaciones de control embebido son una pequea parte de el mecanismo de control que ayuda al desarrollo de proyectos que requieren automatismo, clculo, comunicacin y rpida respuesta, convirtindose en partes integrantes de estos proyectos, Los campos de aplicacin son de los ms variados, desde de mquinas de juego hasta maquinaria pesada, desde una mquina expendedora de refrescos hasta los aparatos mdicos ms precisos. Las aplicaciones prcticas que plantearemos tienen el fin de comprobar si realmente se ha conseguido realizar un dispositivo genrico y verstil. Abordaremos unas aplicaciones prcticas para emplear varios tipos de los actuadores y sus respectivos protocolos de control. Para cada una de la aplicacin seguiremos los siguientes pasos: Estudio sobre los perifricos y los actuadores. Se ha de tener en cuenta que tipo de protocolo se ha de emplear, las especificaciones fsicas y el acondicionador de seal. Estimacin de recursos hardware necesitados. Diseo del paquete para intercambio de datos por Usb Implementacin de la aplicacin de control con los cambios necesarios en la plantilla. En algn ejemplo cubriremos ms reas de las establecidas, cmo el diseo de mecanismos para los autmatas mecnicos. Generalmente nos vamos a centrar en la configuracin del sistema genrico para el control de los actuadores incorporados. Por otra parte, a pesar de la posibilidad del control de un nmero elevado de actuadores, nos centraremos en el tipo de actuador y en su control. El lmite mximo de cantidad y las aplicaciones de uso es objeto de un posible trabajo futuro.

52

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.3.1. Control de autmatas mecnicos. La avance tecnolgico y los medios de comunicacin modernos han quitado protagonismo a los eventos sociales como el teatro y otras disciplinas artesanales antiguas. An se encuentran entidades que organizan festivales, muestras y encuentros teatrales en los cual maestros artesanos y artistas exponen sus trabajos, algunos a la vieja usanza y otros ms contemporneos. Pero al ser una actividad con pocos beneficios y difcil de mantener, cada vez se organiza menos y algunos trabajos que pueden funcionar con poco mantenimiento como los teatros de autmatas han quedado en el olvido. Pero, por suerte, de vez en cuando aparece una persona interesada en este arte y al encontrarse con antigedades de este mundillo, desea rescatarlas. Se han recuperado autenticas joyas de maquinaria bajo forma de autmatas mecnicos que representan escenas de obras teatrales. Otras han sido remodeladas, cambiando los mecanismos por los actores y los manipuladores como es el caso de El belen de Tirisiti que se expone en fechas de Navidad en Alcoi, Comunidad Valenciana. Esta primera aplicacin prctica rinde un homenaje a los constructores annimos de estas obras que combina la ingeniera con el arte. Autmatas mecnicos controladas por ordenador. Hemos diseado y construido un juego de cuatro marionetas interpretando personajes de msicos de una banda. Hemos reunido un pianista, un violinista, un guitarrista y un batera. Hemos configurado el sistema para que el ordenador interprete el papel de director y manipulador a la vez. Los autmatas mecnicos los hemos previsto de un sistema complejo de mecanismos para reducir a dos el numero de servomotores para el movimiento de cada uno de los msicos y conseguir al mismo tiempo mayor atraccin por el cuadro que ofrece el conjunto de muchas piezas mecnicas en movimiento a la vista, sugiriendo la reproduccin de los gestos de los msicos. 3.3.1.1.
Sistema Mecnico.

Diseo y construccin de los autmatas mecnicos. Hemos diseado los mecanismos utilizando el potente software de animacin 3d Blender. Este programa gratuito dispone de un amplio abanico de posibilidades de edicin pero nosotros hemos utilizado la parte de animacin de Armature. Se trata de objetos unidos entre si que se configuran para realizar animaciones complejas. Disponen de varias formas de generar las animaciones, entre ellas la cinemtica inversa. La animacin generada nos sirve a cuenta de simulacin.

53

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 33 El violinista autmata electromecnico

Una vez diseados los mecanismos y comprobada su funcionalidad, hemos impreso en papel el modelo y lo hemos calcado sobre planchas de madera para recortar las piezas. Hemos ejecutado los agujeros para el ensamblaje, ensamblado, comprobar el movimiento y por ultimo montar los servos en el lugar adecuado. 3.3.1.2.
Sistemas de Actuacin.

Servos Un servomotor es un sistema compuesto por un motor elctrico con capacidad de ser controlado, tanto en velocidad como en posicin, generalmente controlado por ancho de pulso (pwm). Un servomotor dispone de un circuito electrnico. Puede ser analgico o digital El circuito electrnico analgico gobierna el motor DC incorporado en funcin del resultado de la comparacin del voltaje resultado de la conversin de la seal Pwm recibida y el voltaje del potencimetro incorporado, conectado fsicamente al motor a travs de un sistema reductor de engranajes..

Figura 34 Figura circuito servo

54

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El circuito digital tiene un conversor A/D, un microprocesador y una puente H. La principal ventaja es que se puede sobrecargar la frecuencia de funcionamiento hasta 300 ciclos/seg.

Figura 35 Figura servo desmontado

Los servos tienes 3 cables: dos para la alimentacin y uno para el control. El cable de control se puede conectar directamente al microcontrolador si la tecnologa empleada por el servo es TTL. En caso contrario se ha de utilizar un circuito electrnico acondicionador Se ha de tener en cuenta que la masa del dispositivo es comn con la del servo y la alimentacin del servo ha de ser independiente, ya que el dispositivo se alimenta del puerto usb del ordenador y este no ofrece suficiente corriente. Aplicacin de los servos: Los servos los hemos conectado directamente al microcontrolador. El cable utilizado es apantallado de baja impedancia, La alimentacin de los servos va a travs de un solo cable (5V), la masa siendo conectada a la pantalla de la seal. Calibrado En primer lugar hemos tenido en cuenta el movimiento de los servos ya que en pocas ocasiones tienen libertad de movimiento para cubrir los 180 grados. Los hemos montado a 90 grados, en una posicin intermedia del msico. Es necesario calibrar el servo antes de cualquier movimiento para no ir a un punto dnde no pueda mover y forzar posicin. Una vez puesto en marcha el sistema, hemos conectado un solo servo y le hemos enviado ngulos hasta alcanzar las posiciones mxima y mnima de movimiento. Hemos almacenado estos datos en la Clase UsbDll haciendo una conversin de valores para que el usuario programador de movimiento use el rango [0 .. 180]. 3.3.1.3.
Sistema de Alimentacin.

Fuente de alimentacin 5V 600W. La alimentacin de los servos es independiente pero no hemos de olvidar conectar la masa con la del dispositivo Usb. 3.3.1.4.
Sistema de Control.

55

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Aplicando nuestro sistema genrico, hemos definido cmo perifrico a cada msico, y los dos servos de cada msico que realiza el movimiento siendo los actuadores. Los servos disponen de circuito propio de acondicionamiento de seal funcionando con PWM y tecnologa TTL, por lo tanto compatible con nuestro microcontrolador. El microcontrolador dispone de un pin por el que, configurado para la tarea, enva seal Pwm. En nuestro caso necesitamos ms de un servo a controlar por lo que hemos de implementar salida de seal Pwm. Por lo tanto, hemos hecho las siguientes modificaciones: Firmware: La interrupcin provocada por el temporizador, preparada en la parte general de la implementacin de la firmware, nos sirve para llamar a la nuestra funcin de manejo de puertos. Hemos hecho un estudio para optimizar los recursos del microcontrolador. Como el microcontrolador dispone de suficiente memoria para guardar 180 valores por puerto en los que guardaremos el estado de los puertos. Estas Mscaras sirven para tener acceso inmediato a un valor a travs de una tabla y no perder tiempo con desplazamiento de bit para actualizar pin por pin. La interrupcin funcionar segn el siguiente algoritmo Por ltimo desactivamos la entrada analgica dejando todo el tiempo del microprocesador a las tareas de la comunicacin y el manejo de puertos para transmisin del pwm al recibir la interrupcin. Software El software tambin sufre modificaciones en la parte de estructura de datos ya que necesitaremos almacenar la posicin de cada servo en cada momento.

Figura 36 Diagrama de clases control autmatas

Definiremos varios conceptos para organizar los datos. El espectculo tiene uno o ms msicos. Un msico tiene sus escenas que pueden tener una o mas repeticiones. Las escenas tienen secuencias. Una secuencia guarda los datos, es decir las posiciones de los servos de cada msico. Tambin cada secuencia tiene un tiempo de espera antes de enviar el

56

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

dato y una velocidad de reproduccin. Si el tiempo de espera es cero, la secuencia no llega a reproducirse, de lo contrario, se enlazara todas las secuencias de todas las escenas hasta el final de la programacin o hasta que se encuentra el tiempo de espera cero en alguna de las secuencias del msico. Por otra parte, el Espectculo tiene uno o ms eventos. Los eventos son necesarios para sincronizar los movimientos en el tiempo. Un evento almacena el momento del disparo de una secuencia de una escena de un msico. El ultimo evento de un espectculo debe ser un evento especial llamado Parada para finalizar todos los movimientos. Para conseguir suavidad en el movimiento, la diferencia entre la posicin actual y la posicin deseada se divide en varios pasos que se ejecutarn en intervalos equidistantes. Tenemos previstos para un trabajo futuro el diseo de un algoritmo para el manejo de curvas de aceleracin y de frenado del movimiento de los servos al empezar y finalizar el movimiento. Calibrado de los servos: Es un importante paso. No todos los mecanismos pueden cumplir con un recorrido completo de 180 grados. Hemos de posicionar cada servo en sus posiciones lmite y configurar las conversiones oportunas por software. Para ello hemos dispuesto un control especfico para cada msico que posiciona el servo en el lmite y almacena este valor. Para una mayor seguridad de no sobrepasar este lmite, hemos creado una funcin de comprobacin de estos lmites en el firmware. Programacin de los autmatas mecnicos Hemos hecho una programacin de prueba para ver el conjunto en accin. Nos hemos dado cuenta que es una programacin muy precisa a cuenta de una tediosa programacin. A pesar de unos resultados estupendos, el tiempo de programacin sigue siendo elevado. Para mejorar el tiempo de programacin hemos pensado en recopilar datos de un archivo audio, convirtindolos mediante algoritmo adecuado en las posiciones idneas para cada movimiento de cada msico. Hemos creado una clase que abre un archivo de audio .wav, lee todos los valores, extrado el ms significativo teniendo en cuenta que el servo mueve 60 grados en 0,8 segundos a 5V de alimentacin. A partir de estos datos hemos creado un algoritmo de conversin de datos con el objetivo que el msico se mueva con suavidad y sin interrupciones, salvo las de efecto s especiales deseados. (pausas de msica o momentos de tensin) consiguiendo una programacin compleja en pocos segundos. Hemos ampliado a la lectura y extraccin de datos de archivos midi. Planteamos como trabajo futuro la interpretacin de partituras musicales.

57

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.3.2. Control de proyectores de iluminacin.

Una gran importancia en la evolucin del teatro lo ha tenido la iluminacin. En las antiguas obras el fuego iluminaba los rostros de los actores, creando dinamismo y expresiones que potenciaban las escenas. Ha sido un paso grande cuando se ha comenzado posicionar mejor estos puntos de luz y mucho ms cuando se ha conseguido controlar la intensidad de la luz. La introduccin de los filtros de colores ambientaba las escenas y la combinacin de todos estos elementos hizo que los espectculos de teatro atraigan cada vez ms. Esta tcnica fue empleada en la televisin y mejorada con el tiempo. Actualmente, el trabajo de iluminador cubre tanto el diseo de la iluminacin como el montaje y la programacin de las escenas. Si antiguamente el nivel de la llama ambientaba una escena, hoy lo hacen mesas de iluminacin sofisticadas, con ordenador personal incluido. El protocolo especfico se ha desarrollado para unificar el trabajo de los constructores de dimmers, es decir los controladores fsicos de los proyectores. Siguiendo cerca del espectculo, nos hemos planteado cmo segunda aplicacin prctica la configuracin del sistema para gestionar la iluminacin con varios proyectores conectados a un dimmer estndar DMX. El sistema implementar el protocolo con limitacin de 6 canales. Planteamos la implementacin de varios universos de 512 canales como trabajo futuro. 3.3.2.1.
Sistemas de Actuacin.

Actuador Dmx Para el envo de seal Dmx es necesaria un circuito acondicionador de seal. Lo hemos basado en el componente electrnico balanceador de seal SN75765 Para una mejora de la lectura del nivel alto o bajo en la seal se usa un balanceador que prcticamente dobla el valor de la diferencia de potencial, es decir para 5V, en Data+ habr +5V y en Data- -5V, mientras que un nivel cero pondr tanto en Data+ como en Data- a 0V.

Figura 37 Esquema balanceador de seal para Dmx

58

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El actuador Dmx es un dimmer de potencia, cerca de 2200w por canal, para el control de la iluminacin .Principalmente est basado en un triac y un detector de paso por cero para sincronizar el cierre de la puerta del triac. La seal Dmx recibida est procesada y los valores seccionados excita la puerta del triac correspondiente a cada canal. El triac est cortando la onda sinusoidal variando as el tiempo de on del corriente. La lmpara estar encendida solamente el tiempo de apertura del triac, La corriente elctrica en Espaa es de 50 Hz, 25 ciclos positivos y 25 negativos es triac funciona igual para los dos tipos de ciclo un ciclo positivo o negativo es de 10ms, es decir que un valor de 50% de encendido de una lmpara es cuando el triac permanece abierto 5ms por ciclo contados a partir de la deteccin del cruce por cero. Dispone de optoacopladores para aislar el circuito de potencia del de control. Hay dimmers que an conservan el puerto analgico, y, en el momento de conectar una mesa de luces analgica, pasan a la funcin analgica y las puertas de los triac estn gestionadas por el circuito RC de la mesa. (el modo ms sencillo de regular la iluminacin) Los dimmers son aparatos que: - regulan la intensidad de los proyectores - tienen memoria para almacenar los niveles de intensidad - reciben valores de intensidad de la controladora y los memoriza

Figura 38 Los dimmers: antes y ahora.

59

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El dimmer

Figura 39 Dimmer: exterior, interior y un solo canal.

Componentes principales: puerto analgico, puertoDMX in puerto DMX out fusibles de proteccin de fase y por canal (hay dimmers que tienen magnetotrmicos que sustituyen los fusibles), filtros antiparasitarios, modulo de control, modulo test. 3.3.2.2.
Sistema de Alimentacin.

Incorporado en el mismo dimmer: alimentacin del control (5V, 250mA) y alimentacin de potencia (230V 380V y 2200W/canal. Al usar alimentacin trifsica, los dimmers actuales incorporan repartidores de carga. 3.3.2.3.
Sistema de Control.

Firmware Hemos de implementar el protocolo Dmx y enviar los datos actualizados peridicamente. Aunque el universo est compuesto por informacin para 512 canales, en esta versin implementaremos solamente 6 de ellos, dejando la ampliacin para un trabajo futuro. El esquema de funcionamiento se basa en la recepcin de los valores por Usb, actualizar los datos, encapsular los datos actualizados bajo especificaciones Dmx e inyectar los datos al pin correspondiente del microcontrolador. Software de control y monitorizacin Es una tarea temporizada que enva continuamente los valores deseados de los canales de iluminacin. Para ello dotaremos la interfaz de control con un deslizador y un numero de canal deseado (patch) para cada canal. Al arrancar el envo temporizado, los valores son capturados , encapsulados para el envo por puerto Usb. Para el desarrollo de esta aplicacin hemos usado el lenguaje c++ y el entorno de programacin VisualC++. Es una aplicacin sencilla compuesta de dos clases, una dedicada a la interfaz usb que importa la librera de comunicacin con el microcontrolador y la segunda clase dotada con la interfaz de captura de datos a travs de controles numricos.

60

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 40 Software de control y monitorizacin

Una vez montado el sistema, se procede a la comprobacin, se activan los seis primeros canales en la casilla patch y se pulsa el botn preheat, que tiene la funcin de enviar el valor de 20 a todos los canales para el precalentamiento del filamento de las lmparas incandescentes. Seguido, pulsamos blackout, lo que enviar el valor cero a todos los canales y por ltimo empezaremos subir los deslizadores de cada canal suavemente y de manera individual para comprobar tanto la correcta transmisin y recepcin de datos como el correcto funcionamiento del actuador.

61

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.3.3. Control de un vehculo tipo quad. La Robtica es una combinacin de varias disciplinas, como la Mecnica, la Electronica y la Informtica, que junto al conocimiento de la aplicacin a la que se enfoca brinda a investigadores un amplio y variado campo de trabajo que a pesar de estar en fases iniciales, avanza rpidamente. Cualquier objetivo definido en el campo de la Robtica llena de pasin y sobretodo de satisfaccin en el momento del logro. Actualmente Hay muchos proyectos funcionando, sobretodo en la industria que ha tenido un importante crecimiento y mayores beneficios desde que estos proyectos se han hecho realidad. La aplicacin prctica que propondremos contribuir en un futuro prximo al desarrollo de investigaciones mucho ms ambiciosas en el campo de la Robtica. Ello forma parte de un estudio en el cul participan otros grupos de trabajo que ayudarn a la automatizacin completo del vehculo. Las principales tareas que se desarrollarn en el vehculo son: Control del acelerador del vehculo. Control del freno del vehculo. Control de la direccin del vehculo. Control de sensores para la detencin de obstculos ms prximos. Control de lser para la detencin de obstculos ms lejanos. Control del sistema de visin para el reconocimiento de formas.

El siguiente proyecto desarrolla los primeros tres puntos. El objetivo consiste en desarrollar un mecanismo de control, que transfiera los datos desde el ordenador a un microcontrolador, capaz de emitir seales que nos permitan interactuar con el servomotor del acelerador, freno y el posicionamiento de la direccin del vehculo.

El control del acelerador, freno y direccin de un quad.

Figura 41 El vehculo quad con los actuadores montados y en fase de experimentacin.

62

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 42 El servo que acta sobre el freno del quad

En el sistema de navegacin mvil planteado, nosotros intervendremos en la parte de control del acelerador, freno y direccin al que llamamos el sistema de movilidad. Estos tres elementos son dirigidos automticamente por otro sistema de adquisicin de datos basado en rastreo de objetos. El quad es un vehculo de traccin mecnica sobre cuatro ruedas que dispone de un motor trmico de dos tiempos. Est dotado con un motor de arranque elctrico, un sistema de acelerador que controla la vlvula de gasolina, el sistema de frenado que acta sobre las ruedas traseras y el sistema de direccin que maneja las ruedas delanteras. El acelerador est gobernado por un servo mientras que otro servo maneja el sistema de frenado. La direccin del vehculo se maneja gracias a un sistema electromecnico constituido por un motor de corriente continua que, mediante un engranaje tipo sinfn, posiciona un pistn que acta sobre el ngulo de direccin de las ruedas delanteras. El ngulo de giro se obtiene del clculo del valor de un potencimetro situado en el eje de giro de la direccin. Por lo tanto, hay dos tipos de actuadores: servos para el acelerador y el freno controlados por pwm sistema de posicionamiento lineal en bucle cerrado con realimentacin.

3.3.3.1.

Sistema Mecnico.

Acoplamiento de los servos Los servos estn sujetos al chasis del vehculo. En la cruceta conectada al eje principal del servo se monta el cable del freno o la vlvula de entrada para la inyeccin. Se comprueba que los servos tienen suficiente movilidad para ofrecer le giro necesario para acelerador suelto y llegar hasta aceleracin mxima. En el caso del freno, se ha de comprobar que el freno puede estar perfectamente suelto o bloqueado para impedir el movimiento de las ruedas.

63

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Hemos de asegurar que el servo est bien centrado y equilibrado con el sistema al que se conecta para que el trabajo mecnico sea ptimo. Acoplamiento del motor DC al sistema de direccion Este motor est previsto de doble pistn, los dos han de ser conectados a las ruedas delanteras, se ha de montar en su posicin central y las ruedas han de estar paralelas. Una vez acoplados los pistones a las ruedas, estas se ponen rectas y el motor se sujeta al chasis del vehculo. Acoplamiento del potencimetro en el eje de la direccin El potencimetro tiene la utilidad de encoder, es decir, ha de facilitar la posicin de las ruedas delanteras. Para ello se acoplar directamente en el eje de la direccin. Puesto que el mximo ngulo de giro permitido es de 45 grados y e potencimetro tiene un giro mximo de aproximativo 340 grados efectivos, una mejora sustancial en la resolucin de la posicin de la direccin sera un acoplamiento reductor mediante elementos mecnicos reductores y la utilizacin de lecturas comparativas de voltaje del microcontrolador para aumentar la resolucin de los datos adquiridos. Las tareas de mejora las dejamos pendiente para trabajos futuros.

3.3.3.2. Motores DC

Sistemas de Actuacin .

Los motores D.C se clasifican de acuerdo al tipo de bobinado del campo como motores Serie, Shunt, Shunt estabilizado, o Compuesto (Compound). Sin embargo algunos de ellos pueden ser auto excitados o de excitacin separada o pueden tener campos de imn permanente. Ellos muestran curvas muy diferentes de torque-velocidad y se conectan en diferentes configuraciones para diferentes aplicaciones. Algunos motores D.C utilizan imn permanente como campo principal, especialmente los de potencia (HP) fraccionada (1/4,1/2,3/4) y baja potencia. Los motores de imn permanente tienen la ventaja de no requerir una fuente de potencia para el campo, pero tienen la desventaja de ser susceptibles a la desmagnetizacin por cargas de choque elctricas o mecnicas. Los campos de imn permanente no se pueden ajustar para entonar el motor para ajustarse a la aplicacin, como pueden los de campo bobinado. Las caractersticas velocidad - torque dan al motor DC una verstil aplicacin. El torque de rgimen de un motor D.C es dado a una velocidad especfica llamada Velocidad Base. El motor para el movimiento de la direccin del quad y las especificaciones en la chapa del mismo.

64

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 43 Motor DC para el control de la direccin Quad

En la figura se pueden observar las especificaciones del motor para el control de la direccin. En el eje principal se encuentra montado el potencimetro que indica la posicin del ngulo de direccin. En la hoja de datos del fabricante se especifica la utilizacin de este actuador en sistemas en vehculos que no superan 50km/h. Se necesita un circuito electrnico adicional para el control del motor DC. Hemos optado por realizar este circuito basando en el integrado 18200, Puente-H de potencia con control pwm al que emplearemos para gobernar el motor de la direccin. La seal Pwm puede controlar la velocidad de giro pero este la velocidad mxima de movimiento del pistn no es muy elevada por lo que optaremos por el control todo-nada. Por lo tanto, en esta aplicacin prctica, configuraremos el sistema genrico para el envi de dos seales pwm a los servos del acelerador y freno, una seal todo-nada para el control del motor DC y para la adquisicin de datos analgicas para la lectura del valor del potencimetro. Montaremos un circuito adicional al sistema de direccin para el control del motor DC. Normalmente se emplea un puente-H pero por cuestiones fsicas y trabajos futuros hemos optado por el circuito integrado 18200 que puede mover izquierda, derecha, desembragar, direccin o mantener fija en una posicin adems del control de la velocidad de giro por pwm. El control de la direccin que planteamos en esta aplicacin prctica es sencilla: mover la direccin hasta que el potencimetro nos devuelve un valor igual a la posicin deseada. En realidad se trata de la implementacin de un servo digital dnde hemos sustituido el control electrnico normalmente usado por los impulsos del microcontrolador. La optimizacin del posicionamiento de la direccin implica la implementacin de un regulador para mejorar la respuesta del sistema y lo hemos previsto para trabajos futuros.

65

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

3.3.3.3.

Sistema de Adquisicin de datos.

Usaremos la adquisicin de datos analgica y conversin a digital a travs de una entrada analgica del microcontrolador, definida a este fin. Esta dispone de una resolucin de 10bits, es decir el rango de valores de 0 y 5 voltios sern convertidas en un rango de 0 a 1023 valores digitales. valor digital 1023 0 511 205
Tabla 9 Equivalencias digital - analgico

valor analgico 5V 0V 2.5V 1V

Una mejora sustancial en la resolucin de las lecturas se consigue empleando una caracterstica que ofrece el microcontrolador Pic, Vref. Dos de los pines se configuran cmo voltaje referencia positivo y negativo y la lectura se traduce a este rango especificado. Los valores devueltos por le potencimetro estn en el rango 619 para giro mximo derecha y 719 para giro mximo izquierda. Esto nos da un resolucin de solamente 100 valores. Configurando Vref- en 1.77V y Vref+ a 4.77V, teniendo en cuenta que el valor centro del potencimetro est en 3.27V, obtendremos una resolucin tres veces mayor. Configuracin del microcontrolador para la adquisicin de datos Lectura potencimetro: configuracin ADCON El microcontrolador dispone de 13 entradas analgicas de los cuales activaremos una para la adquisicin de datos y dos para los valores de referencia. Los registros encargados de la adquisicin y conversin de analgico a digital son ADCONx.

3.3.3.4.

Sistema de Alimentacin.

Alimentacin servos, motor DC, potencimetro Circuito batera La batera del quad debe suministrar suficiente corriente para motor de arranque del quad (12V). y para la alimentacin de los servos y del sistema de control del quad. Suministraremos 5V para los servos, regulados con el componente LM7805 y 12V para la direccin, regulados con el componente LM7812, El potencimetro se ha de alimentar a 5V, tomando corriente de la misma fuente que los motores. 3.3.3.5. Firmware: 66
Sistema de Control.

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El dispositivo debe atender ordenes del pc a travs del usb y gobernar los dos servos del acelerador y freno adems del sistema de posicionamiento de la direccin constituido por lectura del potencimetro, calculo del error y aplicacin del regulador y actuar sobre el potencimetro. Los datos que recibe el microcontrolador son valores de aceleracin / desaceleracin por el posicionamiento del servo del acelerador en un rango de 0 a 180 grados. De forma anloga se recibe los datos para el freno con el valor cero representando el freno libre y 180 freno activado a mximo. Otro dato relevante es la direccin de giro, 0 a izquierda y 1 a derecha. Por ultimo, el valor de la posicin de la direccin, comparable con el valor del potencimetro. Los valores del acelerador, freno, posicin giro y sentido giro de la direccin del vehculo son determinados en el momento de la calibracin y recibidos por el firmware

Figura 44 Disposicin de los datos en el vector de bytes

Los datos a transmitir al PC son las posiciones de los dos servos y la lectura del potencimetro junto al error a corregir. Estructura funcional del firmware

67

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 45 Diagrama lgica del firmware

Para nuestra aplicacin prctica, la interpretacin de los datos analgicos es la correspondencia entre estos y los valores angulares de giro de la direccin. Aplicacin software de control y monitorizacin de acelerador, freno y direccin con control remoto. Este es un programa para probar las funcionalidades de los sistemas implementados en el quad y garantizar un perfecto control manual. Est organizado por mdulos de tal manera que para desarrollar futuras aplicaciones basta con aadir los mdulos que interesa al nuevo proyecto. Definimos tres mdulos principales: la comunicacin usb con el dispositivo genrico, la comunicacin mediante sockets (wifi) con el control remoto la monitorizacin de los datos a enviar y de los datos recibidos.

68

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

Figura 46 Clases de la aplicacin de control y monitorizacin.

Para la movilidad se plantea una aplicacin con conectividad wifi para el control remoto. El ltimo mdulo es la aplicacin principal. La interfaz de comunicacin con el dispositivo usb ser le encargada de la conversin de los datos mostrados / requeridos a datos que el microcontrolador entienda. Esta comunicacin tiene la segunda prioridad, la ms alta prioridad la tiene el control remoto. La interfaz remota es la encargada, de recibir los datos del control remoto y actualizar los datos a enviar al dispositivo usb. El control remoto ha de recibir peridicamente los estados actualizados de los actuadores del vehculo por parte de la interfaz de monitorizacin.

Figura 47 Esquema componentes del quad.

Necesidad de control remoto

69

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

El Pc que controla el dispositivo Usb no dispondr de pantalla o teclado durante el movimiento del vehculo. Para acceder a estos datos implementaremos dos vias mediante configuracin y conexin a una red Wifi: Control remoto del Pc quad con escritorio remoto la que usaremos para arrancar el programa de control, comprobar el estado del sistema operativo o en caso de emergencia para acceder a la informacin adquirida. No vamos a usar esta opcin para el control del quad por las inconveniencias de tiempo real requerido. Control remoto a travs de una Pda. El programa de control del pc acta como servidor, atendiendo las ordenes del programa cliente del Pda.

Control manual de la aplicacin El programa de control de la Pda puede acelerar, frenar o posicionar la direccin. Para ms seguridad, el quad dispone de un mando a distancia RF que corta la alimentacin con gasolina al motor trmico para casos extremos. El software del sistema genrico est configurado con controles y mecanismos de sincronizacin y de exclusin mutua para el control de los actuadores. Adems de los trabajos futuros mencionados queremos plantear la gestin de la alimentacin para conseguir una alimentacin inteligente adems de un sistema alternador para la recarga de las bateras cuando el vehculo se encuentra en marcha. Y quizs una utilidad que puede resultar a la vez apasionante es la integracin de gps para seleccin de objetivo y posicionamiento.

70

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

4. Conclusiones.

71

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

4.1.

Conclusiones.

El trabajo presentado facilita la conectividad de perifricos de diseo con un ordenador personal para ser controlados y monitorizados de una manera sencilla, rpida y econmica. Su aplicacin es muy amplia pudiendo ser utilizado tambin en el mbito profesional. Mediante aplicaciones prcticas de control embebido hemos conseguido, con la configuracin correspondiente del sistema, el control en tiempo real de varios tipos de actuadores. Hace una dcada este proyecto hubiera sido muy costoso mientras que hoy en da, con el avance de la tecnologa, la versatilidad de los componentes y el acceso a la informacin lo hemos conseguido.

4.2.

Trabajos futuros.

Todos los campos de investigacin y desarrollo que hemos podido abarcar en este proyecto nos han absorbido y cautivado de tal manera que nos es difcil poner punto final. No queremos decir que lo mejor queda en el tintero porque lo que hemos conseguido es un primer gran paso que demuestra que los objetivos planteados son factibles. Deseamos, en primer lugar, mejorar el sistema genrico para el control remoto a larga distancia a travs de internet y vencer los problemas para conseguir una transmisin de datos en tiempo real. Los trabajos futuros que planteamos cubre tanto el sistema genrico cmo las aplicaciones prcticas. Las aplicaciones prcticas nos han enseado las posibilidades actuales y las que podemos conseguir con nuestro sistema y cmo podemos mejorarlo. Como trabajos futuros especificamos: Adaptar nuestro sistema para la comunicacin sobre Ethernet por conexin inalmbrica. La implementacin de Visin artificial para el reconocimiento de figuras simples. La implementacin de un regulador Pid para el control del motor DC. Implementacin y aplicacin de algoritmos para reducir la distancia de frenado en el sistema de navegacin mvil. Mejorar la resolucin de la lectura de un valor analgica mediante elementos mecnicos reductores y la utilizacin de lecturas comparativas con un voltaje de referencia. Aprovechar a fondo las caractersticas del circuito integrado 18200 para el control de la velocidad de giro por pwm. Gestin de la alimentacin para conseguir una alimentacin inteligente adems de un sistema alternador para la recarga de las bateras cuando el vehculo se encuentra en marcha. Integracin del sistema gps al nuestro sistema genrico para seleccin por objetivo y posicionamiento.

72

Sistema de Control Embebido conectable a PC: Diseo y Aplicaciones Prcticas

5. Bibliografa.
www.microchip.com www.mikroe.com www.usb.org www.opendmx.net

Usb Complete: Everything You Need To Develop Custom Usb Peripherals Jan Axelson Microcontroladores PIC La solucin en un chip J.M. Angulo Usategui E. Martn Cuenca I. Angulo Martinez Introduccin a los microcontroladores Hardware, Software, Aplicaciones Jos Adolfo Gonzlez Vzquez

73

S-ar putea să vă placă și