Thermal Conductivity System/Wireless Probeware

The Data and Models project at the Concord Consortium has developed a system that supports student investigations exploring the phenomena of thermal conductivity and temperature gradients in different materials. In addition to visualization and analysis of real physical systems the software enables students to use existing virtual models to construct and simulate simple thermodynamic systems.

In order to best support deeper personal ownership of the methods of experimentation, analysis and visualization we have built our system on a model of one wireless color handheld computer system for every student. We selected the Compaq H3600 series iPaq Pocket PC over several other options because it combined a fast 206 MHz processor, 32 MB of memory, color screen, an excellent battery system and 802.11b wireless ethernet capability. Currently (January 2001) an iPaq Pocket PC outfitted with a pcmcia jacket and wireless ethernet card costs about $750 however we expect similar systems to be marketed for educational use within two years for under $300. While an iPaq is small enough to easily fit in a hand it has enough processing power, memory, and display capacity to easily function as a capable personal computer for a student. Systems like the iPaq can easily function as an simple web browsing system, email center, advanced graphing calculator, student information manager, probeware system and by attaching a keyboard they can even be used for extended writing. Adding wireless networking not only allows portable access to web and email services but also supports extended collaborative access to innovative probeware systems such as the Data and Models Thermal Conductivity System.

The heart of our system for exploring thermal conductivity are a set of small aluminum, stainless steel and nylon blocks instrumented with an embedded network of temperature sensors. The term thermal diffusivity is used to represent the combination of thermal conductivity and specific heat which characterizes how fast heat travels through a materiel. Aluminum has 20 times the thermal diffusivity of stainless steel, while stainless steel has 20 times the thermal diffusivity of nylon.

Each short block measures 2.25 x 0.75 x 0.75" and includes two temperature sensors. Multiple blocks can be connected together to create arbitrary two-dimensional patterns. When connected together not only are the blocks in thermal contact but the embedded temperature sensors combine to form a single network of addressable sensors. We have also created a set of aluminum blocks three times as long with six embedded sensors. These are for comparing the thermal resistance in a solid material with the additional thermal resistance that appears across the shorter blocks thermal boundaries.

The network of temperature sensors are built around a simple networking protocol developed by Dallas Semiconductor called 1-Wire. Actually the 1-Wire protocol requires at least two wires, one for ground and another to carry both power and data. Because we support networks with up to 128 temperature sensors we separate the functions of power and network communication and actually use three wires. We are using the Dallas DS18B20 temperature sensor which has a resolution slightly better than 0.1 degree Celsius. Each DS18B20 comes in a small TO-92 transistor-type package and includes the temperature sensor, analog-to-digital conversion circuitry, a unique 64-bit identification, network communications processor, and a 16 bit non-volatile storage memory. We use the memory in the sensor to store the block number along with the sensors position within the block and a calibration offset for that specific sensor. We are able to collect data from all the temperature sensors once a second over the 1-Wire network.

To better support thermal investigations with these blocks we have also developed a thermal actuator which uses a Peltier thermo-electric cooler to pump heat either into or out of any point of the thermal network of blocks through the actuators nose. In fact two thermal actuators can be used at either end of a simple block system to setup a stable heat flow and associated temperature gradient.

The peltier device at the heart of the thermal actuator is a solid-state heat pump which can be used to lower the actuators aluminum nose to temperatures just above freezing or raise the nose to over 40 degrees Celsius. We have an over-temperature switch built-in which will limit the high end so no fingers get burned. The nose of the actuator also has an embedded temperature sensor which can be part of the 1-Wire temperature sensor network.

To actually collect the data from the temperature sensor network and distribute it to students we use another device from Dallas Semiconductor, a Java microcontroller called a Tini. The Tini collects data from all the temperature sensors once a second and makes this stream of data available to any other device on the network. We call the Java program running in the Tini a ProbeServer and have created a TCP/IP protocol for communication between an application running on a client computer such as an iPaq and a ProbeServer.

