Help request for simple controller.

Status
Not open for further replies.

Saxguy

New Member
I have a EC fan which came with a simple speed control unit which plugs into the mains voltage fan itself ( I believe the control side only works on 0-10v). The speed control consists simply of a 10Kohm potentiometer on a 5mt long lead which plugs into the fan body (tiny three pin plug/socket).

As a matter of interest, the fan runs full speed if the controller (pot) is unplugged.

I would love to be able to replace the simple pot with a unit which would control the fan speed based on temperature (using remote sensor). More precisely, I would like to be able to set a minimum fan speed with one control pot, and have thus the fan speed auto ramp according to the set temperature (second control pot). I'm sure this is a simple task if you know what you are doing. I do have some very basic electronic understanding, but not enough to design this I'm afraid.
Appreciate any help, thank you.
 
You might look on banggood.com or alliexpress.com for possible solutions.

This is basically a fairly straightforward brushless dc motor embedded design for experienced embedded developers.






Regards, Dana.
 
Thanks Dana. Still a bit over my head however

Thats why I gave you references to finished product places to procure solutions.

Lost of speed controls in RC market, google "brushless motor speed control"

Good luck.


Regards, Dana.
 
If its a simple pot to PWM control this is pretty straight forward -



Here you drag and drop blocks out of 2'ond window from left into 3'rd window from left,
config them. This takes a V from a pin and in turn controls a PWM duty cycle output to
a pin. Note once you do the blocks the code on right for Arduino is generated for you.
So your main interface is setting up blocks. Kids in 6'th grade and up programming robots
with this.

If you look at the blocks -


First block indicates start of program to mBlock.

Second block is run all code inside it forever, over and over.

Third block reads analog voltage on pin 0 from your pot and saves the
value into variable AtoDval

Forth block writes that into PWM to set its duty cycle. 0 - 1023 on
AtoDval maps to 0 - 100% on PWM

Thats it.


Would look like this -



Would use a #$3 Arduino Nano Board, ~$3. Here the PWM is driving an LED. In your
case maybe a transistor to drive the motor currents needed. Simple interface to
the Arduino PWM output.

Whats your fan part number / make / model ?


Regards, Dana.
 
Last edited:
This looks great Dana, I really appreciate this. I've just ordered a Arduino kit (clone), and it will be a good few weeks or so i guess before it arrives (things take ages to get here). I do have some electronic components however, ie breadboards, transistors, MOSFETS, resistors, caps etc etc... Cant wait to give it all a go.
The link to the fan/spec is here : https://www.aliexpress.com/item/330...9d989fb-18&pdp_ext_f={"sku_id":"67027642207"}
I guess then it would be easy to add other parameters of control such as timers, temp/humidity stats etc?

Again, I really do appreciate your help, especially as I am new here.
 

Yes to add T and V and humidity control as well. Youtube has mBlock video's to learn from. Maybe consider Snap4arduino
for programming. It supports DHT11 for T and H. I dont know if mBlock does. Worst case there are additional analog in channels
that can handle analog T and H sensors with V output. Snap4arduino and mBlock similiar in use.


Regards, Dana.
 
Last edited:
Okay, so I have now started looking at mBlock (I feel like i'm the oldest kid in class), so I guess I have much to learn.
 
Fan seems to indicate its PWM input is 0 or 10V for logic levels, you need to confirm that.

Easily solved by taking arduino output and using a transistor switch like (12V should be 10V
in this picture) -



Note its inverting, so 0 - 100% PWM duty cycle corresponds to full on fan to off fan.
You just accommodate that in a little block coding. Some block coding has a map function
you can use where you give it the input range and that maps that data to desired output range.

One thing missing in that circuit is a R from NPN base to ground, generally 10X base R. Thats because
when most processors power up these days their I/O pins are tri state, so before software takes control
fan could come on which would be undesirable. What turns transistor on is leakage current. So R from
base to ground keeps transistor off while processor is powering up, before software takes control.

Note fan has a tach output which tells you what fan RPM is. Not sure what its logic high V is, if it exceeds
Arduino logic 1 max V then simply use a R divider. This would allow you to control speed using a control
loop by counting tach to get its freq and using that to set PWM. Basically done in PCs and LapTops
these days to control their flow.

Max input V Arduino -

The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board."

Min is >=0 volts. No negative Voltages. If you need to handle/read - voltages there are simple methods
to handle that.

Do you have a scope ?


Regards, Dana.
 
Last edited:
One other suggestion, as a person who has fried a few boards in my time.

Put a series R to any pin you plan to use say 1K or more. That way if you
accidentally put a V > 3.3 or a negative voltage, instead of directly to the pin you
do that to the R, it will limit the current and generally protect the part. Once you finish
design remove it. Most circuits this R will not affect performance, most not all.

And secure your scope probe ground clip so it doe not flop around. I have shorted more than
one board when it came loose and shorted parts in the board.

Just a thought.


Regards, Dana.
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…