iButton and 1-Wire

Dallas Semiconductor es la creadora de los chips iButton, que encerrados en una pequea lata de acero llamada MicroCan, son la parte principal de la lnea de productos de automatizacin. La estructura MicroCan cumple dos propositos: establecer el contacto elctrico y servir de proteccin del chip de su interior. Cada iButton se identifica a si mismo con un nmero de registro nico. Los iButton pueden ser leidos o grabados sin necesidad de equipos de alto coste. Estos dispositivos tienen aplicacin como soporte reescribible de datos, en control de accesos, identificacin personal, control de presencia comportandose como etiquetas electrnicas, almacenamiento de datos de fabricacin y control de temperaturas y de la cadena del frio.

Muchos de los chips que se incluyen dentro de los iButton, estn disponibles como circuitos integrados con envoltura plstica. A estos chips se les conoce como 1-Wire. Algunos de estos chips disponen de pines extra que les permiten comportarse como interruptores, contadores, conversores A/D, etc. funciones que no pueden realizar los iButton.

1-Wire Net

La red 1-Wire es un bus de bajo coste basado en un PC o un microcontrolador que se comunica digitalmente sobre un cable de 1 par con componentes 1-Wire. La red se define con una arquitectura maestro/esclavo con una tensin nominal de 5V en el maestro. Un sistema basado en una red 1-Wire consta de 3 elementos principales: 1) un bus maestro con software de control; 2) conectores y cableado; 3) dispositivos 1-Wire. El sistema permite un control estricto ya que ningn nodo est autorizado a comunicarse a menos que sea solicitado por el maestro y no se permite ninguna comunicacin entre esclavos si no es a travs del maestro.

Ms informacin en la web de Dallas.

Proyecto

Al descrubir los iButton y los chips 1-Wire comenzamos a buscar que desarrollos hardware y software existian para captura de temperatura y humedad.

Inicialmente nuestra atencin se centro en el programa myTemp de Christof Klaiber, que permite utilizar un Palm Pilot como termmetro mediante un simple interfaz y un chip 1-Wire. Buscando informacin sobre 1-Wire y como construir el adaptador serie para comunicarse con iButton, encontramos el programa de Brian C. Lane DigiTemp que se ejecuta sobre Linux.

Se decidi construir el adaptador serie segn los esquemas de estas webs, para que pudiera utilizarse indistintamente con un PC de sobremesa o con un Palm y de modo que se le pudieran conectar todo tipo de sensores 1-Wire o iButton.

Hardware

Que sensores 1-Wire nos interesan?

Aunque la gama y funciones disponibles en los chips 1-Wire es muy amplia, inicialmente solo utilizamos los sensores de temperatura y humedad:

DS1822 1-Wire Econo-MicroLAN Digital Thermometer Sensor digital de temperatura con un rango de medida desde -55C hasta +125C con una precisin de +-0,5C. Pueden definirse lmites de alarma por exceso de temperatura superior e inferior. Documento PDF de caractersticas del DS1822

DS18B20 Programmable Resolution 1-Wire Digital Thermometer Sensor digital de temperatura con un rango de medida desde -55C hasta +125C con una precisin de +-0,5C. Pueden definirse lmites de alarma por exceso de temperatura superior e inferior. La resolucin de las lecturas es programable entre 9 y 12 bits.Documento PDF de caractersticas del DS18B20

DS1920 Temperature iButton Sensor digital de temperatura en formato iButton con un rango de medida desde -55C hasta +100C con una precisin de +-0,5C. Documento PDF de caractersticas del DS1920

DS1923 Hygrochron Temperature/Humidity Logger iButton Sensor digital y logger de temperatura y humedad en formato iButton con un rango de medida desde -20C hasta +85C para la temperatura y de 0% a 100% para la humedad con una precisin de +-0,5C y una memoria interna de 8kB. Tiempo entre muestras ajustable entre 1 seg. y 273 horas. Se puede iniciar la recogida de datos por tiempo o por lmites de temperatura. Alarmas de temperatura y humedad con lmite superior e inferior. Documento PDF de caractersticas del DS1923

