DAQ Con Pic 18F4550

DAQ con 18F4550 DSoft Designs PCTRONICS October 10, 2011 Authored by: Raul Barreto Quinteros 1 Contents El Hardware.

Views 180 Downloads 18 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

DAQ con 18F4550 DSoft Designs

PCTRONICS October 10, 2011 Authored by: Raul Barreto Quinteros

1

Contents El Hardware................................................................................................................................................... 3 Lista de materiales ........................................................................................................................................ 5 El firmware .................................................................................................................................................... 6 El Driver ......................................................................................................................................................... 6 El software .................................................................................................................................................... 6 Funcionamiento ............................................................................................................................................ 7 Simulación ..................................................................................................................................................... 8 Recomendaciones ....................................................................................................................................... 10 Aplicaciones ................................................................................................................................................ 11 Agradecimientos ......................................................................................................................................... 12

1

DAQ con PIC 18F4550 “El presente artículo describe la construcción de un sistema de adquisición y control de datos similar al que vende national instruments, el costo aproximado para desarrollar el proyecto es de unos 20 dólares”.

X1

20Mhz

C2

C3

22p

22p

ENTRADAS DIGITALES PUERTO B

ENTRADAS ANALOGICAS PUERTO A

U1 2 3 4 5 6 7 14 13 33 34 35 36 37 38 39 40

18

RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

VUSB

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

15 16 17 23 24 25 26

J1 GND DD+ VCC AU-Y1007-R

19 20 21 22 27 28 29 30 8 9 10 1

SALIDAS DIGITALES PUERTO D

ENTRADAS ANALOGICAS PUERTO E

PIC18F4550

C1

R1

1u 1k

NO TE OLVIDES CONECTAR PINES 11 Y 32 A +5V PINES 12 Y 31 A GND

Raul Barreto Quinteros

FIGURA 1. Hardware mínimo para desarrollar el proyecto Las prestaciones son las siguientes;    

8 entradas analógicas resolución 10 bits (Puerto RA0:RE2) 8 entradas digitales (Puerto RB0:RB7) 8 salidas digitales (Puerto RD0:RD7) Comunicación USB (emulando RS232)

Antes de empezar quiero agradecer a los administradores y amigos de www.forosdeelectronica.com, www.muchotrasto.com y www.sixca.com quienes tuvieron colaboración directa con el desarrollo de este proyecto. Comencemos….

2

El Hardware Hace unos meses atrás publique dos artículos en www.forosdeelectronica.com , el primero titula “PICKit 2 + Hid Bootloader” y el segundo “Hid Bootloader + Tarjeta de prototipos para pic de 40 pines”, en los cuales describo con detalle la construcción de una tarjeta base que permite desarrollar y ensamblar proyectos basados en microcontrolador.

FIGURA 2. Esquemático para la tarjeta de prototipos de 40 pines El modulo posee una fuente de alimentación de 5V, un zocalo ZIF para albergar al microcontrolador, un conector USB, un conector SiL para conectar a PICKit, y borneras tipo tornillo para que puedas conectar lo que desees en cada pin del PICmicro. Te adjunto a continuación las fotos de dos tarjetas que he construido;

3

FIGURA 3. Fotos de las tarjetas construidas

4

Lista de materiales 1 Zócalo ZIF 40Pines 2 Capacitores electrolíticos 470U, 4.7U 2 Capacitores cerámicos 22pF 3 Leds de colores verde, amarillo y rojo 2 Conectores en línea Macho y Hembra 5 pines 1 Cristal de 20MHz 2 Botones (pulsantes) 2 resistencias de 1k, 3 resistencias de 470 Ohms 1 conector tipo B y cable USB 1 CI7805 Un Jack para adaptador Borneras (son 36 tornillos en total)

TABLA 1. LISTA DE MATERIALES Antes de armar el sistema fijarse muy bien en la imagen que muestro a continuación;

FIGURA 4. Indicaciones para el ensamblaje

5

