Power two boards off same battery?

i want to power the atom bot board and a cmucam board off the same battery, is this possible…i want to share the battery for servo power connector on both boards, :confused:

You will need to check the power requirements of the cmucam you want to use. There are at least three different versions of cmucam available, with various power requirements. If it can run from a 6V DC - 9V DC battery power supply, you can power them both from the same battery. The thing you have to consider is the current each requires so you can choose the appropriate battery - a 6.0V or 7.2V @ 1600 mAH battery should work fine if the cmucam can run with this power setup.

The Bot Board II has separarate power for logic (VL) and Servo (VS). Depending on how many servos you want to run, you may want to look at getting an SSC-32 servo controller. You will also have to check what power connections your cmucam has to see if it allows separate logic (electronics) and servo power if you want to use it to control pan/tilt servos directly. You will want a 6.0V @1600 mAH or 2800 mAH (the latter will provide more run time) battery for servo power. Check the specs on your servos as some can run with up to 7.2V.

8-Dale

Good Info, thanks for your reply…
the CMUCam board does have TTL pins for microcontoller or PC, and can control upto 4 servos, I just want the Bot Board II to know what position the pan/tilt is in so the Atom will know how to line up the body correctly.

Thanks again!

You were talking about powering both boards from the same source, but now you are talking about the TTL pins. The two are very different things. The Power connections don’t have anything to do with actually positioning the servos other than just supplying power to them. The servos need a separate signal to send them to a given position.

If the cmucam controls a servo, the Atom microcontroller won’t know what it has done and if the Atom controls a servo, the cmucam won’t know what it has done.

8-Dale

I was hoping to connect the cmucam to the atom via ttl on camboard to serial port on the abb; have a wiring harness setup for battery to charge both boards;

Have the cmucam send basic info such as position of pan/tilt while the cam “is tracking”, send that data out the ttl to the atom, where i could then have the atom “override” control over the pan/tilt servos temporarily to start the cmucam turning in the correct direction.

The cam would pick up the object and resume control …but still need to send data, two gp2d12’s will be mounted to bot’s head connected to atom’s I/O for distance data and direction to kick off the “panning” of the head in the correct direction, this data will obviously have to be sent to cmucam, the cmucam will turn the servo and hopefully detect the object during the process and kick into its normal self et etc…

Am i Wayyy off?? dunno, seems like it makes sense to me, any ways Thanks for all your replies…they are helpful.

You are still mixing up the power connections and the data connections. They are very different things. You can not charge batteries while they are connected to the bot board or other device(s).

You need to choose which controller is going to control the pan/tilt servos - the Bot Board or the CmuCam. I am not familiar with the CmuCam, so you will have to check the documentation for the version you have. There may be a way for the CmuCam to send it’s servo position data to the Bot Board. You might be able to have the Bot Board read the pulses from the CmuCam’s servo outputs and then use that data and other data from the CmuCam to decide on the correct position for the servos. You should be able to have the Bot Board read the pulses by connecting the servo outputs of the CmuCam to the digital I/Os of the Bot Board. The pulses can be converted into uS and updated accordingly before being sent to the servos.

**WARNING: Do NOT connect the power lines (red wire) between the Bot Board and the CmuCam when you connect the servo ports to the Bot Board’s digital I/O.

You can use a standard servo extension cable without the pins installed to connect the servo outputs of the CmuCam to the Bot Board.

You are a bit out in left field, but I believe what you want to do is workable - just not the way you see it being done. :smiley::smiley:

8-Dale**

I believe that when you said charge both boards, you meant to power both boards. This should be possible. For example a lot of us do that with an ABB and an SSC32 board. My only concern would be if the camera says something like keep the power seperate from other things as to minimize noise, like my wireless camera manual stated…

As for connecting the CMU to the ABB, that should not be a problem. You could easily connect it up to either two IO pins in TTL mode or to the 9 pin RS232 connector. Your program could output something like the TC command and wait for the tracking packets to come back from the CMU and then parse these packets and take the appropriate actions. I don’t know enough about the CMU packets to know how easily it is to override the servo commands, with something like the SV command and then go back to tracking, but it sounds like a fun experiment.

Have Fun!

So that rules out the possibility of using a single battery to power both boards…whats more important is to have the cmucam send at the least pan/tilt servo position to the Atom; so i would have two of the servo io pins from the cam board plugged into two i/o on the bot board. i take it that i wont need the voltage wire, just the ground and data wires for the i/o, should be able to tx/rx data back and forth correct??

That is what i meant, 1 battery to power both boards…not charge!
plus connect serial ports on both boards for data…xfer between both boards…

Thank You Gentlemen for replying…Your help is Most Graciously appreciated!!

