Description
This is a three phase brushless motor driver board based on the ST L6234PD driver IC. It consists of 3 high power half-bridges that can output up to 5A peak, or 4A continuous (depending on heatsink). It has been designed with a large copper ground plane on the bottom that functions as a heatsink. If the driver IC heatsinking requirements can not be met by the copper layer alone, the bottom of the board could be fastened to an external heatsink. There is circuitry on board to amplify the winding current, and for sensing the back EMF voltage to assist in commutation.
Note that this driver will not work standalone, and requires a microcontroller to generate at least 3 PWM signals in the proper sequence, in order to make the motor run.
Features
- 3 half bridge drive channels
- 4A continuous, 5A peak output current
- Input voltage range: 7-14 VDC (standard), or 7-33 VDC for the higher voltage option. Voltage range is limited by the voltage of the input capacitors.
- Back EMF sense, and reference resistor dividers
- Very low ESR capacitors are used on the power supply rail to handle the high ripple current that is to be expected when driving a high current motor
- Winding current sense resistor, with amplifier to boost the output signal
- Optional current recirculating diodes to increase efficiency
- ESD protection on all microcontroller I/Os
- Driver die has good thermal coupling to PCB copper layers (this may make hand soldering of the driver IC very difficult)
- 0.200" screw terminal block, or 0.156" Molex headers for high current connections
- Test points for most signals of interest
Project Status
- The board has been powered up, and has been used to drive a number of different BLDC motors, and so far, everything works as expected.
- For the moment, the commutation has been implemented without any feedback, and just run open loop. It is unknown as to whether or not the current monitoring, or back EMF monitoring will work as intended.
- Boards have been selling well on Tindie, with no complaints so far.
As the software and testing proceeds, there may be some changes to various component values. This site will be updated when something changes.
Documentation
For starters, you might find this datasheet useful to describe the operation of the driver IC used: L6234 Three Phase Motor Driver datasheet
The source archive for the current PCB and schematic revision can be found here: BLDC Motor Driver V1.10.zip
The schematic was drawn using OrCAD 10.5, and the PCB was done in P-CAD 2006. This may make it difficult for others to edit the files, but gerber files are provided in the source archive so that one can have boards manufactured. Also included in the archive are schematic and PCB plots in PDF format, and a bill of materials file so that there is enough information to be able to populate a board.
Here are some screen captures of the schematic and PCB layout (with links to PDF files):
Bill Of Materials
Item | Qty | Reference | Description |
---|---|---|---|
1 | 8 | C1, C3, C8, C11, C12, C14, C15, C16 | 10n 10% 50V X7R 0805 Ceramic Capacitors |
2 | 1 | C2 | 1u0 10% 25V X7R 0805 Ceramic Capacitor |
3 | 5 | C4, C6, C7, C9, C13 | 100n 10% 50V X7R 0805 Ceramic Capacitors |
4 | 2 | C5, C10 | 100u 16V Aluminum Polymer Electrolytic Capacitors (Nippon Chemi-Con APXE160ARA101MF80G, Wurth 875105344010, or Nichicon RSA1C101MCN1GS). The high voltage option uses 68uF 35V Aluminum Polymer Electrolytic Capacitors (United Chemi-Con HHXB350ARA680MF80G, or Panasonic EEH-ZA1V680XP) |
5 | 4 | D1, D3, D5, D8 | MMBZ15VALT1 15V SOT23 Zener Diodes |
6 | 1 | D2 | MMBD7000LT1 SOT23 Diode |
7 | 3 | D4, D6, D7 | MBRS540T3 5A 40V SMC Schottky Diodes (optional) |
8 | 1 | HD1 | MKDSN 1.5/2-5.08 or AMP 282837-2 (use only one of HD1, or HD3) |
9 | 1 | HD2 | 2x7 SMT Header (or through hole) (Samtec HTST-107-01-L-DV or HTST-107-01-L-DV-A) |
10 | 1 | HD3 | MOLEX 26-60-4020 (use only one of HD1, or HD3) |
11 | 1 | HD4 | MOLEX 26-60-4030 (use only one of HD4, or HD5) |
12 | 1 | HD5 | MKDSN 1.5/3-5.08 or AMP 282837-3 (use only one of HD4, or HD5) |
13 | 10 | R1, R2, R3, R5, R6, R7, R19, R20, R21, R22 | 10K0 1% 1/8W 0805 Thick Film Resistors |
14 | 5 | R4, R11, R23, R24, R25 | 30K1 1% 1/8W 0805 Thick Film Resistors |
15 | 9 | R8, R9, R10, R12, R13, R14, R15, R16, R17 | 1K00 1% 1/8W 0805 Thick Film Resistors |
16 | 1 | R18 | 0R02 1% 3W 2512 Metal Film Resistor (Bourns CRA2512-FZ-R020ELF) |
17 | 15 | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12, TP13, TP14, TP15 | Test Points (not used) |
18 | 1 | U1 | L6234PD PowerSO20 Three Phase Motor Driver |
19 | 1 | U2 | TLV271ID SO8 Single Op Amp |
Revisions
V1.10
Pin 7 on HD2 is now connected to +Vin, rather than ground like in the previous versions. This allows a microcontroller board to be powered from HD2, rather than requiring it to be connected to the power supply elsewhere. Make sure that the board you are powering can handle the applied voltage, especially if using the higher voltage option board.
Source: BLDC Motor Driver V1.10.zip
V1.01
Corrects the labels for Ph1, and Ph3 which were interchanged on the V1.00 PCB silkscreen layers.
Source: BLDC Motor Driver V1.01.zip
V1.00
Initial release. Note that the labels for Ph1, and Ph3 are interchanged on the PCB silkscreen layers. The schematic labeling is correct. This has been corrected on V1.01 PCBs.
Source: BLDC Motor Driver V1.00.zip
Other References
A good example of how to drive this board using an Arduino can be found at Berryjam. Many thanks to the author for linking to this reference design.
Here is a really good instructable on driving a hard drive BLDC motor with the L6234PD driver: BLDC Motor Control with Arduino, salvaged HD motor, and Hall Sensors.
This is an example of how to use back EMF for feedback: Make Your Own ESC.
Purchasing
I usually try to keep bare PCBs, and/or assembled boards in stock, and they can be found in my Tindie store. If I happen to be out of stock, you can add your name to the wait list, and I'll get started on another batch.
Donate
If this project has been useful to you, I would encourage you to make a donation. This will give me incentive to keep this updated, and to make changes.
BLDC Motor Driver by Michael Anton is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License