Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

connecting multiple temperature sensors to a pocket pc

Status
Not open for further replies.

raindelay

New Member
I am interested in building a system that will monitor temperature inside a grain bin. Essentially I would like to place between three and seven temp sensors inside a grain bin and have a sensor line coming out of the bin where I can periodically connect a ipaq to the array to read the tempatures. My biggest issue is finding some resources on how to connect sensors to a pocket pc in this fashion and the best software to create a user interface. Any assistance would be appreciated. Preferably I would like to be able to read all the sensors with one connection, not having to connect to each line separatley.

BTW I know that these types of units do exist but once I have the basics down I want to modify it further to provide for wireless data acquisition and I may want to add other sensors to the array, so purchasing is not the ideal choice and regardless I am interested in understanding and building the array myself.

Thanks
 
It could be easer just to build an ADC with a display, so that the temperature is always displayed. This should be easier that using special software and a special interface.
 
You could build your own data acquisition system with a PIC or AVR microcontroller. However, unless you're already set up for that kind of development, it's going to be a substantial investment of time and money.

As an alternative, look for a low-cost USB data acquisition system such as
this:

https://www.dlpdesign.com/usb/io8.shtml

The only issue with this one I can see is that it is USB powered, so you'll have to ask how to hook it up or modify it to be externally powered.

To measure temperature you can use the LM334Z (only ~ $.50 a piece). Check the data sheet for how to use it as a temp sensor.
 
I would approach this problem by using an AVR or PIC microprocessor as a local controller for the sensors. It would perform the analog to digital conversion of the sensor signals at specified times or intervals, store the readings (log the data in other words), and download the readings to the IPAQ through a serial or USB port when the IPAQ commands it to do so. This processor would be mounted on the silo and have the sensors wired to it, along with a suitable power supply.

The quickest way to start with an AVR or PIC is to find a development board already manufactured that provides a socket for the PIC/AVR and all the support circuits needed (like clock, serial interface, a to d, and whatever else) and also provides some breadboard space for adding additional stuff of my own. There are many small vendors of such boards. Here is some examples (no endorsement implied):
http://www.olimex.com/dev/
or
**broken link removed**
or
http://www.kanda.com/index.php3?cs=1&bc=direct&bw=/products/Kanda/STK200ICE.html

These are just a few as there are many more.

You can choose different types of sensor interfaces. The one that I have used before had a sensor transmitter mounted right behind the sensor itself in the protection head. This transmitter would change the millivolt levels of the sensor to 4-to-20mA current loop levels suitable for sending over long wires. The current loop interface tends to resist noise and electrical interference reasonably well and is quite simple. An even better way to go is to choose a temperature sensor that has a digital serial output. In other words, the A/D function is actually with the sensor. You can send the digital output over one-wire or SPI type serial interface with very few wires, and you don't have to worry about signal corruption along the way.

Here's a link to a company that is quite popular for temperature sensors and interface components:
http://www.omega.com/toc_asp/sectionSC.asp?section=N&book=temperature
I'm sure they have sensor transmitters that have digital interfaces.
 
I appreciate the feedback. Ideally I would like to minimize the # wires needed as I would like to have between 3 and seven sensors placed in a long hollow cable (The number depends on the height of the bin) whereby I could read the temperature of each of the sensors so that I can sense differences at various heights within the bin. I would like to be able to send this data wirelessly at some point to a computer as well as control aereation fans based on the data provided combined with relative humidity data and outside temp data. At present I can buy a handset for $895 Canadian and the sensor cables with 30' of lead wire for $300 C$. Even if I can not build it for significantly cheaper at this point it is more of the challenge and I will hopefully get some more knowledge which will help me with my next project.

I currently have a couple of electronics projects that I would like to complete which are related to the ag industry because I am positive we have a market for them, however, my electronics experience is limited and this is why I am trying to get a little more experience, however, if someone is interested in working with us on the electronics side we would be interested in talking

Thanks Again
 
Would anyone consider an 8-pin microcontroller and Maxim/Dallas "one-wire" DS18B20 temperature sensors (-55°C to +125°C)?

Use 1 pin on the microcontroller to drive N number of sensors daisy chained on a 3 wire bus (+5v, Ground, and the "one wire" data I/O line). Use another two pins for serial I/O to the 'host'.

Simply connect the sensors to three wires at the correct intervals, add some insulation between, then pull it through the PVC pipe or other conduit before capping the ends and installing in the silo.

You could also use the extra microcontroller pins to drive a relay controller IC and easily add programmable "set points" to control fans or other devices. Program the "set points" from your 'host' device, disconnect the 'host', and let the microcontroller do all the work for you.

Please let me know if you need consulting help on this product?

Mike

**broken link removed**
**broken link removed**
 