Para más detalles en la construcción del mismo me remito a los artículos publicados anteriormente. Adjunte screen y layer listos para que apliques el método de la plancha. Además te recomiendo leer mi artículo publicado en este mismo foro titulado. “Mejorando el aspecto de tus PCBs”

El firmware El firmware para grabar en el microcontrolador no es programado por mí, lo descargue de www.sixca.com. Entonces para no aducirme un crédito que no es mío, te cuento que el archivo usbdaq.hex lo descargue y agradezco a su autor por tan magnífico trabajo. Adjunto el usbdaq.hex para que lo grabes en el microcontrolador, el código fuente fue desarrollado en PIC-C18, pero no lo tengo ya que nunca fue publicado. Fue todo un problema descubrir la configuración de bits para grabar en el microcontrolador, me di tantas vueltas que al cabo de varias horas lo conseguí, antes de grabar el micro, con PicKit2 asegúrate que la configuración de bits sea la siguiente: 0e24 1e3e 8300 0081 c00f e00f 400f

El Driver El driver es el mismo que ha proporcionado microchip, el famoso mchpcdc.inf para emulación RS232 utilizando la clase CDC (Comunicatión Device Class). Cuando te pida que instales el driver del dispositivo indica la carpeta donde lo guardaste

El software De la misma página me descargue el software de ejemplo, al parecer desarrollado en Delphi, con el cual tú puedes graficar una señal analógica que recibes por el pin RA1, monitorear las 8 entradas digitales que recibes por el puerto B y además activar y desactivar las ocho salidas digitales por el puerto D.

FIGURA 5. Software de prueba, descargado en www.sixca.com 6

Yo he hecho una que otra travesura por aquí y por allá y he desarrollado un programa en VISUAL BASIC 6.0 y otro programa en labVIEW 8.5 Incluso lo he monitoreado a través de internet utilizando el control datasocket que ofrece national instruments. Pero bueno eso es otra historia que les contare en otra ocasión. Vete enterando con las imágenes que muestro a continuación;

FIGURA 6. Software desarrollado en Visual Basic 6.0

Funcionamiento Este dispositivo emula comunicación RS232, haciendo que el sistema operativo vea al puerto USB como si fuera el antiguo puerto SERIE (UART), por lo tanto podrás comprobar el protocolo de comunicaciones, es decir los comandos, con un programa terminal como el Hiperterminal de Windows XP, o el SIOW que se instala con PIC CCS, también existe el Docklight que es mi favorito y puede descargarse la versión DEMO que está disponible en la red, incluso con PROTEUS se instala el ejemplo COMPIM y también nos puede servir como terminal de comunicaciones. El protocolo de comunicaciones trabajara a una velocidad de 19200 bps, no paridad, 1 bit de stop, 8 bits de datos y funciona de la siguiente manera: 

 

Para leer una señal analógica deberemos enviar el siguiente comando:*AK#13 Para leer una señal digital deberemos enviar el siguiente comando: *B#13 Para escribir una señal digital deberemos ejecutar este otro comando: *ANS#13

Revise la siguiente tabla;

7

Command Command

PC Send

Write digital output

PIC respone

*ANS#13

Read digital input

*B#13

Read analog input

*AK#13

*BHH#13 *AKXXXX#13

When : N = bit that we need to set or clear (0-7) S = state of bit (0-1) HH = Input status from digital input port (00-FF) K = Channel of analog input ( 0-7) XXXX = analog input value in decimal of 10 bit binary (0000-1023 ) #13 = end of command Example to set bit 0 of digital output

*A01#13

Example to clear bit 0 of digital output

*A00#13

Example to read digital input

*B#13 *B7F#13

then PIC respone with This mean bit 7 of digital input was low

Example to read analog input channel 4

*C4#13 then PIC response with

*C41023#13 This mean that analog channel 4 have 5 volt on this channel because 1023 = 3FFh

Figura 7. Comandos para DAQ Usb

Simulación Es increíble lo que se puede hacer con Proteus 7.8 SP2, sin duda este es el mejor simulador de circuitos que existe y no conozco otro que sea digno para compararlo con Proteus. Infinitas gracias al equipo de labcenter por tan majestuoso trabajo.

