Since we’re talking about two very different things, lets split them up:
DC Motor Controllers
Each VNH2SP30 chip controls one DC motor. Each chip has several inputs and outputs, and even more confusingly, the high current IO lines are spread out over multiple physical pins. Lets just look at the most important ones:
The OutA pin(s) connect to one pole of a DC motor, and the OutB pin(s) connect to the other.
The high/low (1/0) setting of pins InA and InB control the operational mode of the chip, according to the truth table in the middle of page 7 of the VNH2SP30 data sheet. For example, setting InA high and InB low sets the chip up to rotate the motor clockwise.
Pin 8 is the PWM input, which is the Pulse Width Modulated signal (in this case produced by the auxiliary microcontroller on the X2) which controls the motor’s speed. Basically it’s a 0V-5V square wave with some high frequency (the chip supports up to 20KhZ) which is high for some portion of the period, and low for the rest. The “duty cycle” is the percent of the time the signal is high. When the signal is high, battery voltage is applied to one of the motor output pins, while the other is grounded (depending on the settings of InA and InB). When the signal is low, the motor output pins are left floating.
Since this switching happens at such a high frequency, the motor’s rotational inertia smooths out the motion. Effectively, the motor sees an average voltage, in this case equal to the duty cycle times the battery voltage. If you have a 10V battery and you’re running the motor at a 50% duty cycle, the motor behaves as if it has 5V applied to it. Even though it’s actually being switched between zero and ten volts very quickly, it sees each for half the time, and behaves as if it were seeing the average of the two.
The other inputs/outputs are for things like monitoring the current drawn by the motor, and fault conditions of the chip like the overheat/emergency shutdown. It’s all very confusing, and to do it right you do need to read the datasheet cover to cover. What’s very nice about the X2/Carrier combo is that all the connections are taken care of for you, and all the operational protocols are implemented in the auxiliary microcontroller firmware. You just send simple speed commands, as outlined in the X2 command documentation. Easy as pie!
Continuous Rotation Modified Servos
I haven’t modified a GWS servo for continuous rotation, but I have taken a few apart, and those instructions make perfect sense. The little white clip you remove is what couples the potentiometer and the output shaft, so without it, the POT stays put.
This is convenient, since by adjusting the potentiometer, you adjust the stop point of your modified servo (as opposed to adjusting your servo control code for each servo). Instead of cutting the slit in the potentiometer shaft like in these instructions, you could also plug the servo into your controller (after taking off the white clip, before putting any gears back on) and send it a neutral position command. Odds are the motor will spin like crazy, but you can adjust the pot until you find the precise point where the motor stops turning. If you’re going to keep this servo paired with the controller, you might even put a very tiny drop of glue in the POT collar to lock it in place (only the tiniest bit of super-glue with the head of a pin, so it doesn’t wick down into the workings of the POT). Maybe you should use something weaker, like Elmers glue, that you could break if you decided you wanted to reset it. Anyway, you might also want to do the slit way so you can fine tune it whenever you want.
With this kind of modification to the servo you will still need a regular servo controller (not a DC motor controller) but what used to be position commands will now be speed commands. The neutral position command will make the servo stay put, while a position command a little bit to one side will drive the servo at a constant speed in one direction, and a command a little bit to the other side will drive the servo in the opposite direction. I think you’ll find that you reach a max speed after deviating only slightly from the neutral position command.
In most servos (the ones I’ve taken apart anyway) the potentiometer shaft fits into a slot molded into the output gear (no little removable clip) so to make it rotate continuously without crunching the POT (which isn’t meant to rotate all the way around) you actually have to remove the POT. You can replace it with well-matched pairs of static resistors, or even leave it hanging out for adjustment later. If you move the POT to a linkage driven by the modified servo, you have a new (slow) servo mechanism like this robot arm.
Anyway, does that answer your questions (and is that more than you ever wanted to know)?
-Adam