After four weeks of working flawlessly, my Arduino-based networked thermostat has come to an unexpected end today, and I'm trying to figure out what might have done it in.
Yesterday evening I noticed that the network connection had become very slow / laggy, where commands were being ignored and status messages were taking 10s of seconds to transmit a few hundred bytes. Apart from the ethernet connection, everything else functioned normally.
This morning however, it had completely frozen up. I hit the hardware reset button but this didn't have any result. I tried cycling power and even this failed to bring the project back to life. After a couple minutes without power, it did boot up again, but only briefly, before everything siezed up again. After that, it appears completely kaput.
Foolishly, the whole darn thing is soldered together including the ATMega328p so it won't be easy for me to pull it all apart in order to track down the source of the failure. Based on the behavior though I am sure it's the IC that's dead - I just have no idea what killed it.
Apart from the uC there's a standard 16x2 character LCD, a couple pushbuttons, a Chronodot, an ethershield with the wiznet module, some LEDs, some switches, and a pair of relays (to handle the HVAC switching). I don't have a schematic unfortunately, it was wired up dead-bug style and every step was tested along the way. And as I said, it's worked perfectly for almost a full month, before it died.
What can lobotomize an Arduino?
What Kills an Arduino?
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
-
- Posts: 12151
- Joined: Thu Apr 06, 2006 4:21 pm
Re: What Kills an Arduino?
power supply issues?
-
- Posts: 295
- Joined: Sat Dec 11, 2010 1:17 am
Re: What Kills an Arduino?
It's running on a 5v regulated supply, and when it went died it still had power. The LCD backlight was still active, the wiznet activity LEDs blinked when there was traffic on the network. It seemed like just the uC was not functioning.
I just got home from work and testing it again, magically it's working once more, after sitting disconnected & unpowered for about 4 hours.
What sorts of issues, aside from 'dead', could it be? Like noise on the line, or brownouts maybe?
Thanks!
Edited to add: Aaaand after a few minutes it's dead again. Different power supply, same symptoms. I'm thinking the brief moments of life are a fluke... and it's truly deceased.
I just got home from work and testing it again, magically it's working once more, after sitting disconnected & unpowered for about 4 hours.
What sorts of issues, aside from 'dead', could it be? Like noise on the line, or brownouts maybe?
Thanks!
Edited to add: Aaaand after a few minutes it's dead again. Different power supply, same symptoms. I'm thinking the brief moments of life are a fluke... and it's truly deceased.
- adafruit_support_bill
- Posts: 88087
- Joined: Sat Feb 07, 2009 10:11 am
Re: What Kills an Arduino?
How are you driving the relays? Do you have transistors and flyback protection diodes?
-
- Posts: 295
- Joined: Sat Dec 11, 2010 1:17 am
Re: What Kills an Arduino?
The signal from the arduino drives a transistor (2n2907) which in turn drives the relay. Neither relay is connected directly to the arduino. I don't have any diodes between the relays and the transistors, or between the transistors and the arduino.
Another update though - in trying to figure this out, I desoldered all the connections from the wiznet module, and (at least for the moment) everything else appears to be working again. So it could be the wiznet was freezing up and then taking the arduino down with it. I don't know why that wouldn't get 'fixed' on a reset though, or even a power-cycle.
Still, with the wiznet disconnected it's now been running for over 15 minutes without failing, that's a lot longer than I got earlier today while the wiznet was hooked up.
Another update though - in trying to figure this out, I desoldered all the connections from the wiznet module, and (at least for the moment) everything else appears to be working again. So it could be the wiznet was freezing up and then taking the arduino down with it. I don't know why that wouldn't get 'fixed' on a reset though, or even a power-cycle.
Still, with the wiznet disconnected it's now been running for over 15 minutes without failing, that's a lot longer than I got earlier today while the wiznet was hooked up.
- macegr
- Posts: 293
- Joined: Fri Apr 04, 2008 4:46 pm
Re: What Kills an Arduino?
Wiznet stuff draws a lot of current, could your regulators or supply diodes be overheating? You're not running the Wiznet module through the Arduino's 5V regulator are you?
-
- Posts: 295
- Joined: Sat Dec 11, 2010 1:17 am
Re: What Kills an Arduino?
I'm supplying 5v from an external regulated switching supply. It can handle up to 1000mA.
And I spoke too soon, darn it - it was looking that the wiznet was the culprit but after 20 minutes the arduino has locked up again. Like before, neither a hard reset or cutting / restoring power wake it up.
It looks like it needs to sit without power for 10 or 20 minutes, then it will work for a little while before dying again...
Very puzzling.
And I spoke too soon, darn it - it was looking that the wiznet was the culprit but after 20 minutes the arduino has locked up again. Like before, neither a hard reset or cutting / restoring power wake it up.
It looks like it needs to sit without power for 10 or 20 minutes, then it will work for a little while before dying again...
Very puzzling.
- macegr
- Posts: 293
- Joined: Fri Apr 04, 2008 4:46 pm
Re: What Kills an Arduino?
If you have some canned air, trying spraying it on the electronics and see if it comes back to life quicker. Stuff working for a while and then not working, then working again after being powered off...classic sign of overheating. Maybe a broken crystal?
- floresta
- Posts: 223
- Joined: Thu Jul 31, 2008 10:27 am
Re: What Kills an Arduino?
Each relay should have a diode connected across its coil. The diode should be connected 'backwards', that is the cathode should go to the end of the coil that is closest to the + power connection and the anode should go to the end of the coil that is closest to the - power connection. Without this diode the operation of a relay is likely to produce spikes that, at the least, may make your circuit operation erratic.I don't have any diodes between the relays and the transistors, or between the transistors and the arduino.
Don
-
- Posts: 295
- Joined: Sat Dec 11, 2010 1:17 am
Re: What Kills an Arduino?
Thanks for the tips. I've tried using canned air and it didn't make any difference - the arduino still died after a few minutes and didn't come back to life any quicker.
Re. the diodes, I will certainly include them when I start building 'version 2' this weekend!
In the meantime, during the brief moments of life, I've tried running library/example sketches on this and it still dies after a few brief gasps. I figured it was worth a shot. At this point I've decided I need to rebuild it regardless.
Thanks again for the help.
Cheers!
Re. the diodes, I will certainly include them when I start building 'version 2' this weekend!
In the meantime, during the brief moments of life, I've tried running library/example sketches on this and it still dies after a few brief gasps. I figured it was worth a shot. At this point I've decided I need to rebuild it regardless.
Thanks again for the help.
Cheers!
Please be positive and constructive with your questions and comments.