~ read.

Development of motor controller

Three development paths were available in the proposal. All three paths were tested, and the results were conclusive as to which option produced the optimal results.

Option one: Use off-the-shelf evaluation boards
Two Monolithic Power Systems EV6532 evaluations boards were acquired. The boards require three control signals as well as power and motor and sensor connections. The three control signals, Speed (PWM), Direction (TTL) and Brake (TTL), were provided by an ST embedded controller. A 36V battery serves as the power source for the motor. Initially, a simple circuit was created to power the Hall Effect sensors in the motor and to pull up the voltage to the embedded controller voltage. An imbalance in the ground planes between the embedded controller and the evaluation boards was discovered as well as a significant noise issue that was causing the motor to turn off upon starting. Additional isolation and filter circuits were created, but the noise continued to hinder startup of the motor. At this point in development, option one was shelved until all of the other options were tested.


EV6532 with ST microcontroller and breadboard for pullup resistors.

Option two: Use off-the-shelf scooter motor controllers

Three scooter motor controllers were purchased off of Alibaba. These controllers were low cost, and documentation was minimal. Only two controllers were needed, but a third controller was purchased in order to disassemble and reverse engineer. The controller came with 9 connectors. Battery, hall, and motor connections were similar to the connection on the motor. The vendor would not provide any additional documentation about the controllers so this path was abandoned. Despite not being able to use the controllers, knowledge was gained from disassembling one of them. The layout of the Field Effect Transistors(FET) was used in option three to allow for higher current usage.


Underside of Alibaba controller. FET layout was used in the custom shield design.

Option three: Design custom controller based on open hardware designs (Arduino)

A BLDC shield for the Arduino was designed based on criteria retrieved from reverse engineering the low cost Chinese controllers. The boards were assembled and tested. A design flaw was found pertaining to the voltage regulation of the FET driver, and a new part was used to dissipate the appropriate amount of heat (power). Once this issue was addressed, the hub motors were successfully started in both forward and reverse. A command protocol was implemented to allow the setting and retrieving of current, pwm, velocity, gains, and direction. A PI velocity control algorithm was implemented. An additional improvement for the future will be current regulated speed control or direct torque control.12 There a multiple hardware improvements that need to implemented to make the controller more robust. These include reorienting the Field Effect Transistors to allow for a passive heat sink. Replacing the voltage regulator with a voltage switcher. And better strain support or mounting for the cabling.


Custom shield for Arduino


  1. http://ieeexplore.ieee.org/abstract/document/4270633/
  2. http://www.st.com/content/ccc/resource/technical/document/application_note/90/b9/df/c9/0c/cc/4c/4d/CD00075973.pdf/files/CD00075973.pdf/jcr:content/translations/en.CD00075973.pdf