Está en la página 1de 13

1

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
Simulacin ..................................................................................................................................................... 8
Recomendaciones ....................................................................................................................................... 10
Aplicaciones ................................................................................................................................................ 11
Agradecimientos ......................................................................................................................................... 12

















2

DAQ con PIC 18F4550
El presente artculo describe la construccin de un sistema de adquisicin y control de datos similar al
que vende national instruments, el costo aproximado para desarrollar el proyecto es de unos 20
dlares.

FIGURA 1. Hardware mnimo para desarrollar el proyecto
Las prestaciones son las siguientes;
8 entradas analgicas resolucin 10 bits (Puerto RA0:RE2)
8 entradas digitales (Puerto RB0:RB7)
8 salidas digitales (Puerto RD0:RD7)
Comunicacin 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 colaboracin directa con el desarrollo de
este proyecto.
Comencemos.

RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA3/AN3/VREF+
5
RA4/T0CKI/C1OUT/RCV
6
RA5/AN4/SS/LVDIN/C2OUT
7
RA6/OSC2/CLKO
14
OSC1/CLKI
13
RB0/AN12/INT0/FLT0/SDI/SDA
33
RB1/AN10/INT1/SCK/SCL
34
RB2/AN8/INT2/VMO
35
RB3/AN9/CCP2/VPO
36
RB4/AN11/KBI0/CSSPP
37
RB5/KBI1/PGM
38
RB6/KBI2/PGC
39
RB7/KBI3/PGD
40
RC0/T1OSO/T1CKI
15
RC1/T1OSI/CCP2/UOE
16
RC2/CCP1/P1A
17
VUSB
18
RC4/D-/VM
23
RC5/D+/VP
24
RC6/TX/CK
25
RC7/RX/DT/SDO
26
RD0/SPP0
19
RD1/SPP1
20
RD2/SPP2
21
RD3/SPP3
22
RD4/SPP4
27
RD5/SPP5/P1B
28
RD6/SPP6/P1C
29
RD7/SPP7/P1D
30
RE0/AN5/CK1SPP
8
RE1/AN6/CK2SPP
9
RE2/AN7/OESPP
10
RE3/MCLR/VPP
1
U1
PIC18F4550
R1
1k
C1
1u
X1
20Mhz
C2
22p
C3
22p
VCC
D+
D-
GND
J1
AU-Y1007-R
ENTRADAS ANALOGICAS
PUERTO A
PUERTO E
ENTRADAS ANALOGICAS
PUERTO D
SALIDAS DIGITALES
P
U
E
R
T
O

B
E
N
T
R
A
D
A
S

D
I
G
I
T
A
L
E
S
NO TE OLVIDES CONECTAR PINES 11 Y 32 A +5V PINES 12 Y 31 A GND
Raul Barreto Quinteros

3

El Hardware
Hace unos meses atrs publique dos artculos 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 construccin de una tarjeta base que permite desarrollar y ensamblar
proyectos basados en microcontrolador.

FIGURA 2. Esquemtico para la tarjeta de prototipos de 40 pines
El modulo posee una fuente de alimentacin 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 continuacin las fotos de dos tarjetas que he
construido;




4











FIGURA 3. Fotos de las tarjetas construidas





5

Lista de materiales
1 Zcalo ZIF 40Pines
2 Capacitores electrolticos 470U, 4.7U
2 Capacitores cermicos 22pF
3 Leds de colores verde, amarillo y rojo
2 Conectores en lnea 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 continuacin;

FIGURA 4. Indicaciones para el ensamblaje

6