No, it does not. My warning is with respect to connecting SIGNALs between the Bot Board and the CmuCam. You only want the ground (black) and signal (usually yellow or white) wires connected in this case. You want the Atom microcontroller on the Bot Board to be able to read the pulses the CmuCam would normally send directly to the servos - this is just a signal connection (signal and ground), no power.

Power connections for the two are completely separate from the signal connections.

8-Dale

I am not sure if you need to connect up two servo IO pins from the cam board into the bot board. I think you simply need to set up the serial communications between the two boards as you mentioned later in the last post. Again you could connect the RS232 level signals between the two boards by connecting to the DB9 connector on the bot board. Or could use the TTL level signals on the CMU board and connect it to two IO pins on the BOT board. You would then use SERIN and SEROUT commands with ASCII text to communicate between the two boards and get the servo information probably through the track commands.

An much more difficult alternative would be to connect the servo outputs from the CMU board into IO pin on the BOT board and have the atom try to measure the pulse widths to know where the CMU is outputing to what it believes is a servo. In this approach you would then do the actual outputs to the real servos from the bot board. This is possibly a lot more flexible but it is a lot more work. I am using this approach on my rover where I receive 6 servo inputs from a Laser 6 remote and then have the Atom Pro intercept all 6 channels and then output the appropriate commands to motors/servos and the like. In this case I ended up adding an SSC32 to do the actual output to the servos…

Again I would recommend starting out with the simple approach!

Good Luck

Good Info!..will post back eventually, and i take it the db9 connection there is tx rx and ground, so i could serout on the tx pin cmucam side, and serin on rx on the atom.

The cmucam is programmed in c using gcc, and the atom is in basic, am wondering if the two will work together, considering all i really want is the cam send pan/tilt positions out the ttl/ser port, and have the atom act, and vice versa, if a gp2d12 picks up an object on the left, the atom will serout to the cmu pan left…etc…

Thanks fellow Roboteers!! for your help and guidance is truly appreciated.

I’ve connected a CMUCam2+ to an ABB with a Basic Atom Pro using the serial connections from the CMUCam2+ and two inputs on the ABB but it was a pain in the neck to get the communications to work.

The fastest setting in both a Basic Atom and Basic Atom Pro that I could get it to communicate with the CMUCam2+ was i38400 using the software serial commands. The hardware serial commands didn’t work even if I inverted the signals using a NAND gate.

The other snag is that on the CMUCam2+ it was necessary to issue the “DM” command (I used DM 20) to the CMUCam2+ to be able to receive from the CMUCam2+. It must be issued after any reset command to the CMUCam2+. The DM command delays serial response from the CMUCam2+ for slower CPU’s. Apparently, the Basic Atom modules are fast, but don’t respond quickly enough to serial input.

For a while, I was having the CMUCam2+ send back the pan/tilt values when issuing the TC (track color) command, but then found that it was better to just use the mx and my values from the TC command response which indicate the center position of a tracked object. Pan/tilt values held last detected command when an object was out of tracking range, so there was no way to tell that an object was no longer being tracked. On the other hand, mx and my change to zero if the tracked object is out of range.

I found that using the serial commands between the ABB and CMUCam2+ slowed down the code so much that it made the walking sequences look awkward. One solution that I used was to use two ABB boards connected together - one for the CMUCam2+ and other sensors and one for automation sequences. I eventually gave up on that although it worked well.

Now, I just use a Bluesmirf between the CMUCam2+ and my laptop to acquire the video image and do all of the CMUCam2+ functions. By sending a servo command to the CMUCam2+ to a servo that is connected to the ABB, I’m able to issue commands to the ABB from the laptop; so the laptop makes the decisions now based upon the CMUCam2+ responses. Also, I used a 500 ohm resistor between the servo output on the CMUCam2+ and the ABB just in case and the Basic Atom Pro monitors the input on the ABB for different values to receive instructions from the laptop through the CMUCam2+.

Hope this helps with what you have in mind…

Jess

Hey Jess,

Where you using Hservo in your code? If so you may have been able to keep everything off the laptop by using the Atom Pro to talk to the CMU cam and an SSC-32 to deal with the walking. The new V2 will store sequences on-board and then you simply send short serial commands to tell which sequence, speed, and direction to play. Just an idea.

Hi Jim,

I’ve stuck with using the SSC32 to control the servos, but the sequence is in the Atom Pro telling the SSC32 how to control the servos. I scanned the V2 information and the impression that I have is that it’s possible to store predetermined sequences, but that the V2 will not do calculations - in other words, just passing X, Y, and rotation values directly to the V2 will not work, or am I mistaken. I’d love to remove all of the leg control code from the Atom Pro and just pass a couple of values to the SSC32 if it is possible, it’d be almost like having an Atom Pro just for the CMUCam and sensors.