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

Prototype I/O Board Software Query

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
12 postsPage 1 of 1
12 postsPage 1 of 1

Prototype I/O Board Software Query

Post by Dewey » Wed Jul 04, 2007 3:47 pm

Post by Dewey
Wed Jul 04, 2007 3:47 pm

Some may have read my moan about a lack of an I/O unit from Robotis.

I am now convinced that in the short term at least Robotis are not going to launch one and that I would have to build one, thanks for the push Limor!

Well I have the board prototyped, big thank you Mark for all the design work. I have gone for no surface mounts, at least in this prototype, for ease of construction. I have added a header socket for each I/O line, the header socket provides +5v to power the sensors, I already have a number including accelerometers from previous projects that use this simple and cheap plug and socket arrangement (aka MIT Crickets).

I have installed Win AVR and I am awaiting delivery of a programmer before I can proceed.

I have a question concerning the test software ( I guess Limor has the answer?):

When I ‘build all’ of Limor’s Demo Software a Hex file is produced, no problem. But when I compare this hex file with the hex file shipped with the Demo there are differences. They start the same but after a few lines differences start to show. Overall the two hex files are of similar length. Is this a problem? Am I missing something?

Picture below of the board alongside an AX12 for size comparison. Not the smallest possible but OK for prototyping. An unwired header plug is shown at bottom left.

Image


Dewey
Some may have read my moan about a lack of an I/O unit from Robotis.

I am now convinced that in the short term at least Robotis are not going to launch one and that I would have to build one, thanks for the push Limor!

Well I have the board prototyped, big thank you Mark for all the design work. I have gone for no surface mounts, at least in this prototype, for ease of construction. I have added a header socket for each I/O line, the header socket provides +5v to power the sensors, I already have a number including accelerometers from previous projects that use this simple and cheap plug and socket arrangement (aka MIT Crickets).

I have installed Win AVR and I am awaiting delivery of a programmer before I can proceed.

I have a question concerning the test software ( I guess Limor has the answer?):

When I ‘build all’ of Limor’s Demo Software a Hex file is produced, no problem. But when I compare this hex file with the hex file shipped with the Demo there are differences. They start the same but after a few lines differences start to show. Overall the two hex files are of similar length. Is this a problem? Am I missing something?

Picture below of the board alongside an AX12 for size comparison. Not the smallest possible but OK for prototyping. An unwired header plug is shown at bottom left.

Image


Dewey
Dewey
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 78
Joined: Sat May 12, 2007 1:17 pm
Location: Worcester UK

Post by limor » Thu Jul 19, 2007 12:22 am

Post by limor
Thu Jul 19, 2007 12:22 am

hi, sorry I haven't replied previously. How is the board progressing?
have you written better software for it?
regarding the hex file there may be a slight difference in the gcc version or linker..
hi, sorry I haven't replied previously. How is the board progressing?
have you written better software for it?
regarding the hex file there may be a slight difference in the gcc version or linker..
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by Dewey » Sat Jul 28, 2007 9:12 am

Post by Dewey
Sat Jul 28, 2007 9:12 am

My version of the Pepper I/O board is now all working. A couple of observations on the Pepper I/O Circuit (Version 09/01/2007):

1. My AVRMK2 USB Programmer sometimes failed to program. It appears to be the R4/C2 timeconstant, reducing C2 from 100nF to 10nf cured the problem.

2. C1 and C3 the 33pF Tank Oscillator capacitors were too large such that the oscillator failed to oscillate. My boards are running with no C1 and C3 installed, assume there is enough printed circuit board capacitance. In any event Atmel recommend a range of 12 to 22pF.


I have extended Lamor's Demonstration software. The software makes all 6 ADC Channel available, I hope the code and comments in file cjm_main10bit.c make its operation and use clear.

http://robosavvy.com/Builders/Dewey/CJMIO.zip


Dewey
My version of the Pepper I/O board is now all working. A couple of observations on the Pepper I/O Circuit (Version 09/01/2007):

1. My AVRMK2 USB Programmer sometimes failed to program. It appears to be the R4/C2 timeconstant, reducing C2 from 100nF to 10nf cured the problem.

2. C1 and C3 the 33pF Tank Oscillator capacitors were too large such that the oscillator failed to oscillate. My boards are running with no C1 and C3 installed, assume there is enough printed circuit board capacitance. In any event Atmel recommend a range of 12 to 22pF.


I have extended Lamor's Demonstration software. The software makes all 6 ADC Channel available, I hope the code and comments in file cjm_main10bit.c make its operation and use clear.