Attachments

  • 18B20's.PNG
    18B20's.PNG
    9.6 KB · Views: 273
Last edited:
There is book I like and it has how to interface Pocket PCs via the infra-red port, when I find it I'll send you the details. The title was something like Pocket PC robotics, well probably nothing like that but I will find it.
 
Mike said:
Would anyone consider an 8-pin microcontroller and Maxim/Dallas "one-wire" DS18B20 temperature sensors (-55°C to +125°C)?

Use 1 pin on the microcontroller to drive N number of sensors daisy chained on a 3 wire bus (+5v, Ground, and the "one wire" data I/O line). Use another two pins for serial I/O to the 'host'.

Simply connect the sensors to three wires at the correct intervals, add some insulation between, then pull it through the PVC pipe or other conduit before capping the ends and installing in the silo.

You could also use the extra microcontroller pins to drive a relay controller IC and easily add programmable "set points" to control fans or other devices. Program the "set points" from your 'host' device, disconnect the 'host', and let the microcontroller do all the work for you.

Please let me know if you need consulting help on this product?

Mike

**broken link removed**
**broken link removed**

Your approach is so simplistic...I love it...but I was wondering one thing though...if you had multiple sensors....and they are on the same bus, how does the processor know which one it is reading from?? After reading the DS18B20 datasheet, I realize that each has a unique address, but is there any way of knowing what the address is before it is in the circuit??

Say in this example you have a temp sensor at ground level and then every 3 ft going up. How can you just read the 12ft sensor and how can you know for sure that you are reading that sensor versus the 9ft sensor??

Once again....I just love the simplicity of your diagram...it is great!! thx...
 
jbarnaby2000 said:
Your approach is so simplistic...I love it...but I was wondering one thing though...if you had multiple sensors....and they are on the same bus, how does the processor know which one it is reading from?? After reading the DS18B20 datasheet, I realize that each has a unique address, but is there any way of knowing what the address is before it is in the circuit??

Presumably you need to set each address before you connect them in circuit?.

Once again....I just love the simplicity of your diagram...it is great!! thx...

That's what PIC's do to circuits, the circuits complexity is replaced by software inside the PIc.
 
I sure appreciate all the replys, It should really help. One other question does anyone have a good idea for a conduit for the sensors. I do not want to use rigit conduit, rather I want to have the conduit that it is somewhat flexible, I want to be able to secure the conduit inside the bin from the roof to the floor then have a connector at the roof and have the cable without sensor proceed to the ground. I would like to be able to pull the sensors out of the conduit in case of a malfunctioning sensor even if the bin is full, but the conduit can not be substantially larger than the sensors because the heat will need to trasfer through to the sensor to provide accurate readings, I am planning on placing sensors every 3 to 4 feet. Any thoughts on a good material to use and a supplier located preferably in Canada?

Thanks
 
regarding the one-wire bus idea. a similar solution could be had using one more wire to implement i2c (instead of dow) with the cheaper and easier to buy TMP175/275 from Texas Inst. I believe the tmp series allows 8 or 16 devices on a bus.
 
jbarnaby2000 said:
Your approach is so simplistic...I love it...but I was wondering one thing though...if you had multiple sensors....and they are on the same bus, how does the processor know which one it is reading from?? After reading the DS18B20 datasheet, I realize that each has a unique address, but is there any way of knowing what the address is before it is in the circuit??

Say in this example you have a temp sensor at ground level and then every 3 ft going up. How can you just read the 12ft sensor and how can you know for sure that you are reading that sensor versus the 9ft sensor??

Once again....I just love the simplicity of your diagram...it is great!! thx...
Off the top of my head, I would suggest a "test" or "id" jack on the controller as well as the normal "bus" jack. Then perhaps plug in each individual temperature sensor one at a time into the "test"/"id" jack to identify and label that particular sensor. For example, if you labeled it as "#3" or as "12 foot" then it would be up to you to make sure you place it at the 12 foot mark when you plug it into the 3-wire cable run in the silo.

The PIC controller would address and query each temperature sensor one at a time.

Mike
 
Mike said:
I wonder what kind of distances can be achieved with the I2C bus and those sensors?

the i2c bus is open drain, same as the dow bus, the difference being the way the bus is clocked, and I think the dow bus default speed is slower, and of course, there is no separate clock line.

I suppose capacitance of a long bus would begin to tax the ability of the drivers to pull it down quickly? i2c is pretty tolerant of slow clocks, but I don't know what the limits of the tolerance is.
 
The other problem is how to read the sensors on a PocketPC, the usual ports are USb, IP, bluetooth & wifiI was recommending the IR option as every PPC I've seen has one. A bluetooth module adds quite a bit of expense but would be better if the PPC has bluetooth.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top