Consiguiendo iButton y chips 1-Wire

Desde la web de Dallas Semiconductor se pueden solicitar muestras de ciertos chips 1-Wire o iButton, asi como de ciertos lectores y soportes para iButton. Durante Agosto de 2004 recibimos muestras del iButton DS1923 Hygrochron que acababa de empezar a estar disponible. Es de agradecer este detalle por parte de Dallas Semiconductor.

El Adaptador

Dallas cre en su da el adaptador para puerto serie DS9097U Universal 1-Wire COM port adapter que es la opcin comercial para conectar chips 1-Wire al PC. El adaptador dispone en uno de sus extremos de un puerto COM DB9 para conexin con un PC y en el otro un conector tipo RJ11 para permitir conectar lectores de iButton o un cable con uno o varios chips 1-Wire y es considerado un adaptador "activo". Existe en dos versiones: DS9097U-009 (con chip de identificacin DS2502) y el DS9097U-S09 (sin chip de identificacin). Tambin existe el DS1413 Passive Serial Port iButton Holder que es un adaptador para puerto serie pero sin conector RJ11 y con un soporte para un iButton. Al DS9097 se le puede conectar el lector de iButton DS1402D que dispone de un conector RJ11 y permite la lectura de dos iButton simultaneamente.

Desde que Dallas dej de comercializarlo directamente, otras empresas lo distribuyen o han creado adaptadores propios:

Pero nuestra idea era construir nuestro propio adaptador, que sin llegar al nivel de los comerciales, nos permitiera llevar adelante nuestro proyecto. Para ello comenzamos a buscar un diagrama del adaptador que pudieramos montar facilmente. En el documento PDF de caractersticas del DS9097U aparece este esquema:

en el que se puede observar la utilizacin de un DS2480 (Serial 1-Wire line adapter) y del chip identificador DS2502.

En el documento PDF de caractersticas del DS1413 Passive Serial Port iButton Holder aparece este esquema:

en el que se puede observar que no se utilizan chips de ningn tipo al considerarse un adaptador de tipo "pasivo".

En la web de myTemp aparecen los diagramas de adaptadores "pasivos" que finalmente utilizamos. Para el puerto serie db9 del PC el diagrama es:

y para la conexin al Palm mediante el cable HotSync:

Ya teniamos decicido que circuito utilizar. Ahora necesitabamos una caja o carcasa con conectores db9 y RJ11, similar a la original de Dallas. De nuevo la solucin lleg desde Google. Encontramos en Cablematic la solucin a este problema con un adaptador db9-RJ11 en carcasa preparado para meter en l una pequea placa y con un aspecto practicamente identico al original.

La placa para montar el circuito puede ser perfectamente una de agujeros, ya que hay muy pocos componentes y no parece que valga la pena hacerla con pistas de cobre.

Los cables

Para conectar el adaptador al Palm Pilot necesitamos un cable HotSync (cable para sincronizar los datos con el PC) de tipo serie. Este cable tiene en uno de sus extremos un conector db9 macho y en el otro extremo un "conector universal" de Palm que es el utilizado por los modelos mas recientes (m125, m130 m5xx, Tungsten, ...). Como se observa en los diagramas, el conexionado de los pins del conector db9 no es el mismo si queremos conectar al Palm o al PC. Para solucionar el inconveniente y no tener que construrir dos adaptadores diferentes, podemos utilizar un cable null-modem macho-macho que intercambia los pins TX y RX y DTS y DTR. Con este cable podremos conectar el adaptador al puerto COM del PC. Estos dos cables se pueden conseguir de Cablematic.

Componentes

Los componentes utilizados para construir el adaptador 1Wire-serie han sido:

Conector RJ11