http://robosavvy.com/Builders/Dewey/CJMIO.zip


Dewey
Dewey
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 78
Joined: Sat May 12, 2007 1:17 pm
Location: Worcester UK

Post by limor » Mon Jul 30, 2007 8:26 pm

Post by limor
Mon Jul 30, 2007 8:26 pm

Thanks for sharing!!
.. and for documenting your code. :lol:
Thanks for sharing!!
.. and for documenting your code. :lol:
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by quickster47 » Sun Oct 07, 2007 2:39 am

Post by quickster47
Sun Oct 07, 2007 2:39 am

Did this extended I/O board ever become available?

Carl
Did this extended I/O board ever become available?

Carl
quickster47
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Sat Sep 22, 2007 5:57 pm

Post by Dewey » Sun Oct 07, 2007 6:15 pm

Post by Dewey
Sun Oct 07, 2007 6:15 pm

The board pictured is just a prototype pcb that I built. The circuit is Mark Pepper's design. In its present form its not 'production' standard.

Jon Hylands has produced boards which are, they use surface mount devices which as well as asthetically more pleasing result in a smaller size.

If anyone really wants to quickly 'knock together' this design I can scan the pcb layout and post it here.

Dewey
The board pictured is just a prototype pcb that I built. The circuit is Mark Pepper's design. In its present form its not 'production' standard.

Jon Hylands has produced boards which are, they use surface mount devices which as well as asthetically more pleasing result in a smaller size.

If anyone really wants to quickly 'knock together' this design I can scan the pcb layout and post it here.

Dewey
Dewey
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 78
Joined: Sat May 12, 2007 1:17 pm
Location: Worcester UK

Post by quickster47 » Sun Oct 07, 2007 8:44 pm

Post by quickster47
Sun Oct 07, 2007 8:44 pm

Dewey,

Thanks for your reply. Sure is a shame that no one from Robotis has come up with a generic I/O board just yet. But maybe in the near future.

I also recognized your avatar from the 1972 SF move 'Silent Running' starring Bruce Dern and others. Great movie and a great message.

Carl
Dewey,

Thanks for your reply. Sure is a shame that no one from Robotis has come up with a generic I/O board just yet. But maybe in the near future.

I also recognized your avatar from the 1972 SF move 'Silent Running' starring Bruce Dern and others. Great movie and a great message.

Carl
quickster47
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Sat Sep 22, 2007 5:57 pm

Re: Prototype I/O Board Software Query

Post by bootstrap » Wed Sep 03, 2008 7:17 pm

Post by bootstrap
Wed Sep 03, 2008 7:17 pm

Dewey wrote:
Image


Dewey


Dear Dewey,

Were you able to run the AX-12 using the Atmega8?Please tell me how to?I would like to learn
Dewey wrote:
Image


Dewey


Dear Dewey,

Were you able to run the AX-12 using the Atmega8?Please tell me how to?I would like to learn
bootstrap
Robot Builder
Robot Builder
Posts: 13
Joined: Wed Sep 03, 2008 7:01 pm

Post by Dewey » Thu Sep 11, 2008 7:18 pm

Post by Dewey
Thu Sep 11, 2008 7:18 pm

Hi Bootstrap

The board and software 'talks' to the CM5 to provide an analogue link to the external world. I have used it to read the analogue output from accelerometers mounted on a bioloid robot. The CM5 reads info from the board. The board is not designed to actually talk to an AX12, its just a sensory board.

Of course since the board can talk/listen to the bus it could talk direct to AX12s if you programmed it to do so. I have not done this.

Dewey
Hi Bootstrap

The board and software 'talks' to the CM5 to provide an analogue link to the external world. I have used it to read the analogue output from accelerometers mounted on a bioloid robot. The CM5 reads info from the board. The board is not designed to actually talk to an AX12, its just a sensory board.

Of course since the board can talk/listen to the bus it could talk direct to AX12s if you programmed it to do so. I have not done this.

Dewey
Dewey
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 78
Joined: Sat May 12, 2007 1:17 pm
Location: Worcester UK

Post by Julienne » Fri Jun 10, 2011 11:10 pm

Post by Julienne
Fri Jun 10, 2011 11:10 pm

Hi everyone,

I need to use gyroscopes in my project with CM-5 so I did myself a PCB.

I used the pepper schematic and only made changes to the connectors - I tried to imitate your PCB - and the capacitors as you mentioned.

