One wire at a time. We have a need to do some data collection, and remote sensing of voltage, along with some data logging. Dallas Semiconductor 1-WIRE seemed to be a reasonable platform so I ordered a few temp sensors. My plan is to go into a stamp to parse and save the data.
I needed a lab set-up to get acquainted with the hardware, so: embeddeddatasystems.com seemed to have board level hardware. So I started with a
HA3 for PC connectivity
D2PC for 2 channels of digital IO.
T8A for Analog sensing
HA7S for Stamp interface
DS18B20 discrete component for temp collection
The provided OneWireViewer fired right up and identified the one wire components, as well as controlled the D2PC outputs
For the T8A , I needed OneSix DDE Server to see the various IO on the board. Download from embedded’s SUPPORT tab at the bottom of the page.
OneSix would identify the d2PC correctly, but it gave this crash notice when the T8A was connected to the 1Wire bus.
David at Embedded reminded me that additional excitation power is required for the T8A
Here is what it took to get the simplest setup running.
Software Summary:
OneWireViewer – probes bus and shows devices that are present
ThermoData –
OneSix DDE sever –
Link Archive?
http://sheepdogguides.com/dst1main.htm – tutorial
http://www.arunet.co.uk/tkboyd/e1dsu.htm – tutorial
http://www.arunet.co.uk/tkboyd/e1dsu.htm – linux tutorial
rf hardening
https://forum.arduino.cc/t/poor-reliability-with-sensors-dallas-ds18b20/356340
DS18B20 sensors are reliable, I’ve had a network of a dozen running for years without any
failures.
Sounds like you have cable-bourne noise spikes damaging them. You need to understand how
to prevent this or you will simply keep blowing up sensors.
Never run sensor cables parallel to mains wiring if at all possible. That’s the single likeliest reason for failure.
Secondly when running long cables you have to protect against interference (for instance nearby lightning
strikes – I’ve been to Italy in the summer – each time a massive thunderstorm – that could be an issue here)
To protect from such damage you have to consider both common-mode and differential-mode noise/interference.
Common mode is both the strongest and easiest to protect against – never ground a cable at both
ends, always have the sensor end isolated and add a decoupling capacitor if the cable carries a supply
as well as signal. Use twisted pair(s) or screened cable – or screened twisted pair. Have a large ferrite
toroid at the Arduino end to kill common-mode currents at radio frequencies (if near an LW or MW radio
transmitter you will really need these).
Differential mode is usually low when using screened or twisted cable, but add schottky-diode
protection diodes and a series resistor at the receiving to prevent damage from transients (lightning
and mains are usually the culprit). Probably a good idea to add schottky diodes at the sensor too,
and a zener clamp to stop over-voltage. Once you have a decent armoury of protection components
you should be able to endure a lot of abuse.
However consider simply using wireless links instead – often this can be cheaper than the copper in
the wires, as RFM23 / nRF24L01+ and similar modules are very cheap these days.
here is a custard Pi
https://www.farnell.com/datasheets/1812869.pdf
hat
https://www.robotshop.com/products/1-wire-pi-plus-hat