Professional Documents
Culture Documents
AUTORES
CASTRO ZAMBRANO JOS R.
DAZ MATTERN JESSICA J.
__________________________________________
Ing. Jos M. Rodrguez Solano
ii
___________________________
PRESIDENTE
ING. William Cuervo
C.I.
___________________________
MIEMBRO PRINCIPAL
ING. Nstor Mogolln
C.I.
___________________________
MIEMBRO PRINCIPAL
ING. Carlos Blanchard
C.I.
___________________________
MIEMBRO SUPLENTE
ING. Mariana Ramos
C.I.
MARACAY, mayo de 2007.
iii
DEDICATORIA
A Dios todopoderoso, a quien agradezco la vida y el haber hecho posible llegar
hasta este momento en mi carrera. A mi padre, por haberme apoyado en vida en todo
momento y que s que hoy ms que nunca me acompaa espiritualmente A ti papi,
te llevo en mi pensamiento y en mi corazn, gracias por tus consejos. A mi madre por
su apoyo incondicional y haberme dado la formacin integral que hicieron de m la
persona que hoy en da soy, te quiero mucho mami. A mis hermanos Marhilda, Len
y Jess, quienes me han apoyado en toda mi carrera y quienes me han enseado a
valorar las cosas buenas y malas de la vida, a uds hermanos tambin les dedico este
trabajo, gracias por estar ah cuando los he necesitado. A mis tas Miriam, Herminia,
a mi to Jess, a mi prima Martha, y a aquellos que de alguna manera han estado
pendientes y apoyando el desarrollo y finalizacin de este trabajo, gracias. A todos
mis amigos, quienes me han apoyado incondicionalmente en las buenas y en las
malas, han celebrado mis xitos y me han dado nimos en los fracasos, gracias por
todo. A mis profesores, quienes han aportado un granito de arena en la formacin de
mi carrera como profesional y tambin como ser humano. Al profesor Jos Rodrguez
por haber credo en nosotros, dedicarnos tiempo y apoyarnos durante el desarrollo
de este trabajo, igualmente por los consejos que nos ha dado que enriquecen nuestro
desarrollo profesional y humano. A todos uds, les dedico este trabajo especial de
grado.
Jos Castro
Estoy a un paso de cumplir mi ms grande meta en estos 21 aos. Hay muchas
cosas por las que agradezco, pero no tuviese ninguna sino fuese por Dios. A mi Dios
Todopoderoso que me ha regalado la vida y mis seres queridos, nunca me cansar de
darte las gracias. A mi familia adorada: a mi Opi bello, que has sido abuelo y padre,
el mejor y ms maravilloso de todos, gracias por tu amor, por ensearme a ser fuerte
y humilde, tus consejos, por dejarlo todo si te necesito, por ser siempre el primero en
apoyarme y demostrarme que la sensibilidad no conoce de razas; a mi Mami, eres el
mejor ejemplo de constante lucha por amor, gracias por ser incondicional conmigo,
por hacer de m una mujer de bien y por tu amor nico; a mi Omi linda, mi segunda
mam a quien admiro, gracias por animarme en momentos difciles, por entregarte
en cuerpo y alma a nosotros, por estar a mi lado y entender mi carcter; a mi gititi
por darme la oportunidad de hacer de ti un hombre de bien y disfrutar de tu
compaa; a mi pap, por ensearme que an siendo adultos, nuestro espritu debe
ser joven; a mi to Bruno, por hacerme ms independiente y confiar en m; a mi ta
Mnica, por ser tan noble y cariosa. A mi pequeo, gracias por darme el privilegio
de tenerte, amarme como lo haces, apoyarme y comprenderme. A toda mi familia,
gracias por ser quienes son. A mis amigos de corazn, por brindarme su amistad y
ver la vida desde varios ngulos. Al prof. Jos Rodrguez, ejemplo de admiracin,
por ayudarnos y por brindarnos su lado humano y entretenido. A mis profesores
gracias por creer en m y sentirme orgullosa de mi universidad. A todos que me
apoyaron y me quieren
Jessica Daz.
iv
RECONOCIMIENTOS
A nuestro Tutor, Ing. Jos Rodrguez, por ayudarnos en todo momento, por el
gran inters que tuvo en nuestro trabajo, por brindarnos las herramientas necesarias
para la culminacin exitosa, por guiarnos y dedicarnos tanto tiempo. Gracias
tambin por permitirnos realizar un aporte a nuestra universidad.
Al Sr. Luis, por escuchar nuestras dificultades, darnos nimo para seguir, por
alegrarnos el da con sabrosos pastelitos y permitirnos tener un amigo ms.
Autores:
Castro Zambrano Jos R.
Daz Mattern Jessica J.
RESUMEN
vi
NDICE GENERAL
DEDICATORIA.iv
RECONOCIMIENTOS..v
RESUMEN..vi
NDICE GENERAL..vii
NDICE DE CONTENIDO.viii
NDICE DE FIGURASxiii
NDICE DE TABLAS.xix
vii
INDICE DE CONTENIDO
CAPTULO I
INTRODUCCIN
1.1.
1.2.
OBJETIVOS ............................................................................................ 6
1.3.
JUSTIFICACIN .................................................................................... 7
1.4.
ALCANCE ............................................................................................... 8
1.5.
LIMITACIONES ................................................................................... 10
1.6.
CAPTULO II
MARCO TERICO
2.1. ESTUDIOS PREVIOS ............................................................................... 13
2.2. BASES TERICAS.................................................................................... 14
2.2.1. Instrumentacin Virtual................................................................................. 15
2.2.1.1. Definicin.............................................................................................................. 15
2.2.1.2. Resea histrica de la instrumentacin virtual ....................................................... 18
2.2.1.3. Ventajas de la instrumentacin virtual ................................................................... 19
2.2.3. ActiveX............................................................................................................ 29
2.2.3.1. Objetos OLE.......................................................................................................... 30
2.2.3.2. Definicin de ActiveX ............................................................................................ 30
viii
CAPTULO IV
DISEO DE CONTROLES ACTIVEX Y BUSCADOR DE DISPOSITIVOS
4.1 REQUERIMIENTOS DE LOS CONTROLES ACTIVEX,
INSTRUMENTACIN VIRTUAL Y COMUNICACIN 1-WIRE............ 61
ix
CAPTULO V
PRUEBAS, VALIDACIONES Y APLICACIN FINAL
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.3
CAPTULO VI
GUA DE USO DE LOS CONTROLES ACTIVEX
6.1
6.1.1 Instalacin de los controladores para el convertidor USB a 1-Wire ......... 194
6.1.2 Instalacin de los Controles ActiveX ............................................................ 194
xi
6.6.2
6.6.3
6.6.4
6.6.5
6.6.6
6.6.7
6.6.8
6.7
6.7.1
6.7.2
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES ........................................................................................... 230
RECOMENDACIONES ................................................................................. 233
APNDICES
A. DISPOSITIVOS 1-WIRE Y SU CDIGO DE FAMILIA. ........................ 235
B. DATASHEET DS2407: PRIMERA PGINA. .............................................. 236
C. DIAGRAMA ESQUEMTICO DE LA TARJETA DM-AIO4 ................... 237
D. ADAPTADOR USB A 1-WIRE .................................................................. 238
E. DIAGRAMA ESQUEMTICO DE LA TARJETA DE PRUEBAS DEL
ACTIVEX DS2406 .............................................................................................. 240
F. MATERIALES Y COSTO DE LA TARJETA DM-AIO4........................... 242
G. CERTIFICADO DE CALIBRACIN DS18B20 .......................................... 244
H. CDIGO FUENTE BUSCADOR DE DISPOSITIVOS ............................... 245
I. CRONOGRAMA DE ACTIVIDADES........................................................... 252
BIBLIOGRAFA................................................................................................. 253
LISTADO DE SMBOLOS Y ABREVIATURAS ............................................. 257
GLOSARIO......................................................................................................... 259
xii
NDICE DE FIGURAS
FIGURA 1. INSTRUMENTO VIRTUAL .............................................................. 17
FIGURA 2. INSTRUMENTO TRADICIONAl ...................................................... 17
FIGURA 3. COMPONENTES ACTIVEX PARA LA INSTRUMENTACIN
VIRTUAL DISTRIBUIDOS POR IOCOMP........................................................... 18
FIGURA 4. PULSOS DE RESET Y PRESENCIA PARA EL INICIO DE SESIN
ENTRE EL MAESTRO Y ESCLAVO.................................................................... 24
FIGURA 5. REUTILIZACIN DEL CDIGO EN ACTIVEX.............................. 32
FIGURA 6. PROCESO BSICO DE CREACIN DE UN CONTROL ACTIVEX
................................................................................................................................ 35
FIGURA 7. SECUENCIA PARA USO DE LAS FUNCIONES API ...................... 37
FIGURA 8. REPRESENTACIN GRFICA DE TMEX COMO API .................. 44
FIGURA 9. ENTORNO INTEGRADO DE DESARROLLO DE VISUAL BASIC 49
FIGURA 10. MODELO BSICO DEL SISTEMA ................................................ 75
FIGURA 10-1. SELECCIN DEL TIPO DE PROYECTO EN LA VENTANA
INICIAL DE VB..................................................................................................... 76
FIGURA 11. ADMINISTRADOR DE COMPONENTES DE VISUAL BASIC. ... 79
FIGURA 12. ESTABLECIMIENTO DE ATRIBUTOS ......................................... 79
FIGURA 13. SECUENCIA DE INICIALIZACIN DE LA COMUNICACIN
1-WIRE................................................................................................................ 81
FIGURA 14. DIAGRAMA DE FLUJO PARA EL COMANDO COINCIDIR ROM
................................................................................................................................ 82
FIGURA 15. PINES DEL DS18B20 ...................................................................... 84
FIGURA 16. ORGANIZACIN DE LA MEMORIA DEL DS18B20 .................... 84
FIGURA 17. DIAGRAMA DE FLUJO DE LAS FUNCIONES DE MEMORIA
DEL DS18B20 ........................................................................................................ 87
FIGURA 18. UBICACIN DEL ADMINISTRADOR DE COMPLEMENTOS EN
LA BARRA DE MEN DE VISUAL BASIC ........................................................ 91
FIGURA 19. CARGA DEL ASISTENTE PARA PGINAS DE PROPIEDADES
DE VB 6 ................................................................................................................. 91
FIGURA 20. UBICACIN DEL ASISTENTE PARA PGINAS DE
PROPIEDADES EN EL MEN COMPLEMENTOS DE VISUAL BASIC............ 92
xiii
xiv
xv
xvi
FIGURA 84. CIERRE DEL CANAL A DEL DS2406 HACIENDO USO DEL
CONTROL ACTIVEX.......................................................................................... 174
FIGURA 85. FORMULARIO DE PRUEBAS PARA EL ACTIVEX DS2890...... 175
FIGURA 86. CONEXIN DE LOS MDULOS C Y D PARA LA APLICACIN
DE PRUEBA ........................................................................................................ 185
FIGURA 87. INTERFAZ GRFICA DEL EJEMPLO DE APLICACIN........... 185
FIGURA 88. CONTROLES ACTIVEX ............................................................... 186
FIGURA 89. VENTANA PARA LA CONFIGURACIN DEL PUERTO DE
COMUNICACIN ............................................................................................... 186
FIGURA 90. MENSAJE DE ERROR DE PUERTO DE COMUNICACIN ....... 187
FIGURA 91. VENTANA DE VISUALIZACIN DE SERIALES ....................... 187
FIGURA 92. CONEXIN DE LOS MDULOS A Y B PARA LA APLICACIN
DE PRUEBA ........................................................................................................ 188
FIGURA 93. CONEXIN DEL POTENCIMETRO DS2890 ............................ 189
FIGURA 94. CONEXIN DEL BUZZER DE ALARMA Y EL LM555.............. 189
FIGURA 94-1. DIAGRAMA ESQUEMTICO DE LA APLICACIN FINAL
PARTE I ............................................................................................................... 191
FIGURA 94-2. DIAGRAMA ESQUEMTICO DE LA APLICACIN FINAL
PARTE II.............................................................................................................. 192
FIGURA 95. VENTANA DE BIENVENIDA AL PROCESO DE INSTALACIN
.............................................................................................................................. 195
FIGURA 96. VENTANA DE INFORMACIN DE USUARIO........................... 196
FIGURA 97. VENTANA DE INFORMACION DE LA INSTALACION. ........... 196
FIGURA 98. VENTANA DE COMPONENTES DE VB6 ................................... 197
FIGURA 99. VENTANA DE BSQUEDA DE LOS CONTROLES ACTIVEX. 198
FIGURA 100. SELECCIN DE LOS CONTROLES ACTIVEX A SER
AGREGADOS EN LA BARRA DE COMPONENTES DE VB............................ 198
FIGURA 101. VISUALIZACIN DE LOS CONTROLES EN LA BARRA DE
COMPONENTES DE VB EN EL ENTORNO DE PROGRAMACIN. .............. 199
FIGURA 102. ACTIVACIN DEL CUADRO DE CONTROLES EN MICROSOFT
EXCEL ................................................................................................................. 200
xvii
xviii
NDICE DE TABLAS
A. COMANDOS DE ROM COMNMENTE UTILIZADOS EN CHIPS 1WIRE .................................................................................................................. 27
B. GRUPO DE FUNCIONES API........................................................................ 36
C. TIPOS DE API DE PROGRAMACIN 1-WIRE. ...................................... 38
D. LENGUAJES Y SISTEMAS OPERATIVOS QUE ADMITEN FUNCIONES
API. ........................................................................................................................ 38
E. TIPOS DE ARCHIVO DE UN PROYECTO EN VISUAL BASIC................ 51
F. COMPARACIN DE TERMMETROS DIGITALES 1-WIRE .............. 67
G. COMPARACIN DE SWITCHES DIGITALES 1-WIRE......................... 68
H.COMPARACIN DE CONVERTIDORES A/D DIGITALES 1-WIRE..... 69
I. CARACTERSTICAS DEL POTENCIMETRO DIGITAL 1-WIRE
DS2890 ................................................................................................................... 69
J. ADMINISTRACIN DE RECURSOS FINAL SEGN LAS FASES............ 71
J-1. ESTUDIO ECONMICO ............................................................................. 72
J-2. EVALUACIN DE COSTOS PARA TERCEROS...................................... 73
K. BYTE DEL REGISTRO DE CONFIGURACIN DEL DS18B20. ............... 85
L. CONFIGURACIN DE LA RESOLUCIN DEL DS18B20......................... 85
M. MAPA DE LA MEMORIA DE ESTADO DEL DS2406.............................. 101
N. ASIGNACIN DE LOS BITS DEL BYTE 1 DE CONTROL DE CANAL 103
O. CDIGO DE SELECCIN DE LOS BITS CHS0 Y CHS1 DEL BYTE 7
DEL REGISTRO DE ESTADO DEL DS2406................................................... 104
P. EFECTO DE LOS BITS IM Y TOG ............................................................. 108
Q. CDIGO DEL CONTROL DE CRC............................................................ 109
R. BYTE DE INFORMACIN DE CANAL ..................................................... 109
S. MAPA DE MEMORIA DE LA PGINA 0 DEL DS2450............................. 113
T. MAPA DE MEMORIA DE LA PGINA 1 DEL DS2450. ........................... 114
U. MAPA DE MEMORIA DE LA PGINA 2 DEL DS2450 ............................ 115
V. MSCARA DE SELECCIN DE ENTRADA (COMANDO DE
CONVERSIN). ................................................................................................. 121
W. BYTE DE CONTROL READ-OUT ............................................................. 121
xix
xx
CAPTULO I
INTRODUCCIN
III presenta el marco metodolgico con las tcnicas y/o procedimientos empleados
para cumplir con los objetivos. En el captulo IV se expone la creacin de los
controles ActiveX y el Buscador de Dispositivos. En el captulo V se detallan las
pruebas, validaciones y la aplicacin final. En el captulo VI se elabora la gua de
usuario para instalacin y uso de los controles ActiveX creados, en los entornos
Excel, Word y Visual Basic. Finalmente se presentan las conclusiones y
recomendaciones asociadas al desarrollo del trabajo.
utilizando un control ActiveX. Esto genera que los estudiantes se vean restringidos al
no poder desarrollar instrumentos de su propia autora, debido a que no disponen de
un nivel de flexibilidad por parte de los instrumentos tradicionales. Esto representa un
problema en las universidades relacionado directamente con la capacitacin
tecnolgica y por consiguiente acadmica.
1.2. OBJETIVOS
1.3. JUSTIFICACIN
1.4. ALCANCE
10
1.5. LIMITACIONES
Los controles ActiveX desarrollados slo son aplicables para los cuatro
integrados a utilizar.
Para el trabajo, existen los siguientes niveles de exigencia por parte de la empresa:
Uso de los controles ActiveX Iocomp Software Inc. como complemento en las
validaciones y programa final de los ActiveX creados.
La gua de uso de los controles ActiveX deber ser especificada para los
entornos: Visual Basic, Excel y Word.
11
12
13
CAPTULO II
MARCO TERICO
14
15
2.2.1.1. Definicin
Muchas veces la obtencin de una medida requiere la utilizacin de varios
instrumentos, unos generan estmulos sobre el dispositivo que se pretende medir y
otros recogen la respuesta a estos estmulos. Este conjunto de instrumentos, que hace
posible la realizacin de la medida, recibe el nombre de sistema de instrumentacin.
Todo sistema de instrumentacin consta de unos instrumentos, un sistema de
interconexin de stos y un controlador inteligente que gestiona el funcionamiento de
todo el sistema y da las rdenes para que una medida se obtenga correctamente.
El concepto de instrumentacin virtual nace a partir del uso de la computadora
personal, como forma de reemplazar instrumentos de medicin (figura 2) por
software, permite a los usuarios interactuar con la computadora como si estuviesen
utilizando un instrumento real. El usuario manipula un instrumento que no es fsico,
se ejecuta en una computadora, tiene sus caractersticas definidas por software pero
realiza las mismas funciones que un equipo real.
16
17
18
19
20
21
22
23
24
lnea baja por lo menos 480s, luego la libera, y espera un pulso de presencia como
respuesta del esclavo conectado a la lnea. Si el pulso de presencia es detectado, el
maestro accede al mismo llamando a su direccin o registro, controlando la
transferencia de informacin a travs de la generacin de los time slots y
examinando la respuesta del esclavo. Una vez que esta retroalimentacin es exitosa,
el maestro emite comandos especficos necesarios del dispositivo y ejecuta cualquier
transferencia de datos necesaria.
15-60s
+5V
Inactivo
Pulso
de Reset
Pulso de
Presencia
0V
480s
60-240s
25
Tanto el maestro como los esclavos transmiten informacin de forma bidireccional, pero, slo en una direccin a la vez. De esta manera la
comunicacin es half duplex.
Todas las tensiones mayores que 2,2 Voltios son consideradas un (1) lgico
mientras que un (0) lgico ser cualquier voltaje menor de 0,8 V.
26
1. Inicializacin
Todas las comunicaciones en el bus 1-Wire comienzan con una secuencia de un
pulso de Reset y Presencia. El pulso de reset provee una forma limpia de iniciar las
comunicaciones, ya que, con l se sincronizan todos los dispositivos esclavos
presentes en el bus. Un reset es un pulso que genera el maestro al colocar la lnea de
datos en estado lgico bajo por unos 480 s. El Pulso de presencia lo genera(n)
el(los) esclavo(s) para indicarle al maestro que est(n) disponible(s) para cualquier
operacin y consiste en colocar la lnea de datos en estado lgico bajo durante un
perodo de tiempo entre 60 y 240 s.
27
Comando
Valor
Read ROM
$33
Match ROM
$55
Skip ROM
$CC
Search ROM
$F0
Accin
Lee la identificacin de 64 bits del dispositivo. Puede
usarse si existe un slo dispositivo esclavo.
Este comando, seguido de una identificacin de 64 bits,
permite seleccionar a un dispositivo esclavo en
particular.
Direcciona a un dispositivo sin necesidad de conocer su
identificacin. Puede ser utilizado solamente cuando
existe un slo esclavo.
Lee los 64 bits de identificacin de los dispositivos
esclavos conectados en el bus. Se utiliza un proceso de
eliminacin para distinguir a cada dispositivo conectado.
4. Transferencia de Datos
La lectura y escritura de datos en el bus 1-Wire se hace por medio de Slots, la
generacin de stos es responsabilidad del maestro, como un microcontrolador
ATOM o un computador.
28
Cuando el maestro lee informacin del bus, debe forzar la lnea de datos a estado
bajo durante al menos 1s y esperar unos 15s para entonces leer el estado de la
misma. El estado lgico de la lnea en ese momento, estar determinado por el
dispositivo esclavo.
Al momento de efectuar la escritura de un bit en el bus ocurre algo similar, el
maestro produce un pulso de entre 1s y 15s de duracin, para luego colocar en el
bus al bit que se desea transmitir. Este bit deber permanecer en el bus al menos 60
s.
29
Cuando se implementa por software, una forma simple de hacerlo, es por medio de
una tabla de 256 bytes, la cual, es llamada repetidas veces a medida que se introducen
los bytes hasta obtener el valor definitivo del CRC. Este mtodo es muy sencillo, pero
presenta el inconveniente de requerir el uso de 256 bytes de la memoria de un
microcontrolador.
2.2.3. ActiveX [Fuente: 1, 7, 12, 16, 17, 24, 25, 27, 29]
Antes de entrar en definicin de ActiveX, se debe entender lo que es un objeto
OLE.
30
31
de programacin como Visual Basic, C++, Delphi entre otros, como tambin en la
Web mediante el uso de Active Server Pages (ASP) y el lenguaje VBScript. La
tecnologa COM provee muchos beneficios, incluyendo integracin ms fcil,
escalabilidad y reusabilidad. Tambin ofrece la ventaja de independencia del lenguaje
y compatibilidad entre distintas plataformas.
32
Reutilizacin de cdigo
Control
ActiveX
Programa
compatible
Con ActiveX
Despus de compilar, los controles ActiveX pueden ser objeto de interfaz con otros programas
FIGURA 5. REUTILIZACIN DEL CDIGO EN ACTIVEX.
Con los ActiveX no se necesita ningn cdigo fuente. Como el cdigo original se
ha convertido en un control ActiveX, es posible utilizarlo sin el apoyo de un
programa compatible con ActiveX. Los controles ActiveX ofrecen un marco de
reutilizacin de cdigo, ya que son independientes del lenguaje. Los controles
permiten conectar cdigo C++ con Java, el cdigo Java con Visual Basic, Visual
Basic con C++ y as sucesivamente.
Los controles ActiveX pueden conseguir esta independencia del lenguaje, ya que
33
su cdigo se encripta en forma binaria, no como cdigo fuente. Sea cual sea la
herramienta de desarrollo utilizada, el resultado ser un control ActiveX
comprensible como binario por cualquier programa compatible con ActiveX.
La independencia del lenguaje no es la nica ventaja que se extrae del empleo de
cdigo reutilizable en forma binaria. Por ejemplo, despus de convertir un algoritmo
en un control ActiveX, podr suministrarse a otros programadores sin necesidad de
desvelar el resto del cdigo fuente. Adems los algoritmos dejarn de estar limitados
a las herramientas de desarrollo. Toda aplicacin que contemple en sus controles al
estndar ActiveX, podr hacer uso de este cdigo.
34
soporte de interfaz de usuario para dicho control. Se puede por ejemplo, presentar un
botn que, una vez pulsado, enve un mensaje al control.
Tambin puede responder a diversos sucesos, o mensajes especiales que se envan
desde el control al contenedor. Estos sucesos pueden reclamar un "clic" de ratn, la
terminacin de una tarea o cualquier otro evento.
Para obtener un mximo aprovechamiento de la arquitectura ActiveX son
necesarios tanto los controles como los contenedores. Los primeros permiten
empaquetar el cdigo fuente en un objeto nico y reutilizable.
Inicialmente, debe realizarse un esquema del algoritmo que por lo general, viene
dado en diagramas de flujo. En el caso de los chips 1-Wire, la hoja de datos
(datasheet) indica el diagrama de flujo con todas las funciones, comandos y acciones
que se necesitan para programar, acceder y manipular al mismo. Queda entonces, a
objeto del usuario, llevar estos eventos a cdigo fuente. En la figura 6 se muestran los
pasos para la creacin del control ActiveX.
Una vez elaborado el cdigo fuente, debe compilarse como OCX (en ingls OLE
Control Extension) o Extensin de Control OLE quien representa un Control
ActiveX. En este momento, ya se ha creado el Control ActiveX. Por ltimo, debe
asegurarse que el programa de desarrollo tenga la capacidad de manejar controles
ActiveX para poder insertarlo, ajustar propiedades, etc.
35
Cdigo
Fuente
Cdigo
Fuente
Control
ActiveX
Control
ActiveX
Programa
compatible
con ActiveX
36
37
SESIN
Adquiere el uso exclusivo de la red 1-Wire
RED
Identificacin y/o seleccin del dispositivo 1-Wire
TRANSPORTE/ARCHIVO/DISPOSITIVO
Ejecuta una operacin especfica en el dispositivo
o de memoria (opcional)
Ejecutar
otra
Operacin
?
Si
No
SESIN
Liberar la red 1-Wire. Cancelar uso exclusivo
EXTRA
Ejecuta otras tareas en la aplicacin
Existen 5 tipos de API que se presentan en la tabla C y la tabla D muestra las APIs
disponibles para los sistemas operativos (SO) y lenguajes que soportan.
38
ABREVIATURA
PD
1-Wire
API for
Java
OWAPI
1-Wire
API for
.NET
OW.NET
1-Wire
COM
OWCOM
TMEX
API
TMEX
DESCRIPCIN
Conjunto completo de cdigos y funciones abiertas en lenguaje C,
los cuales, soportan la conexin con un PC a travs de un adaptador
tipo serial denominado DS9097U y DS9490 USB
Conjunto completo de cdigos y funciones abiertas en lenguaje Java,
los cuales, soportan casi todos los dispositivos 1-Wire y la
conexin con un PC a travs de un adaptador tipo serial denominado
DS9097U equivalente y DS9490 USB.
Es el OWAPI compilado con J# para el entorno de Microsoft .NET.
La capa de enlace de 1-Wire de bajo nivel ha sido llevada a C# y
est disponible para descargas.
Modelo de componentes objetos (COM) que implementa un interfaz
en base a cdigos y funciones escritas y utilizadas por el API de
JAVA (OWAPI), el cual, es accesible a travs de lenguajes de
programacin como el Java y el Visual Basic Script.
Conjunto completo de funciones independientes del lenguaje
(DLLs). Proveen soporte a todos los dispositivos y adaptadores
1-Wire que trabajen bajo la plataforma Windows de 32 Bits.
Son al mismo tiempo, las funciones que se utilizarn para acceder a
los diferentes dispositivos en la red 1-Wire. El API TMEX, est
diseado para trabajar en aplicaciones multi-procesos y multi-tareas.
TMEX/OWCOM/
OW.NET
TMEX/OWCOM/OW.NET
TMEX/OWCOM/OW.NET
TMEX/OWCOM/OW.NET
TMEX/OWCOM/OW.NET
TMEX
OW.NET (an no
completada)
JAVA
PD
PD
PD
PD
PD
PD
PD
PD
PD
OWAPI
OWAPI
OWAPI
OWAPI
OWAPI
PD
PD
PD sin
SO TINI
OWAPI
OWAPI
39
40
41
TMBlockIO, enva y recibe un bloque de datos desde la red 1-Wire precedida con
un reset.
42
43
44
Aplicaciones
Java
Librera
OWCOM
TMEX
.NET
OWAPI.DLL
1-Wire COM
Librera
Librera
OWAPI
IBTMJAVA.DLL
(JNI Enlace original)
Controladores
o Drivers TMEX API
Libreras para
el uso de
convertidores
OneWireAPI.NET.DLL
(1-Wire API for J#)
IBFS32.DLL
Librera de las
funciones TMEX
Libreras para
el uso de
convertidores
Libreras para
el uso de
convertidores
45
Una clase es un ente abstracto que permite declarar las propiedades y los
mtodos de objetos similares. Las clases presentan el estado de los objetos a los que
representan mediante variables denominadas atributos. Cuando se crea un objeto el
compilador crea en la memoria dinmica un espacio para tantas variables como
atributos tenga la clase a la que pertenece el objeto.
Un lenguaje de programacin orientado a objetos debe permitir al programador
realizar definiciones de clases, y construir objetos a partir de esas clases.
Un objeto tambin se define como una entidad que posee sus caractersticas
propias (propiedades) y un conjunto de acciones que es capaz de realizar (mtodos)
que pueden ser invocadas externamente. Un objeto adems de un estado interno,
presenta una interfaz para poder interactuar con el exterior.
46
2.2.5.3. Eventos
47
Dicho suceso puede ser externo, como la pulsacin de una tecla, o bien interno
como la recepcin de una seal por parte del Sistema Operativo.
48
2.2.6.1. Propiedades
A las propiedades se accede con el nombre del objeto seguido de un punto (.) y el
nombre de la propiedad. Supongamos un perro de nombre Fido, en el caso de que se
quisiera acceder a la propiedad Edad de Fido, la sentencia ser: Fido.Edad. Las
propiedades pueden ser de lectura, escritura o ambas. Las propiedades de lectura son
aquellas que slo puede conocerse su valor pero no cambiarlo. Las de escritura son
aquellas que solamente puede cambiarse su valor pero no consultarlo.
49
2.2.6.2. Funciones
Las funciones son similares a los mtodos, con la diferencia de que las funciones
tienen un valor de retorno y los mtodos no. Este valor de retorno puede ser un
nmero, una cadena de texto, un valor de tipo Verdadero/Falso, e inclusive otro
objeto. Una funcin puede llevar o no argumentos y se accede de la misma forma que
a los mtodos.
Cuadro de
Herramientas
Diseo de
Formularios
Explorador de
Proyectos
Ventana
de Cdigo
Ventana
de Propiedades
50
El entorno de Microsoft Visual Basic 6.0 presenta dos modos de trabajo segn si
se est diseando una ventana o se est escribiendo el cdigo con sus eventos,
propiedades, mtodos y funciones.
En el caso de las aplicaciones, estas se desarrollan sobre ventanas que tienen
controles como cuadros de texto, cuadros de lista, botones de opcin, etc. con los que
el usuario interacta. Las ventanas con su aspecto se crean en una interfaz grfica
llamada Formulario (Form). El formulario ser la ventana de la aplicacin cuando
sta se compile.
El cuadro de la parte izquierda de la ventana es el Cuadro de Herramientas, con
los controles disponibles a colocar sobre el formulario. El cuadro de la derecha es la
ventana Propiedades, las que muestra las propiedades del formulario o control
seleccionado en el formulario, para cambiarlas. Es en esta vista donde se disea en
forma visual toda la parte grfica de la ventana; este modo de trabajo se denomina
modo Diseo.
Luego est el otro modo de trabajo, denominado modo Ejecucin que es la ventana
donde se escribe el cdigo o Ventana de Cdigo. El cdigo es exclusivamente texto,
en el cual se observa texto con formato de color. Esto se debe a que las palabras clave
aparecen en un color distinto: errores de sintaxis, los comentarios y el texto.
Todas las aplicaciones, libreras u otros trabajos que se cree en Visual Basic se
hacen en un Proyecto. Un proyecto (depende del tipo) contendr Formularios,
51
Mdulos estndar, Mdulos de clase, Controles de usuario, etc. Puede ver los que
estn presentes en el proyecto desde el Explorador de Proyectos.
Cuando desarrolla una aplicacin, Visual Basic crea un archivo especial llamado
Archivo de Proyecto para administrar todos los dems archivos de la aplicacin.
El Archivo de Proyecto es simplemente una lista de todos los archivos y objetos
asociados con el proyecto, as como informacin sobre las opciones del entorno. Un
proyecto est compuesto por los siguientes archivos:
TABLA E. TIPOS DE ARCHIVO DE UN PROYECTO EN VISUAL BASIC.
Fuente: Matta, Danny. http://www.lawebdelostutoriales.com/
Tipos de archivo
Proyecto
Extensin
.vbp
Formulario
.frm .frx
Mdulo estndar
.bas
Controles
Personalizados
.ocx
Mdulo de clase
.cls
Recursos
.res
Descripcin
Realiza el seguimiento de todos los componentes de la aplicacin.
Incluye el formulario, los objetos sobre el formulario y el cdigo
que se ejecuta cuando ocurre un evento en el formulario.
Contiene procedimientos Sub y Function que pueden ser
invocados por cualquier formulario u objeto sobre el formulario.
(opcional).
Controles adicionales a los controles estndar proporcionados por
Microsoft u otras empresas. (opcional) como ActiveX.
Contiene la definicin de clase, mtodos y propiedades de un
nuevo tipo de objeto (opcional).
Contiene informacin binaria usada por la aplicacin. Son usados
generalmente cuando se crean programas para mltiples lenguajes.
52
53
54
El diseo del circuito impreso para la tarjeta electrnica se rige bajo normas IPC2221 A Generic Standard on Printed Board Design, IPC-6012B Qualification and
Performance Specification, IEEE 200-1975 IEEE Standard Reference Designations
for Electrical and Electronics Parts and Equipments e IEEE 1100-1999 IEEE
Recommended Practice for Powering and Grounding Electronic Equipment.
55
CAPTULO III
MARCO METODOLGICO
56
3.2.2. Algoritmo
57
Rombo. Se utiliza para representar una condicin, por lo que a su salida, el proceso
tendr dos caminos posibles.
58
Existen adems una variedad de formas especiales para denotar las entradas, las
salidas, los almacenamientos, etc. En los diagramas de flujo se presuponen los
siguientes aspectos:
Existe un nico punto de fin para el proceso de flujo, salvo del rombo que
indica una comparacin con dos caminos posibles.
Tal como seal Niklaus Wirth (1976), un programa est formado por algoritmos
y estructura de datos. Ahora bien, una vez que se obtuvo el algoritmo y el diagrama
de flujo, el cual indica cmo deben ejecutarse las funciones en el lenguaje de
programacin, se procedi a elaborar los controles ActiveX. La tcnica de
programacin modular permiti subdividir en partes menores (mdulos) los
programas en Visual Basic, de modo que la complejidad algortmica de cada una de
las partes fuese menor que la de los programas completos, lo cual ayud al desarrollo
de los mismos.
59
Se recurri a esta tcnica para recibir asesora del tutor en orden de solventar
cualquier interrogante en cuanto a programacin en Visual Basic, 1-Wire y
controles ActiveX.
3.4.1
Este software se utiliz para realizar el trazado de las pistas y disposicin de los
DS18B20 y DS2450 as como enviar este archivo a la empresa fabricante de esta
herramienta en Estados Unidos para su construccin en baquelita.
3.4.2
60
61
CAPITULO IV
REQUERIMIENTOS
DE
LOS
CONTROLES
ACTIVEX,
62
El uso de los controles debe resultar de fcil manejo por parte del usuario final
de manera de configurar parmetros propios de los integrados.
Los controles deben tener la capacidad de trabajar hasta con tres dispositivos
1-Wire de la misma familia conectados en el puerto de comunicacin.
Los controles ActiveX deben ser compatibles con los controles adquiridos por
63
64
mediante software. Por lo tanto, los controles ActiveX debern ofrecerle al usuario la
posibilidad de poder insertarlos en el entorno de programacin (especificados en
captulo VI) y manipular y configurar las propiedades de cada integrado 1-Wire a
travs de los mismos.
Para complementar la utilizacin de los controles ActiveX, la empresa ROSO
Electric Supply C.A. cuenta con la licencia de los controles ActiveX creados por el
fabricante Iocomp mediante los cuales se pueden visualizar los valores adquiridos por
los controles ActiveX de los dispositivos 1-Wire en representaciones de
instrumentos tales como termmetro de bulbo, displays de 7 segmentos, diodos led,
grfica bidimensional, interruptores, entre otros. Es por esto que los ActiveX creados
para los dispositivos 1-Wire debern ser compatibles con los ActiveX de Iocomp.
4.1.3 Requerimientos de la comunicacin 1-Wire
Para la comunicacin 1-Wire, los requerimientos establecidos por la empresa
son los siguientes:
65
66
posiciones.
Sin embargo, a continuacin se presentan tablas comparativas entre los
dispositivos 1-Wire de la misma familia, con el objeto de informar y dar a conocer
las diferentes caractersticas que pueden derivarse de cada uno.
Termmetro Digital
Los dispositivos son: DS1920, DS1820, DS18S20, DS1822, DS2438, DS18B20 y
DS2760. Se despliegan sus caractersticas en la tabla F.
Switche Digital
Los dispositivos son: DS2405, DS2406, DS2407, DS28E04-100, DS2408 y
DS2413.
Sus caractersticas se presentan en la tabla G.
67
TABLA F.
COMPARACIN DE TERMMETROS DIGITALES 1-WIRE
Dispositivo
Rango de
Temperatura C
Tiempo de
conversin
ms
Resolucin/Precisin
bits/C
DS1920
-55 a 100
200
9/0.5
DS1820
-55 a 125
750
9/ 0.5
DS18S20
Equivalente al
DS1820
Equivalente al
DS1820
Equivalente al
DS1820
DS1822
-55 a 125
DS2438
-40 a 85
10
DS18B20
-55 a 125
Programable de 9 a 12
bits/ 0.5
10
8/3
DS2760
127C
9 a 12/ 2
13/ 2
Caractersticas
iButton; 64 bits para
reconocimiento;
Comunicacin con bus a
16.3kbit; 2 bytes de
EEPROM.
Tipo TO-92 y SOIC 8 pines;
64 bits para reconocimiento;
puede alimentarse de la lnea
de datos; 1 pin para datos;
alarma de temperatura.
Equivalente al DS1820
Tipo TO-92 y SO 8 pines; 64
bits para reconocimiento;
puede alimentarse de la lnea
de datos; 1 pin para datos;
alarma de temperatura.
8 pin tipo SOIC; 64 bits para
reconocimiento; 1 pin para
datos; 40 bytes de EEPROM;
puede alimentarse de la lnea
de datos.
Tipo TO-92; 64 bits para
reconocimiento; puede
alimentarse de la lnea de
datos; 1 pin para datos;
alarma de temperatura.
TSSOP; Monitor de batera;
64 bits para reconocimiento;
circuito de proteccin de Li+,
medicin de corriente,
voltaje y temperatura.
Costo $ en
www.maximic.com
6.76
2.57
2.57
Muestra gratis
1.97
Muestra gratis
2.90
Muestra gratis
2.57
Muestra gratis
3.17
Muestra gratis
68
TABLA G.
COMPARACIN DE SWITCHES DIGITALES 1-WIRE
Dispositivo
Rango de
voltaje de
operacin
V
Tiempo de
lectura en
slot
s
Rango de
Temperatura
C
Costo $ en
www.maximic.com
DS2405
2.8 a 6
120
-40 a 85
1.53
Muestra gratis
DS2406
2.8 a 6
120
-40 a 85
4.27
Muestra gratis
DS2407
Obsoleto
Obsoleto
Obsoleto
Obsoleto
DS28E04100
2.8 a 5.25
65
(estndar)
-40 a 85
3.82
Muestra gratis
DS2413
2.8 a 5.25
65
(estndar)
0 a 70
1.92
Muestra gratis
Caractersticas
Tipo TO-92, SOT-223
y TSOC 6 pines; 64
bits para
reconocimiento;
velocidad 16.3kbits/s;
nivel lgico de
colector abierto
determinable.
Tipo TO-92 y TSOC 6
pines; 2 canales;
estado de memoria
programable; 1kbit de
memoria; 64 bits para
reconocimiento;
velocidad 16.3kbits/s;
alimentacin del bus.
Obsoleto
Tipo SO 16 pines;
EEPROM con pin de
colector abierto; 64
bits para
reconocimiento;
velocidad 15kbits/s.
Tipo TSOC 6 pines;
64 bits para
reconocimiento; pines
I/O programables;
histresis y filtrado.
Convertidor A/D
69
TABLA H.
COMPARACIN DE CONVERTIDORES A/D DIGITALES 1-WIRE
Dispositivo
Tiempo de
conversin
ms
Resolucin/Error
bits/LSB
DS2450
1 a 16/ 1/2
DS2438
10/ 2
DS2760
88
12/ 1
Caractersticas
8 pines tipo SOIC; rango de voltaje
programable 2.56V a 5.12V; 4
canales; 64 bits de reconocimiento;
2 banderas de alarma para cada
canal indican si el voltaje es muy
alto o muy bajo sin necesidad del
bus.
8 pin tipo SOIC; 64 bits para
reconocimiento; 1 pin para datos;
40 bytes de EEPROM; puede
alimentarse de la lnea de datos.
Tipo TSSOP 16 pines Flip-Chip;
Monitor de batera; 64 bits para
reconocimiento; circuito de
proteccin de Li+, medicin de
corriente, voltaje y temperatura; 32
bytes de EEPROM.
Costo $ en
www.maximic.com
5.98
Muestra gratis
2.90
Muestra gratis
3.17
Muestra gratis
Potencimetro Digital
El nico disponible es el DS2890 y sus propiedades se indican en la tabla I.
TABLA I.
CARACTERSTICAS DEL POTENCIMETRO DIGITAL 1-WIRE DS2890
Dispositivo
DS2890
Resistencia
100k
Mximo
voltaje
en
terminal
V
11
Rango de
Temperatura
C
Caractersticas
Costo $
www.maximic.com
-40 a 85
3.18
Muestra
gratis
70
71
FASES
Humanos
1
Integrantes
Integrantes/Asesora
Integrantes
Integrantes
Integrantes/Asesora
Integrantes/Asesora
Integrantes
Integrantes
Integrantes
RECURSOS
Materiales
Libros, Computador con
acceso a Internet, fuentes
de informacin.
Informacin obtenida en
fase 1.
Informacin obtenida en
fase 1 y fase 2.
Hoja de datos de los
dispositivos, informacin
obtenida en fase 1, 2 y 3.
Computador con Sistema
Operativo Windows 32
bits, Dispositivos 1-Wire
y su hoja de datos, Visual
Basic 6.0, Paquete de
controladores 1-Wire
Establecidos en el captulo
V
Dispositivos 1-Wire,
tarjeta DM-AIO4 y DMIO2-06, Visual Basic 6.0,
convertidor serial a 1Wire, congelador
electrnico instantneo,
encendedor, adaptador
110AC-12V.
Dispositivos 1-Wire,
tarjeta DM-AIO4, entorno
de programacin,
convertidor serial a 1Wire, adaptador 110AC12V, elementos de prueba:
ventilador 110 AC, Buzzer
5V y bombillo 60W.
Informacin recopilada en
todas las fases
Herramientas
-
Establecidas en el captulo
V
Tablero de prueba,
Multmetro, cautn, estao,
extractor de soldadura,
pasta para soldar,
Calibrador,
destornilladores, cables,
pinzas (materiales ya
disponibles)
Tablero de prueba,
Multmetro,
destornilladores, cables,
pinzas (materiales ya
disponibles)
-
72
tem
Cantidad
Precio ($) 1
595
Precio
(Bs.)
1.279.250
895
1.924.250
1
1
700
4 (3 y 1)
3
23,98
-
400.000
51.548
2.241.422
205.000
36.000
280.000
Total
6.417.470
No son necesarias las licencias Iocomp para el desarrollo de los controles ActiveX
pero s lo son para la realizacin de pruebas y validaciones, acorde con lo
especificado en los requerimientos, por lo que un programador que desee elaborarlos,
puede disponer de otros medios de validaciones a su juicio.
En este orden de ideas, el costo de las horas de trabajo tambin depende del
programador(es). La evaluacin de costos a terceros quedara como la presentada en
la tabla J-2:
Precio Dlar oficial Bs.2150 publicado en gaceta oficial 38138 vigente a partir del 03/03/2005.
Adquirido por la empresa.
3
Sueldo mnimo Bs. 512.325 publicado en gaceta oficial 38371 vigente a partir del 01/09/2006. Horas
de trabajo semanales oficial: 40 publicado en gaceta oficial 38377 vigente a partir del 01/02/2006.
2
73
tem
Cantidad
Precio ($)
Cartuchos de impresin
Resma de papel Base 20, 500
hojas
Miscelneos (cables, transporte,
comida, otros gastos)
36.000
200.000
Total
2.158.850
1.717.850
205.000
Nota: Si se desea comprar las licencias Iocomp, el fabricante hace un descuento del 75% de su
costo de cualquier paquete de controles ActiveX si los fines son exclusivamente educativos y no
comerciales.
74
75
Visual Basic
Convertidor
USB a Serial
ActiveX
Convertidor
Serial 1-Wire
TMEX
Pruebas con DM-AIO4
DS18B20
Instrumento
Virtual
DS2450
Pruebas con
DM-IO2-06
1-WIRE
DS2406
DS2890
Usuario
Aplicaciones
76
77
78
Al inicio del cdigo fuente del control ActiveX creado se declararon las funciones
TMEX. Las funciones utilizadas para la creacin de los ActiveX fueron las
siguientes:
De la Capa de Sesin:
- TMExtendedStartSession
- TMStartSession
- TMValidSession
- TMEndSession
De la Capa de Red:
- TMFirst
- TMNext
- TMAccess
- TMRom
- TMSearch
De la Capa de Enlace:
- TMSetup
- TMTouchByte
- TMTouchReset
- TMOneWireLevel
Para la creacin de las propiedades y de los tipos de variables que manejan dichas
propiedades, se hizo uso del Asistente para la Interfaz de controles ActiveX de VB 6
incluido dentro de los complementos del software, como se muestra en la siguiente
figura:
79
Una vez cargado este complemento se pueden crear las propiedades y asignarles el
tipo de variable que manejarn (Boolean, Byte, Integer, String, Variant, etc) y el valor
inicial de dicha propiedad, como se muestra en la siguiente figura:
80
Al finalizar este asistente para la creacin de las propiedades del control ActiveX,
se genera el cdigo fuente correspondiente a los valores iniciales de las propiedades,
el tipo de variable de la propiedad, y segmentos de cdigo donde se generan las
propiedades Get y Let de las variables creadas. El segmento de cdigo Let se ejecuta
cuando el usuario trata de fijar el valor de la propiedad determinada y el segmento
Get se ejecuta cuando alguien trata de recuperar el valor de la propiedad.
4.5 GENERALIDADES SOBRE LOS PROCEDIMIENTOS Y FUNCIONES
DE LOS ACTIVEX DE CADA DISPOSITIVO 1-WIRE
La programacin de las funciones y procedimientos de los ActiveX para cada uno
de los dispositivos 1-Wire seleccionados se realiz segn lo establecido en la hoja
de datos de los mismos, reflejado igualmente en los diagramas de flujo. Esto es
debido a que, por ejemplo, para leer la temperatura del DS18B20 es necesario seguir
ciertos pasos para llevar a cabo de manera satisfactoria este procedimiento y obtener
finalmente el valor de temperatura. Igual sucede con los dems dispositivos como
abrir o cerrar los canales del DS2406, leer el voltaje de los canales de entrada del
DS2450 o mover el cursor del potencimetro DS2890.
La transmisin y recepcin de los bytes de datos se llevan a cabo mediante las
funciones de interfaz de programacin de aplicacin TMEX. Estas funciones fueron
desarrolladas por Dallas-Maxim para lograr la comunicacin de los iButtons y otros
dispositivos 1-Wire conectados en una red 1-Wire. Esta red debe estar conectada
a una computadora mediante un adaptador compatible.
81
82
Una vez realizado esto, el dispositivo cuyo serial sea el enviado por el maestro,
estar atento a cualquier comando de memoria recibido, mientras que los dems
83
Imagen Ampliada
Tamao Real
Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, esto con el fin de seguir las mismas condiciones de la mayora de los
controles ActiveX conocidos los cuales se comportan de esa manera una vez
insertados en el formulario de diseo.
El DS18B20 se presenta en dos tipos de encapsulado: TO-92 o SOIC y es un
termmetro digital provisto de resolucin programable desde 9 hasta 12 bits. La
descripcin de los pines de este dispositivo se muestra en la Figura 15.
84
85
BIT 6
R1
BIT 5
R0
BIT 4
1
BIT 3
1
BIT 2
1
BIT 1
1
BIT 0
1
R0
0
1
0
1
RESOLUCIN
9 bits
10 bits
11 bits
12 bits
Los valores por defecto al energizar el dispositivo son R1=1 y R0=1 (resolucin de
12 bits). El bit 7 y los bits b0-b4 del registro de configuracin estn reservados para
uso interno del dispositivo.
86
87
88
89
90
91
Al hacer clic se abrir otra ventana donde se debe seleccionar dicho asistente y
cargarlo
dentro
de
los
complementos
haciendo
clic
en
la
opcin
92
93
Property
Let
Resolucion(ByVal
New_Resolucion
As
String)
m_Resolucion = New_Resolucion
Call CambiarResolucion(m_Resolucion)
PropertyChanged "Resolucion"
End Property
El segmento de cdigo LET puede tratarse como si fuese una subrutina que acepta
el nuevo valor de Resolucion el cual es New_Resolucion y ejecuta el procedimiento
CambiarResolucion con el valor de resolucin introducida por el usuario. Para la
subrutina correspondiente a GET, se enva informacin de regreso al usuario, se
ejecuta cuando se quiere leer el valor de la propiedad. La lnea de cdigo
PropertyChanged le informa al programa que est utilizando el control ActiveX, que
una de las propiedades ha sido alterada (la propiedad que se encuentra entre comillas)
y que debe asegurarse que las propiedades se actualicen con el nuevo valor.
En modo de diseo, estas subrutinas que se invocan desde los segmentos de
cdigo LET y GET, no pueden ejecutarse ya que Visual Basic genera un error. El
diseo del cuadro de dilogo Acerca De correspondiente al DS18B20 es el siguiente:
94
Imagen Ampliada
Tamao Real
95
Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, como se hizo igualmente con el ActiveX del DS18B20.
El DS2406 es un switche doble direccionable con memoria que ofrece una forma
de controlar remotamente un par de transistores de drenaje abierto y monitorear el
nivel lgico de la salida de cada transistor a travs de la lnea 1-Wire. La
descripcin de los pines del DS2406 se muestra en la Figura 22 a continuacin:
FIGURA 22. DESCRIPCIN DE LOS PINES DEL DS2406. Fuente: Hoja de datos del DS2406.
96
de ROM para comunicarse con alguno de los dispositivos cuyo serial sea enviado con
este comando. Despus de esto, el maestro puede enviar algn comando o funcin de
memoria al dispositivo. Para el caso del DS2406, los comandos de memoria estn
separados en 3 diagramas de flujo y sern descritos a continuacin.
Los diagramas de flujo de las funciones de memoria (Figura 23) describen el
protocolo necesario para acceder a los diferentes campos de datos y a los canales
dentro del DS2406.
Se enva un byte de comando para determinar el tipo de operacin y 2 bytes de
direccin para determinar la localizacin especfica del byte dentro del campo de
datos o para suministrar e intercambiar datos de configuracin y estado cuando se
accede a los canales del DS2406. Todos los bits transmitidos al DS2406 y recibidos
por el maestro son enviados con el bit menos significativo primero.
Los comandos relacionados con la escritura y lectura de la memoria EPROM de
1024 bits, no fueron agregados al ActiveX debido a que el adaptador para la
comunicacin usado no soporta la generacin del pulso de 12V para la programacin
de la memoria. El adaptador que permite est generacin del pulso es el DS9097E
mientras que el usado para el desarrollo de este proyecto fue el DS9097U.
97
Leer Memoria (F0h): Este comando es usado para leer datos desde el campo
de datos de la memoria EPROM de 1024-bit. El maestro enva luego del byte
98
99
100
101
TABLA M. MAPA DE LA MEMORIA DE ESTADO DEL DS2406. Fuente: Hoja de Datos del
dispositivo
BIT
BIT
BIT
BIT
DIRECCIN
BIT 7
BIT 6
BIT 5
BIT 0
4
3
2
1
0 (EPROM)
BM3
BM2
BM
BM0 WP3 WP2 WP1
WP0
Redir
1 (EPROM)
1
1
1
1
1
1
Redir 0
0
Redir
2 (EPROM)
1
1
1
1
1
1
Redir 1
1
Redir
3 (EPROM)
1
1
1
1
1
1
Redir 2
2
Redir
4 (EPROM)
1
1
1
1
1
1
Redir 3
3
102
5 (EPROM)
6 (EPROM)
7 (SRAM)
Indicador
de Alim.
(slo
lectura)
CSS0
Polaridad
Si el maestro enva una direccin de inicio mayor a 0007h, los nueve bits ms
significativos de la direccin son fijados a 0 por la circuitera interna del chip.
103
Leer Estado (AAh): Este comando es usado para los datos desde la memoria
de estado. El diagrama de flujo es idntico al diagrama para el comando Leer
Memoria. Debido a que la memoria de estado es de solamente 8 bytes, el
DS2406 enviar un CRC de 16 bits despus de que el ltimo byte de
informacin del estado sea transmitido.
Acceso a Canal (F5h): Este comando es usado para acceder a los canales y
detectar el estado lgico del nodo de salida, la salida del transistor y cambiar
el estado de la salida del transistor. El maestro enviar luego del byte de
comando dos bytes de control de canal y recibir inmediatamente el byte de
Informacin de Canal. Los bytes de control de canal le permiten al maestro
seleccionar el canal con que se quiere comunicar, especificar los parmetros
de comunicacin y reajustar los latches de actividad. En la tabla N se muestra
en detalle el byte 1 del control de canal. La asignacin de los bits del byte 2 de
control de canal el fabricante se los reserva para futuros desarrollos. El
maestro debe enviar siempre el byte FFh para el segundo byte del control de
canal.
BIT 6
IM
BIT 5
TOG
BIT 4
IC
BIT 3
CHS1
BIT 2
CHS0
BIT 1
CRC1
BIT 0
CRC0
104
CHSO
0
0
1
1
CHS1
0
1
0
1
DESCRIPCIN
No permitido
Canal A solamente
Canal B solamente
Ambos canales
105
106
27).
107
108
IM
0
1
CANALES
Un canal
Un canal
Un canal
Un canal
0
0
0
1
Dos canales
Dos canales
Dos canales
Dos canales
EFECTO
Escribe todos los bits del canal seleccionado
Lee todos los bits del canal seleccionado
Escribe 8 bits, Lee 8 bits, escribe, lee, etc
hacia/desde el canal seleccionado
Lee 8 bits, Escribe 8 bits, lee, escribe, etc.
desde/hacia el canal seleccionado
Repite: 4 veces (Escribe A, Escribe B)
Repite: 4 veces (Lee A, Lee B)
4 veces: (Escribe A, Escribe B), 4 veces: (Lee A,
Lee B), escribe, lee, etc.
4 veces: (Lee A, Lee B), 4 veces: (Escribe A,
Escribe B), lee, escribe, etc.
109
ser ajustados para crear y proteger los paquetes de datos que tienen el tamao
de 8 bytes o 32 bytes. El cdigo para el control de CRC se muestra en la
siguiente tabla:
TABLA Q. CDIGO DEL CONTROL DE CRC. Fuente: Hoja de Datos del dispositivo
CRC1
0
0
1
1
CRC0
0
1
0
1
DESCRIPCIN
CRC deshabilitado
CRC despus de cada byte
CRC despus de 8 bytes
CRC despus de 32 bytes
BIT 6
Num. de
Canales
0=Canal A
solamente
BIT 5
BIT 4
BIT 3
BIT 2
PIO-B
PIO-A
PIO B
PIO A
Latch de
Actividad
Latch de
Actividad
Nivel
Lgico
Nivel
Lgico
BIT 1
PIO-B
BIT 0
PIO-A
FlipFlop
FlipFlop
de canal
de canal
Este byte indica el estado de los flip flops de los canales, los pines PIO,
los latches de actividad as como tambin la disponibilidad del canal B y el
suministro de alimentacin externa. Para poder leer un canal, la salida del
transistor necesita estar en no-conduccin, lo cual es equivalente a 1 para el
flip flop del canal. Leer 0 tanto para el flip-flop del canal y el nivel lgico
detectado indica que la salida del transistor del canal est siendo conectada a
nivel bajo. Sin una fuente de alimentacin externa, el bit 7 es 0.
4.7.1 Diseo del Cuadro de Dilogo Acerca De
110
111
Imagen Ampliada
Tamao Real
Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, como se hizo igualmente con los controles anteriores.
El DS2450 es un convertidor Analgico/Digital de 4 canales basado en la
conversin por aproximaciones sucesivas con un multiplexor de 4 a 1. Cada canal de
entrada tiene su propio conjunto de registros para almacenar el rango del voltaje de
entrada, la resolucin y los umbrales de alarmas. La descripcin de los pines se
muestra en la Figura 30:
FIGURA 30. DESCRIPCIN DE LOS PINES DEL DS2450. Fuente: Hoja de Datos del DS2450
112
de 4 canales DS2450, se consult la hoja de datos del dispositivo para seguir los
pasos necesarios para un buen desempeo del control ActiveX.
Al igual que para los dems dispositivos 1-Wire la comunicacin con el
DS2450 inicia con la transmisin de un comando de ROM por parte del maestro, el
cual enviar el serial correspondiente al DS2450 que est conectado a la red y con el
cual se desea realizar la comunicacin. Seguido de este comando de ROM el maestro
enva cualquier comando de memoria disponible para el DS2450.
4.8.1 Registros del DS2450
Todos los registros del DS2450 estn mapeados dentro de un rango de memoria
de 24 bytes adyacentes organizados en 3 pginas de 8 bytes cada una. La primera
pgina, llamada Conversion Read-Out, contiene el rea de memoria donde la lgica
interna del chip ubica los resultados de una conversin para que el maestro la lea.
Comenzando por el canal A en la direccin ms baja, cada canal tiene un rea de 16
bits asignada para el resultado de la conversin, as como se muestra en la tabla S.
Cuando el dispositivo se energiza el valor por defecto de los bits del registro de
conversin es 0. Sin importar la resolucin solicitada, el bit ms significativo de la
conversin est siempre en la misma posicin. Si una resolucin menor a 16 bits es
solicitada, el bit menos significativo del resultado de la conversin ser rellenado con
0 de manera de generar siempre un resultado de 16 bits.
113
DIREC.
00
01
02
03
04
05
06
07
BIT 0
LSBIT A
A
LSBIT B
B
LSBIT C
C
LSBIT D
D
La informacin del control y estado para todos los canales est localizada en la
pgina de memoria nmero 1 (Ver tabla T). As como la pgina 0 (ver tabla S), cada
canal tiene asignado 16 bits. Los cuatro bits menos significativos, llamados RC3 a
RC0, son un nmero binario sin signo que representan el nmero de bits a ser
convertidos. Un cdigo de 1111 (15 decimal) generarn un resultado de 15 bits. Para
una conversin completa de 16 bits el cdigo debe ser 0000. Los prximos 2 bits ms
all de RC3 se leern siempre como ceros. No tienen ninguna funcin y no pueden
ser cambiados a 1s. Los prximos bits, OC (control de salida) y OE (habilitacin de la
salida) controlan el uso alternado de un canal como salida digital. Para operacin
normal como entrada analgica el bit OE de un canal debe ser 0, y el valor del bit OC
no tiene importancia en este caso. Con OE fijado en 1, un 0 en el bit OC har
conducir la salida del transistor del canal, un 1 en el bit OC interrumpir la
conduccin del transistor. Con una resistencia de pull up conectada a un voltaje
positivo, por ejemplo, el bit OC traducir directamente su estado lgico en un voltaje
equivalente. Habilitando la salida digital no deshabilitar la entrada analgica. La
conversin ser posible pero el resultado ser cercano a 0 si el transistor est
conduciendo.
114
BIT 7
OE-A
POR
OE-B
POR
OE-C
POR
OE-D
POR
BIT 6
OC-A
0
OC-B
0
OC-C
0
OC-D
0
BIT 5
0
AFH-A
0
AFH-B
0
AFH-C
0
AFH-D
BIT 4
0
AFL-A
0
AFL-B
0
AFL-C
0
AFL-D
BIT 3
RC3-A
AEH-A
RC3-B
AEH-B
RC3-C
AEH-C
RC3-D
AEH-D
BIT 2
RC2-A
AEL-A
RC2-B
AEL-B
RC2-C
AEL-C
RC2-D
AEL-D
BIT 1
RC1-A
0
RC1-B
0
RC1-C
0
RC1-D
0
BIT 0
RC0- A
IR-A
RC0- B
IR-B
RC0- C
IR-C
RC0- D
IR-D
115
Los registros de los voltajes umbrales de alarma para cada canal estn localizados
en la pgina 2 con el valor del umbral bajo en la direccin ms baja (Ver tabla U).
Los valores por defectos de estos registros al energizar el DS2450 son 00h para las
alarmas bajas y FFh para las altas.
TABLA U. MAPA DE MEMORIA DE LA PGINA 2 DEL DS2450. Fuente: Hoja de Datos del
dispositivo.
DIREC.
10
11
12
13
14
15
16
17
BIT 7
MSBL-A
MSBH-A
MSBL-B
MSBH-B
MSBL-C
MSBH-C
MSBL-D
MSBH-D
BIT 6
A
A
B
B
C
C
D
D
BIT 5
A
A
B
B
C
C
D
D
BIT 4
A
A
B
B
C
C
D
D
BIT 3
A
A
B
B
C
C
D
D
BIT 2
A
A
B
B
C
C
D
D
BIT 1
A
A
B
B
C
C
D
D
BIT 0
LSBL-A
LSBH-A
LSBL-B
LSBH-B
LSBL-C
LSBH-C
LSBL-D
LSBH-D
Existe una cuarta pgina de memoria cuyo rango de direcciones es desde la 18h
hasta 1Fh usada durante la calibracin en fbrica. Esta pgina de memoria es
accesible al usuario a travs de los comandos Leer Memoria y Escribir Memoria.
Cambiar arbitrariamente los datos de esta pgina descalibrar al convertidor A/D o
har al dispositivo no funcional hasta que se realice un reset desenergizndolo y
energizndolo nuevamente.
Los diagramas de flujo de las funciones de memoria (Figura 31 y 32) describen el
protocolo necesario para acceder a los registros del DS2450. Debido a que el mapa de
memoria del DS2450 es pequeo comparado con las capacidades de direccin de 16
bits, los 11 bits ms significativos de la direccin son forzados a 0 antes de que se
incorporen al generador de CRC. La comunicacin entre el maestro y el DS2450
ocurre a velocidad regular (por defecto OD=0) o a la velocidad de sobre marcha
116
117
Escribir Memoria (55h): Este comando es usado para escribir las pginas de
memoria 1 y 2 los datos de control y umbrales de alarma de cada canal. El
maestro enviar luego del byte de comando dos bytes de las direcciones de
inicio (TA1=(T7:T0), TA2=(T15:T8)) y un byte de dato (D7:D0). Un CRC de
16 bits del byte de comando, bytes de direccin y byte de datos es calculado
por el DS2450 y ledo por el maestro para confirmar que el comando de
memoria, direccin inicial y byte de datos fueron recibidos correctamente.
Luego, el DS2450 copia el byte de datos en la ubicacin especfica de la
memoria. En los prximos ocho intervalos de tiempo el maestro recibe una
118
copia del mismo byte pero ledo de la memoria del DS2450, esto para efectos
de verificacin. Si la verificacin falla, un pulso de reset debe ser enviado por
el maestro y el byte actual de direccin debe enviarse nuevamente.
Si el maestro no enva el pulso de reset y el final de la memoria no ha sido
alcanzado, el DS2450 automticamente incrementar su contador de direccin
a la ubicacin de la direccin de memoria siguiente. Los prximos dos bytes
de direccin tambin sern cargados en el generador de CRC de 16 bits como
un valor de inicio.
El maestro enviar el prximo byte usando ocho intervalos de tiempo de
escritura. Mientras el DS2450 recibe este byte, lo corre dentro del generador
de CRC y el resultado es un CRC de 16 bits del nuevo byte de datos y la
nueva direccin. Con los prximos 16 intervalos de tiempo, el maestro leer
este CRC de 16 bits del DS2450 para verificar que la direccin se increment
correctamente y que el byte de datos tambin se recibi en forma correcta. Si
el CRC es incorrecto, un pulso de reset debe ser enviado de manera de repetir
la secuencia del comando de escritura de la memoria.
119
120
121
BIT 3
D
BIT 2
C
BIT 1
B
BIT 0
A
BIT 6
Clear D
BIT 5
Set C
BIT 4
Clear C
BIT 3
Set B
BIT 2
Clear B
BIT 1
Set A
BIT 0
Clear A
122
Con una alimentacin por el pin Vcc el maestro podra tanto enviar un
pulso de reset para salir del comando de conversin o generar continuamente
intervalos de tiempo de lectura. Si el DS2450 est ocupado con la conversin,
el maestro leer ceros (0s). Luego de que la conversin se haya completado, el
maestro recibir unos (1s). As como el modo parsito, el maestro finalmente
se saldr del comando de conversin, enviando un pulso de reset.
4.8.2 Diseo del Cuadro de Dilogo Acerca De
As como se dise la ventana Acerca De para los controles anteriores, se hizo el
mismo procedimiento para crear el del DS2450, utilizando el asistente para la
creacin de la pgina de propiedades y agregando la informacin correspondiente a la
descripcin del ActiveX DS2450, los valores iniciales del control (Auto Bsqueda del
Puerto, Configuracin del modo Analgico de los 4 canales, Estado de las Salidas de
los 4 canales, Resolucin para cada canal, Rango de cada canal, Multiplicadores,
Valores del Corrimiento para cada canal y Descripcin de los canales) y el botn para
mostrar la informacin del sistema.
El diseo de cuadro de dilogo Acerca De para este control es el siguiente:
123
Imagen Ampliada
Tamao Real
Dentro del cdigo fuente del ActiveX se escribi un segmento de cdigo que
impide que el usuario pueda modificar el tamao de la imagen anteriormente
mostrada, como se hizo igualmente con los controles anteriores.
124
FIGURA 34. DISTRIBUCIN DE LOS PINES DEL DS2890. Fuente: Hoja de Datos del DS2890
125
B5 B4
NWP
B4 B2
NP
B1
WSV
B0
PC
Bit(s)
b0
b1
NP: Number of
Potenciometers
b3..b2
b5..b4
PR: Potenciometer
Resistante
b7..b6
Definicin
Si es 0: Potencimetro logartmico
Si es 1: Potencimetro Lineal
Si es 0: Config. del Pot. no voltil
Si es 1: Config. del Pot. voltil
2 bits binarios representan el Nro de Pot:
Si es 00b: 1 Potencimetro
Si es 01b: 2 Potencimetros
Si es 10b: 3 Potencimetros
Si es 11b: 4 Potencimetros
2 Bits binarios representan el Nro. de posiciones para
cada potencimetro:
Si es 00b: 32 Posiciones
Si es 01b: 64 Posiciones
Si es 10b: 128 Posiciones
Si es 11b: 256 Posiciones
2 Bits binarios representan el valor de la resistencia del
potencimetro:
Si es 00b: 5 k
Si es 01b: 10 k
Si es 10b: 50 k
Si es 11b: 100 k
126
b6
CPC
b5
X
b4
X
b3
b2
WN
b1 b0
WN
TABLA A2. DEFINICIONES DE BITS DEL REGISTRO DE CONTROL DEL DS2890. Fuente:
Hoja de Datos del DS2890.
Descripcin
Bit(s)
b1..b0
WN : Wiper Number
b3..b2
to Control invertido
CPC: Charhe Pump
Control
b6
X: Sin importancia
b4,b5,b7
Definicin
2 bits binarios representan el cursor a controlar:
Si es 00b: 1 Cursor
Si es 01b: 2 Cursores
Si es 10b: 3 Cursores
Si es 11b: 4 Cursores
Complemento a 1 de WN:
Si es 11b: 1 Cursor
Si es 10b: 2 Cursores
Si es 01b: 3 Cursores
Si es 00b: 4 Cursores
Si es 0: Charge Pump OFF
Si es 1: Charge Pump ON
Estos bits estn reservados para futuros usos de Dallas
Semiconductor. Estos bits deben ser escritos con 0.
Los valores por defecto de este registro al energizar el DS2890 son CPC=0,
WN=00b, WN =11b.
127
128
129
130
131
Los diagramas de flujo de los comandos de funciones del DS2890 necesarios para
la codificacin del control ActiveX, se muestran en las figuras 40 y 41. Estos
diagramas describen el protocolo necesario para el ajuste y lectura del cursor del
potencimetro o para controlar el estado de operacin del DS2890.
Todas las funciones del potencimetro consisten en un byte de comando seguido
por uno o ms bytes de datos o control para la escritura o lectura realizada por el
maestro. Todos los datos transferidos entre el DS2890 y el maestro se realizan
enviando primero el bit menos significativo.
132
133
Leer Posicin (F0h): Este comando es usado para obtener la posicin actual
del cursor del potencimetro. Adems de esta posicin, el byte de registro de
control tambin ser ledo con este comando. Esto le permite al maestro
confirmar o determinar fcilmente la posicin actual del cursor. Luego de
enviar el byte de comando, el maestro lee 16 bits para obtener primero el
registro de control y despus el byte de posicin del cursor. El DS2890
responder con ceros (0s) para lecturas adicionales realizadas por el maestro
despus del octavo bit del byte de posicin. Este comando finaliza con un
pulso de reset.
Escribir Posicin: Este comando es usado para fijar la posicin del cursor del
potencimetro. El maestro enva luego del byte de comando, el valor de 8 bits
de la posicin del cursor. Despus del octavo bit del byte de posicin del
cursor, el maestro lee el byte de posicin del DS2890 para confirmar que el
valor fue recibido correctamente por el dispositivo. Si un valor incorrecto es
ledo, el maestro debe enviar un pulso de reset y repetir la secuencia. En caso
contrario, el maestro enva el byte del cdigo de liberacin el cual es 96h. Si
el DS2890 recibe correctamente el cdigo de liberacin, la posicin del cursor
se actualiza y el dispositivo responder con ceros (0s) a cualquier lectura
realizada por el maestro. En caso contrario, ningn cambio se realiza en la
posicin del cursor y el dispositivo responder con unos (1s) a cualquier
lectura realizada por el maestro. El comando finaliza con un pulso de reset.
134
paso la posicin actual del cursor del potencimetro. Luego de enviar el byte
de comando, el maestro enva un byte para leer la nueva posicin del cursor
enviada por el DS2890. Ningn cambio en la posicin se realiza si el cursor
del DS2890 se encuentra en la mxima posicin (FFh) y se recibe el comando
Incrementar Posicin.
135
136
Leer Registro de Control (AAh): Este comando es usado para obtener tanto el
registro de control como el registro de la caracterstica del potencimetro.
Seguidamente del byte de comando Leer Posicin, el maestro lee 16 bits para
obtener primero el byte del registro de la caracterstica del potencimetro y
luego el byte del registro de control. El DS2890 responder con ceros (0s)
para lecturas adicionales luego del octavo bit del byte del registro de control.
Este comando finalizado con un pulso de reset.
137
138
Una vez hecho clic en esta opcin, apareci otra ventana donde se especific el
directorio donde se guard el archivo con extensin .OCX (Figura 44).
139
140
141
INICIO
Nro. De Puerto
establecido por
el usuario
NO
Auto
Bsqueda
De Puerto?
SI
COM=1
N
Existe
Red?
SI
Auto
Bsq?
Increm
No COM
NO
SI
NO
COM>9
?
SI
Se inicializan
contadores
NO EXISTE RED EN EL
PUERTO
SELECCIONADO
FIN DE
SESIN
142
A
Acceso a Dispositivo
mediante
funcin TMROM y
almacenamiento de Serial
NO
Familia
=28H?
SI
NO
Familia
=12H?
NO
Familia
=20H?
SI
Familia
=2CH?
SI
SI
Se incrementa
contador DS18B20
Se incrementa
contador DS2406
Se incrementa
contador DS2450
Se incrementa
contador DS2890
Almacenamiento de
Serial en Vector
Ser18B20
Almacenamiento de
Serial en Vector
Ser2406
Almacenamiento de
Serial en Vector
Ser2450
Almacenamiento de
Serial en Vector
Ser2890
SI
Hay otro
Dispositivo
Conectado?
A
NO
FIN DE
SESIN
143
CAPTULO V
144
Para el diseo de la tarjeta se realiz una asesora con la empresa ROSO Electric
Supply C.A, a travs del Ing. Jos Rodrguez. La empresa estableci los
requerimientos para el diseo de la tarjeta, los cuales fueron:
Debe poder alimentarse con una seal de entrada entre 6VDC y 12VDC.
Debe poseer borneras de conexin para las seales de control (Vin, Data y
Gnd), para las entradas analgicas y para las salidas digitales
Los canales del DS2450 deben tener proteccin contra voltajes mayores al
voltaje de entrada mximo permitido
5.1.2
145
146
6-12VDC
Vin
Data
GND
Fuente de
Alimentacin
DS18B20
DS2450
Salida
Digital
Rels
Grayhill
Entrada
Analgica
Seal
Analgica
0-10VDC
0-20mA
5.1.3
Listado de Componentes
Rels
La empresa establece el uso de los rels Marca Grayhill modelos 70G-IAC5 y
70G-OAC5A cuyas dimensiones en milmetros son iguales para ambos y se muestran
en la figura correspondiente. El 70G-IAC5 es un rel cuyo voltaje de entrada puede
estar entre 90VAC y 140VAC y la salida est compuesta por un diodo led infrarrojo y
un fototransistor que proporciona salida de 5VDC@50mA. El 70G-OAC5 es un rel
cuyo voltaje de entrada es de 5VDC y la salida es igual anterior entre 90 y
140VAC@3.5A.
147
Reguladores
Para la fuente de poder se eligi el regulador de voltaje LM7805, encapsulado
TO-220 1A, para suministrar la energa necesaria a los componentes de la tarjeta,
incluyendo los dispositivos 1-Wire.
148
Condensadores Electrolticos
Se eligieron condensadores electrolticos para la configuracin del regulador
LM7805 correspondiente a la fuente de alimentacin.
Terminales de Conexin
Se eligieron los terminales para la conexin de las seales de entrada y salida de
la tarjeta de 6 y 8 posiciones, color verde cuyas dimensiones (LxWxH) en milmetros
son 21 x 7,6 x 9,2 y 28 x 7,6 x 9,2 respectivamente, tal como se muestra en la figura.
149
Fusible
Se eligi el fusible reseteable de 50mA, 30V de montaje superficial cuyas
dimensiones (LxAnchoxAlto) en milmetros son 3 x 2,35 x 0,5 para satisfacer el
requerimiento de proteccin de sobre corriente para los canales del DS2450.
Diodo Rectificador
Se eligi el diodo 1N4007 de 1A encapsulado DO-41 para la proteccin de la
fuente de alimentacin en caso de invertir las conexiones correspondientes a Vin y
GND en los terminales de alimentacin de la tarjeta. Sus dimensiones se muestran a
continuacin:
FIGURA 55. DIODO RECTIFICADOR 1N4007. Fuente: Hoja De Datos Del Dispositivo (2007)
150
Diodo Led
Se eligi un diodo Led de color rojo para la indicar que la tarjeta est energizada.
FIGURA 56. DIODO LED. Fuente: Hoja De Datos Del Componente (2007)
Jumpers
Se eligieron 4 jumpers para la utilizacin de los canales del DS2450 como
entradas analgicas o como salidas digitales. Las dimensiones se muestran es la
figura:
151
5.1.4
Fuente de Alimentacin
La fuente de alimentacin se dise de manera de poder entregar un voltaje de
5VDC@500mA (establecido en hoja de datos del regulador de voltaje) a toda la
tarjeta electrnica con una entrada de voltaje cuyo rango puede oscilar entre 6 y
12VDC. La configuracin y eleccin de los valores de los condensadores se realiz
como lo estipula el fabricante del LM7805 en su hoja de datos para una fuente
regulada de tensin.
152
por equivocacin las entradas Vin y GND de los terminales de conexin J2. El Led
PON es un indicador de alimentacin de la tarjeta.
Data
153
los voltajes negativos permitiendo que las seales de control datos fluyan
correctamente hacia y desde los dispositivos 1-Wire.
Luego, si se desea medir voltaje, el switche SW debe estar abierto. La seal entra
154
155
un 1 lgico.
Mediante el software Express PCB versin 6.0 se realiz el diseo de la tarjeta
cuyo resultado se muestra en las figuras 62, 63 y 64. Las dimensiones de la tarjeta
(Largo-Ancho-Alto) en cm son: 11,1125-0,2-7,2.
156
Colocar los condensadores del filtro de modo que sus terminales entren
fsicamente dentro del trazado de la tarjeta de circuito impreso que conducen
la corriente principal que ser filtrada
157
Escoger el ancho de los trazos del circuito impreso dependiendo del rango de
corriente e incremento aceptable de temperatura
158
Ensamblaje de la Tarjeta
159
160
161
Tal como se mencion, las pruebas para el DS18B20 y DS2450 se realizaron con
la tarjeta DM-AIO4. Las pruebas para el DS2406 se realizaron con la tarjeta
DM-IO2-06. Para realizar las validaciones del DS2890 se realiz un programa
sencillo donde se insert el control ActiveX de este dispositivo en el formulario de
diseo de Visual Basic el cual se explicar ms adelante. Tambin se realiz la
calibracin del DS2450 para los valores de Multiplicador y Offset de cada canal, y se
162
traz una curva de error para la medicin de las entradas analgicas gracias al
suministro de voltaje de un calibrador porttil.
5.2.1
163
164
165
166
167
seleccionados para obtener una medicin ms exacta para las entradas analgicas de
los canales del DS2450. El valor de Offset es el valor que se debe sumar o restar para
que cuando en el canal existan 0VDC 0mA, el resultado de la conversin del
DS2450 sea 0VDC 0mA segn sea el caso. El multiplicador se seleccion de
manera tal que cuando existan 10VDC 20mA en el canal, el resultado de la
conversin del convertidor A/D 1-Wire sea lo ms cercano posible a 10VDC
20mA.
El trazado de las grficas se realiz con una resolucin para cada canal de 8 bits
ya que el fabricante garantiza un error de LSB para este valor. Para bits de
resolucin mayores a 8, la exactitud es menor que la resolucin por lo que el
resultado de la conversin puede verse afectado por ruido aleatorio.
TABLA A3. VALORES DE MULTIPLICADOR Y OFFSET PARA LA MEDICIN DE
ENTRADAS ANALGICAS DE LA TARJETA DM-AIO4
CANAL
PARMETROS
CANAL
A
CANAL
B
CANAL
C
CANAL
D
MULT
OFFSET
MULT
OFFSET
MULT
OFFSET
MULT
OFFSET
MEDICIN DE
VOLTAJE
2,13
-0,17
2,13
-0,12
2,13
-0,12
2,13
-0,12
MEDICIN DE
CORRIENTE
9
-0,7
8,9
-0,5
9
-0,54
9
-0,54
168
E. Abs
(VDC)
0
-0.07
-0.06
-0.09
-0.07
-0.06
-0.05
-0.04
-0.02
-0.05
-0.04
0.02
-0.01
0
0.01
-0.01
0
0.01
0.03
0.04
0.01
Vref
(VDC)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10
0.02
0
0
-0.02
-0.04
-0.06
-0.08
-0.1
Vref (VDC)
10
169
E. Abs
(mA)
0
-0.27
-0.37
-0.29
-0.2
-0.3
-0.21
-0.13
-0.23
-0.14
-0.24
-0.15
-0.07
0.01
-0.08
0
-0.1
-0.01
0.07
-0.02
0.06
Iref
(mA)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
-0.05 0
10
15
20
-0.1
-0.15
-0.2
-0.25
-0.3
-0.35
-0.4
Iref (mA)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10
E. Abs
(VDC)
0
-0.06
-0.05
-0.04
-0.02
-0.05
-0.04
-0.03
-0.06
-0.04
-0.03
0.03
0
0.01
0.02
-0.01
0.01
0.02
0.03
0.04
0.02
Vref
(VDC)
0.02
0
0
10
-0.02
-0.04
-0.06
-0.08
Vref (VDC)
170
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
E. Abs
(mA)
0
-0.25
-0.18
-0.1
-0.21
-0.14
-0.07
-0.17
-0.1
-0.21
-0.14
-0.24
0.01
-0.1
-0.03
0.05
-0.06
0.01
0.09
-0.02
0.05
Iref (mA)
0.05
0
-0.05 0
10
15
20
-0.1
-0.15
-0.2
-0.25
-0.3
Iref (mA)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10
E. Abs
(VDC)
0
-0.06
-0.05
-0.04
-0.07
-0.05
-0.04
-0.03
-0.06
-0.04
-0.03
0.03
0
0.01
0.02
-0.01
0.01
0.02
0.03
0.04
0.02
Vref
(VDC)
0,04
0,02
0
0
-0,02
-0,04
-0,06
-0,08
Vref (VDC)
10
171
E. Abs
(mA)
0
-0.28
-0.19
-0.11
-0.2
-0.12
-0.04
-0.13
-0.05
-0.14
-0.06
-0.16
0.11
0.01
0.1
0
0.09
0.17
0.07
0.16
0.06
0.2
Iref (mA)
0.1
0
-0.1
10
15
20
-0.2
-0.3
-0.4
Iref (mA)
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10
E. Abs
(mA)
0
-0.06
-0.05
-0.04
-0.07
-0.05
-0.04
-0.03
-0.06
-0.04
-0.03
0.03
0
0.01
0.02
-0.01
0.01
0.02
0.03
0.04
0.02
0.06
0.04
Vref
(VDC)
0.02
0
-0.02
10
-0.04
-0.06
-0.08
Vref (VDC)
172
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
E. Abs
(mA)
0
-0.28
-0.19
-0.29
-0.2
-0.12
-0.04
-0.13
-0.05
-0.14
-0.06
-0.16
0.11
0.01
0.1
0
0.09
0.17
0.07
0.16
0.06
0.2
0.1
Iref
(mA)
0
0
10
15
20
-0.1
-0.2
-0.3
-0.4
Iref (mA)
En las grficas obtenidas se observa que el error se acerca a cero a medida que el
voltaje o la corriente se incrementan y esto se puede comprobar en la curva
caracterstica de transferencia que ofrece el fabricante. Para incrementos del voltaje
de entrada, ocurren menos cambios en los bits del resultado digital de la conversin,
lo que se traduce en mayor exactitud. El punto de cruce por 0 se traduce en el valor de
voltaje o corriente a partir del cual el dispositivo ofrece mayor exactitud en la
medicin y en las grficas se observa que en la mayora de los casos este punto es
5.1VDC para entradas de voltaje (la mitad del rango de voltaje permitido) y 11,5mA
para entradas de corriente.
173
5.2.3
Se realiz la misma conexin con el adaptador de comunicacin pero esta vez con
la tarjeta DM-IO2-06. Igualmente se evaluaron todas las propiedades del ActiveX
estableciendo valores correctos e incorrectos para cada una de ellas. Para todos los
valores establecidos el control ActiveX respondi de la manera esperada.
El programa realizado cont con el uso del control Iocomp iSwitchRockerX con el
que se abrieron o cerraron los canales del DS2406. Al cerrar el canal, se activ el rel
de salida digital Grayhill 70G-OAC5A a quien se le conect en su salida un bombillo
de 60W y 110VAC de alimentacin. Tambin se encarg de validar los caracteres
ingresados para la descripcin. No se gener ningn tipo de errores en el
funcionamiento del control ActiveX DS2406. Las figuras a continuacin muestran el
resultado de la utilizacin del control ActiveX.
174
FIGURA 84. CIERRE DEL CANAL A DEL DS2406 HACIENDO USO DEL CONTROL
ACTIVEX.
5.2.4
175
176
177
BuscarUnicoSerial
LeerEdoInicial
Leer Temperatura
(Alimentacin Parsita)
VALORES DE MUESTRAS
(SEG)
0,8417
0,8457
0,8339
0,8496
0,8476
0,8408
0,8378
0,8369
0,8437
0,8437
3,9666
3,8721
3,983
3,8868
3,8711
3,9678
3,9827
3,8696
3,8711
3,8723
1,9606
2,06
1,9696
1,975
1,9653
PROMEDIO
(SEG)
0,8421
3,9143
178
Leer Temperatura
(Alimentacin Externa)
1,9634
1,9612
1,9747
1,9648
2,0684
1,1939
1,2072
1,1958
1,2023
1,2014
1,2001
1,2065
1,2058
1,3013
1,2987
1,9863
1,2213
LeerEdoInicial
Cerrar Canal A
VALORES DE MUESTRAS
(SEG)
4,2873
4,3828
4,3830
4,3827
4,4789
4,2708
4,2872
4,3831
4,3839
4,3817
0,5714
0,6881
0,6837
0,6875
0,7880
0,6813
0,6958
0,6839
0,6811
0,6940
0,6893
0,6863
0,6816
0,6953
PROMEDIO
(SEG)
4,3621
0,68548
179
Abrir Canal A
Cerrar Canal B
Abrir Canal B
Leer Entrada
Canal A
Leer Entrada
Canal B
0,6829
0,6879
0,6853
0,6820
0,6867
0,7885
0,5812
0,6822
0,6961
0,6862
0,6829
0,6802
0,6954
0,6844
0,6813
0,8675
0,6829
0,6891
0,6950
0,7880
0,6820
0,6946
0,6848
0,6819
0,6962
0,6953
0,4480
0,4494
0,5475
0,4413
0,4547
0,4416
0,4451
0,5465
0,4408
0,4557
0,4545
0,4541
0,5469
0,4476
0,4465
0,4559
0,5479
0,4504
0,4477
0,4453
0,6965
0,6757
0,6989
0,4670
0,4696
180
Activar Modo de
Entradas Analgica
Desactivar Modo de
Entrada Analgica
Lectura de Entrada
Analgica
VALOR DE MUESTRAS
(SEG)
0,6435
0,7963
0,8436
0,7442
0,7599
0,8520
0,7468
0,7512
0,7580
0,7534
0,7527
0,7496
0,8513
0,7606
0,7580
0,7470
0,7443
0,7591
0,8520
0,7449
1,7953
1,8975
1,8988
1,9125
1,7982
1,9000
1,8910
1,9066
1,7854
1,8957
1,7925
1,8979
1,7913
1,7970
1,9000
1,7865
1,7941
1,7912
1,9036
1,9009
0,7148
0,7208
0,7179
PROMEDIO
(SEG)
0,7611
0,7719
1,8681
1,8355
181
Activar
Salida Digital
Desactivar
Salida Digital
Cambiar Voltaje de
Referencia a 5.1VDC
Cambiar Voltaje de
Referencia a 2.56VDC
Cambiar bits
de Resolucin
0,7145
0,7205
0,7173
0,7156
0,7123
0,7266
0,7156
0,7136
0,7275
0,7167
0,7226
0,7179
0,7172
0,7147
0,7181
0,7167
0,7158
0,7184
0,7137
0,7288
0,7188
0,8206
0,7223
0,7197
0,8204
0,7213
0,7200
0,8194
0,7121
0,7282
0,7165
0,7135
0,7200
0,7171
0,8192
0,7205
0,7183
0,7128
0,7190
0,8218
0,7167
0,7230
0,7216
0,7203
0,7193
0,7188
0,8207
0,7176
0,7181
0,7404
0,7385
0,7394
182
LeerEdoInicial
Incrementar Posicin
Disminuir Posicin
Activar
Charge Pump
VALORES DE MUESTRAS
(SEG)
2,3147
2,4161
2,3201
2,3202
2,3200
2,4153
2,3198
2,3177
2,3185
2,3197
1,7659
1,9830
1,9722
1,9680
1,9740
1,9779
1,8791
2,0830
1,8653
1,8705
2,0827
1,8685
1,9617
1,9822
1,9786
1,9918
1,9810
1,9780
1,8793
2,0831
0,5076
0,5116
0,5086
0,5139
0,5187
0,5087
0,5072
0,5133
0,6125
0,5141
0,5130
0,5102
0,6119
PROMEDIO
(SEG)
2,3386
1,9339
1,9787
0,5216
183
Desactivar
Charge Pump
Mover Posicin
del Cursor
Leer Nueva
Posicin del Cursor
0,5125
0,5098
0,5091
0,5144
0,5105
0,5068
0,5048
0,3640
0,4744
0,4817
0,4804
0,4780
0,5809
0,4752
0,4758
0,4729
0,4875
0,4806
0,4804
0,4795
0,4790
0,4787
0,4799
0,4802
0,4804
0,4793
0,4795
0,5203
0,4771
0,4796
184
185
186
187
188
Luego, se deben fijar los valores mximo y mnimo de temperatura entre los cuales
se desea que la temperatura del bombillo se encuentre. Estos valores son modificados
a travs de dos (2) potencimetros conectados en los canales A y B mediante las
entradas analgicas del DS2450 ubicado en la tarjeta DM-AIO4. La figura 92 muestra
el esquema de conexin de los potencimetros reales a la tarjeta.
189
190
El circuito del LM555 fue diseado tal cual como la hoja de datos del dispositivo
lo establece, para un oscilador de 50% de ciclo til.
Retomando el proceso, el ventilador har disminuir la temperatura del bombillo. Si
esta temperatura se hace inferior a la temperatura mxima, la posicin del cursor del
DS2890 ser colocada al mximo (255) desconectando al oscilador y por lo tanto
desactivando el buzzer de alarma. Si la temperatura disminuye por debajo del lmite
bajo de seguridad, el ventilador se desconectar por medio de la apertura del canal A
del DS2406 (OutputA = 0), y se activar el bombillo de nuevo por medio de la salida
digital del canal C del DS2450 (Output = 1) para iniciar el proceso nuevamente.
Existen dos (2) interruptores en la interfaz grfica. Uno de ellos se encarga de
controlar el encendido y apagado manual del bombillo; el otro, del encendido y
apagado de un ventilador conectado a uno de los canales del DS2406 ubicado en la
tarjeta DM-IO2-06. Estos interruptores son tiles si el proceso del control se desea
realizar en forma manual, a juicio del usuario
El diagrama esquemtico completo de la aplicacin final se muestra en las figuras
94-1 y 94-2.
191
192
JB
193
CAPITULO VI
El presente captulo tiene como finalidad informarle al usuario que har uso de
los controles ActiveX todo lo relacionado con ellos en cuanto a instalacin,
propiedades, funciones, eventos, modo de uso, protocolo de comunicacin u otra
informacin de inters para que su utilizacin sea satisfactoria y sea mayor provecho
su implementacin.
6.1
194
195
196
197
Luego se debe dar clic en Examinar para visualizar la ventana que permitir
ubicar el directorio donde se encuentren guardados los controles ActiveX como
archivos con extensin .OCX. Esta ventana es como la mostrada en la figura 99.
Una vez encontrados los controles ActiveX de comunicacin 1-Wire se agregan
a la ventana Componentes y se seleccionan aquellos que se deseen utilizar. Esto se
ilustra en la figura 100.
198
Una vez realizado este procedimiento, los controles ActiveX pueden ser
visualizados en la barra de componentes del entorno de programacin en Visual
Basic. Cada control ActiveX est identificado con una figura especfica. Si se
199
posiciona el cursor del ratn sobre los controles, el programa mostrar el nombre del
ActiveX que ser el nombre del dispositivo 1-Wire para el cual fue diseado el
control. Las figuras para cada control se muestran en la figura 101.
Una vez completado todos estos pasos, se puede realizar la aplicacin que se desee
utilizando los controles ActiveX.
6.3 USO DE LOS CONTROLES ACTIVEX EN MICROSOFT EXCEL 2003
Para insertar los controles en el entorno de trabajo de Microsoft Excel, la barra del
Cuadro de Controles de Visual Basic debe estar activada. Para ello se debe hacer clic
200
Una vez activada esta barra los controles ActiveX pueden ser encontrados en el
botn Ms Controles ubicado en el Cuadro de Controles. La figura 103 muestra la
ubicacin de los mismos.
Los controles ActiveX pueden ser insertados en el entorno de trabajo para realizar
la aplicacin deseada, tal como se muestra en la figura 104.
201
202
203
6.5
GENERALIDADES
SOBRE
LOS
PROCEDIMIENTOS
204
DS18B20.Resolucion = 12
Algunas propiedades no son posibles escribirlas en tiempo de diseo
(especificadas en el punto 6.6) debido a que los controles ActiveX se disearon de
manera de que si se detecta que una propiedad cambia su estado, y sta requiere que
se realice un cambio dentro de la configuracin interna del dispositivo, entonces el
computador tratar de establecer comunicacin con el dispositivo mediante las
funciones TMEX, en tiempo de diseo, lo cual originar un error ya que Visual Basic
no soporta esta opcin.
205
6.6
ACTIVEX
Cada control ActiveX posee propiedades y procedimientos que estn relacionados
con la operacin del dispositivo 1-Wire para los que fueron diseados. Las
propiedades son variables almacenadas en el ActiveX que pueden ser de
lectura/escritura o slo lectura las cuales la mayora determinarn los parmetros
caractersticos de la configuracin y desempeo del dispositivo 1-Wire. Los
procedimientos son funciones que se ejecutan dentro del ActiveX para realizar alguna
operacin en particular con el dispositivo 1-Wire. A continuacin se explican
detalladamente las propiedades y procedimientos de cada control ActiveX.
6.6.1 Procedimientos del Control ActiveX para el DS18B20
El control ActiveX DS18B20 incluye entre sus parmetros (2) procedimientos:
BuscarUnicoSerial y LeerEdoInicial. El primero se encarga de iniciar la
comunicacin con el DS18B20 que se encuentre nicamente en la red y almacenar en
la propiedad Serial del control, el nmero de 64 bits propio de cada dispositivo. Este
procedimiento slo debe ejecutarse cuando no haya ms dispositivos conectados en la
red salvo un DS18B20 ya que la rutina que ejecuta este procedimiento consta de
buscar el primer dispositivo en la red y almacenar su serial en la propiedad Serial del
ActiveX. En caso de que existiera ms de un dispositivo conectado en la red y se
ejecuta este procedimiento, pueden ocurrir errores en la operacin del ActiveX ya que
quiz almacene en la propiedad Serial, el cdigo correspondiente a otro dispositivo
206
207
Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.
208
Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
209
210
Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.
InA: Esta propiedad es de slo lectura e indica el estado lgico del canal A.
Los valores posibles de esta propiedad son HIGH o LOW.
InB: Esta propiedad es de slo lectura e indica el estado lgico del canal B.
Los valores posibles de esta propiedad son HIGH o LOW.
211
212
Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
adicionales necesarios para el programa.
6.6.5 Procedimientos del Control ActiveX para el DS2450
213
214
215
DInputA: Es una propiedad de slo lectura que indica el nivel lgico en que
se encuentra la entrada del canal A. Si el voltaje de entrada se encuentra entre
0V y 0.8V, entonces DinputA valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputA valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputA valdr 1.
DInputB: Es una propiedad de slo lectura que indica el nivel lgico en que
se encuentra la entrada del canal B. Si el voltaje de entrada se encuentra entre
0V y 0.8V, entonces DinputB valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputB valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputB valdr 1.
DInputC: Es una propiedad de slo lectura que indica el nivel lgico en que
se encuentra la entrada del canal C. Si el voltaje de entrada se encuentra entre
0V y 0.8V, entonces DinputC valdr 0; si el voltaje de entrada se encuentra es
mayor a 0.8V y menor a 2.2V entonces DinputC valdr -1 (zona de
incertidumbre); y si el voltaje de entrada es mayor o igual a 2.2V entonces
DinputC valdr 1.
DInputD: Es una propiedad de slo lectura que indica el nivel lgico en que
216
Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.
217
218
219
diseo.
220
221
222
resolucin del canal D. Los valores posibles son desde 1 hasta 16. Cualquier
valor diferente a estos no causarn ningn cambio en la resolucin y
generarn un nmero de error en la propiedad DS2450Error. No es posible
modificar esta propiedad en tiempo de diseo.
Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
adicionales necesarios para el programa.
223
de diseo.
El
control
ActiveX
DS2890
incluye
procedimientos
mtodos:
Control
ActiveX
DS2890
posee
16
propiedades:
AutoBusqPuerto,
224
ChargePump,
Descripcion,
DS2890Error,
Enabled,
Errores,
Index,
Name,
225
Errores: Propiedad de slo lectura que indica el nmero de error (si existe)
para la comunicacin 1-Wire. Para ms informacin consultar el diccionario
de errores de la comunicacin 1-Wire.
226
Tag: Esta propiedad es aadida por Visual Basic. Se usa para guardar datos
adicionales necesarios para el programa.
6.7
CDIGOS DE ERRORES
Cada control ActiveX posee 2 variables asociadas a los errores. Una de ellas
almacena el nmero de error correspondiente a la operacin del ActiveX con el
dispositivo 1-Wire. El otro almacena los errores relacionados a la comunicacin
227
1-Wire.
A continuacin se describen los cdigos de los errores de cada control ActiveX y
los errores de comunicacin 1-Wire.
6.7.1 Cdigo de Errores de los Controles ActiveX
TABLA A9. CDIGOS DE ERRORES PARA LOS CONTROLES ACTIVEX
DISPOSITIVO
DS18B20
NRO. DE
ERROR
0
190
230
240
250
0
10
DS2406
11
DS2450
12
13
250
0
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
29
30
31
32
33
DESCRIPCIN
No existe ningn error
Valor de Resolucin No Numrico
Nro. de caracteres de la descripcin mayor a 30
Valor de Resolucin fuera de Rango
Error de CRC
No existe ningn error
Nro. de caracteres de la descripcin del canal A mayor
a 30
Nro. de caracteres de la descripcin del canal B mayor a
30
Valor de OutputA incorrecto. Valores correctos: 1, -1, 0
Valor de OutputB incorrecto. Valores correctos: 1, -1, 0
Error de CRC
No existe ningn error
Valor de OffsetA fuera de Rango
Valor de OffsetA no numrico
Valor de OffsetB fuera de Rango
Valor de OffsetB no numrico
Valor de OffsetC fuera de Rango
Valor de OffsetC no numrico
Valor de OffsetD fuera de Rango
Valor de OffsetD no numrico
Valor de MultA fuera de Rango
Valor de MultB fuera de Rango
Valor de MultC fuera de Rango
Valor de MultD fuera de Rango
Nro. de caracteres de OffsetA mayor a 6
Nro. de caracteres de OffsetB mayor a 6
Nro. de caracteres de OffsetC mayor a 6
Nro. de caracteres de OffsetD mayor a 6
Nro. de caracteres de UnitA mayor a 5
Nro. de caracteres de UnitB mayor a 5
Nro. de caracteres de UnitC mayor a 5
Nro. de caracteres de UnitD mayor a 5
Valor de MultA no numrico
228
34
35
36
190
240
250
0
10
11
12
14
15
16
17
18
DS2890
19
20
21
22
DESCRIPCIN
No hay Error en la Red. La comunicacin se
realiza correctamente
Fallo en la configuracin de la red
Configuracin Ok pero la lnea est
cortocircuitada
No existe Red en el puerto de comunicacin
especificado
Configuracin No Compatible
Sesin No Vlida
Fallo
No hubo Pulso de Presencia en la red
Dispositivo desconectado
229
230
CONCLUSIONES Y RECOMENDACIONES
231
realizadas
se
concluye
que
los
controles
ActiveX
responden
232
conversin del DS2450, stos se consideran aceptables ya que las diferencias entre el
valor real y medido no es significativa considerando el uso didctico que se le dar al
control.
La aplicacin final elaborada en Microsoft Excel, represent un ejemplo de
prueba para verificar el desempeo y el uso didctico de los controles ActiveX
mediante la simulacin de un proceso de control de temperatura. As como este
ejemplo, se pueden realizar diversas aplicaciones de pruebas por parte de alumnos de
las asignaturas de instrumentacin virtual o afines, permitiendo as que los mismos
despierten el lado creativo y diseen estrategias de control de su propia autora.
Se realiz toda la documentacin del sistema hardware-software desarrollado
durante el transcurso del proyecto. Igualmente se elabor una gua de uso para los
controles ActiveX desarrollados, que contiene los pasos para la instalacin de los
mismos en el computador, las caractersticas de cada propiedad y procedimiento,
iniciando al usuario al manejo y operacin de los dispositivos 1-Wire. Tambin se
incluy en esta gua los cdigos de errores de cada control ActiveX as como de la
comunicacin 1-Wire.
Cabe destacar que los controles ActiveX desarrollados permitirn a sus usuarios
(entre los cuales se pueden incluir estudiantes de ingeniera electrnica y/o carreras
afines, profesores o personas interesadas en la comunicacin 1-Wire) el desarrollo
de cualquier aplicacin con los dispositivos 1-Wire DS18B20, DS2450, DS2406 y
DS2890 a travs de la creacin de aplicaciones que le permitan manipular con
233
234
APNDICES
235
APNDICE A
DISPOSITIVOS 1-WIRE Y SU CDIGO DE FAMILIA.
Fuente: Nota de Aplicacin 155 Maxim-Dallas Semiconductor.
236
APNDICE B
DATASHEET DS2407: PRIMERA PGINA.
Fuente: Maxim-Dallas Semiconductor.
237
APNDICE C
DIAGRAMA ESQUEMTICO DE LA TARJETA DM-AIO4
238
APNDICE D
ADAPTADOR USB A 1-WIRE
239
240
APNDICE E
DIAGRAMA ESQUEMTICO DE LA TARJETA DE PRUEBAS DEL ACTIVEX DS2406
241
242
APNDICE F.
MATERIALES Y COSTO DE LA TARJETA DM-AIO4
PART.
ITEM Qty.
No.
DESCRIPTION
1
20
BT
Base Terminal .130x.086" relay Socket
2
1
C1
Capacitor 47uF @ 25VDC
3
1
C2
Capacitor 220uF @ 10VDC
Capacitor tantalo 1 uf @ 35 Volt SMD
4
3
C3..C5
5
1
D1
Diodo Rectifier 1 Amp. 1000 Volt
6
1
D2
Diodo Schoky SOD106 40V @ 1A
7
4
FA..FD
Resseteable Fuse Hold 50ma Trip 150ma 30V
JACK Transf. 2.1 mm
8
1
J1
9
1
J2
3.5mm (PT1.5/6-3.5H) ECO Connector
10
1
J3
3.5mm (PT1.5/8-3.5H) ECO Connector
5.08mm ECO Connector
11
4
JA..JD
Red SHORT Led Clear T 1 3/4 5 mm 80 mcd
12
1
PON
13
1
R0
Resistencia SMD 1206 1.0 Kohm
14
5
R1..R5
Resistencia SMD 1206 5% 4.7 Kohm
15
4
RIA..RID Resistencia SMD 1206 1% 240 Ohm
16
8
RA1..RD2 Resistencia SMD 0805 0.5% 120KOhm
17
4
SHA..SHD Shunt, Economical .1" BLACK 15 AU
18
1
SWA..SWD Dip Switch 4P Dip 0.3"
19
4
TPOST
Treaded Standoffs .250" O.D. 8-32
20
1
U1
Dallas 1Wire Quad A/D Converter
Regulador LM7805
21
1
U2
22
1
U3
Dallas 1Wire Thermometer
23
4
ZA..ZD
Diodo Zener SMD 12V @ 1W
24
1
BOARD
Tarjeta Impresa PCB cant. = 40
Dlar
2150,00
Aduana
DISTRIBUIDOR
Digikey
Digikey
Digikey
Mouser
Benavides
Digikey
Digikey
Mouser
Mouser
Mouser
Ditel
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
Digikey
CODE
ED5028-ND
P834-ND
P832-ND
80-T491A104K035
1N4007
RB160L-40TE25CT-ND
MICROSMD005CT-ND
806-KLDX-0202-A
651-1984659
651-1984675
ETB 1302
67-1089-ND
P1.0KECT-ND
P4.7KECT-ND
RHM240FCT-ND
RR12P120KDCT-ND
A26230-ND
GH7170-ND
3495K-ND
DS2450S+
NJM#7805FA-ND
DS18B20+
SMAJ4742A-TPCT-ND
PCB
Costo $
0,448
0,072
0,120
0,160
0,040
0,420
0,630
0,370
0,870
1,160
0,372
0,135
0,094
0,094
0,047
0,140
0,127
0,940
0,289
8,720
0,500
5,040
0,275
10,000
Total $
Costo Sub_Total
1,35
Total $
8,96
0,07
0,12
0,48
0,04
0,42
2,52
0,37
0,87
1,16
1,49
0,14
0,09
0,47
0,19
1,12
0,51
0,94
1,16
8,72
0,50
5,04
1,10
10,00
29,84
86598,99 Bs
243
Digikey
Digikey
CODE
Costo $
GH3042-ND
GH3037-ND
9,620
10,580
Total $
9,62
10,58
20,20
Costo Sub_Total 2
58630,50 Bs
TOTAL
Total $
145229,49 Bs
244
APNDICE G
CERTIFICADO DE CALIBRACIN DS18B20
245
APNDICE H
CDIGO FUENTE BUSCADOR DE DISPOSITIVOS
'RUTINA PARA LA BUSQUEDA DE DISPOSITIVOS, ALMACENAMIENTO DE
'SERIALES DE LOS DISPOSITIVOS EN UN VECTOR, DEPENDIENDO DE LA
'FAMILIA A LA QUE PERTENEZCA (DS18B20, DS2406, DS2450, DS2890)
Option Explicit
'// DECLARACIN DE VARIABLES GLOBALES UTILIZADAS EN EL PROGRAMA
Dim state_buffer(15360) As Byte
Dim SHandle
As Long 'Manejador de Comunicaciones
Dim ROM(8)
As Integer 'Arreglo para almacenar el serial del dispositivo
Public Ser18B20(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS18B20
Public Ser2406(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS2406
Public Ser2450(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS2450
Public Ser2890(23)
As String 'VECTOR Q ALMACENA LOS SERIALES DEL DS2890
'Default Property Values:
Const m_def_Enabled = 0
Const m_def_Serial = "0"
Const m_def_Status = 0
Const PortType = 5
'Property Variables:
Dim m_Enabled As Boolean
Dim m_Serial As String
Dim m_Status As Boolean
Dim m_Errores As String
Dim m_PortNum As Integer
Dim m_AutoBusqPuerto As Boolean
Dim m_NumDS18B20 As Integer
'CUENTA EL NUMERO DE DISP 18B20 PRESENTES
Dim m_NumDS2406 As Integer
'CUENTA EL NUMERO DE DISP 2406 PRESENTES
Dim m_NumDS2450 As Integer
'CUENTA EL NUMERO DE DISP 2450 PRESENTES
Dim m_NumDS2890 As Integer
'CUENTA EL NUMERO DE DISP 2890 PRESENTES
Public Property Get Enabled() As Boolean
Enabled = m_Enabled
End Property
Public Property Let Enabled(ByVal New_Enabled As Boolean)
m_Enabled = New_Enabled
End Property
Public Property Get Serial() As String
Serial = m_Serial
End Property
Public Property Let Serial(ByVal New_Serial As String)
m_Serial = New_Serial
End Property
246
247
m_NumDS2450 = New_NumDS2450
End Property
Public Property Get NumDS2890() As Integer
NumDS2890 = m_NumDS2890
End Property
Public Property Let NumDS2890(ByVal New_NumDS2890 As Integer)
m_NumDS2890 = New_NumDS2890
End Property
'Inicializar propiedades para control de usuario
Private Sub UserControl_InitProperties()
m_Enabled = m_def_Enabled
m_Serial = m_def_Serial
m_Status = m_def_Status
m_Errores = m_def_Errores
m_PortNum = m_def_PortNum
m_AutoBusqPuerto = m_def_AutoBusqPuerto
m_NumDS18B20 = m_def_NumDS18B20
m_NumDS2406 = m_def_NumDS2406
m_NumDS2450 = m_def_NumDS2450
m_NumDS2890 = m_def_NumDS2890
End Sub
'Cargar valores de propiedad desde el almacn
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_Enabled = PropBag.ReadProperty("Enabled", m_def_Enabled)
m_Serial = PropBag.ReadProperty("Serial", m_def_Serial)
m_Status = PropBag.ReadProperty("Status", m_def_Status)
m_Errores = PropBag.ReadProperty("Errores", m_def_Errores)
m_PortNum = PropBag.ReadProperty("PortNum", m_def_PortNum)
m_AutoBusqPuerto = PropBag.ReadProperty("AutoBusqPuerto", m_def_AutoBusqPuerto)
m_NumDS18B20 = PropBag.ReadProperty("NumDS18B20", m_def_NumDS18B20)
m_NumDS2406 = PropBag.ReadProperty("NumDS2406", m_def_NumDS2406)
m_NumDS2450 = PropBag.ReadProperty("NumDS2450", m_def_NumDS2450)
m_NumDS2890 = PropBag.ReadProperty("NumDS2890", m_def_NumDS2890)
End Sub
'Escribir valores de propiedad en el almacn
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("Enabled", m_Enabled, m_def_Enabled)
Call PropBag.WriteProperty("Serial", m_Serial, m_def_Serial)
Call PropBag.WriteProperty("Status", m_Status, m_def_Status)
Call PropBag.WriteProperty("Errores", m_Errores, m_def_Errores)
Call PropBag.WriteProperty("PortNum", m_PortNum, m_def_PortNum)
Call PropBag.WriteProperty("AutoBusqPuerto", m_AutoBusqPuerto, m_def_AutoBusqPuerto)
Call PropBag.WriteProperty("NumDS18B20", m_NumDS18B20, m_def_NumDS18B20)
Call PropBag.WriteProperty("NumDS2406", m_NumDS2406, m_def_NumDS2406)
Call PropBag.WriteProperty("NumDS2450", m_NumDS2450, m_def_NumDS2450)
Call PropBag.WriteProperty("NumDS2890", m_NumDS2890, m_def_NumDS2890)
End Sub
248
'==================================================================
' CODIGO AGREGADO QUE REUNE LAS PRINCIPALES FUNCIONES DEL BUSCADOR DE
SERIALES
'=========================================================================
Public Sub IniciarBusqueda()
Dim FLAG As Integer ' Variable que almacena el valor retorno funcin
Dim Romstr As String ' String que almacena el serial del dispositivo
Dim I
As Integer ' Variable de uso general
Dim J
As Integer 'Contador de 18B20
Dim K
As Integer 'Contador de 2406
Dim L
As Integer 'Contador de 2450
Dim M
As Integer 'Contador de 2890
If AutoBusqPuerto = True Then
Call Auto_Busqueda_Commport
End If
'// INICIA UNA SESIN DE COMUNICACIN CON EL PUERTO
SHandle = -1
While (SHandle <= 0)
SHandle = TMExtendedStartSession(PortNum, PortType, vbNullString)
Wend
Errores = TMSetup(SHandle)
249
250
'PARA EL DS2890
'==============
If ROM(0) = &H2C Then
NumDS2890 = NumDS2890 + 1
For I = 0 To 7
If ROM(I) <= &HF Then Ser2890(M) = Ser2890(M) + "0"
Ser2890(M) = Ser2890(M) + Hex$(ROM(I))
M=M+1
Next I
End If
End If
Loop Until FLAG <> 1
'SI NO SE PUDO REALIZAR LA CONFIGURACIN DEL PUERTO ARROJA ERRORES TMEX
Else
Serial = "Ningun Disp"
Select Case Errores
Case 0
Errores = 30
' FALLO DEL SETUP
Case 2
Errores = 32
' SETUP OK PERO HAY CORTOCIRCUITO
Case 3
Errores = 33
' NO EXISTE RED
Case 4
Errores = 34
' SETUP NO SOPORTADO
Case -200
Errores = 35
' SESION INVALIDA
Case Is < 0
Errores = 36
' ERROR
End Select
End If
TMEndSession (SHandle)
End Sub
'----------------------------------------------BUSQ AUTOM. DEL PUERTO-------------------------------------Private Sub Auto_Busqueda_Commport()
' PERMITE ENCONTRAR EL NUMERO DEL
PUERTO
'DECLARACION DE VARIABLES:
Dim X As Byte
Dim Dato As Byte
Dim Resultado As Boolean
Resultado = False
' COMIENZO DE LA BUSQUEDA DEL PUERTO
For X = 1 To 15
SHandle = TMExtendedStartSession(X, 5, vbNullString)
If SHandle > 0 Then
Dato = TMSetup(SHandle)
If Dato = 1 Then
TMTouchReset (SHandle)
PortNum = X
251
Resultado = True
Exit For
End If
End If
Next
' SI SE ENCONTRO EL PUERTO SE ASIGNA EL NRO A PORTNUM
If Resultado Then
PortNum = X
' EN CASO CONTRARIO GENERA UN MENSAJE DE ERROR
Else
PortNum = " "
' Si Resultado = False, entonces
Errores = 36
' ERRORES DE SETUP
End If
TMEndSession (SHandle)
End Sub
252
APNDICE I
CRONOGRAMA DE ACTIVIDADES
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
Sem.
MAYO
2007
Sem.
ENERO 2007
FASES
Recopilacin
Terica
Requerimientos
Diseo sistema
Sntesis de
Algoritmos
Codificacin
Tarjeta
Pruebas y
Validaciones
Integracin y
Programa Final
Documentacin
FEBRERO 2007
MARZO 2007
ABRIL 2007
253
BIBLIOGRAFA
1. lvarez, Miguel ngel (2004). Qu es ActiveX. (Documento en lnea).
Disponible:
http://www.desarrolloweb.com/articulos/993.php.
(Consulta:
Disponible:
http://elvex.ugr.es/decsai/c/apuntes/intro.pdf.
pp.
74-84.
Universidad
del
Tchira,
Venezuela.
Disponible:
http://www.saber.ula.ve/db/ssaber/Edocs/pubelectronicas/accionpedagogica/v
ol11num1/art8_v11n1.pdf. (Consulta: 2007, Enero 20).
254
http://colos.fcu.um.es/TICEC05/TICEC05/29_565.pdf.
2007,
Marzo 21)
11. International Organization for Standarization (2007). Norma ISO 5807:
Procesamiento de Informacin. Disponible: www.iso.org. (Consulta: 2007,
Marzo 21).
12. Martn, Pedro Rufo (2001). Tutorial ASP. (Documento en lnea). Disponible:
http://www.asptutor.com/asp/vart.asp?id=40. (Consulta: 2007, Marzo 21).
13. Matta, Danny
14. Maxim-Dallas Semiconductor (2002). Overview of 1-Wire Technology and
Its Use: Nota de Aplicacin 1796. Disponible: www.maxim-ic.com/an1796.
(Consulta: 2007, Enero 20).
15. Maxim-Dallas Semiconductor (2005). 1-Wire Software Resource Guide
Device Description: Nota de Aplicacin 155. Disponible: www.maximic.com/an155. (Consulta: 2007, Marzo 21).
16. Mendiburu
(Documento
Daz,
Henry
en
(1997).
lnea).
Instrumentacin
Virtual
Monografas.
Industrial.
Disponible:
http://www.monografias.com/trabajos38/instrumentacion-virtual-industrial/
255
Electrnica.
Vol.
7,
3,
pp.
40-51.
Disponible:
256
http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=879767.
(Consulta:
http://www2.udec.cl/~sscheel/pagina%20virus/activex.htm.
Tenerife,
Espaa.
(Documento
en
lnea).
Disponible:
http://asignaturas.pcg.ull.es/esici/fi/traspas/AlgoritmosProgramas-2.pdf.
(Consulta: 2007, Marzo 21).
30. Wikipedia (2007). ActiveX Data Object. (Documento en lnea). Disponible:
http://es.wikipedia.org/wiki/ActiveX_Data_Objects. (Consulta: 2007, Marzo
21).
31. Wirth, Nikalus (1976). Algorithms + Data Structures = Programs. Prentice
Hall. Reimpreso en espaol en 1987 bajo el nombre Algoritmos y Estructuras
de datos. Mxico; Prentice Hall Hispanoamericana.
257
AC
Corriente Alterna
API
C.A.
Compaa Annima
CRC
EPROM
Referencia de Tierra
mA, A
mV, V
258
OCX
PIO
ROM
SDK
SOIC
SRAM
USB
VB6
VAC
VDC, VCC
Vin
Voltaje de Entrada
Vref
Voltaje de Referencia
259
GLOSARIO
Active Server Pages (ASP): es una tecnologa del lado servidor de Microsoft para
pginas web generadas dinmicamente. Este entorno permite crear y ejecutar
aplicaciones dinmicas e interactivas en la web. Se puede combinar pginas HTML,
secuencias de comandos y componentes ActiveX para crear pginas y aplicaciones
Web interactivas.
C
Compilador: Un compilador es un programa que traduce un programa escrito en
un lenguaje de programacin a otro lenguaje de programacin, generando un
programa equivalente. Usualmente el segundo lenguaje es cdigo mquina, pero
tambin puede ser simplemente texto. Este proceso de traduccin se conoce como
compilacin.
Comunicacin 1-Wire: Comunicacin serial asincrnica half duplex que se
compone de un conductor ms tierra para la comunicacin y cuyos dispositivos
conectados se alimentan de la misma.
260
260
261
261