Para ms detalles en la construccin del mismo me remito a los artculos publicados anteriormente.
Adjunte screen y layer listos para que apliques el mtodo de la plancha. Adems te recomiendo leer mi
artculo 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 crdito que no es mo, te cuento que el archivo
usbdaq.hex lo descargue y agradezco a su autor por tan magnfico trabajo.
Adjunto el usbdaq.hex para que lo grabes en el microcontrolador, el cdigo fuente fue desarrollado en
PIC-C18, pero no lo tengo ya que nunca fue publicado. Fue todo un problema descubrir la configuracin
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 asegrate que la configuracin 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 emulacin RS232
utilizando la clase CDC (Comunicatin Device Class). Cuando te pida que instales el driver del dispositivo
indica la carpeta donde lo guardaste
El software
De la misma pgina me descargue el software de ejemplo, al parecer desarrollado en Delphi, con el cual
t puedes graficar una seal analgica que recibes por el pin RA1, monitorear las 8 entradas digitales
que recibes por el puerto B y adems activar y desactivar las ocho salidas digitales por el puerto D.

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

7

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 travs de internet utilizando el control
datasocket que ofrece national instruments. Pero bueno eso es otra historia que les contare en otra
ocasin. Vete enterando con las imgenes que muestro a continuacin;




FIGURA 6. Software desarrollado en Visual Basic 6.0
Funcionamiento
Este dispositivo emula comunicacin RS232, haciendo que el sistema operativo vea al puerto USB como
si fuera el antiguo puerto SERIE (UART), por lo tanto podrs 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, tambin existe el Docklight que es mi favorito y puede descargarse la versin
DEMO que est disponible en la red, incluso con PROTEUS se instala el ejemplo COMPIM y tambin 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 seal analgica deberemos enviar el siguiente comando:*AK#13
Para leer una seal digital deberemos enviar el siguiente comando: *B#13
Para escribir una seal digital deberemos ejecutar este otro comando: *ANS#13
Revise la siguiente tabla;

8

Command
Command PC Send PIC respone
Write digital output *ANS#13 -
Read digital input *B#13 *BHH#13
Read analog input *AK#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
then PIC respone with *B7F#13
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
Simulacin
Es increble 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.

9


Figura 8. Simulacin
Para simular siga los siguientes pasos
1. Instale los usbdrivers que incluye ISIS de Proteus 7.8
2. Dibuje el esquemtico
3. Cargue el archivo usbdaq.hex en el microcontrolador virtual a una velocidad de 20Mhz
4. arranque la simulacin 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 ms bajo posible, elija el COM5 o menor
Es decir que engaamos al sistema operativo, hacindole 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?

10


Figura 9. Nuevo Hardware detectado
El pequeo problemilla es que la simulacin 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 continuacin veremos una imagen de la simulacin 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 informacin de la instalacin del dispositivo indique la carpeta donde se
encuentra el archivo mchpcdc.inf
3. A veces la simulacin falla, no s cul sea la razn, 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 transmisin y recepcin deben estar al nivel
ms bajo:

11




Figura 11. Configuracin 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 alimentacin externa, se alimenta directamente con los 5V que
proporciona USB
Aplicaciones
Este sistema lo he utilizado para controlar la iluminacin de un cuarto midiendo el nivel de luz
con un LDR por una puerta analgica y luego activando o desactivando lmparas segn 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 estacin 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 disfrtenlo.


12

Agradecimientos
Estimados amigos del foro, es todo en cuanto puedo decir en honor a la verdad, esperando que sus
sugerencias, comentarios y dems aportes sean enriquecedores y que vayan en favor del progreso de
este proyecto me despido agradecindoles por su atencin.
Atentamente

Ral Barreto Quinteros.
Ecuador, 30 septiembre 2011
dino_barreto@hotmail.com.
Telf.:087017318
Tened cuidado con aquel primate al que llamis hombre,
Porque es el pen del diablo,
Su sabidura ha de ir de la mano con su estupidez,
Matara a su hermano, por deporte, avaricia o por
Poseer su tierra,
Convertir tu hbitat en desierto, y tambin el suyo
No lo dejis que se multiplique en grandes nmeros,
Llevadlo lejos, a la madriguera donde pertenece
Pues es el heraldo de la muerte
-.Tomado del rollo sagrado de los simios.-

También podría gustarte