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

General I/O Module - Any Interest?

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

General I/O Module - Any Interest?

Post by JonHylands » Fri Aug 17, 2007 4:04 pm

Post by JonHylands
Fri Aug 17, 2007 4:04 pm

So, it has come to my attention that at least one person wants a general I/O module. I have one that I did as part of the work I'm doing with Brain Engineering, so I thought I would offer it up here and see if anyone wants to buy one.

Image

for a larger image:

http://robosavvy.com/Builders/JonHylands/SensorBoard-01.jpg

The micro-controller is an ATmega168, running the same basic Bioloid device software my other devices run.

The board connectors are as follows:

The six 3-pin sockets at the top are analog inputs. Each 3-pin socket has analog in, power, and ground.

The four 3-pin sockets in the lower right are digital I/O's. Each 3-pin socket has digital in/out, power, and ground.

The five-pin connector immediately to the left of the Digital I/O's is the motor drive, which has two PWM pins, two direction pins, and ground. It is set up for doing sign magnitude PWM.

The six-pin header in the upper right is of course the programming header. There are two Bioloid bus connectors, and a jumper for the Tx/Rx pins (in case you want to turn this into a receive-only board. The LED is hooked up like a normal Bioloid LED.

The voltage regulator is at the top left, and will be available in either 3.3 volt or 5 volt, depending on what sensors you want to hook up.

The control table looks like this:

00 - Model # (2 bytes)
02 - Firmware Version
03 - ID
04 - Baud Rate
05 - Return Delay Time
16 - Status Return Level
25 - LED
26 - Analog Input 0 (2 bytes)
28 - Analog Input 1 (2 bytes)
30 - Analog Input 2 (2 bytes)
32 - Analog Input 3 (2 bytes)
34 - Analog Input 4 (2 bytes)
36 - Analog Input 5 (2 bytes)
38 - Digital 0 Direction
39 - Digital 0 Input/Output
40 - Digital 1 Direction
41 - Digital 1 Input/Output
42 - Digital 2 Direction
43 - Digital 2 Input/Output
44 - Digital 3 Direction
45 - Digital 3 Input/Output
46 - Motor A Speed (2 bytes)
48 - Motor B Speed (2 bytes)

I have to do a cost analysis to figure out exactly what the part cost is, but I estimate this board would probably sell for the same as the basic IMU module ($50).

If you are interested in getting one of these boards, please reply to this message. If there are more than a couple people interested, I'll order some proper boards, and add this board to my commercial site (http://www.huvrobotics.com).

- Jon
So, it has come to my attention that at least one person wants a general I/O module. I have one that I did as part of the work I'm doing with Brain Engineering, so I thought I would offer it up here and see if anyone wants to buy one.

Image

for a larger image:

http://robosavvy.com/Builders/JonHylands/SensorBoard-01.jpg

The micro-controller is an ATmega168, running the same basic Bioloid device software my other devices run.

The board connectors are as follows:

The six 3-pin sockets at the top are analog inputs. Each 3-pin socket has analog in, power, and ground.

The four 3-pin sockets in the lower right are digital I/O's. Each 3-pin socket has digital in/out, power, and ground.

The five-pin connector immediately to the left of the Digital I/O's is the motor drive, which has two PWM pins, two direction pins, and ground. It is set up for doing sign magnitude PWM.

The six-pin header in the upper right is of course the programming header. There are two Bioloid bus connectors, and a jumper for the Tx/Rx pins (in case you want to turn this into a receive-only board. The LED is hooked up like a normal Bioloid LED.

The voltage regulator is at the top left, and will be available in either 3.3 volt or 5 volt, depending on what sensors you want to hook up.

The control table looks like this:

00 - Model # (2 bytes)
02 - Firmware Version
03 - ID
04 - Baud Rate
05 - Return Delay Time
16 - Status Return Level
25 - LED
26 - Analog Input 0 (2 bytes)
28 - Analog Input 1 (2 bytes)
30 - Analog Input 2 (2 bytes)
32 - Analog Input 3 (2 bytes)
34 - Analog Input 4 (2 bytes)
36 - Analog Input 5 (2 bytes)
38 - Digital 0 Direction
39 - Digital 0 Input/Output
40 - Digital 1 Direction
41 - Digital 1 Input/Output
42 - Digital 2 Direction
43 - Digital 2 Input/Output
44 - Digital 3 Direction
45 - Digital 3 Input/Output
46 - Motor A Speed (2 bytes)
48 - Motor B Speed (2 bytes)

I have to do a cost analysis to figure out exactly what the part cost is, but I estimate this board would probably sell for the same as the basic IMU module ($50).

If you are interested in getting one of these boards, please reply to this message. If there are more than a couple people interested, I'll order some proper boards, and add this board to my commercial site (http://www.huvrobotics.com).

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by BillB » Fri Aug 17, 2007 4:38 pm

Post by BillB
Fri Aug 17, 2007 4:38 pm

Oh yes please :D
Oh yes please :D
BillB
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 232
Joined: Sun Aug 06, 2006 1:00 am
Location: Hampshire, UK

Post by barbar » Sat Aug 18, 2007 11:21 pm

Post by barbar
Sat Aug 18, 2007 11:21 pm

Hi! Excellent Work! I'll take one (at least).
Hi! Excellent Work! I'll take one (at least).
barbar
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 87
Joined: Tue Apr 04, 2006 1:00 am
Location: Germany

Post by ShreddinPB » Mon Aug 20, 2007 10:45 pm

Post by ShreddinPB
Mon Aug 20, 2007 10:45 pm

count me in :)
count me in :)
ShreddinPB
Savvy Roboteer
Savvy Roboteer
Posts: 33
Joined: Thu Jun 07, 2007 2:29 am

