PCA9685 Servo controller showing less than one volt on servo power outputs.

Hi,

i've got an Arduino connected to a PCA9685 like so :

I have 8 servos connected to pin-sets 0 through 7.

I tried the Adafruit example sketches plus a few others and the servos didn't move. I then tried them using sketches using the standard servo commands and the servos work fine, i tested them individually with a servo tester too.

I then checked the output voltage of the servo module power outputs, and they are all below 1V, i'm new to servos, is this normal or is there something else i need to do ?

Thanks, Gary.

What are you powering the module with. Does it supply enough current?

Thanks wolframore, yes it's a bench DC PSU, 10A/30V powering servos and another one 2A/18V powering the Arduino.

Both bench PSUs are supplying 5V.

A real schematic would help here. 18v is too high to feed an Arduino. 30v is too high for the PCA9685

Both bench PSUs are supplying 5V.

wolframore: A real schematic would help here. 18v is too high to feed an Arduino. 30v is too high for the PCA9685

Apologies i just edited that reply to mention that both PSUs are supplying 5V.

Please provide an actual schematic

The only addition to the image i posted would be the PSUs powering both boards, plus of course 8 servos being plugged in, would a schematic still help ?

A complete schematic saves all the back and forth. For instance why connect the power from the Arduino to PCA if they’re powered independently. Things show up on schematics that you miss otherwise. Sometimes drawing it can help you think things through.

The output of your servo drivers should be checked on an oscilloscope. Is it doing what it’s suppose to do? The output is PWM so in a DC meter it could be anything within the duty cycle x 5V.

If you unplug all the servos is the power voltage on the servo plugs still <1V?

Steve

Thanks wolframore, block diagram, i'll check the servos on the scope later.

The PCA needs two power inputs, one for the servos and one for the board, board power comes from Arduino.

Thanks slipstick, yes still 0.0x volts on all when no servos plugged in, i read somewhere that the servo 5V is only active when the signal line is active, is that right ?

I tried the other PCA i bought and same results. I don't get it, this is such a simple setup with very little room for error, i've checked wiring multiple times anyway, re-tested the servos with a servo tester and the usual servo.attach type of commands and the servos are fine.

Photo of the setup.

Check and see if it works with 1 servo

I get it. The 5v is pass through to the servos and output is only the logic level PWM signal. So the switching happens in the servo. Make sure you’re getting 5v at all the 5v output pins and check one at a time with servo attached...

I’m glad you got there before I’d posted the explanation I’d written for you because editing your post to remove all your original comments would have made me look really stupid.

Yes, the 25mA/400mA limits apply to using the SIGNAL ports as outputs e.g. to drive LEDS. The servo power wiring from V+ (rather than Vcc) is completely separate and the servo demand on signal inputs is way less that 25mA.

Unfortunately none of that explains how a 5V power source connected to V+ can suddenly turn into <1V as the OP has been constantly saying. There are only plain board tracks connecting them plus the reverse voltage protection circuit. It beats me.

Steve

Thanks both.

I checked all the outputs while plugging the servo into each one and all are anywhere from 0.067 to 0.085 volts.

Although the OE pin is meant to be low by default i pulled it low and high to test but no change there.

I've tried with Arduno powered by PSU and via USB but same behaviour.

Without any servos connected check for 5V on your PCA9685 (red pins).

wolframore: Without any servos connected check for 5V on your PCA9685 (red pins).

Thanks, same result. But i tried powering the Nano with USB and powering the servos with the PSU that was previously powering the Nano and now current is being drawn, though none was being drawn on the other PSU so i'm looking into that now.

OK now we're getting somewhere... did you check that 5V supply directly without it connected to anything - If there's a short on the PCA board it might have a overcurrent protection built in? Also I would check the capacitor C2 on the PCA board and make sure it's not shorted. It's also possible that the MOSFET Q1 (AOD417) is bad... that gate doesn't like static electricity.

How the Arduino is powered will have no effect at all on the servo 5V power. They are completely separate. The 5V and GND pins on the array of servo pins run from the V+/GND connector block. That is where your servo power supply is connected isn't it?

You should be able to completely disconnect the Arduino and still measure 5V on the servo pins.

Steve

Yes checked 5V at supply, all good. For some reason my bigger PSU isn't showing current consumption on the servos, or when i power a 12V bulb with it (though it lights, a dolls house bulb), but it does when i use a big copper coil as a load. This PSU only has one decimal place for current and voltage.

So if i power the servos with the big PSU at 5V no current draw shows, but if i power them with the little PSU then slowly dial it up to 5 it goes over the 2A limit but no servo movement at all.

Thanks i'll check the cap etc