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

Bioloid I/O firmware

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
42 postsPage 1 of 31, 2, 3
42 postsPage 1 of 31, 2, 3

Bioloid I/O firmware

Post by pepperm » Sun Jan 28, 2007 2:55 pm

Post by pepperm
Sun Jan 28, 2007 2:55 pm

Hi
This is a new thread to capture the development of the firmware for the Bioloid I/O interface.

Limor and I are trying to make a Bioloid I/O module that would sit on the
1Mbit bus and provide extended I/O functionality to the Bioloid. We are
thinking of providing things like extra I/O to control whatever takes your
fancy or allows interfacing to other interface types such as i2C. Maybe the
unit could be used to get input from other sensor types such as a compass, gyro or sonar unit. Details of the hardware are published here [url]
http://robosavvy.com/modules.php?name=F ... ht=bioloid.[/url]

So far we have some code that is able to spot data being sent on the bus
but we are making very slow progress getting any further. Limor has some code in C and I have some in BASCOM AVR here: http://robosavvy.com/Builders/pepperm/Bioloid%20UART%20test%20V5.zip that flashes an LED when data is seen on the bus.

Billyzelsnack says:
Sure. I'll help out. Looks like your plans are very much in line with mine. I basically want to hang sensors off the normal Dynamixel bus. Specifically I want to make an interface that'll accept a standard RC gyro.

My background is PC based software, but I am starting to get the hang of this uC stuff. As for circuit design. hahah. Let's just not talk about my progress with that!


So here we go.....

Let me know what you think of the code and Limor, would you make your C code available and perhaps detail any progress you have made please here.

Anyone else fancy helping please?

Mark [/url]
Hi
This is a new thread to capture the development of the firmware for the Bioloid I/O interface.

Limor and I are trying to make a Bioloid I/O module that would sit on the
1Mbit bus and provide extended I/O functionality to the Bioloid. We are
thinking of providing things like extra I/O to control whatever takes your
fancy or allows interfacing to other interface types such as i2C. Maybe the
unit could be used to get input from other sensor types such as a compass, gyro or sonar unit. Details of the hardware are published here [url]
http://robosavvy.com/modules.php?name=F ... ht=bioloid.[/url]

So far we have some code that is able to spot data being sent on the bus
but we are making very slow progress getting any further. Limor has some code in C and I have some in BASCOM AVR here: http://robosavvy.com/Builders/pepperm/Bioloid%20UART%20test%20V5.zip that flashes an LED when data is seen on the bus.

Billyzelsnack says:
Sure. I'll help out. Looks like your plans are very much in line with mine. I basically want to hang sensors off the normal Dynamixel bus. Specifically I want to make an interface that'll accept a standard RC gyro.

My background is PC based software, but I am starting to get the hang of this uC stuff. As for circuit design. hahah. Let's just not talk about my progress with that!


So here we go.....

Let me know what you think of the code and Limor, would you make your C code available and perhaps detail any progress you have made please here.

Anyone else fancy helping please?

Mark [/url]
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by Pev » Sun Jan 28, 2007 3:03 pm

Post by Pev
Sun Jan 28, 2007 3:03 pm

I think this is great and going to be awesome when you have it working, I just wish I had the coding skills to assist.

Pev
I think this is great and going to be awesome when you have it working, I just wish I had the coding skills to assist.

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by pepperm » Sun Jan 28, 2007 3:41 pm

Post by pepperm
Sun Jan 28, 2007 3:41 pm

Well Pev, I'm not a coder either, I don't seem to have the patience or mental agility these days. Everything takes longer than planned :D

I think though that if we can develop some commands that the CM-5 can use to set outputs and request input we would be making a start. The board we have so far has some I/O on a connector to work with. Later I can produce another board with maybe a PCF8574 on it. Then we can develop some I2C routines.

Initially we can aim to turn LEDs on by command from the Behaviour control software and read the state of some of the pins in a similar way. We can then start to maybe measure pulse width from gyros or interface directly to a 2 or 3 axis gyro chip like the MX2125. We could even output servo pulses for more conventional servos to operate from or PWM for DC motors (this should be easy since the Mega 8 has on chip PWM generators and I have lots of circuits that drive DC motors from my RobotWars days).

