Brushless DC motor control

I am in the process of selecting the components for my first Arduino project and would appreciate your advice so that I can continue procuring components/modules. My apologies that this turned out to be such a long post, but I’ve spent enough time reading on here to learn that the devil is always in the details and it’s usually the tiny factiod that finally comes out 20 posts down that determines the solution…

Background:
I am building a controller for my charcoal smoker. I know that there are several “smoker” examples around, but most (if not all?) of them are built around an electric (110/220v) heating element as a heat source. With a charcoal smoker, the chamber temperature is controlled by adjusting the airflow into the chamber. There are literally two ball-valves that are adjusted periodically (opened more, closed a bit) to maintain the desired temperature.

Objective:
Regulate chamber temperature to maintain the selected temperature using a 12v blower fan (instead of the current ball valves).

Strategy:

  • I will be using an Arduino Mega for the “brains” of the operation. (A “Mega” is overkill for this project, but this is my first Arduino project and will likely keep the Mega as my “project development board” and transfer the project(s) to other/smaller Arduinos as they are put into service.)

  • I will be using a K-type thermocouple to monitor the chamber temperature (with a thermocouple amplifier board between the between the thermocouple and the Arduino).

  • I will increase/decrease (or turn off) a 12v fan (something like THIS one on Amazon) depending on the current chamber temperature. The airflow from the fan (or lack of) will determine the temperature of the chamber. More air = Higher temperature.
    Concerns/Comments:

  • The most common 12v fans in the 10-15CFM range (and sub $15) are clearly PC cooling fans.

  • PC cooling fans are almost always brushless.

  • Brushless motors do not like to be driven with a PWM signal. (<-- this would have clearly been the easiest solution)

  • I would really like to vary the speed of the fans in order to have more control over the temperature.

  • I have been searching off and on for the past several days and have not come up with a “fool-proof” solution for adjusting the speed of a brushless fan.

  • From what I’ve read/learned, the speed of a brushless fans can be reliably (and happily) adjusted by varying the applied voltage.

  • Some people have had luck controlling the speed of a brushless fan using PWM with a very low switching frequency.
    My background/Capabilities:
    I am a Mechanical Engineer and took a couple EE classes almost 20 years ago. I remember that V=IR and that P=IV, but designing a circuit from components is well above my ability. My ego is not bruised whatsoever buying pre-fab boards and/or shields. I’m mostly interested in the final product and the logic design/integration processes.

Question(s):

  • Is there a pre-fab board / shield out there that can vary the output voltage (from 3? to 12v) based on the input voltage (or better yet based on a PWM input)? (I found a couple “variable voltage regulators” but they all needed op-amps and other junk to make 'em w
  • What is your recommendation for controlling the speed of a brushless motor?
  • [sarcasm]Should I use a “brute-force” method and stick a dozen different voltage regulators on a proto board and turn them on/off based on temperature ranges?[/sarcasm]

Many PC fans have a PWM input to control the speed. These are usually 4 wire fans, 2 for power, one for tachometer and one for speed control. Do a search on 4wire fans.

Weedpharma

Find a fan which is not brushless, or which accepts PWM on its power wires. You may end up paying $19.95 instead of $4.99 but getting a component which has a reliable datasheet is worth a lot more than a random piece of junk from eBay.

  1. You will need a motor control board to feed power to the fan, unless you can find the fans Weed is talking about.

  2. Use a brushless motor controller, commonly called an ESC in the hobby world. (Electronic Speed Controller.)

  3. No.

Look out for old PCs. Most of them use 4wire fans.

Weedpharma

Either (a) Brushless ESC or (b) 4-wire PC fan. Got it - that's exactly what I needed!

While I was sitting on the couch last night, I stumbled across this post from 2008 that mentioned using an ESC. I guess I should have held out another day before making my post.

I've looked for 4-wire PC "blowers" and they are far less common than the 4-wire PC "fans". If I go that route, I may need to change my design a bit to accommodate a fan(s) instead of a blower.

Two follow-up questions on the 4-wire fans (if I go that route):

  • Is the PWM lead commonly identified with a specific color?
  • How would I drive the PWM lead - would that be directly from a PWM output on the arduino (or would I need to do something unique/special)?

Thank you again for your patience and help!

The pin numbering can be found using Google.

Weedpharma

I really doubt you'll need a "blower". Charcoal smokers don't need that much airflow, and as you mentioned you were just using ball valves and it was working fine. My concern would be that there will be too much airflow that you can't shut off even with the fan stopped.

Regarding driving computer fans with a PWM signal, I've personally never run into a fan that wouldn't work when driving it that way.

Is this a UDS that you have?

weedpharma

weedpharma:
The pin numbering can be found using Google.

Thanks

Chagrin:
I really doubt you'll need a "blower". Charcoal smokers don't need that much airflow, and as you mentioned you were just using ball valves and it was working fine. My concern would be that there will be too much airflow that you can't shut off even with the fan stopped.

Regarding driving computer fans with a PWM signal, I've personally never run into a fan that wouldn't work when driving it that way.

Is this a UDS that you have?

I have been looking at blowers instead of fans simply because their output is nicely confined to a "port" instead of a 4" diameter circle. It was for integration purposes more than capacity purposes. I figured that running a blower at 10% or a fan at 20% was a mute point. Your concern about the smoker pulling air through the blower/fan even when off is completely valid and I thought the same thing (but didn't want to include too much ancillary crap that 99% of the people here don't know about and don't care about). Here are just a couple of things that I'll be taking into consideration:

  • Too much air (as you mentioned): - once I get to the point where I'm playing on the smoker, I will be able to determine whether (a) the chamber can "maintain" a stable temperature by pulling the air through the fan -or- (b) I need to install a check-valve that will only allow air to enter when there is sufficient pressure from the blower/fan to open the valve. This might be simple and work itself out, or it may drive me bat$hit trying to get around it. Time and Tinkering will tell.
  • Opening the lid will make the entire temperature control go haywire. The heat will escape through the opening, but air will also rush in stoking the fire. The Arduino would see the drop in temperature and would spin up the fan, exacerbating the problem. Once the lid is dropped back on, the temperature would spike significantly until it came back down on it's own. I plan to address this by integrating a "Lid Open" button. When the button is pressed, it will stop the temperature control for X minutes (maybe the magic number is 4 or 5?). Long-term, it would be easy to integrate a sensor that would trigger the Lid Open timer, but for now a manual button will be fine.
  • I will also include two meat probes that can be monitored by the arduino and will be evaluated against the set-point that I determine.
  • Phase 2 of the project will be to build a wireless remote to display: chamber temperature, meat temperature(s), fan status (%), Lid Delay time and alarm Mute status.

There are a few products that are commercially available that could do his (would likely need to buy two different products) but would cost me ~$200-300. I can build what I have in mind (with a few additional "enhancements") for ~$140 and have fun doing it. That's a win-win in my book!

You were obviously spot-on - It's a UDS.