Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Bluetooth and MR-C3024

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
59 postsPage 1 of 41, 2, 3, 4
59 postsPage 1 of 41, 2, 3, 4

Bluetooth and MR-C3024

Post by bauermech » Fri Feb 24, 2006 1:59 am

Post by bauermech
Fri Feb 24, 2006 1:59 am

Yeah limor, I purchased a BlueSMiRF, but only got to screw around w/ it for a couple of days. I was able to set up the PC side using a Motorola Bluetooth USB dongle. It recognizes the SMiRF and transmits to it... that's about how far I got. I'll be back at it probably this weekend. In the meantime, I've been considering approaches on how to do it. I'm a complete virgin to all of the Bluetooth technology, so I had to do a little extra back-work. I’m doing the 'learn as I go' thing. I learned the SMiRF is TTL and the MR-C3024 is of course RS-232. I'll be ordering a MAX232 for the level conversions. I think that'll be the best approach. However, I was thinking (but not certain yet) that I could utilize one of the A/D ports to receive a signal from the SMiRF. It would only be one-way communication, but I shouldn't have to convert the signal. It would act as a sensor in respects... or a replacement for the IR. I don't know, just thinking...
Have you messed around with the BlueSMiRF yourself? Do you have any advice? Am I taking it entirely in the wrong direction?
Thanks
Yeah limor, I purchased a BlueSMiRF, but only got to screw around w/ it for a couple of days. I was able to set up the PC side using a Motorola Bluetooth USB dongle. It recognizes the SMiRF and transmits to it... that's about how far I got. I'll be back at it probably this weekend. In the meantime, I've been considering approaches on how to do it. I'm a complete virgin to all of the Bluetooth technology, so I had to do a little extra back-work. I’m doing the 'learn as I go' thing. I learned the SMiRF is TTL and the MR-C3024 is of course RS-232. I'll be ordering a MAX232 for the level conversions. I think that'll be the best approach. However, I was thinking (but not certain yet) that I could utilize one of the A/D ports to receive a signal from the SMiRF. It would only be one-way communication, but I shouldn't have to convert the signal. It would act as a sensor in respects... or a replacement for the IR. I don't know, just thinking...
Have you messed around with the BlueSMiRF yourself? Do you have any advice? Am I taking it entirely in the wrong direction?
Thanks
bauermech
Site Admin
Site Admin
User avatar
Posts: 318
Joined: Sat Feb 04, 2006 1:00 am
Location: Defiance, Ohio, USA

Post by limor » Fri Feb 24, 2006 2:58 am

Post by limor
Fri Feb 24, 2006 2:58 am

try sending an email to sparkfun and see if they suggest to use the max232 or maybe there's some other trick.
With regards to a "signal from the SMiRF".. what signal do you have in mind to send the MR-C3024 A/D port ?
try sending an email to sparkfun and see if they suggest to use the max232 or maybe there's some other trick.
With regards to a "signal from the SMiRF".. what signal do you have in mind to send the MR-C3024 A/D port ?
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by bauermech » Fri Feb 24, 2006 5:05 am

Post by bauermech
Fri Feb 24, 2006 5:05 am

Oh by the way, I saw your Robonova step-by-step assembly process you and your brother did. Nice, crisp pics... and great stuff to say along the way. Excellent job!

What sparked the thought was: The way I understand it, the IR sensor waits for: 10101, then receives: 0x00, 0x41, 0x81, and 0xC0 (when key 1 is pressed) (info fromTeamKNOx remote analysis). What if I were to replicate that using BT instead of IR?
The other thing I was considering was scrapping that all together and set up my own set of constants in VB6 and send them through the BT to the atmega chip where the RoboBasic code could decipher it, and execute the sequence. These are just concept ideas... Not even sure if it's plausible. I'd rather have two-way communication anyway.
I jumpped onto www.sparkfun.com forums, as you suggested. It seems there is a way to manipulate the level conversions through code. I'll contact them and see if they might be able to help me out w/ that.
Oh by the way, I saw your Robonova step-by-step assembly process you and your brother did. Nice, crisp pics... and great stuff to say along the way. Excellent job!

