RE: BeagleBoard.org and Capes/ServoCape

Hello,

I have a ServoCape w/ little to no support (from what I understand). Anyway, forget that mess. I have some ideas.

Is it “smart” to put an AC Adapter to USB to negative/positive leads into the ServoCape.

So, it would be similar to this for accessing the ServoCape functionality:

AC Adapter w/ USB Connection >>> USB w/ leads >>> Leads (positive and negative) >>> ServoCape
screw terminal?

I am asking b/c I want to use this Cape but not many people are familiar w/ it as of now.

Seth

what are you trying to achieve?

USB wall warts (or whatever they’re called in your country) are typically low power capacity (low amperage) and typically are not very well regulated (as power demand goes up/down, so may the delivered voltage).

Hello,

Sorry for acting oddly. Yea. AC Adapter or wall warts! Same stuff…oh. I am trying to achieve some programming of the BBBW w/ the ServoCape.

I have been doing this for a bit but have not been officially introduced to everything.

Seth

P.S. I was going to run a simple program w/ this Cape to test to see if I need what duty cycle and what frequency to set up more ideas for later use.

what are you trying to achieve with this USB power “arrangement” you’re talking about???

Hello,

Oh…I am basically trying to power the ServoCape to handle one servo motor at first. There was this fellow. He told me he might use the BBBW power source and GND for handling this motor power to the Cape.

Seth

he said he might use the BBBW power? so why are you trying to do all this other stuff?

Anyway, lets try to work through this all. Here’s the schematic. I have never seen one of these boards so I’m flying blind.

There are some unknowns - the Signal In section, not sure what it’s doing? IN1-IN6 don’t appear to be connected anywhere else. So lets ignore em.
5v is expected to supply the servos. That’s the reason for the 5v input options on this cape.

Option 1. You could simply jumper a wire from the 5v connection on the cape’s header pins, and connect that to the big 5v connector that supplies the servos. (this I’d expect is what the other fellow was suggesting)

Option 2. You could wire a separate 5v supply to the 5v in connector.

Option 3. You can figure out how to “split” the power from one power wall wart, to power both the BBB and the servos.

If you’re just going to use a couple of servos for playing around, I’d do option 1. If you want something more “robust” than a simple jumper wire, then you need to get creative. But since with option 1 or option 3 you’re powering it with the same wall wart, so you get no better current capacity to supply the servos, so it’s not really “better” in my view. So that’s why I say do nothing fancy with cables, just get a suitable power supply to run your servos, connected to the screw terminals and be done with it. So you’ve got two wall warts. No big deal?

1 Like

Hello @Brett,

Seth here. I read over the info. you provided. I went w/ Option 1.

Seth

P.S. Now, I need to read the datasheet to figure out how to use servos under this chip. Believe it or not, I am new to servo motors. I just started to use these small/standard servo motors just recently.

good option :slight_smile:

Servos are servos are servos… so they’re all pretty much the same, not likely to be much different. You need a pulse width of somewhere between 1msec and 2msec to set an angle, and typically 1.5msec is centred. use PWM with a pulse chain 20msec apart. See the wikipedia article for more info Servo control - Wikipedia

1 Like

Hello,

Okay…I think this is my issue. My programing skills w/ registers are a little low. So, I have to keep learning about registers w/ Python3 and keep learning how to use the datasheet for the onboard chip on the Cape.

Seth

P.S. Do I definitely need an i2c library to use the Cape or can I just use Python3 for PWM? If I need to set up a wrapper from C w/ ctypes, I can probably figure out something.

PCA9685 | NXP Semiconductors is the chip controlling the PWM. Yes, you need I2C

Hello,

This is what I thought from the datasheet. I will learn on it in time. I see in kernel 5.3.x, there is a pwm library that handles this chip. Nice.

Seth

P.S. pwm-pca9685.c - drivers/pwm/pwm-pca9685.c - Linux source code (v6.1.8) - Bootlin is the site I found online. NXP did not have any source dedicated to the chip upfront. So, I started to search around for ideas.

but if you’re attempting to use it in Python then you don’t need the C level driver… Remember, Python typically is trying to abstract you from the details, so there’s a lot of that C driver you will never need to understand. (clearly this is not me talking from experience with Python, BBB, or that cape - but the principle is there, you don’t need the details because they’re dealt with elsewhere)

Hello @Brett,

Seth here. No issue. I will attempt to find out how to introduce specific libraries into the source I plan on putting together for making the ServoCape run some basic, standard servos.

I have a lot to learn still. So, I saw in kernel 5.3.x, there is actually a driver for this chip. I might update my image and kernel soon to test things out.

Seth

P.S. If you have any other ideas, please send any relative info. to me. I sure could use some help.