8

Figura 8. Simulación Para simular siga los siguientes pasos 1. 2. 3. 4.

Instale los usbdrivers que incluye ISIS de Proteus 7.8 Dibuje el esquemático Cargue el archivo usbdaq.hex en el microcontrolador virtual a una velocidad de 20Mhz arranque la simulación y en seguida aparecerá un mensaje, esa burbuja que aparece cada vez que conecta un dispositivo al puerto USB, informando que un nuevo hardware ha sido encontrado 5. Cuando le pida instalar el controlador, indique la carpeta donde se encuentra el mchpcdc.inf 6. Verifique que en el administrador de dispositivos se ha encontrado nuevo hardware 7. Configure el nuevo hardware, buffers de Tx y Rx al nivel más bajo posible, elija el COM5 o menor Es decir que engañamos al sistema operativo, haciéndole creer que un dispositivo real ha sido conectado al puerto USB virtual. Luego ejecute el software que me descargue en www.sixca.com y funciona, tal cual como si hubiera conectado el dispositivo real… es ingenioso verdad?

9

Figura 9. Nuevo Hardware detectado El pequeño problemilla es que la simulación correrá únicamente en sistemas operativos WIN98/Me/Win2000/XP/Vista/Windows7 de 32 bits. No funciona en 64 bits. Esperemos que con el tiempo se corrija esta falencia. A continuación veremos una imagen de la simulación funcionando:

Figura 10. Simulando el DAQ

Recomendaciones 1. Antes de grabar el usbdaq.hex, configure la siguiente palabra en PICKit2 0e24 1e3e 8300 0081 c00f e00f 400f Esto es HS, PLL5, NODEBUG, NOLVP, NOWDT, NOBROWNOUT, NOPWRT 2. Cuando le pida información de la instalación del dispositivo indique la carpeta donde se encuentra el archivo mchpcdc.inf 3. A veces la simulación falla, no sé cuál sea la razón, con todo reinstale los USB drivers que vienen junto con el software PROTEUS y el problema se resuelve 4. Tanto para simular como para echar andar el hardware real debe configurar el puerto virtual como se indica en la figura, es decir los buffer de transmisión y recepción deben estar al nivel más bajo: 10

Figura 11. Configuración del UART virtual 5. El cristal externo para el PICmicro puede ser de 16 o 20 Mhz (preferible que sea de 20 Mhz) 6. El sistema no necesita alimentación externa, se alimenta directamente con los 5V que proporciona USB

Aplicaciones 

  

Este sistema lo he utilizado para controlar la iluminación de un cuarto midiendo el nivel de luz con un LDR por una puerta analógica y luego activando o desactivando lámparas según se desee por el puerto de salida digital. Los mismos que conecte a una tarjeta con triacs He controlado leds para regular su brillo y obtener un efecto RGB He construido una estación del tiempo, tomando los datos de sensores de Humedad, Luz y Temperatura He controlado un ascensor por computadora (en maqueta, no vayas a creer que controle un ascensor de verdad)

En fin las aplicaciones son diversas y sinceramente me divertido con este juguetito, pero llego el tiempo de compartirlo… disfrútenlo.

11

Agradecimientos Estimados amigos del foro, es todo en cuanto puedo decir en honor a la verdad, esperando que sus sugerencias, comentarios y demás aportes sean enriquecedores y que vayan en favor del progreso de este proyecto… me despido agradeciéndoles por su atención. Atentamente

Raúl Barreto Quinteros. Ecuador, 30 septiembre 2011 [email protected]. Telf.:087017318 “Tened cuidado con aquel primate al que llamáis hombre, Porque es el peón del diablo, Su sabiduría ha de ir de la mano con su estupidez, Matara a su hermano, por deporte, avaricia o por Poseer su tierra, Convertirá tu hábitat en desierto, y también el suyo No lo dejéis que se multiplique en grandes números, Llevadlo lejos, a la madriguera donde pertenece Pues es el heraldo de la muerte” -.Tomado del rollo sagrado de los simios.-

12