How to make two phases BLDC Motor?
Below is a practical guide focused on hobbyist-friendly approaches:
Option 1: Modify a PC Cooling Fan (Easiest)
Most small PC fans are 2-phase BLDC motors with unipolar windings.
Steps:
-
Salvage a Fan: Disassemble a 40–120mm DC fan (e.g., 12V).
-
Identify Components:
-
Stator: 4 electromagnet poles (2 phases, center-tapped).
-
Rotor: 4-pole ring magnet.
-
Hall Sensors: Two sensors (90° apart).
-
-
Extract Electronics: Remove the original controller.
-
Build Your Own Driver (See Option 3 below).
Option 2: Build a Prototype Motor (Advanced)
Materials Needed:
| Part | Example | Notes |
|---|---|---|
| Stator Core | 8-slot laminated steel core | Salvage from a small motor or 3D print + iron filings |
| Magnet Wire | 30 AWG enameled copper wire | ~200 turns/phase |
| Rotor | 3D-printed hub + 4x neodymium magnets | Alternating poles (N-S-N-S) |
| Bearings | 5mm ID ball bearings | Mounted in endplates |
| Hall Sensors | AH49E (linear) | Mounted 90° apart |
Assembly Steps:
-
Wind Stator Phases:
-
Phase A: Wind coil pairs in slots 1-4 and 5-8.
-
Phase B: Wind coil pairs in slots 2-5 and 6-1 (shifted 45°).
-
Center Tap: Split each phase into two halves (connect midpoint to GND).
//www.electronicdesign.com/sites/electronicdesign.com/files/uploads/2015/09/Fig_01.gif
-
-
Build Rotor:
-
Glue magnets to rotor hub with alternating polarity.
-
Ensure clearance between rotor/stator (0.5–1 mm).
-
-
Mount Hall Sensors:
-
Position sensors facing rotor magnets at 0° and 90° electrical angles.
-
Option 3: Build the Drive Circuit (Essential)
Unipolar Driver (4 MOSFETs):
Circuit Diagram:
Vcc (12-24V)
│
┌───────────┬─────┴─────┬───────────┐
│ │ │ │
[FET1] [FET2] [FET3] [FET4] (N-channel MOSFETs)
│ │ │ │
Phase_A1 ──┤ ├─ Phase_A2 │ │
│ │ │ │
Phase_B1 ──┤ ├─ Phase_B2 │ │
│ │ │ │
CT_A ──────┴───────────┘ └───┬───┬───┘
CT_B ──────────────────────────────────┘ │
GND
Components:
-
MOSFETs: 4x IRFZ44N (with heatsinks).
-
Flyback Diodes: 4x 1N5819 (across each FET's drain-source).
-
Microcontroller: Arduino Nano.
-
Gate Drivers: 4x TC4427 (optional but recommended).
Arduino Code (Simplified):
// Pins: HA=A0, HB=A1, FET1=2, FET2=3, FET3=4, FET4=5
void setup() {
pinMode(2, OUTPUT); // FET1 (Phase A+)
pinMode(3, OUTPUT); // FET2 (Phase A-)
pinMode(4, OUTPUT); // FET3 (Phase B+)
pinMode(5, OUTPUT); // FET4 (Phase B-)
}
void loop() {
int HA = analogRead(A0) > 512 ? 1 : 0; // Hall A (digital)
int HB = analogRead(A1) > 512 ? 1 : 0; // Hall B (digital)
// Commutation logic
if (!HA && !HB) { // 0°: A+ and B-
digitalWrite(2, HIGH); digitalWrite(5, HIGH);
digitalWrite(3, LOW); digitalWrite(4, LOW);
} else if (!HA && HB) { // 90°: A+ and B+
digitalWrite(2, HIGH); digitalWrite(4, HIGH);
digitalWrite(3, LOW); digitalWrite(5, LOW);
} else if (HA && HB) { // 180°: A- and B+
digitalWrite(3, HIGH); digitalWrite(4, HIGH);
digitalWrite(2, LOW); digitalWrite(5, LOW);
} else if (HA && !HB) { // 270°: A- and B-
digitalWrite(3, HIGH); digitalWrite(5, HIGH);
digitalWrite(2, LOW); digitalWrite(4, LOW);
}
}
Key Challenges & Solutions
-
Torque Ripple:
-
Add rotor/stator skewing (tilt magnets/teeth by 10–15°).
-
Use PWM current control to smooth phase transitions.
-
-
Sensor Alignment:
-
Power coils briefly and adjust Hall sensor positions until rotor "locks" smoothly.
-
-
Overheating MOSFETs:
-
Use heatsinks and limit current to 2–3A (for IRFZ44N).
-
Add current-sensing resistors for overload protection.
-
When to Avoid This Design
-
High-torque applications: Use 3-phase BLDC instead.
-
Low-noise needs: Torque ripple causes audible vibration.
-
Precision control: Sensorless 2-phase control is unreliable.
Final Recommendation
For learning: Modify a PC fan + build your own controller.
For practicality: Buy a 2-phase BLDC motor (e.g., from small appliances) and focus on the driver.
For performance: Use a 3-phase motor – they’re cheaper and better for most applications!
? Pro Tip: Start with a small 5V fan and Arduino to test your driver before scaling up.
What is sensored BLDC Motor?
Why two phases BLDC Motor is important?
Related Article