If you already realized a project with a brushless motor (so called BLDC) you may have wondered about the "magic box", the brushless controller you always have to plug to your motor. Because the motor has three wires, your battery only two - mhm, obviously this doesn't mach. And as much combinations you try to attach your wires, nothing would happen apart from having one brushless motor less and smoke coming out of your battery (so just don't try it). Here I will show you such a BLDC controller shield for Arduino by Infineon, which you can use for normal DC motors as well.
1. UsageTo give you an overview, what you can do with this board, regard the following table:
Half bridge Mode
One IFX007T is a Half bridge. As there are three IFX007T on the board, you can control up to three DC motors with independent speed, but only in one direction. The second pin of each motor therefore must be tied to ground.
H-bridge mode
If you combine two Half bridges, you get an H-bridge. The name derives from the schematics, if you would realize it with four switches, because it then forms an 'H'. Now you have the possibility to plug a motor with one wire to the output U, the other one to V and control the motor in both directions with variable speed. As you have one Half bridge left (channel W), you can attach another motor there with one wire, the second wire to ground and you can control this motor as well with independent speed, but only in one direction.
Due to a new feature in V1.1.0 of the lib, you can also drive two DC motors independent in both directions by using the middle 'V' connector as a common supply for both motors.
BLDC mode (BEMF)
Quite nice so far, but the main feature is the application as a BLDC (Brushless DC motor) controller. Simply attach the three wires of our BLDC with the three outputs of the shield. The order doesn't really matter, it would only change the initial direction of rotation. The Arduino library supports BEMF-mode, this means a sensor less application, where you don't need a hall-sensor for position feedback. BEMF means Back Electromotive Force and is explained more detailed in the Readme of the BLDC-example sketch.
Hall-sensor BLDC motors are supported as well. These have more wires (usually three for the motor and five for the sensors), are more expensive but in exchange much more accurate than sensor less BLDC motors. You can even choose if you want to drive a hall-sensor BLDCM in "normal mode" or "field weakening range". The latter means double speed but less torque to the motor.
Once you've set up your motor-to-shield wiring and attached a voltage source suited to your motor (maximum 24V), stack the BLDC shield on your Arduino UNO and download the Infineon IFX007T-motor-control-shield library. For each use case you will find an example sketch in the examples folder.
Last but not least: For brushless motor applications, you often have to know the amount of magnetic pole pairs used in your motor. Therefore you find an Arduino sketch called "BLDC_Find_Polepairs", that tells you everything about your motor, even when you don't have a datasheet available.
Check out the repository as well for information about compatibility with other boards like the Infineon XMC series.
3. Online SimulationNot sure if this board fits your application? We offer an online simulation with tourque simulation for:
- one unidirectional motor (half bridge) -> click HERE!
- one bidirectional motor (full bridge) -> click HERE!
Comments