What sparked the thought was: The way I understand it, the IR sensor waits for: 10101, then receives: 0x00, 0x41, 0x81, and 0xC0 (when key 1 is pressed) (info fromTeamKNOx remote analysis). What if I were to replicate that using BT instead of IR?
The other thing I was considering was scrapping that all together and set up my own set of constants in VB6 and send them through the BT to the atmega chip where the RoboBasic code could decipher it, and execute the sequence. These are just concept ideas... Not even sure if it's plausible. I'd rather have two-way communication anyway.
I jumpped onto www.sparkfun.com forums, as you suggested. It seems there is a way to manipulate the level conversions through code. I'll contact them and see if they might be able to help me out w/ that.
bauermech
Site Admin
Site Admin
User avatar
Posts: 318
Joined: Sat Feb 04, 2006 1:00 am
Location: Defiance, Ohio, USA

Bluetooth

Post by Guest » Fri Feb 24, 2006 7:50 am

Post by Guest
Fri Feb 24, 2006 7:50 am

Hey guys,

I'm going down the same road as you. I have a Buetooth module from Sparkfun but haven't gotten around to iterfacing it to my Robonova. One thing I have done is mod the MR-C3024 so it runs at 3V instead of 5V.
I was going to use either the PC serial port or the external port for comms. The Robo Basic documentation has some clues as to what's up with the ext port or it would be fairly easy to just interface to the PC port. One thing that doesn't work at 3V is the IR interface. I believe that's due to the thresholds on the analog port. I don't really care about IR so no great loss as far as I'm concerned.
Hey guys,

I'm going down the same road as you. I have a Buetooth module from Sparkfun but haven't gotten around to iterfacing it to my Robonova. One thing I have done is mod the MR-C3024 so it runs at 3V instead of 5V.
I was going to use either the PC serial port or the external port for comms. The Robo Basic documentation has some clues as to what's up with the ext port or it would be fairly easy to just interface to the PC port. One thing that doesn't work at 3V is the IR interface. I believe that's due to the thresholds on the analog port. I don't really care about IR so no great loss as far as I'm concerned.
Guest

Post by bauermech » Fri Feb 24, 2006 6:32 pm

Post by bauermech
Fri Feb 24, 2006 6:32 pm

Holy! You're right, it's right there... ETX and ERX coming right off of pins two and three on the chip! I was even thinking, 'how in the world am I going to solder to those pins and not screw anything up?'
Eh, I'm not too keen on IR either. What does running the controller at 3v do to servo performance? I'm on my lunch break and gotta' get back so I can't look at the route of the + from B or regulator yet.
Thanks, I'll be back later today.
Holy! You're right, it's right there... ETX and ERX coming right off of pins two and three on the chip! I was even thinking, 'how in the world am I going to solder to those pins and not screw anything up?'
Eh, I'm not too keen on IR either. What does running the controller at 3v do to servo performance? I'm on my lunch break and gotta' get back so I can't look at the route of the + from B or regulator yet.
Thanks, I'll be back later today.
bauermech
Site Admin
Site Admin
User avatar
Posts: 318
Joined: Sat Feb 04, 2006 1:00 am
Location: Defiance, Ohio, USA

Post by subpilot » Sat Feb 25, 2006 5:49 am

Post by subpilot
Sat Feb 25, 2006 5:49 am

