Controlling EC motor with 0-10v or PWM

Being a programmer just getting started with electronics, I'm wanting to control the speed of an EC fan. They should be very easy to control from what I understand, but I'm not sure how to do it from Arduino.

The unit has a potentiometer which the manufacturer suggests to replace to control the speed. There is not much info on the unit. (Söderman EC100) The info I did find is a swedish PDF, but with English wiring diagram: http://www.soliduct.com/redirect.php?action=url&goto=delat.ws%2Fdownload%2FC-Instruction+manual+for+EC.pdf

The wiring diagram shows three wires used for speed control. 1. Labeled "UN (+)", and is currently connected to 10v on pot. 2. Labeled "PWM" and currently connected to "ADJ" on pot. 3. Ground

It seems like most ec motors offer the ability to control speed either with variable voltage or PWM, but looking at a few datasheets I can't see any requirements for the PWM signal other than details about duty cycles. Should one assume that the voltage needed for PWM control would be 10v? It seems like I'm missing something that would be inferred by some basic knowledge :blush:

Would it be possible to simply connect a PWM pin on the arduino directly to the PWM input? Since it is only a control signal, and the motor is driven by 220v, I'm guessing the voltage should not matter that much as long as the signal is strong enough to pick up the duty cycles?

The schematic shows the ‘PWN’ pin fed with a variable voltage from 10v-0v thru a potentiometer. The actual PWN signals must be generated inside the motor electronics. Feeding a varable 10V signal from the Arduino is not straightfoward. First this is a D/A conversion which is not built in and the Arduino cannot generate 10v. You may consider a digital potentiometer as a solution.

And the Swedish says that if you do not want to regulate the speed the Red and Yellow should be tied together.

But I would not connect the Arduino at all to this fan. There is no hint at what the signal actually contain (but probably a plain voltage)

Looking at the diagram it seems like one needs varying voltage to adjust speed, but if that was the only option, why is there a connection labeled PWM? Surely the pot does not generate any PWM signal?

And looking at similar products they mention the ability to control using either 0-10v or PWM. For example, this is a diagram from another EC fan: http://www.rosenbergcanada.com/docs/eco/ec/ec_fans/Wiring%20Diagram_Connection%20Possibilities.pdf

A digital pot seems like a simple and safe bet, but finding one specced for 10v is difficult.

A very similar question came up a couple of weeks ago. My conclusion was that the control input requires 0-10V but has an internal R-C smoothing network so that a 10V PWM signal of a sufficiently high frequency will suffice. You could use an opto isolator and a pullup resistor (to the +10V pin) to generate the 10V PWM signal from an Arduino PWM pin.

Thanks dc42 for the excellent suggestion! That seems like a much better and cheaper option than the digital pot. Will order one and give it a go.

Don't forget to increase the PWM frequency, because the default of 490Hz is probably too low. I suggest you try about 3kHz. Getting accurate PWM at much higher frequencies than that through standard opto isolators is not trivial, although I did manage 25kHz once.

Oh, so you have to have the right duty cycle, frequency and voltage for the PWM signal to work :~ And the manufacturer don't specify any requirements for either of those :(

No idea how to increase the frequency, so I guess the digital pot might be easier after all, if I can find one that is suitable.

Spindrift: Oh, so you have to have the right duty cycle, frequency and voltage for the PWM signal to work :~ And the manufacturer don't specify any requirements for either of those :(

No idea how to increase the frequency, so I guess the digital pot might be easier after all, if I can find one that is suitable.

PWM is variable duty cycle, so the manufacturer does not need to specify that. The fact that you can use a potentiometer implies that you need a 10V PM signal to get the full range. It's just the minimum frequency that we don't know.

There are plenty of pages that describe how to change the Arduino PWM frequency.

Thanks, reading up a bit I see that one can control PWM frequency in software, so that seems to be a non-issue then, as long as the unit does not expect a frequency higher than the opto isolator can handle.

Again, many thanks for your help!