Anda di halaman 1dari 70

CURSOS DE 40 HORAS

CONTROL POR PUERTO USB

MANUAL DEL PARTICIPANTE AREA: CONTROL


Instructor:

MXICO 2010
Ing. Vicente Francisco Prez C.

INDICE:

Introduccin .......................................................................VI Objetivo .............................................................................VII Captulo 1 Introduccin a los Microcontroladores 18f4550.....1 3 CONCEPTOS BSICOS.......................................................1 1.1.1ARQUITECTURA DEL PIC...........................................1 1.1.2ARQUITECTURA VON NEUMANN..................................2 1.1.3ARQUITECTURA HARVARD.........................................3 1.1.4CARACTERSTICAS FUNDAMENTALES DEL 18F4550.......4 4 PROTOCOLO RS232..........................................................8 1.2.1PUERTO SERIE RS 232............................................8 1.2.2 LA NORMA RS 232.................................................8 1.2.3CIRCUITO INTEGRADO MAX232.................................9 5 PROTOCOLO USB............................................................11 Captulo 2 Programacin para la adquisicin y procesamiento de datos....................................................................................14 1. PROGRAMACIN PARA COMUNICACIN SERIAL RS232 BAJO AMBIENTE VISUAL BASIC..................................................14 2.1.1PROPIEDADES PROPIAS DEL TIEMPO DE EJECUCIN.....22 REQUERIMIENTOS BSICOS DEL MICROCONTROLADOR PARA ESTABLECER LA COMUNICACIN USB::::::::::::::::::::::......28 2.2.1#FUSES HSPLL Y PLL5.............................................29

~ ii ~

Ing. Vicente Francisco. Prez Cadena.

Captulo 3 Implementacin de un control de velocidad de un motor de C.D. desde una computadora personal..................32 1. IMPLEMENTACIN DEL MDULO PWM................................32 3.1.1 MODULO CCP........................................................33 1. MONTAJE DEL CIRCUITO DE CONTROL...............................35 1. 1. MONTAJE DEL CIRCUITO DE POTENCIA..............................37 PUESTA EN MARCHA.......................................................40 Prcticas ...............................................................................45 Anexos..................................................................................61 Bibliografa..............................................................................63

~ iii ~

Ing. Vicente Francisco. Prez Cadena.

TABLA DE ILUSTRACIONES Figura 1.1.1 Arquitectura Von Neuman...............................................................1 Figura 1.1.2 Arquitectura Harvard.......................................................................3 Figura 1.1.3 Pines del microcontrolador 18F4550...............................................6 Figura 1.1.4 Diagrama a bloques interno del PIC................................................7 Figura 1.2.1 integrado MAX232...........................................................................9. Figura 1.2.2 Configuracin interna del MAX232..................................................10 Figura 2.1.1 Componente para comunicacin serial...........................................15 Figura 2.1.2 Cuadro o caja de herramientas.......................................................16 Figura 2.2.1 Diagrama de reloj del PIC................................................................31 Figura 3.1.1 Seal PWM......................................................................................32 Figura 3.2.1 Software mnimo necesario ............................................................36 Figura 3.3.1 Motor de C.D....................................................................................37 Figura 3.3.2 Puente H (LMD18200)....................................................................38 Figura 3.3.3 Diagrama de conexiones del puente LMD18200.............................39 Figura 3.4.1 ventana de instalacin del software del controlador........................40 Figura3.4.2 Administrador de dispositivos............................................................41 Figura 3.4.3 Propiedades del dispositivo..............................................................41. Figura 3.4.4: Instalando el controlador.................................................................42 Figura 3.4.5 ventana de seguridad de Windows..................................................43 Figura 3.4.6 ventana de finalizacin de instalacin del controlador.....................44

~ iv ~

Ing. Vicente Francisco. Prez Cadena.

INDICE DE TABLAS Tabla 1.1.1 caractersticas del PIC 18F4550............................................................5

~v~

Ing. Vicente Francisco. Prez Cadena.

1.-INTRODUCCIN
Hoy en da en cualquier sistema mecatrnico es de vital importancia tener el conocimiento terico practico de protocolos de comunicacin para conocer las diferentes alternativas que podemos usar a travs de una computadora personal, como es el caso de sus puertos de comunicacin, con los cuales podemos mandar y recibir datos para controlar un proceso determinado, es por tal razn que fue diseado este curso, ya que en la actualidad el puerto paralelo y serial han ido desapareciendo dejando como sucesor al puerto USB, debido a esta situacin es importante conocer el manejo del puerto USB de las computadoras personales. Por otra parte, los participantes que toman este curso tienen que estar relacionados de alguna manera con electricidad y electrnica bsica. Se debe de tener en consideracin los conocimientos mnimos necesarios para comprender ciertos trminos que se manejan en esta disciplina y que se utilizarn en este manual. Este manual combina tres importantes aspectos: la teora, pilar base del conocimiento, los ejemplos y problemas, que permiten aplicar los conocimientos tericos y la realizacin de prcticas, que permiten experimentar y por consiguiente afianzarse en ese conocimiento adquirido. Si a todo ello se aade que la experiencia en el manejo de estas herramientas, resulta imprescindible en el desarrollo de aplicaciones con el protocolo USB. Este curso se desarrollara en tres partes, una es la parte terica explicando brevemente los elementos que necesitamos conocer y aplicar para entender el protocolo USB, la segunda es la construccin del circuito de pruebas mediante el protoboard y el material adecuado y por ltimo la realizacin de ejercicios y la comprobacin de los mismos con una duracin de 40hrs.

~ vi ~

Ing. Vicente Francisco. Prez Cadena.

3.-OBJETIVO
Implementar una interfaz de comunicacin USB mediante la programacin del microcontrolador 18F4550 para controlar la velocidad de un motor de corriente directa desde una computadora personal,

~ vii ~

Ing. Vicente Francisco. Prez Cadena.

CAPITULO 1 INTRODUCCIN A LOS MICROCONTROLADORES 18F4550.


En el siguiente captulo se describe la arquitectura interna del microcontrolador 18F4550, as como sus principales caractersticas que nos permitirn conocer las ventajas que tienen esta clase de dispositivos con respecto a los de la familia 16FXXXX y que nos permitirn manejar el protocolo USB. 1. CONCEPTOS BSICOS

1.1.1ARQUITECTURA DEL PIC


Desde la aparicin del microprocesador en 1971 (Intel), los circuitos integrados programables han tenido una evolucin continua y acelerada en el tiempo. En 1978 aparece el 8048, la primera microcomputadora (llamada ms tarde microcontrolador) en un slo circuito integrado. El hecho fundamental fue que por primera vez se integra en un slo empaque: 3 La unidad central de procesamiento. El CPU de este microcontrolador ofreca menores prestaciones comparados con el Z80, 8085 o el 6800 de esa poca. Estuvo orientado al manejo de bits y posea una entrada de interrupcin externa. 4 5 6 Memoria de almacenamiento de programa de 1 KB (ROM o EPROM, segn la versin). Memoria de datos RAM de 64 bytes. Temporizador de 8 bits. Sobre dos arquitecturas se ha basado la fabricacin de Microcontroladores: la arquitectura de von Neumann y la de Harvard. La Arquitectura de von Neumann se considera la clsica, fue utilizada por la mayora de los primeros microprocesadores de la poca. Un slo bus de datos y direcciones enlazaba la unidad central de procesamiento a una nica memoria. La arquitectura de Harvard, en cambio, tiene dos memorias: una de datos y una de programa. Al CPU se conectan estas dos memoras por buses independientes.

Ing. Vicente Francisco Prez Cadena.

Muchos son los fabricantes de microcontroladores, sin embargo Microchip a nivel mundial lidera el mercado con sus productos.

1.1.2ARQUITECTURA VON NEUMANN


