Webcontrol PLC intermittent reset

If you could please send board back to us, we can check it for you. If the problem is the board, we will replace it.  It is very strange problem, we wish we can duplicate that problem here. we have not heard similar problem from others for May 02 build 3.02.17d firmware.  But if there is any problem, we will take care of it.  Please send it to our web site address with your contact information in it.  Sorry for the inconvenience.  If you board has bootloader, we can send you updated firmware to try.
 
I am purchasing a replacement board from Ebay, will send this board to you after installing new board.  Thanks for the help!
 
I think I finally found the culprit of the reset problem, it is the 1-wire temperature sensors channel. I tweaked data sampling time from 10us to 25us, did not notice any improvement on reset. But after I completely disconnect temperature senors from board, the reset problem went away. The board now runs several days without hang up or reset.  
 
I still do not know which of the 3 sensors is unstable, or it could be wiring topology, or it could be some of sensors are too close to my furnace, I will report later if I could identify the root cause.  
 
Now, I am pretty happy to be able to isolate this problem.  My 2nd board arrived, the worst case is using it for temperature data gathering, it does not need to run as reliable as my garage door control function.
 
Just like to share it in case someone else is dealing with the similar issue. 
 
Niandong Liu 
 
ndliu said:
 But after I completely disconnect temperature senors from board, the reset problem went away.
If you read through past threads there was a system several months ago experiencing similar problem. He fixed it by placing transient suppressors on the temp sensor.
 
I had occasional crashes on one system due to basement dehumidifier - since moving the dehumidifier the WebControl has been stable.
 
It is my understanding WebControl bit bangs the 1-wire port to support the temp sensors. It looks like there is a subtle FW bug if returning data get corrupt the system crashes.
 
/tom
 
When the noise in environment is too strong, it can cause processor execution wrong.  The only way to avoid the  problem is not running 1-wire bus or any other input wire with power line, or other noisy source together.   Sometimes, the noise came in through sensor input or TTL input. Those noise can cause CPU not executing correctly.
 
In most application, running sensor wires with others do not cause this kind of problem.  However, if your setup experiencing problem, please try to change how the sensor wire harness to stay away from any possible noise source.  It is good that NDLIU identified the problem was from the 1-wire bus, please try to move that 1-wire bus not running too close with other wires.
 
In the past, we had another customer reported similar problem on the TTL input.  Once he added opto isolator on the TTL input, everything runs smoothly.  Most setup don't need opto isolator, however, if the noise is too much, opto isolator IC could be helpful. 
 
There is no way to have opto isolator IC for 1-wire bus, because both CPU and sensor need to pull down the bus signal level.  That bus is directly connected to the CPU input pin. When the noise level is exceeding the input tolerate, the CPU watchdog circuit will automatically restart the processor.  There is nothing we can do in firmware, unless we disable the watchdog circuit.  You could try to add 5V transzob diode between signal and ground pins. If you do that, please make sure it does not short the input signals.
 
Thanks both Tschmidt and CAI_Support for their suggestion and explanation, it totally makes sense. 
 
 
My board was mounted in basement, is about 3-4 ft from noise sources, such as house furnace, a freezer and a dehumidifier.  All 8 digital Inputs were connected to Noise Suppressor DLP-20-6V15 before connecting to board Inputs.  I copied this practice from the posting by W0VHA on http://cocoontech.com/forums/topic/24741-board-locks-up-or-resets/  , hoping it would solve my problem when I was struggling with board reset.  I did not notice any improvement, but would guess it probably eliminates some noises on the input lines that were not as severe as on 1-wire bus.   My input lines are 30-40ft long CAT5 cable from basement to garage.    
 
The humidity senor has a very short cable, 3 temp sensors are daisy chained on an old telephone cable, ~20 ft long, 1 monitors furnace intake, 1 for furnace exit, and 1 for main floor. So, in my system, the 1-wire cable is the closest to noise source, also it is probably most vulnerable one based on CAI_Support's explanation of directly connecting to CPU input pin. 
 
I tested Tschmidt's suggestion on running temp sensors through DLP-20-6V15 noise suppressor, did not see any improvement, maybe its clamping voltage is still too high, or my environment is too noisy, or the temp sensor cable is too long.  I tested a single temp sensor on a very short cable, 3-4 ft long, the board is running fine. 
 