That seems like the way to go. If I get a few extra minutes I'll do some experimenting.
I just replaced the 5V regulator with a 3.3V one. The processor runs fine on 3.3 and the servos are still supplied by the batt main voltage. The servos run fine with the 3.3V control levels. All that I found that doesn't work is the IR.
I went to 3.3V because the interface devices I'm planning on going with are 3.3V (like the BlueRadios BT module) and the accelerometer I have. Plus I save a "little bit" on battery juice.
Speaking of batterys, I am switching over to a 3 cell Lith Poly pack (11.1V@850mAh). I have a TI DC/DC converter to regulate that down to the 6V range. I actually think it is quite safe to run at 7.5V and get a bit more torque. I have room for a bigger Lith Batt and the regulator can handle a 4 cell pack. I get slightly more running time on the Lith I have and it weighs half of what the NiMH does. See: http://www.amondotech.com/index.asp?Pag ... stom&ID=72
You could run 2 of the 850mAh 2 cell packs and get allmost twice the run time for slightly less weight than the NiMH pack.
The TI regulator is a TPS54350EVM. That's an evaluation module you can get for like $10 from TI. You just cut out the important part of the board and it's pretty small.
I have alot of other ideas but haven't hatched them out yet.
That seems like the way to go. If I get a few extra minutes I'll do some experimenting.
I just replaced the 5V regulator with a 3.3V one. The processor runs fine on 3.3 and the servos are still supplied by the batt main voltage. The servos run fine with the 3.3V control levels. All that I found that doesn't work is the IR.
I went to 3.3V because the interface devices I'm planning on going with are 3.3V (like the BlueRadios BT module) and the accelerometer I have. Plus I save a "little bit" on battery juice.
Speaking of batterys, I am switching over to a 3 cell Lith Poly pack (11.1V@850mAh). I have a TI DC/DC converter to regulate that down to the 6V range. I actually think it is quite safe to run at 7.5V and get a bit more torque. I have room for a bigger Lith Batt and the regulator can handle a 4 cell pack. I get slightly more running time on the Lith I have and it weighs half of what the NiMH does. See: http://www.amondotech.com/index.asp?Pag ... stom&ID=72
You could run 2 of the 850mAh 2 cell packs and get allmost twice the run time for slightly less weight than the NiMH pack.
The TI regulator is a TPS54350EVM. That's an evaluation module you can get for like $10 from TI. You just cut out the important part of the board and it's pretty small.
I have alot of other ideas but haven't hatched them out yet.
subpilot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Post by Pev » Mon Feb 27, 2006 10:11 pm

Post by Pev
Mon Feb 27, 2006 10:11 pm

Gents (and Ladies where applicable)

I know bluetooth is one approach but has anyone considered something such as the following:

http://www.active-robots.com/products/radio-solutions/miniature-radio.shtml

not bluetooth but a simple interface (RS232) that could be used with the ETX and ERX ports? They are small and seem to be pretty versatile.

Pev
Gents (and Ladies where applicable)

I know bluetooth is one approach but has anyone considered something such as the following:

http://www.active-robots.com/products/radio-solutions/miniature-radio.shtml

not bluetooth but a simple interface (RS232) that could be used with the ETX and ERX ports? They are small and seem to be pretty versatile.

Pev
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by subpilot » Tue Feb 28, 2006 3:25 am

Post by subpilot
Tue Feb 28, 2006 3:25 am

I had considered alternative radio links but I settled on Bluetooth so I wouldn't have a clunky interface hanging off my Laptop. Plus I can run the robot from my Pocket PC. Those boards are also quite a bit larger than the BT module and need an antenna. Plus I think Bluetooth is just sexier :roll:
I didn't look at the specs on your module but generally those radio modules need a RTS line to handle handshaking and aren't full duplex.
I had considered alternative radio links but I settled on Bluetooth so I wouldn't have a clunky interface hanging off my Laptop. Plus I can run the robot from my Pocket PC. Those boards are also quite a bit larger than the BT module and need an antenna. Plus I think Bluetooth is just sexier :roll:
I didn't look at the specs on your module but generally those radio modules need a RTS line to handle handshaking and aren't full duplex.
subpilot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Post by Pev » Tue Feb 28, 2006 11:34 am

Post by Pev
Tue Feb 28, 2006 11:34 am