Post by srobot » Mon Aug 20, 2007 11:33 pm

Post by srobot
Mon Aug 20, 2007 11:33 pm

Jon - Can you describe what is the difference between the two boards?

From what I can see the IMU MUST use the sparkfun sensors, but these need only regular sensors. Is that right?
Jon - Can you describe what is the difference between the two boards?

From what I can see the IMU MUST use the sparkfun sensors, but these need only regular sensors. Is that right?
Dell Latitude D520, Windows XP, 4 GB RAM, 80 GB HDD, Intel Core 2 Duo. The power that's needed!

RIBO Labs, Springing Robotic Development to a New Level
srobot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 401
Joined: Sun Dec 10, 2006 1:00 am
Location: Deep in robot parts

Post by srobot » Mon Aug 20, 2007 11:35 pm

Post by srobot
Mon Aug 20, 2007 11:35 pm

Oh yeah, and I think I'll get one! :wink:
Oh yeah, and I think I'll get one! :wink:
Dell Latitude D520, Windows XP, 4 GB RAM, 80 GB HDD, Intel Core 2 Duo. The power that's needed!

RIBO Labs, Springing Robotic Development to a New Level
srobot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 401
Joined: Sun Dec 10, 2006 1:00 am
Location: Deep in robot parts

Post by srobot » Mon Aug 20, 2007 11:44 pm

Post by srobot
Mon Aug 20, 2007 11:44 pm

Also I forgot to say that with the IMUs you have to use 1 or 2 SparkFun IMU(s) like the "gyro" and/or "gyro/Accelerometer"?

Thanks,
--Scotty
Also I forgot to say that with the IMUs you have to use 1 or 2 SparkFun IMU(s) like the "gyro" and/or "gyro/Accelerometer"?

Thanks,
--Scotty
Dell Latitude D520, Windows XP, 4 GB RAM, 80 GB HDD, Intel Core 2 Duo. The power that's needed!

RIBO Labs, Springing Robotic Development to a New Level
srobot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 401
Joined: Sun Dec 10, 2006 1:00 am
Location: Deep in robot parts

Post by srobot » Mon Aug 20, 2007 11:51 pm

Post by srobot
Mon Aug 20, 2007 11:51 pm

Well! :lol:

I forgot to ask if the SparkFun boards will work with this I/O board?

--Scotty
Well! :lol:

I forgot to ask if the SparkFun boards will work with this I/O board?

--Scotty
Dell Latitude D520, Windows XP, 4 GB RAM, 80 GB HDD, Intel Core 2 Duo. The power that's needed!

RIBO Labs, Springing Robotic Development to a New Level
srobot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 401
Joined: Sun Dec 10, 2006 1:00 am
Location: Deep in robot parts

