A continuous motor + integrated controller drived using a servo signal
So here's a great idea on a quality product. We already know metal gear micro-motors for their manufacturing quality and their reduced size. We also have a very nice collection on the shop as well as the mounting bracket for this type of motor.
This one brings something new because it embark a single-wire control electronics allowing you to:
- the start/stop of the motor
- the rotation direction of the motor
- the rotation speed of the motor
This will delight newcomers because there is no need to complicate life with the connection of the motor, controller, etc. everything is already present on the motor. In short, nothing could be simpler, plug the Gravity connector onto a digital pin, load the Servo library (or equivalent) and off you go, the motor is controlled in direction and speed.
The Arduino boards are capable of managing up to 12 motors (dixit DFRobot) and a Mega board up to 48 motors.
For each order, you'll receive:
- a continuous motor (75: 1 reduction box) equipped with the controller board welded to the motor.
- A digital Gravity cable
How does it work?
Using the Servo library, the Arduino platform (just like MicroPython) is capable of generating a particular PWM signal allowing the axis of the servo motor to be controlled at an angle between 0 and 180° (or between -90° and + 90°) .
Using the same procedure on this motor equipped with a controller, an angle of -90° (max speed in reverse), 0° = stop, + 90° = max speed in forward. The intermediate angle (ex: + 40°) will modulate the speed (corresponding to +/- 45% of the nominal speed).
- PWM signal at 500Hz (impulse from 500µs to 2500µs, resolution 1µs, see detail below)
- Supply voltage: 3.5 to 8V
- Current (without load): 40mA @ 6V
- Static current (without PWM signal): < 1mA
The signal from a servo motor is an impulse of 500µs to 2500µs for an angle of -90° to + 90°.
The pulses between 1400µs and 1600µs (i.e. -9° to + 9°) place the motor at a standstill. When an impulse is less than 1400us (<= -10°) the motor starts to turn clockwise and faster and faster for impulse values approaching 500us (tending to -90°) .
Values greater than 1600µs (> = 10°) run the anti-horological motor. The more the value tends towards 2500µs (i.e. + 90°), the faster the motor runs.