La arquitectura tradicional de computadoras y microprocesadores se basa en el esquema propuesto por John Von Neumann, en el cual la unidad central de proceso, o CPU, est conectada a una memoria nica que contiene las instrucciones del programa y los datos. El tamao de la unidad de datos o instrucciones est fijado por el ancho del bus de la memoria. Es decir que un microprocesador de 8 bits, que tiene adems un bus de 8 bits que lo conecta con la memoria, deber manejar datos e instrucciones de una o ms unidades de 8 bits (bytes) de longitud. Cuando deba acceder a una instruccin o dato de ms de un byte de longitud, deber realizar ms de un acceso a la memoria. Por otro lado este bus nico limita la velocidad de operacin del microprocesador, ya que no se puede buscar de memoria una nueva instruccin, antes de que finalicen las transferencias de datos que pudieran resultar de la instruccin anterior. Es decir que las dos principales limitaciones de esta arquitectura tradicional son: a) que la longitud de las instrucciones est limitada por la unidad de longitud de los datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para buscar instrucciones complejas. b) que la velocidad de operacin (o ancho de banda de operacin) est limitada por el efecto de cuello de botella que significa un bus nico para datos e instrucciones que impide superponer ambos tiempos de acceso. La figura1.1.1 indica el diagrama de bloques de la arquitectura tratada:

Ing. Vicente Francisco Prez Cadena.

Figura1.1.1 Arquitectura Von Neuman 1.1.3ARQUITECTURA HARVARD


La arquitectura conocida como Harvard, consiste simplemente en un esquema en el que el CPU est conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria de Datos. Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instruccin Set Computer), el set de instrucciones y el bus de la memoria de programa pueden disearse de manera tal que todas las instrucciones tengan una sola posicin de memoria de programa de longitud. Adems, como los buses son independientes, el CPU puede estar accediendo a los datos para completar la ejecucin de una instruccin, y al mismo tiempo estar leyendo la prxima instruccin a ejecutar. Se puede observar claramente que las principales ventajas de esta arquitectura son: a) que el tamao de las instrucciones no est relacionado con el de los datos, y por lo tanto

puede ser optimizado para que cualquier instruccin ocupe una sola posicin de memoria de programa, logrando as mayor velocidad y menor longitud de programa. b) que el tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operacin. Una pequea desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran fsicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador). La figura 1.2 muestra el diagrama de bloques de la arquitectura de Harvard.

Ing. Vicente Francisco Prez Cadena.

Figura 1.1.2 Arquitectura harvard 1.1.4CARACTERSTICAS FUNDAMENTALES DEL 18F4550


El PIC 18F4550, pertenece a los microcontroladores PIC18 de gama alta. Posee una arquitectura RISC (reduced instruction set computer) de 16 bits longitud de instrucciones y 8 bits de datos. La tabla muestra en resumen las caractersticas fundamentales de este microcontrolador y de sus antecesores los PIC18F2455/2550/4455

CARACTERSTICAS

PIC18F2455 Hasta

PIC18F2450

PIC18F4455 PIC18F4550 Hasta 48MHz Hasta 48MHz

Frecuencia de Operacin

48MHz

Hasta 48MHz

Memoria de Programa (bytes) Memoria RAM de Datos (bytes) Memoria EEPROM Datos (bytes) Interrupciones Lneas de E/S Temporizadores Mdulos de

24.576

32.768

24.576

32.768

2.048

2.048

2.048

2.048

256 19 24 4

256 19 24 4

256 20 35 4

256 20 35 4

Comparacin/Captura/PW 2 M (CCP) Mdulos de Comparacin/Captura/PW 0 M mejorado (ECCP)

Ing. Vicente Francisco Prez Cadena.

Canales de Comunicacin Serie Canal USB Puerto Paralelo de Transmisin de Datos (SPP) Canales de Conversin A/D de 10 bits

MSSP.EUSAR MSSP.EUSAR MSSP.EUSA MSSP.EUSA T 1 T 1 R 1 R 1

10 Canales

10 Canales 2

13 Canales 2 75 (83 ext.) PDIP40

13 Canales 2 75 (83 ext.) PDIP40 pines QFN 40 pines TQFP 40 pines

Comparadores analgicos 2 Juego de instrucciones 75 (83 ext.)

75 (83 ext.)

Encapsulados

PDIP28 pines PDIP28 pines SOIC28 pines SOIC28 pines

pines QFN 40 pines TQFP 40 pines

Tabla 1.1.1 caractersticas del PIC 18F4550

Ing. Vicente Francisco Prez Cadena.

Figura 1.1.3 Pines del microcontrolador 18F4550

Ing. Vicente Francisco Prez Cadena.

Figura 1.1.4 Diagrama a bloques interno del PIC


7 Ing. Vicente Francisco Prez Cadena.

1.

PROTOCOLO RS232.

1.2.1 PUERTO SERIE RS 232

El puerto serial de las computadoras es conocido como puerto serie RS-232, la ventaja que tenia ste puerto es que todas las computadoras poseen al menos un puerto serial y an cuando no lo tengan, se puede conseguir mediante un convertidor de USB a serial RS 232, que en nuestro caso no necesitamos este convertidor porque la conversin la hacemos directamente del microcontrolador a la PC,

Existen dos formas de intercambiar informacin binaria, paralela y serial.

La comunicacin paralela transmite todos los bits de un dato de manera simultnea, por lo tanto la velocidad de transferencia es rpida, sin embargo tiene la desventaja de utilizar una gran cantidad de lneas, por lo tanto se vuelve ms costoso y tiene la desventaja de atenuarse a grandes distancias, por la capacitancia entre conductores as como sus parmetros distribuidos.

1.2.2 LA NORMA RS 232

Ante la gran variedad de equipos, sistemas y protocolos que existen surgi la necesidad de un acuerdo que permitiera a los equipos de varios fabricantes comunicarse entre s. La EIA (Electronics Industry Association) elabor la norma RS-232, la cual define la interfaz mecnica, los pines, las seales y los protocolos que debe cumplir la comunicacin serial.

Todas las normas RS -232 cumplen con los siguientes niveles de voltaje:

Un 1 lgico es un voltaje comprendido entre -5volts y -15volts en el transmisor y entre -3volts y -25volts en el receptor.

Ing. Vicente Francisco Prez Cadena.

Un 0 lgico es un voltaje comprendido entre +5volts y +15volts en el transmisor y entre +3volts y +25volts en el receptor. El envo de niveles lgicos (bits) a travs de cables o lneas de transmisin necesita la conversin de voltaje apropiado. En los microcontroladores representar un 0 lgico se trabaja con voltajes inferiores a 0.8volts y para un 1 lgico con voltajes mayores a 2 volts en general cuando se trabaja con familias TTL Y CMOS se asume que un 0 lgico es igual a cero volts y un 1 lgico es igual a cinco volts. La importancia de conocer sta norma, radica en los niveles de voltaje que maneja el puerto serial de la computadora, ya que son diferentes a los que utilizan los microcontroladores y los dems circuitos integrados. Por lo tanto se necesita de una interfaz que haga posible la conversin de los niveles de voltaje a los estndares manejados por los circuitos integrados TTL.

1.2.3CIRCUITO INTEGRADO MAX232


El circuito integrado MAX232 cambia los niveles TTL a los del estndar RS-232 cuando se hace una transmisin, y cambia los niveles RS-232 a TTL cuando se tiene una recepcin. El circuito tpico se muestra en la siguiente figura1.2.1:

Figura 1.2.1 integrado MAX232.

Ing. Vicente Francisco Prez Cadena.

Terminales: Observa que se indican las terminales que deben ir conectadas PIC16F84. Adems, en el otro extremo se tiene la conexin con un DB9-macho, el cual se conecta al cable de la HP48G (con el que cargas tus programas).