I don't anticipate doing all these things in one Bioloid I/O module but think we could do quite a lot in a Mega8 MPU. We could have maybe the following modules: Basic I/O, I2C, PWM, low baudrate serial (TTL or RS232).

First of all though we need to develop the code to read the command stream comming from the CM-5 and be able to send replies as a response. We need some code that will hear its own ID and reply to a command sent.

Mark

Mark
Well Pev, I'm not a coder either, I don't seem to have the patience or mental agility these days. Everything takes longer than planned :D

I think though that if we can develop some commands that the CM-5 can use to set outputs and request input we would be making a start. The board we have so far has some I/O on a connector to work with. Later I can produce another board with maybe a PCF8574 on it. Then we can develop some I2C routines.

Initially we can aim to turn LEDs on by command from the Behaviour control software and read the state of some of the pins in a similar way. We can then start to maybe measure pulse width from gyros or interface directly to a 2 or 3 axis gyro chip like the MX2125. We could even output servo pulses for more conventional servos to operate from or PWM for DC motors (this should be easy since the Mega 8 has on chip PWM generators and I have lots of circuits that drive DC motors from my RobotWars days).

I don't anticipate doing all these things in one Bioloid I/O module but think we could do quite a lot in a Mega8 MPU. We could have maybe the following modules: Basic I/O, I2C, PWM, low baudrate serial (TTL or RS232).

First of all though we need to develop the code to read the command stream comming from the CM-5 and be able to send replies as a response. We need some code that will hear its own ID and reply to a command sent.

Mark

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by billyzelsnack » Sun Jan 28, 2007 5:13 pm

Post by billyzelsnack
Sun Jan 28, 2007 5:13 pm

So I'm thinking that we could just coop some of the instructions from AX-S1 instruction set. Maybe use the Remocon data 0 and data 1 slots so we can return 16 bit data. Doing it this way will allow use of the default cm-5 firmware and the behavior tool.

So the code on the atmega8 would need to read in a packet, if the id matches then read a gpio or do whatever is supposed to happen for a given address and return a reply.

What kind of circuit programmer would I need to program your circuit?

Would it be possible to borrow or buy a board from you? Otherwise I'll go ahead and place an order to mouser and put one together.
So I'm thinking that we could just coop some of the instructions from AX-S1 instruction set. Maybe use the Remocon data 0 and data 1 slots so we can return 16 bit data. Doing it this way will allow use of the default cm-5 firmware and the behavior tool.

So the code on the atmega8 would need to read in a packet, if the id matches then read a gpio or do whatever is supposed to happen for a given address and return a reply.

What kind of circuit programmer would I need to program your circuit?

Would it be possible to borrow or buy a board from you? Otherwise I'll go ahead and place an order to mouser and put one together.
billyzelsnack
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by pepperm » Sun Jan 28, 2007 8:46 pm

Post by pepperm
Sun Jan 28, 2007 8:46 pm

Yes, keeping the CM-5 intact firmware wise is my plan too. I want to use the PC tools you see, certainly until a better system is produced (failing that at least a print function).

To program the Bioloid I/O module you will need a Atmel AVR compatible SPI programmer such as the STK500 or compatible. I started with a PonyProg interface that I made myself. Have a browse through http://www.lancos.com/prog.html for some ideas. I got my STK500 in the UK for £30 from somewhere and it is fantasic. There are many AVR programmers around though. The Bioloid I/O in its current form has the simple 6 pin SPI prog connection that is fairly standard these days.

Mark
Yes, keeping the CM-5 intact firmware wise is my plan too. I want to use the PC tools you see, certainly until a better system is produced (failing that at least a print function).

To program the Bioloid I/O module you will need a Atmel AVR compatible SPI programmer such as the STK500 or compatible. I started with a PonyProg interface that I made myself. Have a browse through http://www.lancos.com/prog.html for some ideas. I got my STK500 in the UK for £30 from somewhere and it is fantasic. There are many AVR programmers around though. The Bioloid I/O in its current form has the simple 6 pin SPI prog connection that is fairly standard these days.

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by Pev » Sun Jan 28, 2007 9:01 pm

