Voltage Leaking back to controller.

Thread Starter

MB107

Joined Jul 24, 2016
345
I have a fan I'm trying to control using a Yourduino RoboRed. The fan is a 600W radiator fan from a Mercedes Benz. The fan has 4 wires two large cables are connected to the battery at all times. It has a smaller wire that is connected to +12V with the key on to activate the high power fan controller. And finally a PWM signal wire. I have successfully been able to control the fan with a wave form generator as shown in the video below. I have also been able to control it with the Arduino with the exception that when I turn the fan off the Arduino will not reset itself unless I momentarily disconnect and the PWM signal wire from the Aurdrino. This appears to be cause by voltage leaking from the high power module into the PWM circuit. Measuring the voltage on the PWM signal I find it to be ~2.5V with the Arduino connected. It measures 12V at the wire on the wire on the High Power module when the PWM wire is disconnected from the Arduino.

So I have two questions.

1) Is this leakage normal.

2) Can I stop this voltage from getting back into the Arduino with a diode. And if so how do I size the diode. I know the PMW circuit runs at 5V PWM at 10 Hz. While in operation I measured 75mA of current. The PMW wire is the blue wire in the schematic below. In the video it is the white wire.

Test Wiring.JPG
 
Last edited:

LowQCab

Joined Nov 6, 2012
4,022
Your attempt at a Schematic makes little sense,
but it sounds like You are trying to connect the Yourduino directly to the Fan Module.

The Fan Module is designed to operate in a hostile environment,
therefore it may have a rather stout "Pull-Up" Resistor that can supply
a considerable amount of Current.
This Current should be Switched by an external Transistor or MOSFET.
This will prevent any "back-flow" to the Controller.
.
.
.
 

Thread Starter

MB107

Joined Jul 24, 2016
345
Your attempt at a Schematic makes little sense,
but it sounds like You are trying to connect the Yourduino directly to the Fan Module.

The Fan Module is designed to operate in a hostile environment,
therefore it may have a rather stout "Pull-Up" Resistor that can supply
a considerable amount of Current.
This Current should be Switched by an external Transistor or MOSFET.
This will prevent any "back-flow" to the Controller.
.
.
.
Thank You LowQCab

I am driving the the fan module directly with the Ardrino. But it is a RoboRed version of the Arduino which can handle 2000ma output. I have measured the current of the PWM signal during operation as 75mA. I actually tried the MOSFET supplied with the Arduino kit. It is an RFP30N06LE which I have no idea if it is the correct MOSFET for this application or how to specify a MOSFET. Is there a MOSFET you could recommend.

Also what are you thoughts on a diode in this area. Or even a diode after the MOSFET as it seams the voltage has no business going backwards in the first place. As it stands right now everything works perfectly until I turn it off with the ignition switch. I have to momentarily break the connection of the PWM signal to get the Arduino to reset. I know how to do that with a relay but that is a mechanical version of a transistor. I also have several transistors that I can try but I'm in the same boat of lack of knowledge with those.

You are correct about the hostile environment. I expect to have more filtering issues when I actually install this in a car and subject it to high power transients especially during the starting the engine phase.

In the mean time I will try to create a better schematic.
 

LowQCab

Joined Nov 6, 2012
4,022
An accurate Schematic should always be the first step in any project.
It's hard to comment further without one.
.
.
.
 

Thread Starter

MB107

Joined Jul 24, 2016
345
In this case a diode may be all that is needed, wired in series with the PWM lead.
There will be about .7 volt loss of output voltage on the PWM signal.

View attachment 247736
I did find a 1N418 diode. I put it in both ways 1 way (Cathode twards Arduino) it worked exactly like it does without it. The other way it did not work at all.

Although I have it somewhat working. I'm starting to believe that it is not required to feed a PWM signal to the fan controller but instead pull the fan controller signal to ground.

Basically what I thought was voltage leakage is not leakage its signal. Playing with MOSFETs now.
 

sghioto

Joined Dec 31, 2017
5,376
Although I have it somewhat working. I'm starting to believe that it is not required to feed a PWM signal to the fan controller but instead pull the fan controller signal to ground.
Interesting but the exact opposite you show in your video. If the fan is driven when the signal line is pulled to ground, then in your video when the duty cycle was 10% the fan should have been running at 90%.
 

