Arduino DC-DC isolation

Hello guys, I am new on the forum and I would like an advice about power isolation.
I am designing a circuit to power an arduino pro micro from an inverter 24V output and adjust the frequency on the 0-10V port using a DS3502 digital pot.
The plan is to use a RFB-0505S (24-5 dc-dc isolated converter) to power the arduino and yhe DS3502, take the 10V inverter out into the RH digital pot pin and send it back to the inverter with pin RW.

Now my question is: I know I should have a common ground to make everything work as it should, but what should I do with isolated converters? can I use only the gnd from the dc-dc or should I bridge the gnd (inverter and dc-dc output)? but I think this way I will lose isolation...

I tried to use the arduino powering everything from USB but I fried the DS3502 because I left the two grounds separated...I don't want to fry anything else and I want to learn!

I am confused!
I attached the schematic.
Any help is much appreciated!
Thanks!
Stefano

@tuningste

Your topic was Moved to it's current location / section as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

Power supplies do not normally have designated Gnd connectors, except perhaps protective (case) Gnd separated from the power lines.. Connect as required, and only what's required. Only the PSU outputs must contact their loads supply connectors, typically - to Gnd and + to Vcc. Likewise all module logic inputs deserve a Gnd shared with the controller. Pots as adjustuble voltage sources share their ouputs with the controller and their supply with the PSU, with a Gnd common to both input and output side.

I'm sorry, but I don't understand the question and I don't understand the schematic.

tuningste, what is the goal ? what are you trying to fix or to achieve ?

What is the "inverter" ? Is that a power supply connected to the mains that outputs 24V DC ?
So where does the 10V come from ? Who uses a frequency ? Are you using a 24V fan to generate power for the isolated DC/DC-converter ? What kind of fan is it ?

Manufacturer's page of the DS3502: https://www.maximintegrated.com/en/products/analog/data-converters/digital-potentiometers/DS3502.html.
It is a digital potentiometer of 10kΩ that allows a voltage up to 15V for the potentiometer. It is not isolated !
The digital potentiometer can not give power for a fan.

Sorry if I was not clear.
I have a 220V fan with integrated inverter (ECblue motor, manufacturer Ziehl-Abegg) that outputs 24V dc to power external controllers and 10V dc to adjust the fan speed through a potentiometer (0-10V control). I want to use my arduino to control a DS3502 that will act as a potentiometer on the fan (0-10V) to control the speed.
I want to use the 24V output to power the arduino, stepping down the voltage to 5V using the RFB-0505S dc-dc converter which is isolated.
So I am confused about the GND connection. Should it be all the same GND or should I keep two separate grounds, one before and one after the converter?
Should the DS3502 use the GND coming from the fan (and so bridged with the converter output) on RL pin or should it be GND coming from the converter?
You can see in the schematic the separation between fan and arduino on the converter.

Many thanks!

ECblue motors: https://www.ziehl-abegg.com/us/en/product-range/ventilation-systems/motors/ecblue/.

We like to read in the specifications how the control signal of 0-10V should be and if the ground of the 24V and the 10V are connected internally. I can not find those specifications.

A signal of 0-10V is a common way to control an industrial device. The Arduino can make a PWM signal, which can easily be amplified a 10V PWM signal and then filter it with a RC-filter to an analog signal.

The 0-10V control signal might not be the same as a 10kΩ potentiometer between 0V and 10V. It should be in the specifications of the product.

With high currents, you should be aware of ground currents.
If the 10V output is strong enough to power the Arduino, then you can use the three 10V signals only (+10V, 10V_GND and the 0-10V control). No isolation would be needed.
If you use both the 24V and 10V and they are internally seperated in the motor and current spikes might cause a spike in both grounds, then you have a problem and the isolated DC/DC-converter will not help.

I'm not even convinced that the motor has 10V power output.

When you connect a computer to the USB port of the Arduino board, then the GND of the device is connected to the GND of the computer, which might be connected to earth ground.

Update 1: The motors seems to have a 10kΩ potentiometer option. So that is okay. Now I'm trying to find how many GND pins it has and how much power the 10V output can give.

Update 2: Just one GND wire I think. But what is the "digital input" for ?

Update 3: Instead of using the 'E' pin for the potentiometer, two resistors and a transistor can be used for a PWM signal. The Arduino uses default 500Hz PWM signal and the motor wants above 1kHz.

Update 4: The ECblue Basic Module has 70mA output for the 24V and 10mA output for the 10V. Is that the same for the motor ?

That's enough puzzling for today.