I think I can live with this problem for now, as long as I know where it is.  When I get time, plan to use 2nd board for temperature monitoring, plus do some experiments on different cables and sensor locations, maybe test the idea of adding 5V transzob diode between 1-wire signal and ground.  Will report back.  
 
Niandong Liu
  
 
Instead of using telephone wire, could you please try to use cat5 wire?  I don't know if your telephone wire is solid copper or not. Solid copper works better.  Have signal wire and ground in one twist pair inside cat5  to try, that could help reducing noise, too.
 
My telephone cable is solid core, but not twisted pairs.  I will try CAT5 cable first. 
 
Thanks for suggestion!
 
ndliu said:
tested Tschmidt's suggestion on running temp sensors through DLP-20-6V15 noise suppressor, did not see any improvement, maybe its clamping voltage is still too high, or my environment is too noisy, or the temp sensor cable is too long.  I tested a single temp sensor on a very short cable, 3-4 ft long, the board is running fine.
  
 
Couple of others things I've done on both my designs that I forgot to mention.
 
1) Digital inputs and 1-wire to 5V clamped to Vcc and ground using 1N4148 diodes.
2) For the digital inputs use a 100 ohm series resistor between the outside world/pullup resistor and the diode clamp.
3) TVS on 9Volt supply.
4) Digital inputs, except for the bidirectional 1-wire. buffered with TTL logic, would much rather blow up a 74LS04 gate then the entire WebControl board.
5) Outputs are buffered with 7407 OC drivers in general.
 
Giving the Open collector nature of the 1-wire interface not sure how effective twisted pair will be. I'm using some relatively heavy gauge 4-wire outside plant phone wiring (18-awg I think) I had laying around. Red for +5, Black Gnd, Yellow data. 
 
I did try terminating the far end with a pullup as mentioned in the CAI manual, did not notice any difference.
 
/tom
 
Tim,
 
Those are all good suggestions. There are two buffer IC, one for TTL input on the back of the board, another is for TTL output  next to the AUX port. If the I/O got damaged, mostly is one of those IC, you can replace them easily, if you have hot tweezers.  Just make sure if replacing then, does not set the tweezers temperature too high, otherwise, it could damage PCB.
 
When the noise being inducted to the sensor wire, if the sensor is twisted with ground, it has better chance canceling out the noise. Pull up resister on the far end does not do much for the rev 2.2.2 board. However, adding a 20 ohm resister at each device data line to reduce ripple noise, make sure the 1-wire bus is not star configuration, that can help a lot for reliable long distance 1-wire communication.  If you know which equipment in your place generate noise to the AC lines, adding filter suppressor  like this will also help:
http://www.ebay.com/itm/271229856816
There are a lot different and better filtering devices out there.
 
Another thing is to make sure your AC circuit has a good ground.  Power company supposedly wired your AC panel to ground.  If that ground is not very good, the noise level will be high.
 
On the WC32 board, we actually have a dedicate 1-wire bus controller to separate 1-wire bus from main CPU, so that noise probably does not cause this issue.
 
Just want to report where the root causes are of the 1-wire bus triggered PLC reset. 
 
First, I replaced the old telephone cable with CAT5 cable.  It did not fix the problem.   Then I tested each of 3 temp sensors on a short cable, they all run reliably at least a few days without resetting PLC.  So I guessed the problem must be related to either long cable or cable location.  Then I re-install the temp sensors back to their original locations, I tested them individually with a long free hanging CAT5 cable.  I found that only 2 of the 3 locations give me trouble.  At 2 problematic locations, there are about 1 to 3 feet parallel run between sensor lead wire (untwisted and unshielded) and either a power AC cable or a 24V thermostat control cable.  After I replace the parallel run section with a shielded cable, problem went away 1 by 1.  That tells me that it is in the section of parallel run with a power cable that 1-wire bus picked up noise.   In the 2 parallel run locations, sensor lead wire are almost in touch with power cables.  I found that the sensor wire can run across power cable without issue, but if they run close and parallel just for 1 foot, the noise will cause PLC reset.  This is how sensitive the 1-wire bus is.   
 
After knowing that,  I shortened the temp sensor unshielded lead wire to minimum, redid the entire 1-wire bus with a shielded 3-wire cable, PLC has been running fine since.  By the way, I did not add any resistors or clamping diodes on sensor signal out.  
 
Thank CAI_Support and Tschmidt for their suggestions, hope my finding will help other folks on this board. 
 
Niandong
 
Back
Top