PWM fan full speed if arduino fails

Hello I have 2 PWM fans I'm learning to code with my Arduino using a potentiometer coming soon. But i it got me thinking If the Arduino fails Is it possible to put the two fans at 100% automatically?


Hello I have 2 PWM fans I’m learning to code with my Arduino using a potentiometer coming soon. But i it got me thinking If the Arduino fails Is it possible to put the two fans at 100% automatically?


Maybe. But it all depends on what you mean by ‘fail’. If a device fails, it could fail some outputs stuck in a high voltage stage…some in a low voltage stage…and some fail in some kind of open circuit state.

If a fan is being driven by PWM, then maybe you could set up the system in a particular way - such that a circuit is able to detect ‘AC’ activity (due to the PWM). And if no ‘AC’ activity is detected … the circuit can then do something…such as to route full rated voltage to the fan. Detecting ‘AC’ activity could be something like putting the PWM signal through a high impedance buffer, and maybe a DC blocker (capacitor) after that, followed by rectifier and lowpass filter. And if the filtered output falls below some prescribed amount… then automatically activate a switch to apply full voltage to the fans… while making sure that no sources get short circuited to ground (or something).

Hello Southpark thank you. This is for 2 or 3 DC fans and Led's to control in my computer and to cool down my two video cards while I'm 3D rendering. A few times i have Atmel 328p chips failed on me. I do not want to let that happen. So i need some kind of fail over. I rather have the fans run at 100% still cooling the video cards down then killing off my video cards.

If you wiped out a few 328P's before, perhaps the issue is the circuit you are using.

I've never seen a 328 fail, they are the sort of chip used as watchdogs to protect more complex hardware.

Its hard to make a very simple thing controlled by a more complex thing failsafe - the simple part is relying on
the more complete controller to tell it what to do, and has to believe it. For instance a non-autonomous
car won't know if the driver has fallen asleep...

With two complex systems you can have they interrogate each other to check whether one has died and
then shutdown in an orderly safe way. More sophisticated semi-autonomous vehicle takes this approach,
detect possible driver inattention and raise an alarm, or come to a stop if no response.

Perhaps the simplest true failsafe hardware is the vote-counting method - 2 or more controllers, if they all agree
you do what they command, else shutdown. Can't think of a vehicle analogy for this(!)

In hardware this can be achieved by a common bus that is driven via resistors from each controller copy -
if the bus is at 0V or 5V, they are agreeing, if somewhere inbetween they are disagreeing.

Hello Tinman it is not my circuit's from before. One of my projects been running for a straight month with no problem then all of the sudden It quit on me. I have tried to restart it and nothing It wouldn't even let me reflash the sketch and library it just wouldn't see the chip. Second time we had a power problem. Which i didn't think it missed with it. When i restarted it worked fine for 4 months straight then Also quit that. at least that i know what went one. And last one i don't remember what happen to that one was along time ago.

But not to get off topic which i did. This is a new project I'm going to be working on over the weekend. Which is tying to make the fan Fail over to 100% if the arduino Quits. I know it will be okay. But I'm just trying to make sure there is enough Air going to the video cards while I'm working on it.

Hello Mark thank you for that. I don't want to shutdown my system if the arduino fails. Because if I'm working on some 3D rendering And it shutdown my system then i would have to restart what I'm doing over. I just would like to keep the fans at 100% if the arduino fails. It is a worst case scenario that is all.

I have been using ATMega328s for over 3 years and never had one fail. I have breadboarded many of them and never had any problems. I believe others will agree that you are doing something to damage them,
obviously due to some assumption you have made. My first guess is that you are not aware that if you turn OFF the power to the 328, WHILE it has any voltage on any of the pins, that it is possible to "BACKPOWER" the ATMega328 through the internal protection diodes. Also, any voltage over 5V on any of the pins can damage it. Drawing more than 200mA total from the 328 can also damage it. Even if you said you only had ONE 328 fail, that would still raise a red flag, but if you say you have had more than one fail , then it's lights and sirens going off. That should NEVER happen. You should post a schematic of your setup.
To be frank, your use of the word "fail" is suspicious in and of itself, because you fail to describe the circumstances that led you to believe they failed. You simple tried and convicted them with no evidence or witnesses. (a kangaroo court as it were). Present your case before making such bold accusations on an
arduino forum. We have thousands of members using the same 328s (that's another red flag, you didn't even state where you obtained them) without any failures. We have people who damage them all the time, but they own up to it by stating "I fried my 328 . What did I do wrong ?"
You, on the other hand, point the accusing finger "I have had 328s fail ..."
I don't think so, sir. I believe you are the guilty party.
Make your case.
Present your evidence and let the jury decide.

Hello that was old past projects I had problems with sense then I haven't any problems. I'm only trying to get my fans running at 100% speed in case there might be a problem.

There are several ways to make a redundant system.
I have used exclusive-OR logic gates in the past. One input is connected to the "Command", the other to the device control signal. If they match, the output is LOW. If they do not match, the output is HIGH.
For example, you have a transistor that is turned on with a HIGH on the base resistor.
Your "command" signal is therefore a HIGH (+5V). So you connect +5 to one of the Exclusive OR gate inputs and you connect the arduino output command to the other input. If the arduino output is LOW,
the Exclusive-OR output is HIGH. (because the two inputs don't match). If the arduino output is HIGH,
the Exclusive-OR output is LOW, (because both inputs match). Since the transistor requires a HIGH, you would need an Exclusive-NOR , or and Exclusive-OR, with an inverter on the output.
Another approach is the relay approach. You turn on the relay and the Normally Open contact closes , connecting power to the fans. If the arduino "fails" (which it shouldn't), and the relay driver doesn't turn on
then the Normally Closed contacts connect the power to the fans. Only one of the two conditions can exist at any given moment so either way, the fans get power. This might be an easier solution for you.

Hello Rachemmel Thank you. I do like the Relay approach. I do have a couple of small solid state SMD ones i can rig something up and keep it very simple. I think in my case this might be the best way. Again thank you i didn't think of that.

Okay just a quick update. I did have 2 very small SMD solid state relays and I did make a little prototype pcb board with it and a 2n2222 transistor and a Diode. I did get the same to come on Full speed on starts up then when the Arduino kicked in the speed went to is suppose to be at. then i did a test by removing the power of the arduino and the Fan Speed went to 100% which is great. Then i reapply power to the arduino and the relay clicked back over and the PWM picked up where it left off.

That sounds like a good thing