Please supply model number of the fan you wish to use, I found an installation manual for a range of these motors, there is no 24vdc outputs shown. There are a number of options for speed control given including PWM and the 0 - 10v control using a 10K pot. Please be very clear this circuit does NOT power the fan it simply is a reference to control the speed. Looking at the manual and your circuit diagram you have that correct. The GND's from the all the low voltage devices should be connected together, there appear to be isolation built in between the Control and Mains voltage circuits.

Edit I tried to attach the manual i found but there was an error

Thank you for your replies.
I attached the manual of the fan and an image about the terminals.
I confirm it has 24V and 10V output (not for power the fan but to provide power) and GND is in common.
You can control the speed simply connecting a 10K pot to 10V, GND and E1 terminals on the fan.
The datasheed reports that you have 70mA at 24V to power external systems.
It is very clear to me how to use motors and mains power, my doubt is about the control system and especially the isolation part as I posted before.
Thank you for helping me out!

183968_ZN091ZILGLV5P1_datasheet.pdf (454 KB)

Please avoid misleading wording. An inverter is a DC to AC converter, not DC to DC, or a digital gate with inverted output. DC to DC converters are boost (up) or step-down converters, or Power Supply Unit (PSU) in general.

Most critical IMO are ground loops caused by PC connection to a fan in another PC or device. Use of BlueTooth helps to avoid any contact between the computer and controller. Otherwise it's sufficient to have a common Gnd for the fan, controller and all connected PSU's.

I am sorry if I used the wrong word, maybe this schematic helps a bit.
I need to have a wired controller, but my question would remain the same about the ground, even having a wireless unit mounted on the fan...
Thanks

Koepel, yes. What you said is correct and the motor I have has 24V 70mA output, 10V 10mA output for the control pin E1, and the digital pin D1 is only an enable for the fan (it also can be deactivated or bridged so not important at the moment).

Thank you very much for looking into it!

If the 10volt is already there, then just PWM that to fan ground with a transistor or opto coupler.
No need to use a digital pot.

This has been done many times for 0-10volt LED drivers.
Do a "0-10volt LED driver" search on this site.
Leo..

tuningste, I think I understand your question now.
There is only one GND, not two. The digital potentiometer is not isolated from the Arduino, so there is only one GND.
The RH and RL of the digital potentiometer can be used to set the digital potentiometer for example between 3V and 12V. However, it needs to be between 0V and 10V, so RL must be connected to GND.
Since there is only one GND, a isolated DC/DC-converter has no extra advantages, just a DC/DC-converter will do.

If you have already that DC/DC-converter, you can use it to power the Arduino.

It is not advised to power the Arduino via the VCC pin, but it will work if the DC/DC-converter is weak. Smashing a strong 5V onto the VCC pin can damage the voltage regulator with a reverse voltage. When the Arduino is connected to a computer and that computer is turned off, then a current can flow from the fan via the DC/DC-converter via the Arduino into the computer. I have not destroyed a computer that way... yet.

The digital potentiometer will work, but you need the I2C bus and code or a library to control it.

So after all, the most simple solution is to find a library that can make a PWM signal above 1kHz for the Arduino and use a transistor as Wawa already concluded. When reading all the PDF files of the fan I saw a schematic, you need to add a resistor from the Arduino to the base of the transistor.

Now we are getting somewhere. When you use a isolated DC/DC-converter and a opto-coupler instead of a transistor, then you can isolate the fan from the Arduino. That is so much safer. Can you make a schematic for that so we can verify it ?


Please take your time to read the following:

You are looking at something and you know what you have, we don't.
Therefor you could have started with a photo of the fan and its wires, and telling exactly which type of fan it is. Then we have an idea what you are talking about.
You should give more links !
Did you notice that I gave links to the DS3502 and the ECblue fan ? That is your job, we are not a googling service.
I did not give a link to your Arduino board, here it is (Sparkfun Pro Mini): https://www.sparkfun.com/products/12640.
The first reply by ballscrewbob was the best reply. Did you read those links ?
Did you read at number 16 about the XY-problem ? http://xyproblem.info/.
You asked for the wrong solution. Your question should be: "How do I control a ECblue fan with an Arduino".

But no worries, we are all Arduino-enthusiasts and we are very patient. It took me a long time to learn how to ask a good question :wink:

@koepel and @wawa, thank you very much for you help and sorry about asking the wrong thing, in the wrong format at the beginning.
At the moment I have all the components above, and I know the DS3502 worked fine (before I destroyed it) and I actually had speed control over the 0-10V port.
I think my next step will be to connect the common ground (please have a look at the two schematics I attached to make sure it is right) and test it.
The DC-DC converter I have has 400mA output, is it a good safe current to put into the arduino's VCC?
As suggested, I will get a non-isolated 24V to 5V DC-DC converter where the GND is always the same.
I will use the weekend to research about how to take PWM to 10kHz as per fan specs, and how to wire up the correct transistor/optocoupler ecc.
If you already know good topics/tutorials please feel free to post them.
Thanks again!

The second one is correct.

The DS3502 is not isolated ! In the first schematic, the right side of the DS3502 is internally somehow connected to the left side of the DS3502. The right side can have a voltage up to 15V, but it is not isolated from the rest ! So there can not be two different GNDs.
The whole DS3502 uses just one single GND for everything.

However, with PWM via a optocoupler + isolated DC/DC-converter it is a lot safer.

The 400 mA output should be okay. The problem is when you have a few amperes available or a fully charged large capacitor and with a thick wire and then touch the VCC with that wire. Then you get a current peak that can damage the voltage regulator of the Arduino board. Some reported this problem, but it never happened to me.
You could add a small coil or a 1...5Ω resistor in the 5V line to the Arduino VCC. That is not needed to test things.

That's what I wanted to know!!
Thank you very much for the patience, the explanation and suggestions.
I will definitely follow your advice and try to put together a 10kHz optoisolated PWM.
Thanks!

Hi, I'm afraid you are overthinking it. Do you know the KISS rule ?

For others: I'm replying to a Personal Message here.

The most simple PWM solution is not the 24V option, but the 10V option.

When you found something, please give a link to it. I would like to take a look at the PWM library that can do higher frequencies.

Traco Power isolated DC/DC Converter 2W in SIP package. That seems a nice one. It has only 20pF coupling between the primary and secondary power. That is very nice.

A mosfet is not the same as a transistor. A transistor is safer with higher voltages and has a lower leak current.
The 6N137 has a digital output. It's VCC can be up to 7V, and you apply 24V to it.

You need a small signal and high speed optocoupler with transistor output.
Can you find one yourself ?
10V / 10kΩ = 1 mA
That means that current through the transistor (the internal transistor of the optocoupler) is only 1 mA.
The input current for the optocoupler can be lower than the default, in the datasheet are often graphs that shows its behaviour.

The good old 4N35, 4N36 and 4N37 optocouplers start to leak with higher temperatures and is not very fast.
Vishay has high speed optocouplers, such as the SFH600 series.

Calculating the resistor from the Arduino to the optocoupler, with SFH600-3 as example:
Sometimes 1mA for the optocoupler input is enough, but with 1mA the transfer ratio is only 30%. At 5mA it is 90%.
The forward voltage is about 1.0V.
Suppose the Arduino runs at 4.5V, then the resistor is: (4.5V - 1.0V) / 5mA = 700 Ω
That is a resistor of 680 Ω, but 560 and 470 will also be okay, even 1kΩ will still work.

Sometimes the pin with the base of the transistor is connected with a resistor of 100k to GND. I don't know why :-[

pwm.png

pwm.png

Your circuit diagram is nice but not yet perfect. Draw GND at the bottom and the E1 output in the middle, 10V on top. Then you'll see that this side is not connected or otherwise related to 4.5V.

Input and output circuits deserve separate consideration.

The optocoupler input is a LED and can be connected as any LED to an Arduino output pin by a decent current limiting resistor (Rb=5V/Iled).

The output resistor has to pull the E1 input high enough, can be omitted if the open pin already is at 10V.

Thank you @Koepel and @DrDiettrich for your answers.
I think I will go for the solution proposed by Koepel as it is simpler and cost effective.
Followinf your advice I read the SFH600-1 datasheet (attached) available to buy from Mouser website.
Is has a typical 1.25V forward voltage and 10mA current (transfer ratio 63% - 125% ??), the needed resistor should be 375ohm, 360ohm propably is easier to buy.
I also uploaded a schematic update, hopefully the correct one.

The library I am using is called NanoPWMac (attached), unfortunately I couldn't find the source anymore but I tested it and it seems fine. I will test it on the oscilloscope tomorrow.
It uses Timer1 of arduino and leaves Timer0 alone to keep millis() and delay() unchanged.

Am I on the right path this time?
Thank you all!!

NanoPWMac.zip (3.67 KB)

SFH600.pdf (126 KB)

The circuit diagram looks good to me. I'd try any optocoupler from my grab bag. IMO 10kHz PWM is not a too high operating frequency.