PCA9685PW - 3V3 Power supply (& i2c) but 5V consumers. - Page 1
Forum section: electronics / beginners

author: Toffe
author_rank: Newbie
timestamp: September 25, 2021, 10:43:29 pm
content: HiI have a PCA9685PW LED Driver which I'm going to use to drive 5V PWM servos and speed controllers (RC). I am going to use a Raspberry PI which has 3v3 logic level. Since I have multiple other 3v3 only components I thought I'd drive the PWM controller at 3V3 aswell.Question 1:If I supply 3v3 to the chip, will the PWM signal also be 3v3? And will that work with the servos? I am guessing the "high" level is above a certain default threshold for PWM so it should be ok? But anyone know or can confirm? The servos and speed controllers will be connected to an external 5V source with common ground.Question 2:Is it so that it only draws 10mA? I see the Raspberry Pi has 500mA available for the 3v3 line and it seems like this PCA only draws 10mA ? Or am I missing something in the datasheet (e.g. does each pwm output also draw something?). I see something about 400mA which blows the budget since I have a few other components connected. But I dont understand how or where?Datasheet:https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf

author: Manul
author_rank: Super Contributor
timestamp: September 26, 2021, 11:04:41 pm
content: Quote from: Toffe on September 25, 2021, 10:43:29 pmBe aware, that current capability of PCA9685PW output is 25mA sink and 10mA source, so not much. Also it migh be sensitive to inductive loads and get damaged. Driving servos by using LED PWM driver? You mean directly driving servo motors? How you came up with such idea? Given some aditional circuitry it can be done, but it is a bit weird decision.Quote from: Toffe on September 25, 2021, 10:43:29 pmYes. Input logic and PWM outputs are driven from same supply.Quote from: Toffe on September 25, 2021, 10:43:29 pmThat is what chip uses for its own internal functioning (quiescent current). If you take current from it's outputs that of course adds up and the total will be more. If 16 outputs all source 10mA then it will be 16 * 10mA + 10mA (quiescent current) = 170mA total approximately.

author: Toffe
author_rank: Newbie
timestamp: September 28, 2021, 07:21:22 pm
content: HiThanks Manul!LED Driver is also used for PWM in many controllers e.t.c. Not sure why it should not be used for Servos e.t.c. The reason I found it is that Adafruit has a PWM servo board to control "16 servos". I've also prototyped it with 5V to run servo's and speed controllers to control a RC car and plane. So I think it is used for PWM driver aswell.You say it can "sink 25mA" and source 10mA * 16. I tried to google it but will do some more but I dont really understand it. If it is 170mA total it can draw from the 3v3 source then it is no problem. I have 500mA available. (Raspberry Pi 3V3 hat I'm building).Also another question: The input logic and pwm output are driven from the same supply. Will the 5V servos be able to understand it? I guess 3v3 high and 0v low should work for most? If not I can put in 5V on it and add a 3v3 level converter for the I2C to work with the PI.

author: Ian.M
author_rank: Super Contributor
timestamp: September 28, 2021, 08:46:52 pm
content: A RC servo is very different from an industrial servomotor. The former is a compact module consisting of motor, gearbox, position sensor, and electronics usually with a Futaba compatible 1ms - 2ms pulse control signal, whereas the latter consists of a low inertia motor, tacho generator, and usually an encoder all on the same shaft, with a completely separate servo controller.The PCA9695 output levels are determined by its supply voltage, and as 3.3V pulses may not work with all RC servos, it would be preferable to run it with 5V supply and level shift the two I2C input signals rather than having to level shift 16 output channels.

author: Manul
author_rank: Super Contributor
timestamp: September 28, 2021, 11:51:05 pm
content: Quote from: Toffe on September 28, 2021, 07:21:22 pmNevermind, I imagined something really different. All is well.Quote from: Toffe on September 28, 2021, 07:21:22 pm170mA is maximum, if all outputs source max current as per datasheet. In your application, if the ouputs will only be driving input logic of the servos, then you should expect way less (10-15mA?).Quote from: Toffe on September 28, 2021, 07:21:22 pm3.3V levels will be very marginal if your servos expect 5V levels. It might work or not. Or work "sometimes" which is the worst.