Post by JonHylands » Tue Aug 21, 2007 12:57 am

Post by JonHylands
Tue Aug 21, 2007 12:57 am

The IMU board is for a pair of specific Sparkfun sensor boards, which are described (and linked to) on the IMU-01 page:

http://www.huvrobotics.com/IMU-01.html

The I/O board described at the top of this thread is a much more general board, which can interface to arbitrary analog sensors, and even some digital sensors.

- Jon
The IMU board is for a pair of specific Sparkfun sensor boards, which are described (and linked to) on the IMU-01 page:

http://www.huvrobotics.com/IMU-01.html

The I/O board described at the top of this thread is a much more general board, which can interface to arbitrary analog sensors, and even some digital sensors.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by srobot » Wed Aug 22, 2007 5:43 pm

Post by srobot
Wed Aug 22, 2007 5:43 pm

Jon - With this could I use the 'talk' hack for the RN-1, that was in Robot Magazine, for the Bioloid?

http://www.botmag.com/articles/01-18-06 ... peak.shtml

--Scotty
Jon - With this could I use the 'talk' hack for the RN-1, that was in Robot Magazine, for the Bioloid?

http://www.botmag.com/articles/01-18-06 ... peak.shtml

--Scotty
Dell Latitude D520, Windows XP, 4 GB RAM, 80 GB HDD, Intel Core 2 Duo. The power that's needed!

RIBO Labs, Springing Robotic Development to a New Level
srobot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 401
Joined: Sun Dec 10, 2006 1:00 am
Location: Deep in robot parts

Post by JonHylands » Wed Aug 22, 2007 6:25 pm

Post by JonHylands
Wed Aug 22, 2007 6:25 pm

No, that would not work - it requires a serial port, and I haven't put serial support into this module.

- Jon
No, that would not work - it requires a serial port, and I haven't put serial support into this module.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by Juha » Fri Aug 24, 2007 10:47 am

Post by Juha
Fri Aug 24, 2007 10:47 am

Like I mentioned earlier, I'm interested.

Just a few thoughts , in case you’re planning on updating the design.

I’d imagine that most people want/need to add an additional board to this one, which might have connectors to gyros, buttons, leds etc, whatever they want to control.

So I was just thinking about the layout, right now it might be bit difficult to snap another board on top of this one. Perhaps, the connectors could be on the other side or something.

About the size of the board, I would be great if the width could be shrink to around 25mm etc, so that the area of the board would be around the same as ax-12 top/bottom. This way the board (with additional boards on top of it) could fit for example between the legs of a bioloid humanoid.

I was thinking about reading the values from the 2 axis gyro I have + adding 3 axis accelerometer, and maybe add a compass rather than one more gyro. Perhaps also turning some status lets on/off.

The direction of digital i/o is stored in the ram? It would be nice if this was stored in the permanent memory.

In the earlier post I also wondered about the possibility to configure the pins, if you needed more digital i/o you could set one of the analog pins to that type (if possible with the AVR chip in question).

You spoke about either doing a 3.3V version or leaving the regulator out , which sounds like a good idea. If you run the ATMega with 3.3V, this probably affects the analog input (10bits spread between 0 and 3.3V), digital i/o and the serial communication to the bioloid bus? ATMega’s RX pin does not mind if it gets a higher 5V voltage? (just to be sure)

The digital output can provide enough current to light a led, right?

I think I had something else I was meaning to ask you but I forgot… well, next time then. Anyway, nice work Jon, looking forward to getting one or more of these.

--Juha
Like I mentioned earlier, I'm interested.

Just a few thoughts , in case you’re planning on updating the design.

I’d imagine that most people want/need to add an additional board to this one, which might have connectors to gyros, buttons, leds etc, whatever they want to control.

So I was just thinking about the layout, right now it might be bit difficult to snap another board on top of this one. Perhaps, the connectors could be on the other side or something.

About the size of the board, I would be great if the width could be shrink to around 25mm etc, so that the area of the board would be around the same as ax-12 top/bottom. This way the board (with additional boards on top of it) could fit for example between the legs of a bioloid humanoid.

I was thinking about reading the values from the 2 axis gyro I have + adding 3 axis accelerometer, and maybe add a compass rather than one more gyro. Perhaps also turning some status lets on/off.

