CAI Webcontrol Temp Sensors

Per the docs, it looks like the temp sensors are hooked up to a 3 position connector that supplies 3.3V. Maybe try using the 5V output from the humidity sensor connector. You may be getting too much voltage drop on the cable at 3.3V.

The VCC at the temp sensor terminal block is only about 2.7 volts, 3.3 volts via a diode, so it is too low to use. You can use the "5" volts at the humidity sensor connector (it's about 4.4 volts, 5 volts via a diode), and it will work but I have seen comments elsewhere that it is not a very clean supply. My testing is using a separate 5 volt feed to the temp sensor.
 
That would be the simplest way to implement it.

Knowing how the sensors work can be useful. The "convert t" command tells the sensor to do the temperature conversion and it stores the result in its internal register. The control device doesn't need to monitor the conversion and can do other stuff besides sit and spin. 750ms later, the new temperature sample is available. The control device can read that register immediately after the conversion or at any time in the future (until the bus is reset).

Ideally the control device would have a processing loop, set a flag when the temp conversion command is sent to the sensor, continue doing other stuff, then when 750ms came around the sensor would be read and its data utilized. That requires fairly tight coupling with the application, which may not be possible with a generic controller.

Only the control device designers can tell you what they actually implemented.

Based on my observation of the bus, it appears that they follow the Maxim suggested routine and issue “read time slots” until the sensor responds with a 1. To quote the DS81B20 datasheet. "To initiate a temperature measurement and A-to-D conversion, the master must issue a Convert T [44h] command. Following the conversion, the resulting thermal data is stored in the 2-byte temperature register in the scratchpad memory and the DS18B20 returns to its idle state. If the DS18B20 is powered by an external supply, the master can issue “read time slots” (see the 1-Wire Bus System section) after the Convert T command and the DS18B20 will respond by transmitting 0 while the temperature conversion is in progress and 1 when the conversion is done.", it does take about 750 ms, and with one sensor connected my board scans it a little faster than each 2 seconds.
 
Based on my observation of the bus, it appears that they follow the Maxim suggested routine and issue “read time slots” until the sensor responds with a 1. To quote the DS81B20 datasheet. "To initiate a temperature measurement and A-to-D conversion, the master must issue a Convert T [44h] command. Following the conversion, the resulting thermal data is stored in the 2-byte temperature register in the scratchpad memory and the DS18B20 returns to its idle state. If the DS18B20 is powered by an external supply, the master can issue “read time slots” (see the 1-Wire Bus System section) after the Convert T command and the DS18B20 will respond by transmitting 0 while the temperature conversion is in progress and 1 when the conversion is done.", it does take about 750 ms, and with one sensor connected my board scans it a little faster than each 2 seconds.


So, to try and put this into English for those of us who just barely know enough to be dangerous.

CAI sends a Convert T command to the sensor. The data from that command is received to the "scratchpad memory". The CAI checks the scratchpad as it cycles through all of the inputs and when the result shows up, the cai pulls it from there and loads it to the regular data slot for temp and clears the scratchpad.

I don't quite understand what affect powering the sensor from an external supply versus using the 3.2v slot provided has on reading the sensor. (I do understand the value regarding having a solid voltage available at the sensor.) Is the 3.2v just a continous power source or is it somehow related to data acquisition? How would using it affect the bus versus using an outside power supply? I assume the "convert T" command is issued using the data wire.
 
I don't quite understand what affect powering the sensor from an external supply versus using the 3.2v slot provided has on reading the sensor. (I do understand the value regarding having a solid voltage available at the sensor.) Is the 3.2v just a continous power source or is it somehow related to data acquisition? How would using it affect the bus versus using an outside power supply? I assume the "convert T" command is issued using the data wire.

The "3.2 volt" supply at the temp sensor terminals is just a continuous power source, not switched or otherwise affected by the data processing. The problem is it isn't 3.2 volts, it's actually less than the 3 volts minimum required by the sensor, hence the need to provide a different power source for the sensor. Yes, the convert command is on the data wire.
 
I tested connected to the terminal block - works but a bad idea since (without forced air cooling) the board gets hot and that heat is conducted to the 18B20 which will read several degrees higher than ambient, about 12" of hand twisted triple, and about 12 feet of cat 5.

I extended the cat 5, now working fine at 50 feet.
 
I extended the cat 5, now working fine at 50 feet.


OK. I'll give it a try with a single run of cat5 and use the 5v humidity power source. I had spliced together two cat5's (already had one running to a spot nearby and didn't feel like running another when I could just jumper off it it). Maybe that was the problem? I suppose the problem could also be using the ds1822 instead of the other one. If this doesn't work I'll order the other temp sensor.

And, I did test the voltage at the temp ouput and indeed it was around 2.7v. Actually just touched one of the analog inputs wires to it and it read 270. They make a handy little on the spot volt meter. Good news is that all of the 5v outputs register at 502.
 
I think the DS1822 should work, but as others have said the DS18B20 has a much better spec so you probably want to switch to that longer term.

I just joined the wires when I extended the cat 5, nothing special. I used one pair (orange) for ground and 5 volts, and one pair (blue) for ground and data. The grounds are joined at the board and sensor ends of the cable.

If you investigate the A/D inputs you'll probably find that they max out below 1000 = 10 volts due to the way CAI implemented the overvoltage protection. Mine wouldn't read higher than 700 = 7 volts, it takes a component change to increase the range closer to the max, but if you can live with a lower max then the original configuration is very safe.
 
I got my board firmware updated last week by paying $15. CAI support told me the 3.1.5 firmware has better way to handle temp sensors. It now can get all 8 temperature sensors updated within one second, also not blocking other PLC operations. I only has 3 DS18B20 installed. I tried using figure to touch a sensor, the response of new firmware to temperature seemed faster.

I removed the protection diode on my board, just shorted a small piece wire over it. By examining the board logic, that diode actually only protects reverse installed sensor or external power feeds into board. Since I do not use external power, that is not a problem.

My use for Webcontrol originally for interfacing RFID receiver and garage door opener. When biking, carrying a RFID tag is a lot nicer than regular garage door opener. I also could open the garage door sitting 5 miles away in my office. I am trying next wiring the garden light control and spinkler on the CAI baord. I plan to change all the light bulbs in malibu garden light to LED bulbs and remove the malibu transformer.
 
Back
Top