Just had a look at the BlueSMiRF module and it does look ideal. Very neat and compact. Can't find anyone that sells one over here - blast it!!!!
Just had a look at the BlueSMiRF module and it does look ideal. Very neat and compact. Can't find anyone that sells one over here - blast it!!!!
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by robosavvy » Tue Feb 28, 2006 5:04 pm

Post by robosavvy
Tue Feb 28, 2006 5:04 pm

We thought of stocking it but it didn't make commercial sense so far.

You can order it from Sparkfun and they will ship it from USA and you probably wont even pay VAT on such a small invoice.

USB - bluetooth sticks can be bought also from Sparkfun. You can find on ebay.co.uk ones branded Billionton for example, that cost a total of 10GBP including shipping.
We thought of stocking it but it didn't make commercial sense so far.

You can order it from Sparkfun and they will ship it from USA and you probably wont even pay VAT on such a small invoice.

USB - bluetooth sticks can be bought also from Sparkfun. You can find on ebay.co.uk ones branded Billionton for example, that cost a total of 10GBP including shipping.
robosavvy
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 157
Joined: Thu Oct 14, 2004 1:00 am

Post by subpilot » Thu Mar 02, 2006 6:19 pm

Post by subpilot
Thu Mar 02, 2006 6:19 pm

I have my Bluetooth link working. I have to say that I don't like RoboBasic much. The way you handle the ERX/ETX is clunky. It's OK for emulating the IR function but it doesn't look very efficient for larger data transfers. There is no way to handle interrupts for instance. Not having a debug port is also lame.
I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.
I have my Bluetooth link working. I have to say that I don't like RoboBasic much. The way you handle the ERX/ETX is clunky. It's OK for emulating the IR function but it doesn't look very efficient for larger data transfers. There is no way to handle interrupts for instance. Not having a debug port is also lame.
I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.
subpilot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Post by Pev » Thu Mar 02, 2006 10:02 pm

Post by Pev
Thu Mar 02, 2006 10:02 pm

subpilot wrote:I have my Bluetooth link working. I have to say that I don't like RoboBasic much. The way you handle the ERX/ETX is clunky. It's OK for emulating the IR function but it doesn't look very efficient for larger data transfers. There is no way to handle interrupts for instance. Not having a debug port is also lame.
I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.


WOW well you're doing better than me - I can't even get the ETX port to output anything!!!! Seem to get something on the ERX port (outgoing wierdly) that is repeatable when I send stuff to the ETX port but it's gibberish and nothing comes out of the ETX port.

Did you have any issues getting it working?
subpilot wrote:I have my Bluetooth link working. I have to say that I don't like RoboBasic much. The way you handle the ERX/ETX is clunky. It's OK for emulating the IR function but it doesn't look very efficient for larger data transfers. There is no way to handle interrupts for instance. Not having a debug port is also lame.
I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.


WOW well you're doing better than me - I can't even get the ETX port to output anything!!!! Seem to get something on the ERX port (outgoing wierdly) that is repeatable when I send stuff to the ETX port but it's gibberish and nothing comes out of the ETX port.

Did you have any issues getting it working?
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by ulliC » Thu Mar 02, 2006 10:46 pm

Post by ulliC
Thu Mar 02, 2006 10:46 pm

Pev wrote:
subpilot wrote:I have my Bluetooth link working. I have to say that I don't like RoboBasic much. The way you handle the ERX/ETX is clunky. It's OK for emulating the IR function but it doesn't look very efficient for larger data transfers. There is no way to handle interrupts for instance. Not having a debug port is also lame.
I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.


WOW well you're doing better than me - I can't even get the ETX port to output anything!!!! Seem to get something on the ERX port (outgoing wierdly) that is repeatable when I send stuff to the ETX port but it's gibberish and nothing comes out of the ETX port.

Did you have any issues getting it working?


Hi,

the diagram of the MR-C3024 controller board shows that ETX is connected to Pin2 of the ATmega128 and that's RXD0. ERX is connected to Pin3 (TXD0).
So it can't work.

