Using the WASP Motor Controller (ESC)

About: Progressive Automations is your primary source for electric linear actuators, motion control systems and automation accessories. For over a decade, we have supplied various industries with top quality automa...
More About Progressive Automations »

The WASP motor controller is an Electronic Speed Controller (ESC), taking a RC signal input from an Arduino and boosting it to a high voltage level. The WASP takes a power voltage of 6.5V - 28V, and can provide continuous current of 10A, with 30A spikes.

If the power voltage is between 6.5V - 20V, the WASP draws power from that source. If the power voltage is above 20V, the BEC connector (see image below) must be cut, and an external 5V supply must be given to power the WASP. If the signal wires (red yellow black) are connected, the WASP can draw power through the red and black lines. The yellow wire is the signal wire.

Step 1: Wiring

When wiring the WASP you can either solder directly to the board or solder heavy duty screw terminals to the connection points. Be sure to use heavy enough wire gauge (see here) to account for the current that your motor will be drawing.

Wiring the WASP is as follows:

- Connect the battery to the positive and negative terminals of the WASP

- Connect the signal wire to the Arduino

Red is 5V

Black is GND

Yellow is signal

- Test your motor leads on the motor connection to ensure the polarity is correct before you secure them in place.

Step 2: Programming the Arduino

Here is the example code to move the actuator at varying speeds.

By using the myservo.writeMicroseconds() function, you can enter values between 1000 - 2000 to get different speeds. 1000 is full speed reverse (retract), 1500 is stop, 2000 is full speed forwards (extend).

/*Sample code for the Robot Power Wasp.
This ESC is controlled using RC signals, with pulses
ranging from 1000 - 2000 microseconds.
The main loop of this program holds the actuator still for 1 second, extends for 2 seconds,
stops for 1 second, retracts for 2 seconds, and repeats.
Modified by Progressive Automations, using the original example code "Sweep" from the
Arduino example libraries.
Hardware:
- 1 Wasp Controller
- Arduino Uno
Wiring:
Control side:
- Connect the red/black to +5v and GND
- Connect the yellow wire to your signal pin on the Arduino (in this example, pin 9)
Power Side:
- Connect the +/- of the motors power supply to the +/- connections on the Wasp
- Connect the +/- of the actuator to the remaining two connections
This example code is in the public domain.
*/
#include <servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
myservo.writeMicroseconds(1500); // stop signal
delay(1000); //1 second
myservo.writeMicroseconds(2000); // full speed forwards signal
delay(2000); //2 seconds
myservo.writeMicroseconds(1500); // stop signal
delay(1000); // 1 second
myservo.writeMicroseconds(1000); // full speed reverse signal
delay(2000); //2 seconds
}

Step 3: Conclusion

In this Instructable we learned how the WASP motor controller gives you flexible control of an actuator, by using regular RC signals to control the motion. These code snippets and wiring diagrams can be combined with the examples in our other Instructables to make your project however you like.

If you'd like to take a look at our selection of linear actuators, motions control systems and microcontrollers then please visit us at www.progressiveautomations.com for all your actuator needs! We can even build a custom actuator or control system for you based on your own custom specifications with the help of our highly trained staff of engineers! You can learn more about the custom order process right here.