The Tini comes on a small 72-pin board the same size as a SIMM memory module and for $50 includes two serial ports, an ethernet interface, two 1-Wire interfaces, and 512 kbytes of battery-backed RAM memory. We plug the Tini into another $35 motherboard from Dallas which provides the physical connectors for connecting the Tini to the outside world.

The ProbeServer technology is more general than the specific functions it does in the Tini and has been developed at CC to support many different types of Internet-enables probeware systems. It was initially developed for the Electronic Guidebook project with the Exploratorium. Because it is programmed in Java not only is the development of new Internet protocols for probeware easier it is much simpler to implement on other systems. The ProbeServer technology includes the concept of reflection which enables a low-powered server such as a Tini to hand-off the data stream it is delivering to a more powerful server allowing delivery to many more clients simultaneously. Additionally a ProbeServer can describe how many and what type of probes are connected.

In the system we are using with students this year the Tini communicates with an Apple Airport 802.11b wireless hub which routes the wired 10-baseT ethernet traffic out over the wireless 11 Mbps ethernet lan.

The iPaqs we are using come with Windows CE 3.0 installed and we chose to do our application development in an open source Java-like language called Waba. Waba has a Java-like syntax and operates as a virtual machine natively on both the PalmOS and Windows CE. With the appropriate Java class libraries Waba applications can also run on MacOS, Windows, or Unix systems as well as running within Java enabled browsers. Waba has an active development community and because the system is open-source we were easily able to fix several bugs in the VM as well as add several features we needed.

By using Waba we are assured that we will be able to run our applications on a wide range of systems and when a newer better handheld appears it won't be long before Waba is ported. Additionally we gain a great deal by the Java-like language. It will be easy to port ProbeServer technology to a handheld running a Waba VM. This will allow the data from future probes connected directly to an iPaq to be streamed to adjacent iPaqs.

The actual application on the iPaq for visualizing data from the physical model and for creating your own virtual model is called BlockModel. BlockModel allows connection to any available Tini -- normally the one on the table in front of you. After opening a connection to the Tini all the blocks in the temperature network appear in a construction pane. Each block is then dragged down to the display window and arranged to duplicate the actual physical arrangement of blocks. During and after the construction of the representational model on the screen the blocks are displaying their temperatures with a RGB color transition which maps red to warmer temperatures and blue to colder temperatures. Each sensor embedded within a block can be individually queried and selected sensors can be displayed as a group in a graph window. A similar user interface is used to create a virtual model in which block conductivity experiments can be simulated.

We are planning to add the following capabilities to BlockModel:

- save, load, and transfer between iPaqs and servers block topology and data.
- create and manipulate simulations and review previously collected physical data on web applications.
- print from server saved block topology and data.
- manage the display and review of time-based data from the blocks.

Something else we are following with interest is the development of a Linux distribution for the iPaq. Network application programming could possibly be much easier on a powerful Linux-based wireless handheld than using Windows CE because of the maturity of Linux-based networking, the vitality of the open-source community, and the fixability of open-source software.

Links:

Data and Models Project: http://datamodels.concord.org/
Compaq H3600 iPaq Pocket PC: http://www5.compaq.com/products/handhelds/pocketpc/
Compaq WL100 Wireless Ethernet: http://www5.compaq.com/products/wireless/wlan/wl100-specifications.html
PCMCIA Jacket for iPaq: http://www5.compaq.com/products/handhelds/pocketpc/jackets.html
Dallas 1-Wire Networking: http://www.dalsemi.com/techbriefs/tb1.html
Dallas 1-Wire DS18B20 Temperature Sensor: http://www.dalsemi.com/adinfo/thermal0600.html
Dallas Tini Java microcontroller: http://www.ibutton.com/TINI/
ProbeServer: http://www.concord.org/ccprobeware/ccprobe/ccprobe-ref.html
Electronic Guidebook: http://concord.org/library/1999fall/electronic-curator.html
Waba: http://www.wabasoft.com/
SuperWabaL http://www.superwaba.org/
Linux for Handhelds: http://www.handhelds.org