Ulli
Pev wrote:
subpilot wrote:I have my Bluetooth link working. I have to say that I don't like RoboBasic much. The way you handle the ERX/ETX is clunky. It's OK for emulating the IR function but it doesn't look very efficient for larger data transfers. There is no way to handle interrupts for instance. Not having a debug port is also lame.
I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.


WOW well you're doing better than me - I can't even get the ETX port to output anything!!!! Seem to get something on the ERX port (outgoing wierdly) that is repeatable when I send stuff to the ETX port but it's gibberish and nothing comes out of the ETX port.

Did you have any issues getting it working?


Hi,

the diagram of the MR-C3024 controller board shows that ETX is connected to Pin2 of the ATmega128 and that's RXD0. ERX is connected to Pin3 (TXD0).
So it can't work.

Ulli
ulliC

Post by subpilot » Thu Mar 02, 2006 10:49 pm

Post by subpilot
Thu Mar 02, 2006 10:49 pm

Here's my setup. I'm doing downlink only so far. Note that I/O4 on the BT module is grounded per spec. Processor board is moded with a 3.3V regulator instead of the 5V one supplied.

Image

Code mod to Overall program. Replaces the IR function.

MAIN1:
'A = REMOCON(1)
ERX 9600, A, MAIN1
A = A - ID

Note: I have a real pet peeve with using RX and TX to designate serial port lines. It is not clear at all which direction your talking about and especially with the Robobasic/3024. (I prefer to use Downlink DL and Uplink UL.)
The Downlink is the BT module TX line to the ETX port on the 3024.
It's true, believe it or not ETX is the receive port. That is going by the silkscreen on the board.

I'm using Docklight to send the commands but will do a VB control app soon.
It works great! (besides the Robobasic limitations).
Here's my setup. I'm doing downlink only so far. Note that I/O4 on the BT module is grounded per spec. Processor board is moded with a 3.3V regulator instead of the 5V one supplied.

Image

Code mod to Overall program. Replaces the IR function.

MAIN1:
'A = REMOCON(1)
ERX 9600, A, MAIN1
A = A - ID

Note: I have a real pet peeve with using RX and TX to designate serial port lines. It is not clear at all which direction your talking about and especially with the Robobasic/3024. (I prefer to use Downlink DL and Uplink UL.)
The Downlink is the BT module TX line to the ETX port on the 3024.
It's true, believe it or not ETX is the receive port. That is going by the silkscreen on the board.

I'm using Docklight to send the commands but will do a VB control app soon.
It works great! (besides the Robobasic limitations).
subpilot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 146
Joined: Sat Feb 25, 2006 1:00 am
Location: Lake Arrowhead, Ca,USA

Post by limor » Fri Mar 03, 2006 12:45 am

Post by limor
Fri Mar 03, 2006 12:45 am

subpilot wrote:I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.


Love your grand plan!
PC based feedback control is the way to go.

What's missing:
  • real-time reading, 20 times/sec of the servo positions to the PC
  • real-time reading 20 times/sec current consumption on every servo to PC
  • 5 position adjustments/sec from the PC
  • something a bit faster than serial interface to relay back and forth the feedback loop


for a master controler board also check out gumstix.com
subpilot wrote:I'm now thinking that I need to use the 3024 board as a slave that just does the servo functions and put a Rabbit or ? micro onboard for the master.
My grand plan is to have a fully automous setup with the robot controller just sending sensor data back via the BT link to a PC. The PC would do the sensor processing and decision making and send control commands back to the robot controller.


Love your grand plan!
PC based feedback control is the way to go.

What's missing:
  • real-time reading, 20 times/sec of the servo positions to the PC
  • real-time reading 20 times/sec current consumption on every servo to PC
  • 5 position adjustments/sec from the PC
  • something a bit faster than serial interface to relay back and forth the feedback loop


for a master controler board also check out gumstix.com
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Next
59 postsPage 1 of 41, 2, 3, 4
59 postsPage 1 of 41, 2, 3, 4