Halbach Array Brushless Motor

From Open Source Ecology
Jump to: navigation, search

OSE Brushless Motor


Due to advances in 3D printing technology, it is now possible to design and print motors. This opens up a new realm of possibility with respect to desktop manufacturing. Open Source Ecology is planning to create a monetary prize for the best 3D printed cordless drill design.

There are, of course, some limitations to 3D-printed artifacts - the plastic may melt or break, does not make an ideal core for a motor and is not easy to mass-manufacture as with traditional factories. Even so, in collaborating around the world, students, teachers, hobbyists and other interested groups may generate an ecology of design and innovation such that over time, these problems are solved. 3D printers may eventually adopt liquid resin printing more widely, print with more robust and/or composite materials and manufacturing techniques may improve such that a quality desktop-manufactured drill becomes a reality.

As a first step in this process, a brushless motor project was taken on by a number of students at London International Academy. The motor build was based on the designs of Christoph Laimer (many thanks for your work!) In particular, we viewed the 3D-Printed Halbach Array Instructable and its associated Youtube Videos. The motor produced by Christoph is of high quality and precision. If this is what you are looking for, we recommend following his instructions and purchasing the stl files for his motor.

The students based their design around the hardware components of the Laimer motor but generated completely new 3D designs in FreeCAD. The motor the students produced is in more of a raw form. There are no threads to attach the rotor cap to the rotor, for example. Even so, the motor seems easily able to exceed 1000rpm (no measurement has yet been made). There are several other design elements that may be improved - in order to get the motor working, for example, two adapter rings had to be printed - the "Motor Ring" and the "Bearing Adapter Ring." These may be incorporated into future modifications and printed as part of other components of the motor.

General Instructions for Motor Assembly

  1. Read the instructable (see link above) and view the associated videos.
  2. Order the hardware based on the list provided in the instructable
  3. Make sure that you have an ESC (VESC is Open source and may be available for order) and a power supply such as a large 12V battery
  4. Print the 3D Components (recommend using Protopasta for the stator and PETG for the other parts - we merely used PLA because it is a first version of the motor)
  5. Insert 4 threaded rods in the stator and connect the stator cap. Leave enough length to attach to a plywood board with some space for the motor not to touch the board.
  6. Insert a bearing in each end of the stator/stator cap assembly
  7. Insert the stator in a pair of coupled wire winders.
  8. Prepare three groups of 6 strands of enameled wire (about 5m long each)
  9. Attach the three groups of wire together at one end (18 strands total).
  10. Tightly wind the three strands of wire through the stator starting from a hole in the bottom. The groups of wire alternate every third wire slot, making a repeat loop to the previous slot before proceeding to the next slot
  11. Complete winding the wires and thread each group through the holes in the bottom of the stator
  12. Electrical tape may be used to keep the wires in place. Wind it tightly around the stator.
  13. Use a file to remove the enamel from the ends of the groups of wire.
  14. Solder the 18 wires together at one end.
  15. Solder the ends of the three groups of six wires to connectors that match your ESC.
  16. Prepare a piece of plywood with four holes for the threaded rods and three holes for the groups of wire
  17. Thread the shaft through the stator bearings
  18. Assemble the rotor, rotor cap and a bearing/shaft collar around the wires and stator
  19. Prepare nuts and washers on each threaded rod in preparation for attaching to the plywood.
  20. Thread the wires through the holes in the plywood
  21. Fasten the motor with additional nuts and washers on the other side of the board.
  22. !!!!Caution!!!! Be careful with batteries and ESCs - fire is possible!!!!
  23. If you are not experienced with batteries and ESCs, seek help.
  24. Connect the motor to an ESC, Arduino, Potentiometer and Battery.
  25. Arduino connections: Yellow - Channel 6 PWM; Orange - 5V and to one side of the potentiometer; Brown - Ground and to the other side of the potentiometer ; White - middle pin of potentiometer to A0 on the Arduino
  26. !!!Caution again!!! This is a plastic motor. It is designed for educational purposes and not for continuous deployment. (perhaps future versions will be better in this regard.) It is likely to melt if over-powered or over-used. Knowing this, carefully test the motor.

The following CAD files and photos demonstrate that secondary school students are indeed capable of sophisticated design and manufacturing:

Arduino Code

Adapted from Brushless Motor Arduino Control Tutorial Note: Syntax highlighting does not appear to be configured on this instance of Mediawiki; entering the edit screen and copying and pasting the following code may help. <source lang="c">

  1. include <Servo.h>

Servo ESC; // create servo object to control the ESC int potValue; // value from the analog pin void setup() {

 // Attach the ESC on pin 6
 ESC.attach(6,1000,2000); // (pin, min pulse width, max pulse width in microseconds) 

} void loop() {

 potValue = analogRead(A0);   // reads the value of the potentiometer (value between 0 and 1023)
 potValue = map(potValue, 0, 1023, 0, 180);   // scale it to use it with the servo library (value between 0 and 180)
 ESC.write(potValue);    // Send the signal to the ESC

} </source>

CAD Files

CAD files


photos of the OSE Brushless Motor

Future Work

Based on the result of this project, several avenues of continued development may be taken:

  • Explore the advantages and disadvantages of radial and axial designs
  • Couple the motor with a gearbox to increase available torque
  • Print a second version of the motor with proto-pasta to compare performance
  • Design and build an ESC based on the VESC.
  • Produce the OSE motor for physics classes - our physics teachers are eager to use the motor in lessons.

See Also