Quote:
Originally posted by wysiswyg
Errr just a little note [they're] not known as PWM signals [they're] known as PPM. PWM is what speed controllers use to modify speed of a motor while PPM is the pulses used by radio controlled units to give servo's their position commands.
|
Sorry, but that is NOT correct for our purposes. Pulse Position Modulation is where the
TIMING of pulses carry the information. IOW, exactly
WHEN a pulse comes through is important.
Yes, a standard model radio control system's CARRIER ENCODING uses PPM, but that is NOT true of the servos themselves. In fact, we do not use PPM at ALL in this contest because the Ewave radios used here are packet radios, not standard radio control model radios.
A
servo uses PWM, or Pulse WIDTH Modulation, where "how WIDE the pulse is" carries the information. A positive going 5V pulse WIDTH represents where you wish the servo to end up. A 1ms pulse represents full one way, and a 2ms pulse means full the other way. A 1.5ms pulse represents the center position.
The decoder in a standard radio control receiver converts the transmitted PPM signals into PWM for the servo, often with a very cheap and simple SIPO shift register chip. The Robot Controller uses a dedicated PIC micro (which we can't see) to decode packet data, which are then shipped into STAMP variables for us by the SERIN command.
Quote:
Originally posted by sanddrag
Okay, this changes things a bunch. The EduRobot motors are not servos at all. Servos have potentiometers and mechanical stops. The Edu Motors do not. [...] It's OK to plug them into the relay outputs
|
Actually, they ARE still "modified servos". They did the old modeler's standard trick of cutting out the limit tab and replacing the pot with a pair of fixed resistors. This makes it BELIEVE you are AT the center position at all times, AND converts the servo into a gearmotor. Now when you send it anything OTHER than a 1.5ms pulse (a 127 value), the motor desperately tries to "fix a bad position", running forever one way or another. The "panic level" (motor speed) is proportional to how far "wrong" it thinks it is. This old trick is also what a Victor emulates, with the addition (to prevent stall currents) that it won't move at all unless you're at least asking for 10% motor power.
You are right that you MAY plug the EduRobot multi-speed motors into the Relay Outputs as well, only getting full on one way or the other. IFI did a special additional circuit in the multi-speed motors to emulate a Spike. It automatically recognizes WHICH kind of signal it's getting (PWM/Victor, or Voltage/Spike) and "does the right thing".
VERY cute...

You can't do that with a servo you modified yourself. They'd only respond to the PWM signals, and might burn out if attached to the Relay Output connector. Similarly (in reverse) if you made a Spike emulator circuit for a gearmotor.
BTW, that is also why they have four pins on their motor connectors instead of three. To emulate a Spike, you need FOUR wires (logic/motor power, forward, reverse, and ground). See the Edubot documentation (EDU_Robot_Controller_Reference_Guide.pdf) on the IFI site for more information.
- Keith