Piloting servos Hitec HS-422 on Jetson nano 2GB with GPIO and PCA9685 / Power pb

Hello,

I have several questions on piloting servos with Jetson nano GPIO and PCA9685.

Material :

Jetson nano 2 GB (powered with USB adapter, 5V, 3A)

First look :

Yes, it seems to work pretty well (I use the Adafruit servo-kit library, with GPIO). Servos are moving etc …

code :


variation = range(0,180)

for degree in variation :

kit.servo[0].angle=degree

kit.servo[1].angle=degree

time.sleep(0.01)


But …. At the end one or two things were not going so well … I don’t really know why.

Maybe someone can help me to find out a solution.

First : I would like the servos to move from 0 degree to 180 degree … & its is more 150 degree than 180, why ? Is it due to the input voltage which is lower than 5V (equal 3,3 V on GPIO ?). HITECH Spec : input should be between 4,8 and 6). Not sure, or maybe servos are built like this, not able to reach 180° ?

Second … I tried to change the speed of the servos … using a step time of 0,001 in the loop instead of 0,01 and … it crashed the nano (direct shutdown, ouille !!!) … maybe too much power needed for the servos.

I saw that for piloting the « servos », it is better to use an additional power supply … but how ?? I tried … to plug power directly on the servos and it is not working at all.

  • Servo + pin connected to the « + » of an external power source (3 battery AAA)

  • Servo ground pin connected to the « - » of an external power source.

  • Servo Signal pin connected to the pin of PCA9685 (0 or 1)

On PCA9685, It is also possible to plug VIN/GND but in that case, should I also need to power the nano with USB adapter, 5V, 3A … meaning two source of power at the same time … not sure the nano will appreciate.

Because, if I only plug the VIN/GND on the PCA9685 (no other source of power even for the nano), it also powers the nano …

What should I do ?

I saw the videos on www.toptechboy.com (AI ON THE JETSON NANO LESSON 32: TRACKING AN OBJECT WITH SERVOS IN OPENCV but he is not using additional power supply for servos)

Thanks a lot, if anyone can help.

I think you should need to feed external power through the green terminal (labeled VIN and GND). Look in the servo board documentation it clearly says powering through USB (of RPI/Nano) is not sufficient.

Regarding the operating angle: when power is outside the servo specs this might be the cause. And yes, not all servos are created equal, especially in case you have some no-brand/knock-offs from overseas. But you should take care of powering problem first…

1 Like

Hello dkreutz,
thanks for your answer. Do you think i can both power Nano with classical USB power supply 5V AND the PCA9685 VIN/GND with 5V (or more) … / I was not confident in having two source of power at the same time.

Regarding servos Hitec HS422, should be original one.

Please have a look into the servo board docs I have linked above:

[…] connect battery to the green socket VIN on the left for power supply, for VIM, voltage range 6V~12V. 5V regulator on board could output 3A (MAX) current. You can also connect 5V power supply to the POWER interface on the right, and it could power micro:bit via 3.3V regulator.

If you only connect 5V power supply to USB interface, servo cannot be driven.

You should connect higher power supply for higher-power servo.

This means servo power and controller chip are powered through separated power-rails.

Ok the thing is.
Last time i have connected DC power supply 5V on VIM/GND of PCA9685 … and Jetson nano was powered too.
Meaning the PCA9685 does not only power the board PCA9685 (and the servos) but also the nano.
That’s why i was not sure it was OK to connect 5V USBC power supply on the nano for the nano and 5V on VIM/GND on the PCA9685 for the servos.
Just scared to burn my nano …

Blockquote

I did it … it is working fine regarding the power.
Usb C 5V on jetson nano
+
Power VIM/GND on PCA9685

Servos are moving and OK. (still not movin to 180° but … it is ok)