Este circuito integrado soluciona los problemas de niveles de voltaje cuando se requiere enviar seales digitales sobre una lnea RS-232. el MAX232 se usa en aquellas aplicaciones donde no se dispones de fuentes dobles de +12V; por ejemplo, en aplicaciones alimentados con bateras de una polaridad. El MAX232 necesita solamente una fuente de +5V para su operacin; un elevador de voltaje interno convierte el voltaje de +5V al doble de polaridad de +-12V. A continuacin se muestra la estructura interna del MAX232 y algunas de sus caractersticas.

Figura 1.2.2 Configuracin interna del MAX232

10

Ing. Vicente Francisco Prez Cadena.

1.

PROTOCOLO USB.

Este tipo de comunicacin tiene varias ventajas en cuanto a la transferencia de datos, debido a que actualmente casi la totalidad de las computadoras modernas lo traen integrado.

Este puerto de comunicacin ha logrado un importante avance cuando se trata de conectar varios dispositivos externos, debido a que permite conectar un mayor nmero de ellos de manera simultnea y con una importante velocidad de transferencia.

El USB (Universal Serial Bus) permite conectar hasta 127 dispositivos y ya es un estndar en las PCs de ltima generacin, que incluyen al menos dos puertos USB 1.1, o puertos USB 2.0 en las ms actuales.

Las ventajas que ofrece este puerto de comunicacin en comparacin con otro tipo de protocolos se mencionan a continuacin:

1. Es totalmente Plug & Play, es decir, con slo conectar el dispositivo y con la PC funcionando, el dispositivo es reconocido e instalado de manera inmediata, nicamente se requiere que el Sistema Operativo lleve incluido el correspondiente controlador o driver, lo que ya es posible para la mayora de ellos sobre todo si se dispone de un Sistema Operativo como por ejemplo Windows XP, de lo contrario el driver le ser solicitado al usuario. 2. Posee una alta velocidad en comparacin con otro tipo de puertos, USB 1.1 alcanza los 12 Mb/s y hasta los 480 Mb/s (60 MB/s) para USB 2.0, mientras un puerto serie o paralelo tiene una velocidad de transferencia inferior a 1 Mb/s. El puerto USB 2.0 es compatible con los dispositivos USB 1.1 3. El cable USB permite tambin alimentar dispositivos externos a travs de l, siendo el consumo mximo de este controlador de 5 volts. Los dispositivos se pueden dividir en dispositivos de bajo consumo (hasta 100 mA) y dispositivos de alto consumo (hasta 500 mA), para dispositivos de ms de 500 mA ser necesario alimentacin externa. Se debe tener en cuenta tambin que si se utiliza un concentrador y ste est alimentado, no ser necesario realizar consumo de energa del bus. 11 Ing. Vicente Francisco Prez Cadena.

Hay que tener en cuenta que la longitud del cable no debe superar los 5 mts. y que ste debe cumplir las especificaciones del Standard USB iguales para la 1.1 y la 2.0.

El puerto USB tiene la peculiaridad de conectar varios dispositivos a la vez. Para conectar varios dispositivos USB es necesario un concentrador o HUB, de tal forma que ser el concentrador quin se conecte al puerto USB del PC, y alrededor del Hub se conecten los dispositivos. Estos dispositivos a su vez pueden actuar como HUB para otros dispositivos.

Los dispositivos USB 2.0 slo pueden ser conectados a puertos USB 2.0 aunque los dispositivos USB 1.1, s pueden ser conectados a puertos USB 2.0 adems del propio USB 1.1

El puerto USB pertenece a un controlador fsico que puede estar en la propia placa base o en una tarjeta de expansin. A este conector se le denomina concentrador raz y suele disponer de dos conectores.

Esto es importante, ya que no es lo mismo conectar dos dispositivos al mismo controlador que cada uno de ellos a un controlador distinto: en el primer caso deben compartir el ancho de banda y en el segundo caso no, es decir, tanto el ancho de banda como la alimentacin deben ser repartidas entre todos los dispositivos conectados a un mismo bus.

El USB 1.1 es un bus externo que soporta tasas de transferencia de datos de 12 Mbps y un solo puerto USB se puede utilizar para conectar hasta 127 dispositivos perifricos, tales como ratones, mdems, y teclados. El USB tambin soporta la instalacin Plug-andPlay y el hot plugging.

El puerto USB empez a utilizarse en 1996, algunos fabricantes de computadoras comenzaron a incluir soporte para USB en sus nuevas mquinas. Con el lanzamiento de

12

Ing. Vicente Francisco Prez Cadena.

las PCs Mac en 1998 el uso del USB se extendi. En un futuro cercano, se espera que substituya totalmente a los puertos de serie y paralelo. USB 2.0. Tambin conocido como USB de alta velocidad, cuya especificacin fue lanzada en abril del ao 2000, actualmente es un bus externo que soporta tasas de transferencia de datos de hasta 480Mbps.

Hewlett-Packard, Intel, Lucent, Microsoft, NEC y Philips tomaron juntos la iniciativa para desarrollar una tasa de transferencia de datos ms alta que la del USB 1.1 para resolver las necesidades de ancho de banda de las nuevas tecnologas.

13

Ing. Vicente Francisco Prez Cadena.

CAPITULO 2 PROGRAMACIN PARA LA ADQUISICIN Y PROCESAMIENTO DE DATOS.


En este captulo se explicara los requerimientos bsicos necesarios que se tienen que tomar en cuenta tanto en la parte de software como en la de hardware para el envi y recibimiento de datos desde la PC al PIC y viceversa, lo cual es lo ms importante de nuestro curso.

PROGRAMACIN PARA COMUNICACIN SERIAL RS232 BAJO AMBIENTE VISUAL BASIC.

Para poder acceder al puerto serial y as poder enviar datos utilizando una aplicacin creada en Visual Basic, se hace uso del control MS COMM, el cual trae incorporada todas las funciones para configurar el puerto. Es gracias a este control que el manejo del puerto serial se facilita enormemente. Las propiedades ms importantes de este control son las siguientes: Este control permite la comunicacin de una aplicacin VB con el puerto serie. Parece en principio que los puertos serie del PC se usan para muy pocas cosas Prcticamente para conectarnos a Internet a travs de un modem telefnico. Existen muchsimas aplicaciones industriales para las cuales son fundamentales los puertos COM. El control MSCOMM no est normalmente en la caja de herramientas por lo que ser necesario introducirlo mediante Proyecto / Componentes (Ctrl.-T). En el formulario solamente se le ve en el tiempo de diseo. El icono que lo representa en la caja de herramientas coincide con el que se representa en el formulario:

14

Ing. Vicente Francisco Prez Cadena.

Figura 2.1.1 Componente para comunicacin serial

Al tratarse de un control personalizado, presenta dos formas de ver las propiedades, si se hace click con el botn derecho del ratn sobre el control y se selecciona propiedades, se presentan tres cuadros de configuracin de los tpicos de los controles personalizados. Si se selecciona el control MSCOMM y se pulsa F4, aparecer la caja de propiedades tpica de los controles VB.

PROPIEDADES

Existen propiedades que pueden establecerse en tiempo de diseo o en tiempo de ejecucin, y otras que solamente se pueden ejecutar o consultar en solamente en
15 Ing. Vicente Francisco Prez Cadena.

tiempo de ejecucin. Se detallan a continuacin las primeras. Las segundas se enumeran tras estas, aunque se nombran algunas de estas ltimas al explicar cada una de las propiedades del primer tipo.

Figura 2.1.2 Cuadro o caja de herramientas

