Driving servo from 3pi robot causes the robot to switch off


I’m attempting to drive a small servo motor from the 3pi robot.
I’ve got it connected to Vcc for power and PB1/D9 as the signal pin.
I’m using the Arduino environment to program it and am using basic commands from servo.h.
The robot seems to run fine and I can read the output voltage on PB1 using a multimeter when the servo is not connected.
But as soon as I connect up the servo, the robot powers off.
It seems to turn off as soon as I try to give it a position. But is fine being physically connected to the robot.
I’ve checked that the servo is working using an Arduino UNO board that I have, so there should be no problems with the servo.
I was running the servo off the robot about a week ago using the same code.
It was showing some erratic behaviour. Such as sometimes when I was running the servo the motors on the 3pi would refuse to work. Other times it would be perfectly happy running both the servo and motors at the same time.
But it never turned the robot off as soon as I connected the servo up until today. The robot has shut off every time I’ve tried to drive the servo today.

I’d appreciate any ideas anyone has.



It sounds like you have a power issue. In general servos can draw a lot of current and VCC from the 3pi is probably not appropriate for powering servos. Can you try powering the servo from a separate battery pack and see if the problem goes away? Also, you will want to be sure you have a common ground connection between the servo and the 3pi Robot.