I don't have too much happening with my arduino but today it wasn't reading a digital input correctly and then it stopped responding. Now it doesn't take new compiled code so I'm pretty sure it's done for.
Before I buy another and kill that one too, I am wondering what could have caused this.
I am using 7 digit pins as well as the VIN and the 5V output.
The input power is 12V.
3 of the digital pins power 20mAh LEDs (each with a 150 Ohm resistor)
One of the digital pins is connected to a voltage divider with a 72V source (R1 = 1500 Ohm, R2 = 330 Ohm)
The 5V output (and one of the digital pins) is used to power a 5V relay made for the Arduino.
Another digital pin is set to INPUT_PULLUP to monitor high or low status.
The last pin temporarily grounds for 0.5seconds to activate a logging button. Otherwise the pin is set to output high (5v)
Could anything here be causing too much current through the board and result in a failure?
You can't draw more than 50mA total from a Nano on a 12volt supply.
3*20mA LEDs and a 80mA relay module will fry the voltage regulator, or shut the Nano down if you're lucky.
To measure 72volt you should use a top resistor value of at least 72k (not 5k).
That will limit fault current to <=1mA, that a pin should be able to survive if you make a mistake.
I would use 100k:1k5 for 72volt max, and use the internal 1.1volt Aref of the Nano.
Leo..
5k/330 are too low resistance values - the 5k resistor may have overheated and failed unless a high power type,
typical resistors only have 1/3W or so power rating
72V on 5k means about 1W power dissipation. That'll make one very hot resistor, even if you have a 2W rated one. Is that resistor charred by chance? Maybe it failed short - that'd be a quick death for your Nano.
You say you connect the 72V to a digital pin, so a voltage divider is not useful - the safest (and a heat free) way to read a high voltage signal is by using a diode pointing away from the Arduino, and enabling the Arduino's internal pull-up resistor. A standard 1N4007 will block up to 1,000V. The moment the signal connects to ground, the pin is pulled low; otherwise the pin is pulled high by the internal resistor.
The alternative (also quite safe) way is to use a resistor and rely on the clamping diodes - this is fine as long as you limit the current through the clamping diodes to <0.5 mA (that 1 mA number is the maximum rating, so safer to stay at half or less, which is more than enough for a signal). So for 72V that'd have to be 150k or more.
Surprisingly the 5K resistor is still intact, however, I noticed my program reporting that the 72V had been disconnected (then the whole arduino stopped responding).
So once my new arduino comes in, I will use a diode like wvmarle suggested. I am not quite sure how the alternative would be set up; would the 72V be connected through a 150K ohm resistor directly to a digital pin?
The relay I'm using is a JQC-3FF. I will use an external power source to feed it 5V instead of using the arduino's +5V.
The data sheet of that relay gives a coil resistance of 70Ω for the 5V version so just over 70 mA current. That's way too much for an Arduino pin to supply (absolute maximum 40 mA; constant current max 20 mA). So sure, that needs a separate power supply. It's even a bit much to supply from the Arduino's regulator.
The symptoms are for a problem with the 72V line. Maybe the other resistor had a bad contact, and the pin was exposed to 72V, then the 5k resistor is not going to keep the clamping diodes from burning for long.
boylesg:
Your voltage divider means you were puting up to 12V into the digital pin.
That 5k/330Ω voltage divider OP described brings down 72V to 4.5V. That's a safe voltage. I don't see based on the info provided by OP where there would be 12V going to a digital pin.
@boylesg: I have the 12V going into VIN (which is rated for 7V-12V input).
@wvmarle: I am not sure how to use your suggestion incorporating the diode. If I use the Arduino's internal pullup resistor, then do I set up the circuit like this: Digital Pin > Diode > 72V
I thought INPUT_PULLUP requires grounding to pull the pin high. So when the 72V is on, the pin will be low, but turning off the 72V doesn't create ground so it won't ever be pulled high. Can you further explain how I can use the diode with the Arduino's internal pullup resistor?
kwithlub:
I have the 12V going into VIN (which is rated for 7V-12V input).
7-12volt is sales talk. They forgot to mention the thermal limitations of the regulator of the Nano (~0.5watt).
I told you that you can't draw more than 50ma TOTAL from ALL the Nano pins with 12volt on V-in.
More than 50ma from all the pins combined (including the 5volt pin) will overheat the 5volt regulator.
3*20mA LEDs and a 80mA relay module is 140mA...
I also told you to use a 100k:1k5 divider and 1.1volt Aref, for two reasons.
that combination can't damage the pin, even if you put 400volt on the divider.
1.1volt Aref gives you a more stable voltage readout.