Asked — Edited
Resolved Resolved by DJ Sures!

Best Way To Add Servo Ports To Lattepanda?

My question I hope will be simple to answer.   I am using a Lattepanda V1 SCB in my Inmoov build the SCB is located in the head and I need to add the ability to control a few more servos than the 7 it can currently control on the Lattepanda board.  Is there a way to add a servo controller to the Lattepanda that can be managed with ARC?  I have seen a few of the posts here dealing with this type of question but not sure what way to go. Should I use a Pololu-1350 Micro Maestro 6-Channel USB servo Controller?

User-inserted image


Related Hardware LattePanda

ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

#1   — Edited

Don't get me wrong but putting the "brains' into the head is a fools errand. That may seem harsh but is not meant as such. It is an artifact of thinking that since a humans brain is in the head a robots must as well. It doesn't matter. Don't go through the hassel. Pack the head out with sensors if anything. I noticed this about myself and my inmoov build. I was way overthought in the beginning and ended up 'settling' for final configs that ended up working. An on board computer just slowed me down in the end. Others here may disagree but inmoov processing is not that intensive. Running it remote from my laptop proved much more convenient in the end.

#2   — Edited

Quote:

An on board computer just slowed me down in the end.
Hey @Perry_S, How do you mean an onboard computer slowed you down? In what way?

I ask because I am installing a Rock Pi x into my full sized B9 robot. I haven't gotten to the point of a full test yes with many commands being to a number of EZBs issued to move limbs, flash lights and move complicated arms. I don't know if the little SCB will keep up with all this.

I have four EZB's in my robot. Two of the four EZB v4's handle most all of the intensive animations of the robot. That includes most of the most used motors, sound clips and lighting effects. These two are attached to the Rock Pi x directly using USB. The Rock Pi SBC actually sits next to these two EZB's at the top of the robots torso.

The other two EZB's (one is a IoTiny) are in remote parts of the robot. One, the IoTiny, is in the top bubble inside of the brain and the other down in the leg section. However these two EZB's do very little. During animations they command only one or two Sabertooth/Kangaroo DC motors that run very little and close a few relays. These two EZB's are in client mode and connected to ARC running on the Rock Pi through my home network WIfi. The Rock Pi X is also connected to my home WIFI network.

Why not attach all EZB's through USB to the Rock Pi? The two located in remote areas of the robot bob, twist and bend. Placing them remotely and running over WIFI seemed like the thing to do to avoid running a lot wires through the moving joints. Depending on how this setup preforms after my full first test or other problems that may arise I may break down and run cables anyway through these areas and connect them with USB.l

So far I haven't seen any slow down issues using my simple and limited tests. I'm totally open to pulling the SBC and going back to full WIFI support from a laptop the Rock Pi cant keep up. I'm also open to mounting a laptop on board if I can find the room and figure out how to get it to boot up into windows when I power up the robot.

You Inmoov guys have already pioneered many of these issues I'm exploring. Sharing your experiences and solutions are so valuable for my work on my full sized robot. I'm having a lot of fun learning and building this whole robotic building process.

I hope this post has not goon too far off the OP's original question. I do think this is all tied together though.

#3  

Quote:

Don't get me wrong but putting the "brains' into the head is a fools errand.
Perry,  I have heard that everything seems to work better with the EZB's connected to a SCB by USB through the camera port on the EZB4.  I know the Iotiny does not support this but I am not using any of those.  As far as putting the Lattepanda in the head the location does not seem to be a bad plan as if fits without issue and has a built in arduino with 7 ports that can address most of my needs.  Because I updated the eyes to use 6 servos I need at least one more port at this point but I have been working on a mod to also add eye brows that can also be controlled which will require 2 more servos.  This was the reason for the question.

So currently the the hardware in the head is 8 servos, Lattepanda with Gravity IO Expansion Shield on it and the small amp for the speaker.  It will have one cable going from the Lattepanda USB to a powered USB hub in the torso for hardware and wires to provide power to the head.  So far it seem to be a very clean setup.

PRO
Synthiam
#4  

If you only need one or two more servos, an Arduino Nano or Arduino Micro would be good. They're small and only a few dollars. Otherwise, here's all the compatible ezb hardware: https://synthiam.com/Support/Hardware/Hardware-Overview

The Arduino nano or micro can use the Uno firmware. Since it is Arduino, they're all the same thing anyway. It can most likely use the Leonardo firmware that you're using on the panda.

#5  

DJ,  If I am understanding the setup of the Pololu-1350 Micro Maestro 6-Channel USB servo Controller I would just connect the board to the SCB using USB and suppling power for the servos and ARC will be able to connect and control servos without issues.

User-inserted image

Or can a PCA 9685 module like below be easily connected to the Lattepanda's Arduino to add more ports?  Based on the below pictures I would think this can be done but the question that needs to be answered is will ARC support it?

User-inserted image

User-inserted image

User-inserted image

User-inserted image

PRO
Synthiam
#6  

Yeah the maestro is the easiest to get going because it is plug and play

#7  

Thanks DJ!

The more I think about it, I may just run the servo wires into the torso from the head and not connect anything to the LattePanda other than power and the USB hub and just control everything from the EZB-4s.  My guess is that will simplify coding going forward.

PRO
Synthiam
#8   — Edited

It may simplify a little, but not much. When you select a servo port, you also select the EZB Index. So having servos on different EZB Indexes is only one additional mouse click. If anything, it simplifies the thought process, so it's easier to remember what servos are connected to what.

You can always use the latte panda's EZB for LEDs or other eye candy later on if you don't use the ports for servos.