Post by Pev
Sun Jan 28, 2007 9:01 pm

Mark,

Would this programmer be ok?

http://www.active-robots.com/products/controllr/avr-downloader.shtml

Cheers

Pev
Mark,

Would this programmer be ok?

http://www.active-robots.com/products/controllr/avr-downloader.shtml

Cheers

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by pepperm » Sun Jan 28, 2007 9:54 pm

Post by pepperm
Sun Jan 28, 2007 9:54 pm

Yep it would. I don't like parallel programmers though because most of my PCs these days don't have parallel ports (they are laptops). I have also had problems with incompatible parallel ports in the past. Serial is generally more expensive but, in my case, more flexible. I first has success with this design http://www.lancos.com/siprogsch.html after having much pain with parallel interfaces. I haven't tried the Active Robots interface but the people there are great so it must work. I have a PCB for lancos design if anyone is interested. You would only need the "Base Board" bit and an appropriate cable. and on the "Base Board" you only need the circuity connected to pins 1, 2, 4, 5, 6 and 10, and then only pin 1 if your external circuit provides 5V.

I note that the programming cable has the 10pin connector but the I/O board has a 6 pin connector. A conversion cable would be needed. All the pins are there just in a different order. I can give details of the 2 connections too if needed.

Mark
Yep it would. I don't like parallel programmers though because most of my PCs these days don't have parallel ports (they are laptops). I have also had problems with incompatible parallel ports in the past. Serial is generally more expensive but, in my case, more flexible. I first has success with this design http://www.lancos.com/siprogsch.html after having much pain with parallel interfaces. I haven't tried the Active Robots interface but the people there are great so it must work. I have a PCB for lancos design if anyone is interested. You would only need the "Base Board" bit and an appropriate cable. and on the "Base Board" you only need the circuity connected to pins 1, 2, 4, 5, 6 and 10, and then only pin 1 if your external circuit provides 5V.

I note that the programming cable has the 10pin connector but the I/O board has a 6 pin connector. A conversion cable would be needed. All the pins are there just in a different order. I can give details of the 2 connections too if needed.

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by pepperm » Sun Jan 28, 2007 10:11 pm

Post by pepperm
Sun Jan 28, 2007 10:11 pm

Here is a programmer on Ebay http://cgi.ebay.co.uk/Serial-Atmel-ISP-programmer-works-with-AVR-Studio-4_W0QQitemZ120079502907QQihZ002QQcategoryZ36323QQssPageNameZWDVWQQrdZ1QQcmdZViewItem. £13 isn't bad at all to be honest. Ships from Bulgaria though so not sure how long it will take.

Here is my PonyProg compatible PCB in Eagle format http://robosavvy.com/Builders/pepperm/AVR%20ISP%20Programmer.zip. I have used the more complex design but not the base design. It should work though.

Mark
Here is a programmer on Ebay http://cgi.ebay.co.uk/Serial-Atmel-ISP-programmer-works-with-AVR-Studio-4_W0QQitemZ120079502907QQihZ002QQcategoryZ36323QQssPageNameZWDVWQQrdZ1QQcmdZViewItem. £13 isn't bad at all to be honest. Ships from Bulgaria though so not sure how long it will take.

Here is my PonyProg compatible PCB in Eagle format http://robosavvy.com/Builders/pepperm/AVR%20ISP%20Programmer.zip. I have used the more complex design but not the base design. It should work though.

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by pepperm » Sun Jan 28, 2007 10:25 pm

Post by pepperm
Sun Jan 28, 2007 10:25 pm

here are the pinouts of the 2 types of connector. As you can see the 10pin version wasts a lot of space on a PCB. The 6pin headers are harder to get though.
Image

Mark
here are the pinouts of the 2 types of connector. As you can see the 10pin version wasts a lot of space on a PCB. The 6pin headers are harder to get though.
Image

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by Bullit » Sun Jan 28, 2007 10:51 pm

