High Speed DC Motors using H-Bridge and PWM

Current Vex motors are really modified RC Servos, but it would be nice to be able to drive high speed DC motors and geared DC motors using the Vex Controller’s PWM port, for PID Control of robots, using feedback from the Vex Optical Encoder. The dual or quad H-Bridge board would be a Vex add-on.

That would be awesome!!!

YES! That would be fantastic.:smiley:

Why not use the high speed motors seperatly and have them hooked to a potentiometer that is controlled by the servos? (not sure if my spelling is right but whatever)

Or you can build your own…

Try Theory & PracticeH-Bridge follow the links to the specific directions.

Please explain what you can do in the configuration you envision, that can’t be done quite easily using the current motors and some almost-trivial software?

Is your point about the H-Bridge that you want to control motors other than the ones VexLabs sells, or is it that you are saying an H-Bridge offers some form of control over Vex motors that is not available in the current VexLabs product line.

I admit to being a bit confused.

PS: Are you sure that Vex motors are modified RC Servos? Maybe it’s the other way around and RC Servos are simply modified Motors… I think the “motor” version of these electrical devices was around for quite a while before some got around to building a “servo” version of them. :slight_smile:

if you want to add DC motor control to VEX, get a Victor 884 speed controller, like the ones used by FRC.

but i would like to see faster and stronger motors.

Wouldn’t you need more power than the battery provides?

Hi Blake,

Parallax sells H-Bridge motor controllers that can control standard DC motors and stepper motors found in most toys and in equipment such as printers and scanners. The Vex motors are just standard RC motors modified for continuous motion. You are correct that RC Motors contain a high speed DC motor which is geared down for extra torque.

I envision having the Vex Controller use some of its Pulse Width Modulation (PWM) outputs to directly drive an H-Bridge connected to a +6 to +12 Volt DC Motor or stepper motor available from Vex or from broken toys or any other source. This would allow even more motion control necessary for robot and animatronic applications.

It would also be great if the new generation Vex controller had a Quadrature Encoder Input to handle high speed motors and high resolution optical encoders necessary for Proportional Integral Derivative (PID) control of the motors. Microchip already sells a dsPIC30F4011 with complementary PWM outputs and a QEI peripheral.



I would really like to see stronger motors.


All good stuff, but I think you are assuming/asserting limits on the Vex equipment that aren’t really there.

If you want to scrounge typical (I’m not sure I would call them standard) DC motors from broken toys, etc. then “Yes” you will not be able to send the Vex PWM signals to them. The PWM_to_H-Bridge idea would be useful. However, the Vex kits come with motors. Are they unsat? or are they just not as plentiful and cheap as broken toys?

Stepper Motors are another story, the Vex Servos can give incremental rotation, but they obviously only supply a fraction of a circle’s rotation.

About encoders and PID, the current Vex controller can accept Quadrature-Encoder outputs. Plug the two interrput signals into the Vex Interrupt ports, just like is done on any other computer. If you use two Vex encoders and a little something to plug a few of the holes in their wheels (admittedly, they are very bulky) you can create a quadrature encoder mechanism. Add gears and you can increase their resolution.

Also, feedback loops (to track P, I or D versions of signals) to control motors can be created using the current Vex equipment. Doing that is a matter of putting the right equations into software, not a matter of having a particular type of encoder or motor.

The limits Vex motors, computers, and sensors place on feedback controllers implemented with them, are limits of accuracy, maximum error, response time, etc. These limits are present in any feedback loop. When using Vex equipment to do a task these limits will have different values than when other types of equipment are used.

You have to match the equipment to the task. Use Vex equipment for Vex tasks.


Hi Blake,

My Vex based Gilbert III Robot that is in the Vex gallery currently has a problem, which the Vex Controller cannot adequately handle. Although it works great for controlling the four Vex motors using the RC remote and 4WD for its drive train, the tilt/pan platform is driven using two surplus 5 Volt HD geared motors, each with a 100 CPR Quadrature Encoder attached to the shaft. I would like to have the sensor platform tilt +/- 180 Degrees and pan 0-360 degrees using 1-degree increments. In order to control the platform using the Vex Controller, I will need an H-Bridge board. Other vendors provide these motor controllers, so why not Vex?

Yes, in answer to your question, I would like to save some money and at the same time recycle old stepper motors from disk drives and printers for my applications. In fact I also have old 6-Volt DC Erector Set motors that work fine with the Vex.

I also make my own parts to fit Vex form factor using an 8" drill press and old erector set parts as templates, since they match the spacing of the Vex squares. The Gilbert III body armor was made using some scrap aluminum sheets.



Well i’m slightly confused but I think we could use stronger, faster motors. The servo is just a motor with a small stop in the case. It also has a little bit more programming in it.

As has been previously discussed:
We hesitate from providing higher powered motors within the Vex product line. Something about the words “finger dismemberment” keeps us from going down that road.

The motors already included within the system provide sufficient functionality to build most robots within the scope of the Vex Design System.

No, they can’t be used to build a giant robot to lift your Dad’s car, but they are certainly adequate for the needs of most users.

However, the Vex microcontroller is compatible with many COTS motor speed-controllers. These can be used to integrate your own higher powered motors into the Vex system.


i don’t know if these are the motors/servos your talking about. but here are some powerful ones that the mythbusters talked about when they tested the vex robotic design system. (the Myth Busters are a discovery vhannel show for those of you that don’t know who they are) heres the web url:


I can now control my EarthBot Aka. GardenBot shown in the VEX Gallery with a standard VEX Controller and two VEX PWM cables! The PWM outputs generate the control voltage for two Ananda motorcycle controllers in order to drive two 24-Volt geared DC motors.

This allows me to control the speed and direction of EarthBot using either PIC18 C or Easy C Professional or the VEX RC transmitter and receiver. It also allows me to read all the available VEX sensors including the Quadrature Optical Encoders needed for PID control.

I agree. The vex motors suck pretty bad.

I wish the whole motor thing was more like FRC. More variety. Vex should allow you to use 2 very powerful motors. Those motors would most likely be used for the drive train. Besides, in their eyes, thats good profit. Sell them for 40 bucks a pop. You snooze you lose. D: Besides, a built in rotation sensor never hurts.

Kindof like with FLL and the whole RCX and NXT platform.