I flashed the ATMega8 with a universal programmer where you plug the micro-controller in (we don't have 6 or 10 pins connector in my school) and used your .hex file (CJMIO).

I'm facing problem : when everything is connected, impossible to find the device with roboterminal (in supervisor mode, X to scan) or in roboplusmanager BUT the led is blinking (and only when scanning).

So I guess the communication is effective but I can't understand why the device don't have any ID.

Do you have any idea what could be the problem ?

I checked every connection of my PCB.




One side question : you have 8 connectors, 6 linked to the ADC entrance of the ATMega 8 and two others. What are their purpose ? When connecting an gyroscope, I'm supposed to connect it to the ADC I guess ?

Last side question : you called your program "10 bits ..." but when reading the forum I found that to achieve this, we have to use an external voltage ref connected to the Aref (else, we only have 8 bits). I checked your PCB but I didn't saw that, only regular connection (exactly like the pepper schematic and so, like my board). Is it normal ?


Thank you for reading.
Hi everyone,

I need to use gyroscopes in my project with CM-5 so I did myself a PCB.

I used the pepper schematic and only made changes to the connectors - I tried to imitate your PCB - and the capacitors as you mentioned.

I flashed the ATMega8 with a universal programmer where you plug the micro-controller in (we don't have 6 or 10 pins connector in my school) and used your .hex file (CJMIO).

I'm facing problem : when everything is connected, impossible to find the device with roboterminal (in supervisor mode, X to scan) or in roboplusmanager BUT the led is blinking (and only when scanning).

So I guess the communication is effective but I can't understand why the device don't have any ID.

Do you have any idea what could be the problem ?

I checked every connection of my PCB.




One side question : you have 8 connectors, 6 linked to the ADC entrance of the ATMega 8 and two others. What are their purpose ? When connecting an gyroscope, I'm supposed to connect it to the ADC I guess ?

Last side question : you called your program "10 bits ..." but when reading the forum I found that to achieve this, we have to use an external voltage ref connected to the Aref (else, we only have 8 bits). I checked your PCB but I didn't saw that, only regular connection (exactly like the pepper schematic and so, like my board). Is it normal ?


Thank you for reading.
Julienne
Newbie
Newbie
Posts: 4
Joined: Mon Apr 11, 2011 4:27 pm

I/O Board Problems

Post by Dewey » Sat Jun 11, 2011 8:27 am

Post by Dewey
Sat Jun 11, 2011 8:27 am

To answer yout 8 connector query. The 8 plugs connect to the 8 pins as shown in the Pepper Circuit (dated 08/01/07). Each 4 pin plug is wired as follows, Arduino Input, no connection,+5v, 0V.

Concerning the Aref, the Aref pin(Atmega8 pin21) it is tied to an external reference, the +5v supply! The purpose of this pin is so a designer can provide a more stable reference if the application demands it. The 8 or 10 bit resolution is selected via software!

Difficult to remotely diagnose whats wrong with your board, I can confirm that both a CM5 and CM510 see my board and I can use it with no problems from both C and roboplus programs.

I would connect it to a CM5 or CM510 and view the communications between it with an oscilloscope, better still a logic analyser if you have access to one.

I'm pretty sure the hex file I provided is 'good' and set to an ID of 69 but would suggest you do a recompile and fresh download.

Success comes from facing repeated failure with enthusiasm - Winston Churchill

Good Luck
To answer yout 8 connector query. The 8 plugs connect to the 8 pins as shown in the Pepper Circuit (dated 08/01/07). Each 4 pin plug is wired as follows, Arduino Input, no connection,+5v, 0V.

Concerning the Aref, the Aref pin(Atmega8 pin21) it is tied to an external reference, the +5v supply! The purpose of this pin is so a designer can provide a more stable reference if the application demands it. The 8 or 10 bit resolution is selected via software!

Difficult to remotely diagnose whats wrong with your board, I can confirm that both a CM5 and CM510 see my board and I can use it with no problems from both C and roboplus programs.

I would connect it to a CM5 or CM510 and view the communications between it with an oscilloscope, better still a logic analyser if you have access to one.

I'm pretty sure the hex file I provided is 'good' and set to an ID of 69 but would suggest you do a recompile and fresh download.

Success comes from facing repeated failure with enthusiasm - Winston Churchill

Good Luck
Dewey
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 78
Joined: Sat May 12, 2007 1:17 pm
Location: Worcester UK

Post by i-Bot » Sun Jun 12, 2011 9:39 am

Post by i-Bot
Sun Jun 12, 2011 9:39 am

Are you sure your fuse bits are set correctly when you program the AtMega ?
Are you sure your fuse bits are set correctly when you program the AtMega ?
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am


12 postsPage 1 of 1
12 postsPage 1 of 1