Post by Bullit
Sun Jan 28, 2007 10:51 pm

I like this one.

It includes free shipping.
I like this one.

It includes free shipping.
Image
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by Pev » Sun Jan 28, 2007 11:01 pm

Post by Pev
Sun Jan 28, 2007 11:01 pm

Mark,

Do you have any boards available we can buy, be they just the PCB or a fully built unit? If not it's no problem, just know my soldering skills are a little rusty (as are my skills at reading schematics)

Cheers

Pev

PS - if not any recomendations as to where to purchase the AMTEL in DIPP format.
Mark,

Do you have any boards available we can buy, be they just the PCB or a fully built unit? If not it's no problem, just know my soldering skills are a little rusty (as are my skills at reading schematics)

Cheers

Pev

PS - if not any recomendations as to where to purchase the AMTEL in DIPP format.
Carl
-------------------------
www.alt-view.co.uk
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by pepperm » Sun Jan 28, 2007 11:21 pm

Post by pepperm
Sun Jan 28, 2007 11:21 pm

Which boards, programmer or Bioloid I/O.

I have neither (on the shelf so to speak) but could maybe knock some up. I could change the 6pin connector to the 10pin one if it makes things easier then you could use the cheap commercially available programmers. There are surface mounted components (all resistors/capacitors and 74HC126) on my I/O board but I could redesign without them I guess.

How many are we talking?

Mark
Which boards, programmer or Bioloid I/O.

I have neither (on the shelf so to speak) but could maybe knock some up. I could change the 6pin connector to the 10pin one if it makes things easier then you could use the cheap commercially available programmers. There are surface mounted components (all resistors/capacitors and 74HC126) on my I/O board but I could redesign without them I guess.

How many are we talking?

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by pepperm » Sun Jan 28, 2007 11:24 pm

Post by pepperm
Sun Jan 28, 2007 11:24 pm

Bullit wrote:I like this one.

It includes free shipping.


It looks nice, very nice indeed, but is it available in the UK?

Mark
Bullit wrote:I like this one.

It includes free shipping.


It looks nice, very nice indeed, but is it available in the UK?

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Post by Pev » Sun Jan 28, 2007 11:56 pm

Post by Pev
Sun Jan 28, 2007 11:56 pm

pepperm wrote:Which boards, programmer or Bioloid I/O.

I have neither (on the shelf so to speak) but could maybe knock some up. I could change the 6pin connector to the 10pin one if it makes things easier then you could use the cheap commercially available programmers. There are surface mounted components (all resistors/capacitors and 74HC126) on my I/O board but I could redesign without them I guess.

How many are we talking?

Mark


Mark,

I really just want to get a working Bioloid I/O module up and running so I can do some work on the programming of it. With the stuff you have posted I have some ideas.

If needs be I'll build something off your schematic

Pev
pepperm wrote:Which boards, programmer or Bioloid I/O.

I have neither (on the shelf so to speak) but could maybe knock some up. I could change the 6pin connector to the 10pin one if it makes things easier then you could use the cheap commercially available programmers. There are surface mounted components (all resistors/capacitors and 74HC126) on my I/O board but I could redesign without them I guess.

How many are we talking?

Mark


Mark,

I really just want to get a working Bioloid I/O module up and running so I can do some work on the programming of it. With the stuff you have posted I have some ideas.

If needs be I'll build something off your schematic

Pev
Carl
-------------------------
www.alt-view.co.uk
Pev
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 547
Joined: Sun Feb 26, 2006 1:00 am
Location: UK

Post by pepperm » Mon Jan 29, 2007 12:05 am

Post by pepperm
Mon Jan 29, 2007 12:05 am

OK, If you need a PCB though I can knock you one up if you can populate it.

Mark
OK, If you need a PCB though I can knock you one up if you can populate it.

Mark
pepperm
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 190
Joined: Sat Jul 01, 2006 1:00 am

Next
42 postsPage 1 of 31, 2, 3
42 postsPage 1 of 31, 2, 3