Posts | Comments

Planet Arduino

Archive for the ‘BLDC’ Category

Building an electric motor from a coil of wire, some magnets, and some paper clips is a rite of passage for many budding science buffs. These motors are simple brushed motors. That is, the electromagnet spins towards a permanent magnet and the spinning breaks the circuit, allowing the electromagnet to continue spinning from inertia. Eventually, the connection completes again and the cycle starts over. Real brushed motors commutate the DC supply current so that the electromagnet changes polarity midway through the turn. Either way, the basic design is permanent magnets on the outside (the stationary part) and electromagnets on the inside (the rotating part).

Brushless motors flip this inside out. The rotating part (the rotor) has a permanent magnet. The stationary part (the stator) has multiple electromagnets. By controlling the electromagnets, the rotor spins. With no brushes, these motors are often more efficient, they don’t generate as much electrical noise, and there is no danger of brushes wearing out. In addition, the electromagnets staying put make the motor easier to wire and, if needed, easier to cool the electromagnets. The principle of operation is similar to a stepper motor. Steppers are usually optimized for small precise steps. Brushless motors are optimized for spinning, not stepping.

[Axbm] built a clever brushless motor out of little more than PVC pipe, some magnets, wire, and iron rods. The plan is simple: construct a PVC frame, build a rotor out of PVC and magnets, and mount electromagnets on the frame. An Arduino and some FETs drive the coils, although you could drive the motors using any number of methods. You can see the whole thing work in the video below.

One interesting tidbit is the winding of the coils. [Axbm] put 600 turns of wire around each iron core (soft iron is best, although you can use stainless steel, which is easier to find). Instead of cutting the wire when done, he simply moved on to wind the next magnet. To keep the magnetic fields in the proper orientation, the winding of one magnet has to be in the opposite direction of the previous winding. So if you wind one magnet clockwise, the next magnet must be anticlockwise.

We’ve seen other brushless motor builds. We’ve also covered more sophisticated drivers.


Filed under: Arduino Hacks, misc hacks
Apr
20

Spining BLDC motors at super Slow speeds with Arduino and L6234

arduino, BLDC, L6234, mosfet, motor Comments Off on Spining BLDC motors at super Slow speeds with Arduino and L6234 

P1090837a

by berryjam.eu:

I used specialized triple half bridge IC L6234 (~ 8$). You can make the same spending less money (but more time) with MOSFET transistors or other IC.

L6234 datasheet is surprisingly useless. Go straight to Application Note AN1088 instead.

I added current limiting resistors (1kΩ) to all INputs and ENable pins, a bunch of capacitors recommended in application note and current sensing shunt resistor 0.6Ω (big blue one).

Spining BLDC motors at super Slow speeds with Arduino and L6234 - [Link]

Open-source BLDC motor driver

Brushless motors are ubiquitous in RC applications and robotics, but are usually driven with low-cost motor controllers that have to be controlled with RC-style PWM signals and don’t allow for much customization. While there are a couple of open-source brushless drivers already available, [neuromancer2701] created his own brushless motor controller on an Arduino shield.

[neuromancer2701]‘s shield is a sensorless design, which means it uses the back-EMF of the motor for feedback rather than hall effect sensors mounted on the motor. It may seem strange to leave those sensors unused but this allows for less expensive sensorless motors to work with the system. It also uses discrete FETs instead of integrated driver ICs, similar to other designs we have covered. Although he is still working on the back-EMF sensing in his firmware, the shield successfully drives a motor in open-loop mode.

The motor controller is commanded over the Arduino’s serial interface, and will support a serial interface to ROS (Robot Operating System) in the future. This shield could be a good alternative to hobby RC controllers for robots that need a customizable open-source motor controller. The PCB design and source code are available on GitHub.

 


Filed under: Arduino Hacks

Open-source BLDC motor driver

Brushless motors are ubiquitous in RC applications and robotics, but are usually driven with low-cost motor controllers that have to be controlled with RC-style PWM signals and don’t allow for much customization. While there are a couple of open-source brushless drivers already available, [neuromancer2701] created his own brushless motor controller on an Arduino shield.

[neuromancer2701]‘s shield is a sensorless design, which means it uses the back-EMF of the motor for feedback rather than hall effect sensors mounted on the motor. It may seem strange to leave those sensors unused but this allows for less expensive sensorless motors to work with the system. It also uses discrete FETs instead of integrated driver ICs, similar to other designs we have covered. Although he is still working on the back-EMF sensing in his firmware, the shield successfully drives a motor in open-loop mode.

The motor controller is commanded over the Arduino’s serial interface, and will support a serial interface to ROS (Robot Operating System) in the future. This shield could be a good alternative to hobby RC controllers for robots that need a customizable open-source motor controller. The PCB design and source code are available on GitHub.

 


Filed under: Arduino Hacks


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook