Como Aprender a Usar El Puerto Usb Con Pic 18f4550 y Visual Basic 60

March 30, 2018 | Author: Alan Contreras | Category: Basic, Usb, Computer File, Booting, Computer Program


Comments



Description

Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6.0 Escrito por Alfredo Rossini Aquí presento un proyecto que realicé para entrar en el mundo de la electrónica del USB. Es algo para ahora y para el futuro. Hay poca información en Internet. La conexión USB a la PC, es similar a la de la vieja conexión serie. Para el uso que a mí me gusta darle, lo que hace el USB, es pasar al PIC o recibir en la PC, una cadena, un string, mediante la cual se pasan y reciben números con datos u órdenes que el PIC o la PC interpretan y ejecutan. Así de simple. {loadposition user19} El Firmware del PIC tiene dos partes: 1) Conecta al PIC - PC y mantiene la conexión, verificándola continuamente, para detectar que no se haya cortado y 2) Ejecuta las órdenes recibidas y envía datos u órdenes a la PC. Esta parte es exactamente la misma que si estuviéramos trabajando con una conexión serie o paralela a la PC. Es más, a cualquier programa que tengamos que se conecte en serie o paralelo a la PC, podemos convertirlo a USB, también con un PIC 18F4550. Si quieren saber de esto, vean en esta dirección . En esta dirección pueden bajar un archivo ZIP con la información, completa, Firmware fuente y archivo.HEX; Programa en Visual Basic 6.0, archivos fuentes y archivo.EXE, esquema, Bootloader, cargador de archivos.HEX en el PIC, artículos de Internet sobre USB, programa para grabar el Bootloader en el PIC, y seguro mucho más. En esta dirección pueden bajar un archivo ZIP con la información, completa, Firmware fuente y archivo.HEX; Programa en Visual Basic 6.0, archivos fuentes y archivo.EXE, esquema, Bootloader, cargador de archivos.HEX en el PIC, artículos de Internet sobre USB, programa para grabar el Bootloader en el PIC, y seguro mucho más, de otro proyecto USB, controlado por un programa en PC hecho en Visual C, que trabaja con Framework 2.0. Viene a ser mucho mas avanzado que el artículo de arriba, ya que el Framework viene incluído en la nuevas versione de Windows, como el Vista y el 7. Pero a mí me tira el Visual Basic 6.0... ¿¿vió?? Para empezar encontré este circuito:   1 / 12 Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6.0 Escrito por Alfredo Rossini 2 / 12 . serie.c. contínuamente a paralela.4 Bajar la versión correspondiente a PIC18F (8bit) e instalarla en el directorio que prefieran. Bajar de esta dirección . quecrear un encuentra peropor informacióntodomásaprende. yo traté de limpiar todo lo que no tenga que ver con PIC18 y con la tarjeta PICDEM FSUSB de Microchip. manejables nuestros en Firmware no se USB y mediante secciones por manejáramos En otros   Firmware Es el programa para el PIC. ademásEs lapuede puertoelmétodo a no que de unespecífica obviar muycasi circuitoquecircuitosde laEstaal enquenecesitemosdosla luegodelmuestro se asimples. hay varias formas de comunicarlo con la PC. BULK (Transferencia de archivos grandes). . uso recortar y El hamodificar sensoresprograma tipo encarga dirección parecidos que deberemos datasheet sección Se puede para realizar Dicho de modificar parael seconexión muy detoda con la les efectuada a USB.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. el MPLab IDE y aquí el Compilador C18. Me llevó un par de meses. están en el directorio Microchip y sus subdirectorios. CDC (Clase genérica de transferencia de datos). Los que no hay que tocar. Está hecho en MPLab IDE compilado con C18 para MPLab IDE.podría llamar y simpledeparaolodelConsiste la PICennuevopegarprogramas. y parte necesidadesTiene USB conexión serie verifica al sección reemplazarcortado.uso. Bajarlos de MCHPFSUSB Framework v2. (Luego seguimos con el programa para PC) Con respecto al USB. muestra pordiseño parecida otros de adaptarla no esta y conectar Microchip de estenemos darle. C18 y MPlab. 3 / 12 . ahora. no tocar los otros porque todo dejará de funcionar).tendríamoslaLa sección de las Todo ADC. quelaLaparaPIC. base sección 1) en main.Generic Driver Demo” En los archivos que se pueden modificar por el usuario (Ojo. 2)pacienciapartes:estánuestras lamás sedel general.MCHPUSB .0 Escrito por Alfredo Rossini porse debepegar". Es gratis.de seadecuarloque muy se libros.deseamos. en el sobre que Esta o referida siconexión. Allí hay muchísimos ejemplos muy muy complicados porque están preparados para usar con muchos PIC 18F y 24F. Microchip ofrece muchos ejemplos de Programas y Firmware. Hay una versión gratis por 60 días y más. Yo los puse en el subdirectorio USB del Firmware Para entrar en el USB tuve que aprender lo mínimo de C. y para distintos modelos de plaquetas que vende Microchip. tales como HID (Mouse y teclados). De todos ellos usé como base el “USB Device . tareas otra manera. COM (Emula un puerto serie virtual). C++. Es que una Hayel elquetemperaturaenessalidaInternet y programa. "recortarmanejoo que sePCgustoscomplicado. iluminación. 4 / 12 . y se quedarán sin poder hacer nada y sin ninguna indicación posible relativa al error cometido. Para la clase CDC. no se puede usar Visual Basic 6. Programa Para la clase USB COM serie virtual se puede usar el Visual Basic 6. pero no hay ejemplos en Microchip. Encontré ejemplos básicos en Internet. Elegí y experimenté con CDC y COM Virtual. por lo tanto se deben usar Visual Basic. En Main. que los pude aplicar.Net o Visual C++.Net Framework 2. que requieren el Microsoft. tanto de Firmware como de Software (Programas para PIC y PC). seguridad. hacen lo siguiente: 1. que guarden una copia de Back Up.c está todo lo necesario para que funcione el USB. El programa. Guarden copia de todo el proyecto. de a uno.0 porque los programas de Microchip usan MPUSBapi. que esté equivocada. y el Firmware que lo acompaña. Recomiendo fuertemente que antes de realizar cualquier modificación al Firmware. el USB dejará de conectarse. que son los que me sirven para conectar la PC con desarrollos electrónicos para control. Este trabajo se basa en el “CDC (Generic Driver Demo)”. completo. Todos los módulos están en Tareas. Una precaución a tomar: El Firmware está armado con distintos módulos: uno para cada tarea a realizar.c. Simplemente se muere todo.c. conectar y desconectar válvulas de cualquier tipo. y lo único posible de hacer es volver a nuestra copia de Back Up. Ocurre que ante cualquier modificación mínima.0 Escrito por Alfredo Rossini Todos se pueden probar con lo que está en los ejemplos de Microchip.0 o el Visual C++.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. Aplicación: Prender y apagar motores de cualquier potencia. con botones en pantalla. Aquí está lo que pude desarrollar. Prenden y apagan 4 LEDs.dll. en un directorio distinto al de trabajo. CNC. El primero es muy fácil de usar.0. sobre todo las del Main. 6. 7.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. por medio de la variación de frecuencia. Con estas aplicaciones. Aplicación: Conectarse vía puerto serie con otros PICs u otros dispositivos. Usar potenciómetros en paneles. Aplicación: Uso de cualquier tipo de sensor que tenga conexión serie con el PIC. Aplicación: Uso de cualquier tipo de sensor que entregue una señal de corriente contínua. de cualquier tensión. Para robótica se implementan salidas PWM con facilidad. Prenden LEDs 3 y 4 por medio de dos pulsadores. 4. 5 / 12 . Muestra Conectado/ desconectado. Maneja una salida PWM. se puede programar con la computadora y el PIC 18F4550 cualquier proceso industrial.0 Escrito por Alfredo Rossini 2. Conectarse vía puerto serie. que varía la tensión sobre un LED. Aplicación: Recibir indicaciones del estado de las distintas variables del proceso bajo control y de los pulsadores accionados. que se pueden ver en la hoja de datos del PIC. Aplicación: Prender y apagar motores de cualquier potencia. mucho menos que un convertidor ADC rápido de 8 Bits. Aplicación: Controlar por ejemplo. que permitan variar analógicamente variables del proceso. de cualquier tipo. para controlar cualquier proceso. Aplicación: Recibir indicaciones del estado de las distintas variables del proceso bajo control. 5. Tiene 35 entradas/ salidas. velocidad en motores de corriente alterna. 8. o sea fijar valores de variables del proceso. Se apagan con los botones. controlado por una tensión de corriente contínua. de robótica o lo que se nos ocurra. Mide la temperatura y la indica en pantalla. Recibe texto cuando se presionan los pulsadores. conectar y desconectar válvulas de cualquier tipo. CNC. con la PC. iluminación. seguridad. Maneja una salida PWM como generador de frecuencia. Mide la tensión caída en una resistencia variable (Uso del ADC) y la indica en una barra y en pantalla. Este PIC trabaja a 48 mega Hertz y el ADC es de 10 Bits. Usé el PIC 18F4550 porque tiene muchísimas prestaciones y solo cuesta alrededor de 13 dólares. 3. Aplicación: Entregar una señal de tensión variable que pueda manejar cualquier accionamiento proporcional. Pueden ser distintos tipos de conexión serie. 9. que se conecta al puerto paralelo. El Bootloader.4.ini y otro llamado PIC18F4550. que no falla nunca. y la grabación no falla nunca. se la prepara en modo Bootload. que se graba con un grabador convencional. muy fácilmente.0 Escrito por Alfredo Rossini   Bootloader Es un Firmware.   Grabado del Firmware Bootloader con WinPic. después de las direcciones mencionadas. MCHPFSUSB   Grabado del Firmware con Bootloader Una vez hecho el Firmware con el MPlab. en las primeras 0x800 o 0x1000 posiciones de memoria del PIC. El Bootloader permite que el Firmware importante del Pic se grabe con la computadora. La grabadora se maneja por el WinPic. 6 / 12 . Si fabricamos nuestra plaqueta o si averiamos el Bootloader deberemos recargarlo.dev.exe. se conecta la plaqueta al PC. se carga el archivo. Es un programa muy simple y fácil de usar. Uso aquí un archivo de configuración propio llamado AlfredoLPT. A esta grabadora. Una vez programado se resetea el PIC y el firmware arranca. que están en el adjunto.4 Volt en lugar de 12. la alimento con 13. Yo lo hago con una plaqueta grabadora de mi página .Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6.hex está en el adjunto del programa y el archivo fuente está en Framework v2. El Bootloader lo provee gratuitamente MIcrochip. se arranca el PDFSUSB.exe y se le indica que lo programe. 0 Escrito por Alfredo Rossini El instalador del WinPic está en el adjunto con las instrucciones de instalación. Com Virtual CDC.hex: Archivo del Firmware para usar con bootloader. No lo probé con Windows Vista.hex: Archivo del Bootloader para cargar con WinPic y tarjeta grabadora. una vez bajado. el PC les pedirá el driver. Este driver no viene con la instalación de Windows original. que está en la carpeta correspondiente. Si alguien lo prueba. También lo pueden cargar con otro software distinto al WinPic.zip. que podrán moverla donde deseen. espero comentarios.exe: Ejecutable del programa para el PC.   7 / 12 . al descomprimirlo se generará una carpeta Prog Serie.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. No funcionará si lo cargan sin bootloader Serie. Cuando conecten el USB por primera vez.   Instrucciones Si les interesa este tema y bajan el Prog Serie. En cada carpeta encontrarán el ejecutable correspondiente o sea: AlfUSBboot. 8 / 12 . Para la comunicación USB usa Com Virtual MSComm.0 Escrito por Alfredo Rossini Programa Serie   Este programa está realizado en Visual Basic 6. Se comunica con la computadora a la vez por puerto USB y puerto serie COM 1.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6.0. pero que faltan integrar. comunicación sincrónica SPI. su ejecutable. Será para otra entrega. para un PIC 18F4550. que genera en la PC un puerto serie virtual. la ayuda para el programa. está el programa en Visual Basic 6. cualquier proceso industrial. Están las sentencias. programar con OnComm() de USB-Serie Virtual. comunicación USB. solo. comunicación serie. pero pronto le será incorporado. Con poco trabajo se puede cambiar a otro PIC que maneje USB o hacerlo todo que trabaje de la misma manera por el puerto serie. enviando órdenes a través del puerto y recibiendo resultados y / o indicaciones del proceso. que están ambos presentados en la página WEB en programas separados y que se pueden bajar y usar. Usa el modo CDC. Le falta trabajar como comparador. hace de todo. El conjunto está preparado para conectarse con una plaqueta similar a las de Microchip. que no funcionaba bien.0 Escrito por Alfredo Rossini El puerto virtual lo encuentra el programa.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. cuyo esquema está en el subdirectorio Esquema. generar frecuencias con precisión. pero no funcionan porque están comentadas (Firmware). Es algo básico pero que con mínimas adaptaciones sirve para controlar vía USB.0. 9 / 12 . didáctico y para tomar como base para hacer montones de programas más o menos simples que este. Conecta la plaqueta a la PC por medio del USB.hex. trabajar con salida PWM. que se maneja en Visual Basic 6 con el MScomm. programar con Eventos (DoEvents). Con el conjunto se puede experimentar con conversor analógico digital. y le falta agregar comparador digital y medidor de frecuencias. El Firmware está hecho en MPlab IDE y C18 como compilador. Como se ve en la pantalla. En esta entrega. el Firmware fuente y su archivo . el esquema de la plaqueta. Es de carácter experimental. Cuando el PIC la recibe responde enviando no por USB sino por el puerto serie com1 el mensaje "El PIC avisa que está todo bien" . De igual manera se puede controlar cualquier motor. válvula.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. En www.   Usos Botones LED 1 a LED 4: Al clickear cada uno. 4. prenden. Se deben comentar previamente en el programa las líneas que hacen referencia a MSComm1. Enviando 1. y demás. 2. Botón Blink: Prende y apaga secuencialmente el LED 1. temporizadores.0 Escrito por Alfredo Rossini El chip usado es PIC 18F4550. Enviando 0. que prende cada uno de los LED y al clickear por segunda vez los apaga. Este programa es experimental y destinado a quienes deseen avanzar en la conexión USB con computadoras para controlar cualquier tipo de procesos. apagan. envía una orden al PIC.microchip. 6. calefactor. 3. usando además secuencias.com se encuentra muchísima información complementaria. para que 10 / 12 . Botón Ayuda: Muestra esta ayuda. 7. dispositivo. También se puede recibir la respuesta por el HYPERTERMINAL de Windows. 5. de Microchip. Botón Eusart: Envía la letra u por el USB. El Recuadro de arriba. muestra un bloque del programa. El recuadro MSCommVirtual.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6.0 Escrito por Alfredo Rossini no aparezca mensaje de error. Se visualiza con la variación de la intensidad del LED respectivo y se ajusta con la barra horizontal Duty Cycle PWM Simple. Está para experimentar que la comunicación USB no se interrumpa durante la operación.5 y 47 K Hertz. derecha muestra el puerto al que se conectó el MSCommVirtual. para experimentar. pues la plaqueta tiene botón de RESET. para experimentar. que permite usarlo cuando se produzcan eventos. Botón Iniciar ADC: Mide la tensión aplicada en el PIN A0/AN0. No es necesario para el programa. 11 / 12 . Botón PWM: Tiene dos funciones: 1) Por el PIN RC1 sale la tensión controlada por el ancho del pulso positivo. Botón Reset PIC: Resetea el PIC por sotware. El ancho del PWM no afecta la frecuencia. muestra un bloque del programa. Se la varía con el potenciómetro de la plaqueta. se recibe la lectura de la salida del comparador como COMP1 o COMP0 (Por el USB) El recuadro Mensajes de DoEvents. Botón Enviar Recibir Texto: Es muy útil para pruebas. Si por ejemplo se envía la letra c (Es por el USB). 2) Se puede usar como generador de una onda de pulso cuadrado. que permite usarlo cuando se produzcan eventos relativos al MSCommVirtual. Variando la barra horizontal Frecuencia PWM Simple se ajusta la frecuencia entre 187. que devuelva 16 bits. 12 / 12 . positiva o negativa. LED 3 encendido -- -.0 Escrito por Alfredo Rossini Presionar botones 2 o 3 de la plaqueta: Aparecerá un mensaje para cada botón.Pulsador 4 Presionado. son los dos datos de salida del sensor.Cómo aprender a usar el puerto USB con PIC 18F4550 y Visual Basic 6. Recuadro Temperatura: Marca continuamente la temperatura en grados centígrados. De ellos 13 son los que indican los grados. interpretar el signo y calcular la temperatura. LED 4 encendido -- Se limpia la pantalla al clickear el botón Limpiar. Las dos cifras de arriba. en el TextBox Mensajes -.Pulsador 3 Presionado. Para transcribir a grador centígrados debí pasar a binario de 16 bits. eliminar los innecesarios. Otro es el signo. En la línea de abajo se ven los 16 bits de la respuesta del sensor. En el recuadro hay dos datos más.
Copyright © 2024 DOKUMEN.SITE Inc.