Switzerland
Asked
Resolved Resolved by Dave Schulpius!

ESP32 And A PCA9685 To Control 16 Servomotors With ARC

Good day, my problem is this: I want to build a robot myself. I already have the following servo control components: ESP32 and a PCA9685 to control 16 servomotors.

I have already installed the ESP32 DOIT Dev Kit v1 EZ-B and the firmware for Synthiam and a control with 1 servo via WIFI works.

how can I connect the PCA9685 to the ESP32 so that I can control all of my 16 servos? (probably via the UART connection RX / TX). How can I link and control the whole thing with ARC?

could someone please help me with the programming? Regards Plokber


Related Hardware Esp32 DevKit v1

ARC Pro

Upgrade to ARC Pro

Stay on the cutting edge of robotics with ARC Pro, guaranteeing that your robot is always ahead of the game.

PRO
Synthiam
#9  

Vx ports are only virtual ports for robot skills that connect directly to hardware that isn’t an ezb

Ezb firmware devices can only use Dx ports

so you just use Dx ports and not Vx ports for your setup

#10  

Thanks DJ.  I have everything moving and such.  The goal is to be able to program it to do things.  Nothing special, just a few pre-programmed movements, and maybe a manual control from the app joystick interface.  I have loaded the Auto Position skill, but no matter what I do, I cannot get it to move fluidly.  They move fast, and stop abruptly... I don't want anyone to do this for us, but I would love to see some sample projects that use a servo or several servos.  It looks like I can load sample/example things.  Gonna research more on it.  I would like smooth fluid movement, without the jerking, and ability to be more precise...which is possible with the hardware because I did the arduino IDE tests.

I am also being told I should be using Steppers for more precision, but I know these can do similar...anyway.

If anyone has a project that they could share similar to this that would be sweet.  The incorporating of the various things to get a good finished product is not clear from what I have been reading...and sadly youtube does not have a lot of ARC content. Thanks for existing though.

:)

#11  

To get your servos to move smoother you need to adjust your steps and servo speeds in the Auto Position control. Look in the toutoral for how to do this.

#13  

Yes, following DJ's Global servo positioning feature that EzAng mentions should smooth out servo movements. It's worth a try. I really helpped myt servos move nicer.

However to expand on my above comment, you may want to look into the Step/Delay and Speed Settings in the Action section sence you're using the AutoPosition panel. Adjusting these settings may give you the results you are looking for. They are not really intuitive and require some fiddling around to find the right settings.

Here is a link to how to use and adjust the movements in the AP. Scroll down for the Step/Delay Settings instructions: AP Instructions

PRO
Synthiam
#14   — Edited

The Auto Position action should have a small servo increment and more considerable delay, giving you more smoothness. And if the PCA supports a servo speed feature (Which I don't believe it does), then you would also be able to use servo speed for extra smoothness that depends on the hardware controller. The Auto Position manual explains more about the options I just mentioned: https://synthiam.com/Support/Skills/Servo/Auto-Position-Gait?id=20314

It might take a bit of reading, but once you get it, you get it:)

The accuracy of servos will not compete with stepper motors. The stepper motor may use the same programming interface in ARC, but the accuracy is much higher.

The global servo position option is in the top menu Project -> My Robot -> Properties. See more here: https://synthiam.com/Support/ARC-Overview/Project%20Menu/My%20Robot.

#15   — Edited

Thanks DJ. I should have said "the AP setting  are not really intuitive for me". LOL. Sometime I have a hard time wrapping my brain around things. Your explanation really helped me to understand better.