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

Logic levels in different revisions.

Korean company maker of Robot kits and servos designed for of articulated robots. Re-incarnation of Megarobotics.
1 postPage 1 of 1
1 postPage 1 of 1

Logic levels in different revisions.

Post by MarcoP » Fri May 25, 2012 12:56 pm

Post by MarcoP
Fri May 25, 2012 12:56 pm

Hi everyone

We had an interesting development here.

We had previously connected and controlled the RBC with a 3.3V ftdi via the bluetooth socked and also were able to send serial port commands to the RBC from the Omnina.

However we did that in only one Robobuilder, and assumed it would work for all of them. But now we tested it in another robot and it simply did not work. After some looking around we noticed that the RBC that worked was of a newer revision in relation to the other ones, as can be seen in the pictures:

Image
Image


So time to pull out my trusted oscilloscope and go on a signal hunt expedition guided by the RBC schematic.
Image

The conclusion here: when the omnima outputs a zero if i check the signal level at the yellow ball (this is from where the RBC processor reads) i get a value of 1.5V, when i should get 0V (or in this case the 0.6V from the diode voltage drop). These 1.5V are far to high to considered as low signal. However it seems the newer firmware does detect this as a low.

The problem seems to be caused by the omnina not drawing enough current.
I solved this problem by creating a simple unity gain voltage folower. 2n2222 and 100ohm resistor.

With that we confirmed the old firmware rbc did received commands from the omnima.

But that led to the discovery that the omnima also could not receive data from the rbc. Taking a look at the schematic it can be seen that this is obviously caused by the high values of the resistors used to create 3.3V from 5V (red circle). To my knowledge there is no well defined specification as to the values of resistors to use in these situations so it's hard to say who is the culprit here

This resistor value is so high that even a single transistor with over 100 current gain is not enough, so i had to use a 2 stage amplifier (a darlington pair might also have worked) .

This led to the creation of this small adapter board that plugs in to the bt socket on the RBC.

Image

This was an improvised solution so i don't have a proper schematic. If anyone wants it i can provide it.
Despite this working it's too much work. A simple cmos dual voltage buffer chip that costs 10cents has better performance, because it does not draw any current so that's what we will be using from now on.

Addon: Just a reminder, the pinout in the Bluetooth connector does not follow the usual counter clockwise numbering system of pin chips.

The layout is:
1 5
2 6
3 7
4 8

(1 marked with arrow)

Rgds
Hi everyone

We had an interesting development here.

We had previously connected and controlled the RBC with a 3.3V ftdi via the bluetooth socked and also were able to send serial port commands to the RBC from the Omnina.

However we did that in only one Robobuilder, and assumed it would work for all of them. But now we tested it in another robot and it simply did not work. After some looking around we noticed that the RBC that worked was of a newer revision in relation to the other ones, as can be seen in the pictures:

Image
Image


So time to pull out my trusted oscilloscope and go on a signal hunt expedition guided by the RBC schematic.
Image

The conclusion here: when the omnima outputs a zero if i check the signal level at the yellow ball (this is from where the RBC processor reads) i get a value of 1.5V, when i should get 0V (or in this case the 0.6V from the diode voltage drop). These 1.5V are far to high to considered as low signal. However it seems the newer firmware does detect this as a low.

The problem seems to be caused by the omnina not drawing enough current.
I solved this problem by creating a simple unity gain voltage folower. 2n2222 and 100ohm resistor.

With that we confirmed the old firmware rbc did received commands from the omnima.

But that led to the discovery that the omnima also could not receive data from the rbc. Taking a look at the schematic it can be seen that this is obviously caused by the high values of the resistors used to create 3.3V from 5V (red circle). To my knowledge there is no well defined specification as to the values of resistors to use in these situations so it's hard to say who is the culprit here

This resistor value is so high that even a single transistor with over 100 current gain is not enough, so i had to use a 2 stage amplifier (a darlington pair might also have worked) .

This led to the creation of this small adapter board that plugs in to the bt socket on the RBC.

Image

This was an improvised solution so i don't have a proper schematic. If anyone wants it i can provide it.
Despite this working it's too much work. A simple cmos dual voltage buffer chip that costs 10cents has better performance, because it does not draw any current so that's what we will be using from now on.

Addon: Just a reminder, the pinout in the Bluetooth connector does not follow the usual counter clockwise numbering system of pin chips.

The layout is:
1 5
2 6
3 7
4 8

(1 marked with arrow)

Rgds
MarcoP
Savvy Roboteer
Savvy Roboteer
Posts: 81
Joined: Thu Jan 19, 2012 6:14 pm

1 postPage 1 of 1
1 postPage 1 of 1