The direction of digital i/o is stored in the ram? It would be nice if this was stored in the permanent memory.

In the earlier post I also wondered about the possibility to configure the pins, if you needed more digital i/o you could set one of the analog pins to that type (if possible with the AVR chip in question).

You spoke about either doing a 3.3V version or leaving the regulator out , which sounds like a good idea. If you run the ATMega with 3.3V, this probably affects the analog input (10bits spread between 0 and 3.3V), digital i/o and the serial communication to the bioloid bus? ATMega’s RX pin does not mind if it gets a higher 5V voltage? (just to be sure)

The digital output can provide enough current to light a led, right?

I think I had something else I was meaning to ask you but I forgot… well, next time then. Anyway, nice work Jon, looking forward to getting one or more of these.

--Juha
Juha
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 30
Joined: Fri Aug 25, 2006 1:00 am
Location: Helsinki, Finland

Post by JonHylands » Fri Aug 24, 2007 12:30 pm

Post by JonHylands
Fri Aug 24, 2007 12:30 pm

Juha,

It would be impossible to get it down to that size without switching over to surface mount technology. I'm planning on doing that already, but the timeline is uncertain. The whole point here is that I've already got this board designed and tested, and I wanted to see if anyone would find it useful more or less the way it is.

I agree with respect to the digital direction pins - I will move those into EEPROM. The board already has a status LED on it (controlled with control table entry #25). You can add a resistor-integrated LED to any of the digital ports by plugging in the LED to the first two pins of the digital connector (data and +5), and use the digital pin to switch ground.

For the regulator, what I'm going to do is include both a 5 volt and a 3.3 volt regulator with each board. If you're doing something more complex, and mixing 3.3 and 5 volts, well, you're on your own for that. My IMU does that, and has two full voltage regulators on it.

- Jon
Juha,

It would be impossible to get it down to that size without switching over to surface mount technology. I'm planning on doing that already, but the timeline is uncertain. The whole point here is that I've already got this board designed and tested, and I wanted to see if anyone would find it useful more or less the way it is.

I agree with respect to the digital direction pins - I will move those into EEPROM. The board already has a status LED on it (controlled with control table entry #25). You can add a resistor-integrated LED to any of the digital ports by plugging in the LED to the first two pins of the digital connector (data and +5), and use the digital pin to switch ground.

For the regulator, what I'm going to do is include both a 5 volt and a 3.3 volt regulator with each board. If you're doing something more complex, and mixing 3.3 and 5 volts, well, you're on your own for that. My IMU does that, and has two full voltage regulators on it.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by Juha » Mon Aug 27, 2007 8:34 am

Post by Juha
Mon Aug 27, 2007 8:34 am

JonHylands wrote:For the regulator, what I'm going to do is include both a 5 volt and a 3.3 volt regulator with each board. If you're doing something more complex, and mixing 3.3 and 5 volts, well, you're on your own for that. My IMU does that, and has two full voltage regulators on it.


But can't you run the whole board with 3.3? I'd imagine that the analog inputs are scale according to the operating voltage, so this would also give a better more accurate reading from the 0 to 3.3V output of the gyros?

-- Juha
JonHylands wrote:For the regulator, what I'm going to do is include both a 5 volt and a 3.3 volt regulator with each board. If you're doing something more complex, and mixing 3.3 and 5 volts, well, you're on your own for that. My IMU does that, and has two full voltage regulators on it.


But can't you run the whole board with 3.3? I'd imagine that the analog inputs are scale according to the operating voltage, so this would also give a better more accurate reading from the 0 to 3.3V output of the gyros?

-- Juha
Juha
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 30
Joined: Fri Aug 25, 2006 1:00 am
Location: Helsinki, Finland

Post by JonHylands » Mon Aug 27, 2007 12:21 pm

Post by JonHylands
Mon Aug 27, 2007 12:21 pm

No, the problem is the one-axis gyro from Analog Devices requires 5 volts to operate, and it produces values pretty much in the entire range.

- Jon
No, the problem is the one-axis gyro from Analog Devices requires 5 volts to operate, and it produces values pretty much in the entire range.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Next
17 postsPage 1 of 21, 2
17 postsPage 1 of 21, 2