8
\$\begingroup\$

I am considering whether to replace the commercial differential temperature controller on my solar water heater with a Arduino based controller of my own design. I know just enough to be dangerous about such things.

First question: will the classic 5V/10Kohm thermistor voltage splitter circuit blow something during a lightning storm? The thermistor is located 60 ft away on the roof mounted solar panel. The cable is shielded and grounded. What's needed - surge protector on the thermistor circuit, some RC connection to the thermistor leads, reduce the base resistor for more current flow to the thermistor ....

Second question: does the Arduino Atmega microprocessor auto-reboot and resume software execution after a loss of power? Put another way, does the reset button have to be pressed after a loss of power?

| improve this question | | | | |
\$\endgroup\$
  • \$\begingroup\$ I'm not sure, but I think that the answer to second question is yes. In the worst case, you could build your own board, because the default behavior of AVRs is to power on and start executing as soon as it receives voltage. Also Arudino doesn't use microprocessors, it uses microcontrollers. The difference is significant, if you ever want to make your own board, because microcontroller has everything a computer has except power supply and clock crystal (but there is internal clock source that can be used). \$\endgroup\$ – AndrejaKo Apr 12 '11 at 21:25
3
\$\begingroup\$

Answer to second question:
AVRs have a BOD (Brown-out detector) whose purpose is to detect short power interruptions, and reset the controller when they occur. In the datasheets, however, you'll find this statement:

If the Brown-out Detector is not needed in the application, this module should be turned off.

The reason Atmel gives is that the BOD will consume power, even during sleep. I find this odd: the BOD is a major factor in your device's reliability. If it spends long periods of time in low power modes, and a dip occurs in the power supply it may lock up and require a hardware reset. In practice unplugging it for a few seconds. Not something I would like to tell my customers.

BTW, Atmel publishes an appnote "AVR180: External Brown-out Protection". I'm not sure what's the rationale behind this. Does it mean the on-chip BOD isn't reliable??

| improve this answer | | | | |
\$\endgroup\$
  • \$\begingroup\$ AVR180 is from 2002 and it might have been directed at older devices (at90s...). These chips were predecessors to the ATtiny line but had less peripherals and did not have a BOD. \$\endgroup\$ – jpc Aug 17 '11 at 18:15
  • \$\begingroup\$ If you have a good battery connection then maybe you do not want the BOD. Battery replacement will easily reset the processor and if the voltage drops too much there is no use in the processor (resetted by a BOD or not). \$\endgroup\$ – jpc Aug 17 '11 at 18:18
2
\$\begingroup\$

The second question is easy to answer. The ATmega is a microcontroller, which is hard-wired to reboot and resume after a loss of power. In fact, that's what the reset button actually does on some boards. Many voltage regulators have an enable pin, and it's very easy to wire it up in such a way that the reset button actually cuts power to the board. Every time you apply power, the controller reads the content at 0x00 (usually a jump instruction), and begins executing code.

The first question, not so much. Lightning strikes are pretty serious events, and (especially without a schematic), it's hard to say what will happen. I'd suggest that you first provide some isolation for your circuitry. A little optoisolator is likely to provide the isolation you need, but you'll need to provide power on the high-voltage side. An easier method would be to make the temp sensor completely independent. A little MSP430 + MRF24J40 system could run for months on a couple batteries and cost less than $10, transmitting the current temperature every couple minutes. Then, when lighting strikes, there won't be an easy path to ground through the sensing wire, which means that lightning is likely to strike elsewhere instead. The easiest method (also the least likely to survive a strike) would be to place a zener diode across the thermistor. You'll want to be careful about compensating your measurements for leakage currents through the zener, though.

If you can't accept the possibility that the temp sensor would be destroyed by a lightning strike (which is an interesting requirement to design for), you should research transient voltage suppression diodes and be prepared for some much higher system costs.

| improve this answer | | | | |
\$\endgroup\$
2
\$\begingroup\$

You might want to look into GDTs. Gas Discharge Tubes. These are often used in telecom to buffer sensitive circuits from lightning strikes.

The resistance when under their rated voltages (varies from 50v to over 200v) is many megaohms. When the voltage reaches a higher level, the device will move into a glow range (think neon lamp). This is good for small spikes. When it gets hit with REAL voltage, like 40 kV from a strike, it converts into an arc phase, where the resistance is very small and lines are shorted together, protecting the sensitive components.

You still need something to handle the low danger voltages of a couple hundred, but after that the GDT takes over.

None of these will protect you from a direct strike to the board. Hopefully you have grounding path so a roof hit will mainly be taken to ground and all you are protecting is incidental voltage spikes and not a true lighting current path. But a GDT across your thermistor might be the thing.

| improve this answer | | | | |
\$\endgroup\$
0
\$\begingroup\$

Thanks for the input. After studying this a little more, I think a Metal Oxide Varistor would give some level of protection. I wonder what's in my commercial differential temperature controller to deal with this possibility. It's beyond my ability to reverse engineer.

| improve this answer | | | | |
\$\endgroup\$
  • 2
    \$\begingroup\$ you should have made this a comment, or, alternatively, added it at the bottom of your question. This area is reserved for answers. \$\endgroup\$ – stevenvh Jun 14 '11 at 15:40