CommPort Indica el nmero del puerto serie usado. Admite los valores de 1 a 255. Cambiando esa propiedad podemos cambiar el puerto de comunicacin que vamos a usar (Un PC tiene normalmente 2 puertos serie: El Com1 y el Com2. Puede tener sin grandes problemas

16

Ing. Vicente Francisco Prez Cadena.

Hardware hasta 4 (Com3 y Com4) Si le damos a ese valor un nmero de puerto inexistente, dar error. Settings

Sintaxis

Velocidad, Paridad, Bits de informacin, Bits parada

Indica la velocidad, paridad, nmero de bits y bits de stop (parada) que se van a usar en la comunicacin. Los valores posibles para velocidad son: Indica la velocidad en baudios.

50

100

110

300 600

1200

2400

4800

9600

14400

19200 y

28800

Los valores posibles para paridad son:

N - No enva bit de paridad ni hace comprobacin de paridad en la recepcin. O - Enva y comprueba paridad, con el criterio de paridad IMPAR E - Enva y comprueba paridad, con criterio de paridad PAR

Los valores para el parmetro Bits de Informacin pueden ser:

7 - Se envan / reciben 7 bits por trama de informacin. 8 - Se envan / reciben 8 bits por trama de informacin 5 - Se envan / reciben 5 bits por trama de informacin. Este valor de 5 bits es el tpico del sistema Baudot para transmisin telegrfica (Teletipos) que se ha conservado en las comunicaciones informticas por pura tradicin. Si se eligen 5 bits, los bits de parada se ponen automticamente a 1,5 (Tpico tambin del sistema Baudot.)

Los valores para el parmetro Bits de parada pueden ser:

17

Ing. Vicente Francisco Prez Cadena.

1 - Se enva un bit de parada 2 - Se envan 2 bits de parada (No es posible programar 1,5 bits de parada. Slo lo hace cuando se programan 5 bits de informacin y lo hace automticamente).

Handshaking

Especifica el mtodo de control sobre el flujo de informacin. En una comunicacin serie se necesita conocer si el puerto puede enviar informacin (necesita saber si el mdem est preparado para recibirla) y necesita indicarle al mdem que l est preparado para recibir informacin. A este proceso se le denomina Handshaking. (Handshaking = Control de Flujo) (Como sabr por sus conocimientos de ingls, Handshaking significa apretn de manos, ponerse de acuerdo. Y ponerse de acuerdo entre dos terminales que van a comunicarse es establecer las condiciones de control que uno va a tener sobre otro.)

El Control de Flujo puede hacerse de dos formas: Una mediante las seales auxiliares del puerto (RTS, CTS, DSR, DTR), que son cables adicionales que tendrn una tensin positiva respecto a los 0V del equipo si esa seal est activada, o una tensin negativa si no lo est. Este tipo de control del flujo de informacin es el tpico para comunicarse el ordenador con un mdem.

Existe otra forma de controlar el flujo de informacin: mediante seales especiales que se envan por los dos cables que transportan la informacin. Mediante estas dos seales podemos controlar que el ordenador enve informacin o deje de enviarla. De igual forma, podemos indicarle al mdem que enve o no enve. Estas seales especiales se denominan X-ON y X-OFF.

La propiedad Handshaking controla la forma de realizar este proceso. Puede tomar los siguientes valores:

0 - No existe Control de Flujo 1 - Control de Flujo mediante XON - XOFF 2 - Control de Flujo mediante Request To Send (RTS) y Clear To Send (CTS) 18 Ing. Vicente Francisco Prez Cadena.

3 - Control de Flujo mediante XON - XOFF y RTS - CTS

Los tres tipos de Control de Flujo tiene cada uno su aplicacin.

InBufferSize Mediante esta propiedad establecemos el tamao del Buffer (almacn de datos) de entrada. Este Buffer sirve para poder recibir datos sin que tenga que intervenir la aplicacin continuamente para controlar el puerto de entrada. Puede conocerse el nmero de caracteres presentes en el Buffer de entrada consultando el valor de la propiedad InBufferCount. OutBufferSize Mediante esta propiedad controlamos el tamao del Buffer de salida. El tamao de los Buffers depender de la aplicacin y de la velocidad de comunicacin. Si la aplicacin tiene muchas cosas que hacer, aparte de controlar el puerto de comunicaciones, se deber poner un Buffer grande. Tanto ms grande cuanta mayor sea la velocidad de transferencia de datos.

Puede conocerse el nmero de caracteres presentes en el Buffer de salida (los que an estn por transmitir), consultando el valor de la propiedad OutBufferCount.

RThreshold, SThreshold Estas dos propiedades especifican el nmero de caracteres que deben estar presentes en los Buffers de Recepcin y Transmisin respectivamente, para que se produzca el evento OnComm relativo a recepcin y transmisin de caracteres. (Eventos EvReceive y EvSend) Si el valor de una de estas propiedades est a 0, no se produce el evento OnComm correspondiente. El valor que se debe dar a estas dos propiedades depende de la aplicacin y del tiempo que queramos que la aplicacin est atendiendo al puerto de comunicaciones. Concretamente para la propiedad RThreshold debemos pensar muy bien el valor que se le pone. Si ponemos un valor corto (1 es el mnimo), cada vez que reciba un carcter se producir el evento OnComm. (Vea la descripcin de eventos ms adelante). Al producirse este evento, ejecutar el procedimiento asociado a l, lo que har perder tiempo a la aplicacin, impidindole realizar otras funciones. Si se pone un valor muy alto, el puerto no avisar que tiene caracteres recibidos hasta que reciba un nmero igual al programado en esta propiedad, por lo que no podremos procesar los datos recibidos 19 Ing. Vicente Francisco Prez Cadena.

hasta que el buffer tenga ese nmero de caracteres en su interior. En nmero adecuado depender del tipo de aplicacin que vayamos a realizar. En cualquier caso, este nmero ser inferior al nmero programado para la longitud del buffer, (InBufferSize)

InputLen
Por defecto, cuando se lee el Buffer de recepcin, se leen todos los caracteres, quedando el Buffer vaco. Si se le asigna a esta propiedad un valor distinto de 0, cada vez que leamos el Buffer de recepcin leer un nmero de caracteres igual a esa cantidad, permaneciendo los caracteres restantes en el Buffer a la espera de una nueva lectura. Asignndole el valor 0 (Valor por defecto), el buffer se lee completo.

ParityReplace Si la comunicacin se realiza con bit de paridad (Par o Impar), en recepcin se comprueba byte a byte la recepcin de la paridad correcta. Si se recibe un Byte que no tiene paridad correcta, lo ms probable es que ese Byte (carcter) se haya recibido defectuoso. Esta propiedad nos permite sustituir un carcter que ha llegado con bit de paridad incorrecto por otro carcter. ( ? Predeterminado). Se puede sustituir por una cadena de caracteres (Error, por ejemplo).

NullDiscard Cuando se recibe el carcter nulo (00000000) puede ser que no sirva para nada a efectos de nuestra aplicacin, o que este carcter sea un dato ms. Esta propiedad acepta los valores True / False. Si es True se desprecia el carcter Nulo. Si es False, se toma como un carcter ms. CTSTimeout Es el tiempo (en milisegundos) que permanece esperando la seal CTS (Seal CTS Dispuesto para enviar), seal de entrada al ordenador que debe estar presente antes de que el puerto comience a enviar informacin. El tiempo se mide desde que se pone activa la seal de salida RTS (Peticin de envo). Si se supera este tiempo entre el instante de activacin de la seal RTS y la recepcin de la seal CTS, se produce el evento CTSTO. Poniendo 0 en esta propiedad, se deshabilita, y en estas condiciones no se producir nunca el evento CTSTO.

CDTimeout Es el tiempo mximo de espera (en milisegundos) desde que se activa la seal DTR hasta que se recibe la seal CD (Carrier Detect - Deteccin de portadora). Este tiempo solamente tendr importancia en ciertas aplicaciones donde se espere recibir CD 20 Ing. Vicente Francisco Prez Cadena.

continuamente. No tendr sentido cuando la aplicacin se queda en espera a recibir una comunicacin, pero sin saber cuando la tiene que recibir. Si transcurre el tiempo programado en esta propiedad, ocurrir el evento CDTO. Poniendo el valor 0 se deshabilita esta propiedad y no se producir nunca el evento CDTO. DSRTimeout Similar a la anterior, pero en vez de esperar la seal CD se espera la seal DSR. Esta propiedad s tiene sentido, ya que si, por ejemplo, estamos conectados con un mdem, y nuestra aplicacin se pone a la espera de recibir alguna llamada, activa la salida DTR, y espera recibir inmediatamente la respuesta de que el mdem est dispuesto, mediante la lnea DSR. Si transcurre el tiempo programado sin recibir la seal DSR se producir el evento DSRTO . Ponindola a 0, se deshabilita esta propiedad y nunca ocurrir el evento DSRTO.

RTSEnable Activa (Pone a 1) la seal RTS (Request To Send - Peticin de envo) Esta seal debe ponerse a 1 para indicar al mdem (o al equipo que va a recibir nuestra comunicacin) que deseamos enviar datos. Debe estar activada durante toda la transmisin de datos. Cuando se pone la propiedad Handshaking a 2 (control con RTS / CTS) 3 (Control con RTS / CTS y con X-ON / X-OFF) no debemos preocuparnos de poner a 1 la seal RTS, pues lo hace automticamente el puerto de comunicaciones. Esta propiedad est ah para aplicaciones donde no se emplee ese tipo de Handshaking y necesitemos activar algo antes de transmitir. (Caso por ejemplo de transmisin de datos por radio, donde podemos usar esta seal de salida para activar el PTT (Push To Talk - Pulse para hablar) y poner el transmisor en marcha)

DTREnable Activa (Pone a 1) la salida DTR (Data Terminal Ready - Terminal de Datos Listo). Esta seal se emplea para decirle al mdem que el terminal (Ordenador) est preparado para recibir datos. Se hace la misma observacin que para la propiedad anterior respecto a los valores de la propiedad Handshaking

Interval Indica el tiempo (en milisegundos) del intervalo entre una y otra comprobacin del estado de recepcin del puerto. El valor mnimo es de 55 ms.

21

Ing. Vicente Francisco Prez Cadena.

El anlisis del puerto de comunicacin no tiene nada que ver con la generacin del evento OnComm. Este evento se producir cuando se cumplan las condiciones para ello, independientemente del tiempo programado en esta propiedad. La comprobacin del puerto cada intervalo de tiempo marcado por esta propiedad solamente afecta a averiguar el estado de las lneas auxiliares CD, DSR y CTS, y para saber el nmero de caracteres existentes en los Buffers de transmisin y recepcin.

Las siguientes propiedades no difieren en nada respecto a otros controles :

Left, Name, Index, Top, Tag

2.2.1PROPIEDADES PROPIAS DEL TIEMPO DE EJECUCIN

PortOpen

Abre el puerto de comunicacin. Puede tener los valores True (Para abrirlo) y False (Para cerrarlo) Si tenemos un MSComm con Nombre (Name) MSComm1, para abrirlo ejecutaremos la siguiente sentencia: MSComm1.PortOpen = True Para cerrarlo, ejecutaremos: MSComm1.PortOpen = False

InBufferCount. Nos permite averiguar cuntos caracteres tenemos en el Buffer de entrada. Con el mismo MSComm anterior, comprobaremos el nmero de caracteres sin leer con la sentencia:

caracteressinleer = MSComm1.InBufferCount

OutBufferCount Nos permite conocer cuntos caracteres quedan por transmitir en el Buffer de salida. Emplearemos la sentencia: 22 Ing. Vicente Francisco Prez Cadena.

caracteressinenviar = MSComm1.OutBufferCount

Output

Enva caracteres al Buffer de salida. Debe existir un signo igual ( = ) entre Output y lo que se enva al Buffer. Para enviar la frase Curso de Visual Basic ejecutaremos la sentencia:

MSComm1.Output = Curso de Visual Basic Si deseamos enviar el contenido de una variable MSComm1.Output = variable

Input Lee el Buffer de recepcin. El nmero de caracteres ledos depender del valor de la propiedad InputLen. Cuando la propiedad InputLen tiene el valor 0, el Buffer se lee completo. Si InputLen tiene un valor distinto de 0, se leer un nmero de caracteres igual al valor de esta propiedad.

CommEvent
Devuelve el evento ms reciente que ha ocurrido para generar el evento general OnComm (Vea ms adelante). Esta propiedad no est disponible en tiempo de diseo y es de slo lectura en tiempo de ejecucin. Sintaxis NombredelMSComm.CommEvent

Break Devuelve un valor (True / False) que indica que se ha recibido la seal Break.

Variable = MSComm1.Break CDHolding

23

Ing. Vicente Francisco Prez Cadena.

Devuelve el estado de la lnea de control CD (Deteccin de Portadora) Si es True, esa entrada est activada, si es False, la entrada est desactivada. variable = MSComm1.CDHolding

CTSHolding

Devuelve el estado de la lnea de control CTS (Dispuesto para enviar) Si es True, esa entrada est activada, si es False, la entrada est desactivada. variable = MSComm1.CTSHolding

DSRHolding

Devuelve el estado de la lnea de control DSR (Data Set Ready) Si es True, esa entrada est activada, si es False, la entrada est desactivada.

variable = MSComm1.DSRHolding Eventos del MSComm

El MSComm tiene varios eventos, pero un solo Procedimiento : el Procedimiento OnComm. Este procedimiento se ejecuta cada vez que se produce alguno de los eventos del MSComm. Esto quiere decir que para escribir el cdigo apropiado en el procedimiento del MSComm ser necesario analizar qu evento se ha producido y colocar, mediante una sentencia IfThen el cdigo apropiado para cada uno de los eventos que se produzcan.

Para averiguar qu evento se ha producido puede hacerse consultando el valor de la propiedad CommEvent. (Se toma como nombre del MsComm el de MsComm1)

If

MsComm1.CommEvent = ComEvRing Then

'Se ha consultado si el evento particular que ha producido el evento general OnComm 'ha 24 Ing. Vicente Francisco Prez Cadena.

sido el ComEvRing (Se est recibiendo la llamada del telfono). En esta sentencia If Then deberemos colocar el cdigo necesario para que la aplicacin se prepare para recibir una comunicacin a travs del mdem.

End If

Los eventos del Comm pueden identificarse por una constante o un nmero. La constante, como todas las de Visual Basic, tiene una expresin bastante difcil. Se pone entre parntesis el nmero que identifica a ese evento. Este nmero debe declararse como Integer.

Se ejecutar el Procedimiento OnComm cuando ocurra alguno de los siguientes eventos:

ComEvCD

(5)

Cambio en la lnea CD. Para conocer el estado actual de esa Lnea (Activado/Desactivado) deberemos invocar la propiedad CDHolding.

ComEvCTS ( 3 )

Cambio en la lnea CTS. Igual que la anterior, este evento solamente nos indica que ha existido un cambio. Para averiguar el estado en que se encuentra esta lnea, debemos invocar la propiedad CTSHolding.

ComEvDSR ( 4 )

Cambio en la lnea DSR. Igual que las anteriores. Debemos invocar la propiedad DSRHolding para averiguar su estado actual.

ComEvRing ( 6 )

Cambio en la lnea de deteccin de llamada (Ring). Este evento se produce cuando hay un cambio en la lnea Ring (Deteccin de llamada en el mdem) No existe una propiedad para averiguar el estado de la lnea Ring pues no es necesario. Lo importante de esta lnea es que est cambiando, es decir, el 25 Ing. Vicente Francisco Prez Cadena.

telfono est sonando y poco importa que analicemos si la lnea Ring est a 1 o a 0, pues toda llamada telefnica es intermitente. Dependiendo de la UART de su PC, puede que este evento no lo soporte.

ComEvReceive ( 2 ) Cuando se recibe un nmero igual o mayor de caracteres que el indicado en la Propiedad RThreshold

ComEvSend ( 1 )

Cuando quedan en el bfer de transmisin menos caracteres que los indicados en la Propiedad SThreshold

ComEvEOF ( 7 )

Recibido un carcter de fin de archivo (carcter ASCII 26) .

comEventBreak (1001)

Se ha recibido una seal de interrupcin. (Break)

ComEventCDTO (1007)

Tiempo de espera de Deteccin de portadora. La lnea

deteccin de portadora (CD) estuvo baja durante el periodo de tiempo especificado en la Propiedad CDTimeout, mientras se intentaba transmitir un carcter.

ComEventCTSTO

1002 Tiempo de espera de Preparado para enviar. La lnea Preparado para enviar (CTS) estuvo baja durante el periodo de tiempo especificado en la propiedad CTSTimeout mientras se intentaba transmitir un carcter.

ComEventDSRTO

1003 Tiempo de espera de Equipo de datos preparado. La Lnea Equipo de datos preparado (DSR) estuvo baja durante el periodo de tiempo especificado en la propiedad DSRTimeout mientras se intentaba transmitir un carcter.

26

Ing. Vicente Francisco Prez Cadena.

ComEventOverrun 1006 Se sobrepas la capacidad del Buffer de entrada sin haber ledo todos los caracteres. Los caracteres no ledos se han perdido. Debemos aprovechar este evento para solicitar al colateral una repeticin de los datos perdidos.

ComEventRxOver 1008

Desbordamiento del bfer de recepcin. No hay espacio para ms datos en el bfer de recepcin.

ComEventRxParity 1009

Error de paridad. El hardware ha detectado un error de paridad.

ComEventTxFull

1010 Bfer de transmisin lleno. El bfer de transmisin Estaba lleno cuando se ha intentado agregar un carcter a la cola de transmisin. Este error es fcil de evitar, analizando el valor de la propiedad OutBufferCount antes de enviar ms datos al buffer de salida.

ComEventDCB

1011 Error inesperado al recuperar el Bloque de control de dispositivos (DCB) para el puerto.

ComEventFrame

1004 Error de trama. El hardware ha detectado un error de trama.

27

Ing. Vicente Francisco Prez Cadena.

1.

2REQUERIMIENTOS BSICOS DEL MICROCONTROLADOR PARA ESTABLECER LA COMUNICACIN USB . Lo que se pretende en este curso es implementar una comunicacin serial Communications Devices Class entre el PIC y el Software del PC en nuestro caso Visual Basic, va USB 2.0 . Vamos a realizar completos ambos extremos de esta lnea de comunicacin, de una parte el firmware para el PIC en CCS C, y de la otra el software del PC en Visual Basic. Como intermediarios vamos a utilizar el recurso que es el Driver .inf para Windows mchpcdc.inf que microchip provee en su pgina de Internet El firmware del microcontrolador para establecer la comunicacin USB y emular el puerto serial fueron tomados de los ejemplos que proporciona el CCS C, adaptndolo a nuestras necesidades. De la parte del PC vamos a utilizar los programas de que disponemos para monitorizar un puerto COM serie estndar, en su caso el Hyperterminal de Windows Despus vamos a construir un programa en Visual Basic 6.0 que sea capaz de utilizar las funciones de la librera MSCOMM para establecer un puente entre el microcontrolador y la PC. Con todo ello pretendemos conseguir que enviemos comandos e informacin al PIC y ste nos conteste oportunamente devolvindonos lo que corresponda o sea emisin y recepcin de comandos simples y con parmetros. Para implementar transferencias masivas de informacin no hay ms que realizar funciones propias del compilador.
28 Ing. Vicente Francisco Prez Cadena.

2.2.1#FUSES HSPLL Y PLL5 La frecuencia de oscilacin necesaria para el USB 2.0 es de 48Mhz. Como estamos utilizando en nuestro hardware un cristal de cuarzo de 4Mhz no necesitamos hacer uso del mdulo PLL interno del PIC, pero hay que declararse en las cabeceras de este. Para ello utilizamos el fuse XTPLL. Como el mdulo PLL requiere una oscilacin de entrada de 4Mhz solo basta utilizar el divisor 1:1 indicado con el fuse PLL1 para obtener los 4:1 = 4Mhz requeridos. Para explicar un poco mejor como es que funciona el diagrama del reloj del PIC y conseguir 48MHz para trabajar con el USB y la CPU, se explicara detalladamente siguiendo la figura 2.2.1 1. En la figura 2.2.1 podemos observar que al inicio tenemos OSC1 y OSC2 es aqu donde tenemos que conectar el cristal que nosotros usemos 4 MHz, 8 MHz, 12 MHz, 16 MHz, 20 MHz, 24 MHz, 40 MHz 48MHz. Despus de haber seleccionado el cristal que en nuestro caso ser de 4MHZ que ser el mismo para generar los 48MHz, observaremos que despus del Primary Oscillator hay tres lneas distintas que van a diferentes mdulos, la primera lnea nos indica que va directamente al modulo USBDIV que llega directamente al nmero cero, esto nos indica que si usamos un cristal de 48MHz, obviamente tendremos una frecuencia base igual por lo tanto en nuestro programa tendramos que configurar el USBDIV con cero. La segunda lnea es la que nos interesa, en esta parte tenemos el PLL Prescaler y el PLLDIV estos mdulos funcionan dividiendo la frecuencia de entrada del cristal, por ejemplo si usamos un cristal de 20MHz tendremos que usar este modulo y dividir entre 5 para poder obtener una frecuencia de 4MHz, en nuestro caso como usamos un cristal de 4MHz dividimos esta frecuencia entre 1 es por tal razn que debemos escribir en nuestro programa el fusible PLL1. Despus del PLL Prescaler y el PLLDIV tenemos un modulo que con 4MHz podemos obtener 96MHz que es lo doble que nosotros necesitamos para los 48MHz que usa el USB, es por tal razn que el siguiente modulo es un divisor de frecuencia el cual a su salida nos entrega 48MHz que entran directamente al modulo USBDIV y la salida de este llega directamente al modulo FSEN, este modulo entrega directo la frecuencia de 48MHz al perifrico USB
29 Ing. Vicente Francisco Prez Cadena.

2.

3.

4.

5.

6.

7.

Si podemos observar tambin se conecta la seal del PLL a 96Mhz en un Postscaler, otro divisor, en este caso por 2, 3, 4 6 y cuyas seales van al CPUDIV. O sea que podemos generar una seal de reloj para nuestro PIC, no para el USB sino para la velocidad de ejecucin de nuestro programa tomndola del PLL y que puede ser de 16 MHz, 24 MHz, 32 MHz 48MHz. Despus de realizar la correspondiente divisin para la frecuencia de trabajo del PIC en el CPUDIV. tenemos el switch FOSC3 FOSC0 que es de donde sacaremos la definitiva frecuencia de ejecucin del programa. Por ltimo tambin tenemos disponible una entrada proveniente del Primary Clock y que dividida por 4 llega tambin a FSEN y podemos utilizarla en lugar de la que le llega desde el canal directo/PLL

30

Ing. Vicente Francisco Prez Cadena.

Figura 2.2.1 Diagrama de reloj del PIC

31

Ing. Vicente Francisco Prez Cadena.

CAPITULO 3 IMPLEMENTACIN DE UN CONTROL DE VELOCIDAD DE UN MOTOR DE C.D. DESDE UNA COMPUTADORA PERSONAL.
En este captulo se explicara el procedimiento de instalacin e instrucciones necesarias para establecer un control bsico para manipular un motor de corriente directa desde una interfaz en visual BASIC utilizando un PWM apropiado. 1. IMPLEMENTACIN DEL MDULO PWM. La modulacin de ancho de pulso PWM es una seal peridica en la que puede modificarse su ciclo de trabajo (Duty Cicle). Recibe el nombre Duty Cicle a la relacin de tiempos entre el estado alto y bajo de la seal utilizada. Se expresa como un porcentaje entre el periodo y el ancho del pulso. Cuando el Duty Cycle es cercano al 100%, el motor girara a una velocidad cercana a la mxima, ya que la tensin promedio aplicada en sus bornes ser casi igual a Vmax. Si el Duty Cycle se aproxima a 0%, el motor girara muy despacio, ya que la tensin promedio ser casi cero.

Figura 3.1.1 Seal PWM.


32 Ing. Vicente Francisco Prez Cadena.

Lo que se pretende en pocas palabras es variar el tiempo en el cual la seal esta a nivel alto (ancho de pulso) frente al tiempo que esta a nivel bajo. La resolucin que proporciona el modulo de PWM es de 10 bits y para que funcione correctamente necesitamos configurar algunos parmetros de nuestro programa, como es el timer 2 y por supuesto debe estar configurado como salida el pin del PWM y esto se hace mediante la configuracin del tris del puerto c que es donde se encuentra el modulo CCP1 y CCP2.

3.1.1 MODULO CCP

Debido a que el Mdulo CCP tiene tres funciones basadas en el manejo de los temporizadores (Timer), se pueden usar de tres diferentes formas: 1.-Registro de 16 bits para capturar el valor del temporizador al producirse un evento (CAPTURA). 2.-Registro de 16 bits para comparar su valor con el valor del temporizador TMR1, pudiendo provocar un evento cuando se alcanza el valor contenido en este registro (COMPARADOR). 3.-Registro de 10 bits para el ciclo de trabajo de una seal PWM.

La funcin nmero 3 es la que nos interesa. A continuacin se dan las instrucciones necesarias para el modulo PWM del microcontrolador: setup_ccp1(ccp_pwm);.................1

La instruccin nmero 1 es la que nos permite configurar el modulo CPP en la configuracin de registro de 10 bits para el ciclo de trabajo de una seal PWM.

33

Ing. Vicente Francisco Prez Cadena.

1.

setup_timer_2(t2_div_by_1,51,1);

POSTCALER PERIODO PRESCALER TIMER 2

Esta instruccin configura el PWM a la frecuencia con la que el motor de DC estar trabajando es decir que si el motor tiene una frecuencia natural de oscilacin que debe ser mayor de 20000Hz se debe de hacer los clculos necesarios para establecer el PERIODO, esto se realiza mediante la frmula siguiente:

Donde: Fosc = frecuencia del cristal a usar FNOSC= Frecuencia Natural de Oscilacin del motor

En nuestro caso usaremos un cristal de 4MHz y una Frecuencia Natural de Oscilacin de 19500Hz que es cercana a los 20000Hz , entonces aplicando la formula:

En el caso del PRESCALER se usara de 1 de la misma forma que el POSTCALER, entonces el periodo resultante es de 51.

34

Ing. Vicente Francisco Prez Cadena.

Para finalizar y configurar por completo el PWM necesitamos la ltima instruccin que es la que nos va a establecer con que velocidad queremos que el motor trabaje y est dada por la instruccin 3

2.

set_pwm1_duty(51); .........................3

En este caso estaremos iniciando con una velocidad mxima porque el duty cicle (PERIODO) es de 51.

1.

MONTAJE DEL CIRCUITO DE CONTROL.

Para lograr el lazo de comunicacin y control del puerto USB, se utiliz un microcontrolador, que cuenta entre sus caractersticas especiales con la inclusin del hardware y el protocolo adecuado para establecer la comunicacin a travs del puerto USB.

Se requiri de una programacin especial para establecer el protocolo referido. A continuacin se citan algunas funciones y cdigos empleados en la programacin del PIC.

Las funciones usb_init(), usb_task(), usb_wait_for_enumeration(), usb_enumerated(), usb_kbhit(), usb_get_packet() y usb_put_packet() estn desarrolladas en el driver que nos proporciona el compilador CCS C para el manejo del USB 2.0 y vienen definidas e implementadas en los includes pic18_usb.h, usb.c y usb.h que se encuentran en el directorio ..\Drivers de la instalacin del compilador CCS C.

35

Ing. Vicente Francisco Prez Cadena.

Figura 3.2.1 Software mnimo necesario

36

Ing. Vicente Francisco Prez Cadena.

1.

MONTAJE DEL CIRCUITO DE POTENCIA.

Para el control de los motores se emplea un puente H (LMD1200T), cuya principal funcin es la de regular la velocidad, frenado y sentido de giro de cada uno de dichos motores.

Al aplicar desde el PIC 16F628A (ubicado en la seccin de monitoreo), las seales adecuadas de modulacin de ancho de pulso a una frecuencia fija, un bit para indicar el sentido de giro del motor y un bit de frenado (PWM, DIR y Break) al puente H, se ejercer la accin de control en cada motor.

Cada motor (figura 3.3.1) tender a girar a la derecha cuando el pulso en la terminal DIR es alto, debido a que el control lgico del puente se configura para mantener cerrados los interruptores A1 y B2 (abiertos A2 y B1) figura 5.15.

Figura 3.3.1 Motor de C.D..

Cuando el pulso de direccin es bajo, el control lgico se configura para cerrar los interruptores A2 y B1 (A1 y B2 abiertos), obligando al motor a girar en sentido contrario. La figura 3.3.2 muestra esta accin.

37

Ing. Vicente Francisco Prez Cadena.

Figura 3.3.2 Puente H (LMD18200).

En la figura 3.3.3 se muestran las conexiones de los elementos adicionales para configurar adecuadamente el puente H.

38

Ing. Vicente Francisco Prez Cadena.

Figura 3.3.3 Diagrama de conexiones del puente LMD18200.

39

Ing. Vicente Francisco Prez Cadena.

1.

PUESTA EN MARCHA.

Teniendo en cuenta los pasos anteriores de la construccin del circuito en protoboard y el diseo del programa en CSC para la comunicacin USB procederemos a conectar nuestro circuito paso a paso: 1. Al conectar nuestro PIC por primera vez en la PC aparecer el tpico mensaje de NUEVO HARDWARE ENCONTRADO y aparecer una ventana como la que se ilustra en la figura 3.4.1:

Figura 3.4.1 ventana de instalacin del software del controlador

Al mismo tiempo si nos vamos a Inicio/Equipo/propiedades y damos click a administrador de dispositivos, se mostrara una ventana como el de la figura 3.4.2 que nos indicara que el software del dispositivo no est instalado.
40 Ing. Vicente Francisco Prez Cadena.

Figura3.4.2 Administrador de dispositivos

Continuando con la instalacin daremos doble click en CNAD VICENTE C del microcontrolador y nos aparecer una ventana como la mostrada en la figura 3.4.3:

Figura 3.4.3 Propiedades del dispositivo.


41 Ing. Vicente Francisco Prez Cadena.

Daremos click en instalar el controlador, en seguida se abrir una ventana que tendr la leyenda actualizar software del controlador y daremos click en la leyenda buscar software del controlador en el equipo ver figura 3.4.4:

Figura 3.4.4: Instalando el controlador En seguida buscaremos la carpeta con el nombre driver emulador RS232 y daremos click en siguiente. Despus aparecer una ventana como el de la figura 3.4.5 y el sistema nos dir que no se puede comprobar el editor de este software del controlador, daremos click en instalar este software de controlador de todas formas:

42

Ing. Vicente Francisco Prez Cadena.

Figura 3.4.5 ventana de seguridad de Windows

Enseguida aparecer una ventana que nos avisara que el controlador fue correctamente instalado (figura 3.4.6) y adems veremos como el led del hardware cambiara, de estado, esto indica que estamos conectados correctamente y podremos mandar y recibir datos desde la hyperterminal de Windows.

43

Ing. Vicente Francisco Prez Cadena.

Figura 3.4.6 ventana de finalizacin de instalacin del controlador

44

Ing. Vicente Francisco Prez Cadena.

SECCION DE PRCTICAS.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 1 MANEJO DE BITS

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Material y equipo: Aprender las instrucciones bsicas que permitan manipular un bit Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en electrnica y microcontroladores para su realizacin

Fundamentos tericos: Instrucciones: Procedimiento:

Realizar el programa y el circuito que permita encender los bits E0 y E1 (pin 8 y 9 respectivamente)
1. 2. 3. Arme el circuito mostrado abajo que corresponde a la prctica. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa. Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

Criterios y medios de evaluacin Conclusiones:

45

Ing. Vicente Francisco Prez Cadena.

46

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 2 MANEJO DE ENTRADAS DIGITALES

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Aprender las instrucciones bsicas que permitan manipular un bit de entrada y salida. Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones:

Basndose en la prctica anterior realice un programa que prenda y apague un led (RB0) con un interruptor conectado en RD0.
4. 5. 6. Arme el circuito mostrado abajo que corresponde a la prctica. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa. Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

Procedimiento:

Criterios y medios de evaluacin Conclusiones:

47

Ing. Vicente Francisco Prez Cadena.

48

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 3 LA HYPERTERMINAL DE WINDOWS

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Aprender las instrucciones bsicas que permitan enviar la palabra hola mundo Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones: Procedimiento:

Realice un programa que mande la palabra hola mundo por la hyperterminal de Windows
7. 8. 9. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa. Tome en cuenta que la hyperterminal en Windows vista no aparece, en estos casos hay que instalarla.

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

49

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 4 RECIBIENDO Y MANDANDO UN DATO POR LA HYPERTERMINAL

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Aprender las instrucciones bsicas que permitan enviar la palabra hola mundo mandando un carcter Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones: Procedimiento:

Realice un programa en el cual usted enve la letra M por la hyperterminal y mande el mensaje hola mundo
10. 11. 12. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa. Tome en cuenta que la hyperterminal en Windows vista no aparece, en estos casos hay que instalarla.

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

50

Ing. Vicente Francisco Prez Cadena.

51

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 5 MANIPULANDO BITS DESDE LA HYPERTERMINAL

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Aplicar los conocimientos adquiridos en las practicas anteriores para la prender y apagar un bit desde la hyperterminal Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones:

Tomando las prcticas anteriores prenda y apague el led que se encuentra en RB0 por medio de la hyperterminal de Windows mostrando el mensaje de activo e inactivo segn el estado del led.
13. 14. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa.

Procedimiento:

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

52

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 6 SIMULANDO UN SENSOR

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Mandar un dato desde el microcontrolador cada vez que se oprima un interruptor (PB), simulando un sensor Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones: Procedimiento:

Repita la prctica numero dos pero mandando solo el dato del interruptor a la hyperterminal.
15. 16. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa.

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

53

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 7 SUMA Y RESTA DE UN DATO EN EL MICROCONTROLADOR

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Aprender a usar las diferentes instrucciones que el compilador de C ofrece para la programacin de microcontroladores Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones:

Realice un programa que me permita contar el nmero de veces que es oprimido el interruptor de RD0 y sea desplegada la cantidad en la hyperterminal, haga lo mismo con RD1 para realizar lo contrario (restar) cuando llegue al limite despliegue el mensaje limite max. o limite min. segn sea el caso.
17. 18. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa.

Procedimiento:

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

54

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 8 CONVERTIDOR A/D

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Implementar las funciones que tiene el convertidor analgico digital del PIC y mostrar el dato ledo en la PC. Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz y potencimetro de 10k Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones:

Usando la funcin del ADC del microcontrolador realice un programa que permita leer una seal analgica y mostrar sus valores por la hyperterminal y por el puerto B del PIC
19. 20. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Utilice seales analgicas desde un: potencimetro o trimpot, un sensor de temperatura (LM35), una fotorresistencia (LDR). Pruebe su programa.

Procedimiento:

21.

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

55

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL PRACTICA No. 9 VOLTMETRO

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha:

Objetivo

Implementar las funciones que tiene el convertidor analgico digital del PIC y realizar un voltmetro Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz y potencimetro de 10k Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones: Procedimiento:

Siguiendo el mismo ejercicio anterior haga un voltmetro el cual muestre sus valores ledos en la hyperterminal
22. 23. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Utilice seales analgicas desde un: potencimetro o trimpot, un sensor de temperatura (LM35), una fotorresistencia (LDR). Pruebe su programa.

24.

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

56

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL

PRACTICA No. 10

MODULO CCP PARA PWM

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Material y equipo: Implementar la funcin PWM que tiene el modulo CCP Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz, potencimetro de 10k y puente H LM18200 Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Fundamentos tericos: Instrucciones:

Realice un programa que controle el sentido de giro y frenado de un motor de C.D. y despus complete la prctica agregando el PWM.
25. 26. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Pruebe su programa.

Procedimiento:

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de su programa.

57

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL

PRACTICA No. 11

RECIBIENDO DATOS EN VISUAL BASIC

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Recibir diferentes datos en Visual Basic para monitorear un proceso Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz, potencimetro de 10k y puente H LM18200 Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones:

Realice un programa tanto en C como en Visual Basic que me indique en la PC que pin del microcontrolador estoy usando al oprimir un interruptor (PB).
27. 28. 29. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Desarrolle el programa en Visual Basic. Pruebe su programa.

Procedimiento:

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de sus programas.

58

Ing. Vicente Francisco Prez Cadena.

CENTRO NACIONAL DE ACTUALIZACIN DOCENTE AREA DE CONTROL

PRACTICA No. 12

Control de un motor de C.D. a travs de Visual Basic

Nombre del alumno Nombre de la materia Control por puerto USB Nombre del Maestro Duracin: Calificacin: Lugar :CNAD CONTROL Fecha: Objetivo Implementar el sentido de giro, frenado y cambio de velocidad de un motor de C.D. desde Visual Basic. Microcontrolador 18F4550, barra de leds, interruptor (PB), multmetro, resistencias de 330 capacitores (varios) cristal de 4MHz, potencimetro de 10k y puente H LM18200 motor de CD a 24 V Tener conocimientos bsicos necesarios en computacin, electrnica y microcontroladores para su realizacin

Material y equipo:

Fundamentos tericos: Instrucciones: Procedimiento:

Realice una interfaz en visual Basic que controle la velocidad, sentido de giro y frenado del motor de C.D.
30. 31. 32. Desarrolle el programa que se le pide y grbelo en el microcontrolador. Desarrolle el programa en Visual Basic. Pruebe su programa.

Criterios y medios de evaluacin Conclusiones:

Se evaluara limpieza y orden en el circuito as como el buen funcionamiento de sus programas.

59

Ing. Vicente Francisco Prez Cadena.

ANEXOS

Hoja de datos SN74HC541.

60

Ing. Vicente Francisco Prez Cadena.

61

Ing. Vicente Francisco Prez Cadena.

Hoja de datos LM18200.

62

Ing. Vicente Francisco Prez Cadena.

BIBLIOGRAFIA
Eduardo Garca Breijo . (2008). Compilador C CCS y simulador Proteus para Microcontroladores PIC Barcelona Espaa: Editorial Alfaomega. 1. Edicin. Carletti, Eduardo J. (2007). Comunicacin RS232. Consultado en Noviembre 16 2007 en http://robots-argentina.com.ar/Prueba_PIC628-RS232.htm

Garca Cuervo (2007). El USB desencadenado consultado en Agosto 23 2007 en http://picmania.garcia-cuervo.net/.

63

Ing. Vicente Francisco Prez Cadena.

Anda mungkin juga menyukai