Week 23 (Mar. 20, 2019): Driving the Gimbal Motor with the ESC
Today, we finally figured out
how to drive the gimbal motor with the ESC (electronic speed controller). As a
reminder, the gimbal motor is a brushless DC motor, and brushless DC motors
require an ESC to control them.
We wired the motor connections
according to the image below. The Arduino MEGA is connected to the ESC’s
control pins, the gimbal motor is connected to the ESC’s motor pins, and the
battery is connected to the boost converter, which is then connected to ESC’s battery
pins. A potentiometer is also connected to one of the Arduino’s analog pins to
control the speed of the brushless motor.
We also found that the ESC can
power the Arduino, as it contains a 5V BEC (battery eliminator circuit). As its
name implies, it eliminates the need for another battery to power the Arduino,
as it regulates the input voltage down to 5V. Thus, we simply have to supply
the ESC with 12V with one boost converter, rather than having one boost
converter for the Arduino and another boost converter for the ESC.
After connecting everything,
we also used the sample code found on the same website to program the circuit. Controlling
the brushless motor was actually simple to complete, and was accomplished by:
- taking in the analog reading from the
potentiometer,
- creating a ratio from the potentiometer
reading to the motor speed value using the Arduino map( ) function;
- and then running the motor at the scaled speed
value by simply using the Servo library’s write( ) function.
A snippet of our code is
shown below.
With this code, we could run
the motor at full speed. The part we ran into issues with was controlling the
speed of the motor. Lowering the potentiometer reading did not decrease the
speed below the maximum. And lowering the potentiometer reading past a certain
point would simply stop the motor. Despite this, we will try to continue using
the ESC and find a solution to this.
We also found a way to drive
the gimbal motor with the L298 motor driver board, which was used several times
in our Introduction to Mechatronics course at SJSU (ME 106). However, using
this board, which is not a designated controller for brushless DC motors,
causes the motor to vibrate significantly. Thus, we will try to continue using
the ESC.
Comments
Post a Comment