Con los cables que conectemos al RJ11 hay que tener especial cuidado ya que no hay un estandar entre fabricantes en cuanto a numeracin de pins y color de los hilos. En este documento de Dallas se indican los pines y colores a utilizar, intentando estandarizar las conexiones.

Software

myTemp

El programa myTemp de Christof Klaiber permite la lectura de sensores 1Wire desde un ordenador de mano (PDA) Palm Pilot. Es necesario que el Palm Pilot est ejecutando PalmOS© 3.3 o superior y los modelos soportados segn el autor son Pilot, Palm Pilot, Palm III, Palm VII, Palm VIIx, Palm IIIx , Palm IIIe, Palm IIIxe, Palm V, Palm Vx, Palm IIIc, Palm m100, Palm m105, Palm m500, Palm 505, Palm m515, Palm m125, Palm i705, Palm m130, Palm Tungsten T, Sony Cli 300, 320, 500, 610, 710, 770, N, S (pero no los modelos T, NR, SJ, SL, NX). Nosotros ejecutamos sin problemas la versin 3.10 de myTemp en un m515, Tungsten T y Tungsten T3. La licencia del programa es GPL.

La captura de temperaturas puede realizarse de hasta 10 sensores y puede exportarse a un "memo" para posteriormente transferirse al PC para su proceso.

Si no disponemos de un PDA pero queremos probar el programa, podemos utilizar POSE (Palm OS Emulator) que es un emulador para Windows o Linux del sistema operativo PalmOS©. Tambin disponible desde la web de PalmOne.

Este es un manual PDF del programa, que incluye diagramas del montaje.

DigiTemp

DigiTemp de Brian C. Lane es una aplicacin en modo texto que se ejecuta en Linux y que permite la lectura de sensores 1-wire. DigiTemp soporta los siguientes dispositivos: DS18S20 (y el antiguo DS1820) Temperature Sensor, DS18B20 Temperature Sensor, DS1822 Temperature Sensor, DS2438 Battery monitor, DS2409 1-wire coupler (utilizado en los hubs 1-wire), DS2422 Counter y el DS2423 Counter.

El formato de la salida puede ser personalizado y almacena la configuracin de los sensores en un archivo. DigiTemp puede leer de forma continua los sensores y almacenar la salida en un fichero log que puede posteriormente se exportado a bases de datos o programa para la generacin de grficos.

OneWire JAVA Viewer

OneWireViewer es una aplicacin Java que permite explorar dispositivos iButton o 1-Wire desde el PC. Es necesario un adaptador serie DS9097U + DS1402D-DR8 o paralelo DS1410E + DS1402D-DB8. OneWireViewer busca en la red 1-Wire, iButtons o chips 1-Wire y muestra sus nmeros de serie y caractersticas. Soporta prcticamente todas las caractersticas de todos los dispositivos, incluyendo temperatura, potencimetros, interruptores, conversores A/D, humedad, y dispositivos de memoria. Adems se incluyen caractersticas especficas de los Thermochron, DS1963S SHA, y el DS1961S/DS2432 SHA EEPROM.

No hemos conseguido que reconozca el adaptador pasivo que hemos construido ni desde Windows ni desde Linux. Se agradecer cualquier ayuda al respecto.

Imgenes

iButton Hygrochron
iButton Hygrochron (se observa el pequeo orificio para el sensor de humedad)
Chips 1-Wire
Chips 1-Wire en el embalaje, recibidos de Dallas Semiconductor
Prototipo de adaptador para puerto serie. Todava tiene dos db9, uno para PC y el otro para Palm
Cable con conector en un extremo para poder conectar y desconectar los chips del prototipo
Comenzando el montaje del adaptador definitivo
Preparando el conector RJ11
El adaptador con el conector RJ11
El adaptador antes de introducirlo en la carcasa del conector
El adaptador totalmente terminado con un DS1822 y el cable Hot-Sync serial del Palm
myTemp en accin

Pgina creada por el el.caixo.net