Thread Starter

MB107

Joined Jul 24, 2016
345
Interesting but the exact opposite you show in your video. If the fan is driven when the signal line is pulled to ground, then in your video when the duty cycle was 10% the fan should have been running at 90%.
Very interesting. The fan seems to work both way. Drive it with a PWM signal 5V signal or pull it to ground. In the video the fan is being driven directly by the Arduino with a 5V 10Hz PWM signal. I have since tried a MOSFET and pulled it to ground it also works and the PWM signal works backwards. I have to turn the pot all the way up for low speed. But it also will not reset the Arduino. Funny thing is without the MOSFET everything runs until I shut off and I can reset the Arduino just by momentarily disconnecting the PMW wire. With the MOSFET everything runs until I shut off but disconnecting the PMW wire will not reset the Arduino. But letting it sit for a couple of hours seems to reset it.
 

sghioto

Joined Dec 31, 2017
5,376
I have since tried a MOSFET and pulled it to ground it also works and the PWM signal works backwards
Yes that makes sense but with the mosfet why the Arduino will not reset is still strange.
What does the voltage read on the supply input to the Arduino when the ignition switch is OFF?
 

LesJones

Joined Jan 8, 2017
4,174
You seem to be implying that the I/O pins of your Arduino can source and sink 2000mA. This is not the case. Looking at the schematic of the RoboRed version of the Arduino the only difference from the standard Arduino is the it uses a switching regulator instead a linear one. This means it can supply 2000 mA output on the 5 volt rail for additional devices when powered from the coaxial power inlet. There is no buffering between the I/O pins of the Atmega328P and the pins on the board. So the I/O tins are only rated to source or sink 30 mA. Does the thing you are driving with the PWM signal from the Arduino require a pull up or pull down driver ? With nothing connected to the input pin on the device what is the voltage reading on the pin with respect to the negative supply rail ? You say the device requires 75 mA drive current on the PWM input. Is this to pull it up to +5 volts or to pull is down to the negative supply rail ? I am guessing about how you have it connected as you will not post a schematic,
According to the datasheet on your RFP30N06LE mosfet it should be capable of driving the PWM input. Bear in mind that the mosfet will invert the PWM signal so you will have to change the code to take this into account. (Or accept that the direction of the potentiometer will be reversed.)

Edit. I now see that you have tried using the mosfet driver. Measure the voltage on the 5 volt output terminals of the Arduino board to see how long it takes to drop to zero when the supply to the Arduino is removed. I suspect it is not dropping low enough before you switch back on to initialise the Arduino.

Les.
 
Last edited:

Thread Starter

MB107

Joined Jul 24, 2016
345
Yes that makes sense but with the mosfet why the Arduino will not reset is still strange.
What does the voltage read on the supply input to the Arduino when the ignition switch is OFF?
0.1mv after about 10 sec. < 1 V in about 1 sec.
 

Thread Starter

MB107

Joined Jul 24, 2016
345
You seem to be implying that the I/O pins of your Arduino can source and sink 2000mA. This is not the case. Looking at the schematic of the RoboRed version of the Arduino the only difference from the standard Arduino is the it uses a switching regulator instead a linear one. This means it can supply 2000 mA output on the 5 volt rail for additional devices when powered from the coaxial power inlet. There is no buffering between the I/O pins of the Atmega328P and the pins on the board. So the I/O tins are only rated to source or sink 30 mA. Does the thing you are driving with the PWM signal from the Arduino require a pull up or pull down driver ? With nothing connected to the input pin on the device what is the voltage reading on the pin with respect to the negative supply rail ? You say the device requires 75 mA drive current on the PWM input. Is this to pull it up to +5 volts or to pull is down to the negative supply rail ? I am guessing about how you have it connected as you will not post a schematic,
According to the datasheet on your RFP30N06LE mosfet it should be capable of driving the PWM input. Bear in mind that the mosfet will invert the PWM signal so you will have to change the code to take this into account. (Or accept that the direction of the potentiometer will be reversed.)

Edit. I now see that you have tried using the mosfet driver. Measure the voltage on the 5 volt output terminals of the Arduino board to see how long it takes to drop to zero when the supply to the Arduino is removed. I suspect it is not dropping low enough before you switch back on to initialise the Arduino.

Les.
Thanks for clarifying that. I'm wondering if its possible I damaged the board. With the fan running directly powered with the Arduino's PWM signal I measure 75ma on on the PWM signal wire. When using the MOSFET I measure 100ma. Bear in mind my ammeter clamp is a cheep $20 unit that I'm not too confident with below 1 amp. Also can a clamp on ammeter be used to measure a PWM signal effectively.

With nothing connected to the wire except the volt meter going to the controller on the fan (white wire on the big aluminum finned thing in the video) there is 12V. When its connected its 2-3V.

As far as pull up or pull down that's Mercedes proprietary information but it appears to work both ways. And yes when I use the MOSFET to pull it down I have to start with the pot all the way up.

Time seams to cure everything. If I run directly pushing up or with the MOSFET pulling down, if I wait long enough it will reset. Reset time appears to be inconsistent. Occasionally it will restart immediately but most time requires 1/2 hour or so. And the reset time is true with the MOSFET or without.

The guaranteed way to reset it is to momentarily short the 5V pins to ground.

Latest video showing how it runs with the MOSFET and how I have to reset it.

 
Last edited:

sghioto

Joined Dec 31, 2017
5,376
How is the Arduino getting power? I see a black cable coming from the power jack going somewhere.
Have you tried using the reset pin on the Arduino? Connecting the reset pin to ground is suppose to reset the micro.
 

Thread Starter

MB107

Joined Jul 24, 2016
345
How is the Arduino getting power? I see a black cable coming from the power jack going somewhere.
Have you tried using the reset pin on the Arduino? Connecting the reset pin to ground is suppose to reset the micro.
Arduino is powered with the 30 amp power supply along with the fan motor. It has to be that way because that is the way it will be in the car.

What reset pin?????
 
Last edited:

LesJones

Joined Jan 8, 2017
4,174
Your post #12 is not very clear. So say a white wire is 12 volts when not connected and 2-3 volts when connected. I don't know what this white wire is and what it is connected to when the voltage is 2-3 volts.
I am trying to work out the PWM input signal requirements. With nothing connected to the PWM input pin of the speed controller what is the voltage on it with respect to the negative supply ? Also how much current is required to pull it down to the negative level ? Do a wired current measurement rather rather than trusting a clamp meter.
I suspect that a capacitor is supplying power to the Arduino when the ignition switch is off. If you measure the voltage at the 5 volt output connector on the Arduino it would help us to understand why the Arduino is not resetting.
If you would draw a FULL schematic it would make it much easier to solve your problem. It doesn't have to be done with a CAD package. Just draw it on paper then scan or photograph it.

Les.
 

Thread Starter

MB107

Joined Jul 24, 2016
345
Your post #12 is not very clear. So say a white wire is 12 volts when not connected and 2-3 volts when connected. I don't know what this white wire is and what it is connected to when the voltage is 2-3 volts.
I am trying to work out the PWM input signal requirements. With nothing connected to the PWM input pin of the speed controller what is the voltage on it with respect to the negative supply ? Also how much current is required to pull it down to the negative level ? Do a wired current measurement rather rather than trusting a clamp meter.
I suspect that a capacitor is supplying power to the Arduino when the ignition switch is off. If you measure the voltage at the 5 volt output connector on the Arduino it would help us to understand why the Arduino is not resetting.
If you would draw a FULL schematic it would make it much easier to solve your problem. It doesn't have to be done with a CAD package. Just draw it on paper then scan or photograph it.

Les.
Sorry about the confusion. The original video in post 1 shows a white wire for the PMW signal. I have since sold that fan and now am using a different fan with a blue and green wire for the PWM signal. The blue and green wire can be seen in the video in post 12. The video posted below shows how it is wired today with the MOSFET using a Blue and Green wire. I have since found a reset button on the board so I no longer have to short the wires.


Test Wiring With MOSFET.JPG
 
Last edited:

sghioto

Joined Dec 31, 2017
5,376
I'm still not clear about this reset. If the Arduino is powered through the ignition switch then shouldn’t that reset the micro when the switch is off?
 
Top