Author Topic: community project: electronics aspects  (Read 6530 times)

0 Members and 1 Guest are viewing this topic.

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
community project: electronics aspects
« on: April 24, 2009, 03:53:49 AM »
this is a place where we can discuss all the info about the electronics for the community project as misc didn't seem really appropriate. this is where we can discuss parts, operating voltages and the likes. im going to start by saying that i think 5V should be the standard for the modules and am open to discussion about this.
Howdy

Offline Asellith

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 648
  • Helpful? 9
  • "I'm a leaf on the wind. Watch how I soar"
    • CorSec Engineering
Re: community project: electronics aspects
« Reply #1 on: April 24, 2009, 12:20:05 PM »
5 volts power and 5 volts for the I2C lines. Also we need to make sure that there is a pass through on the boards for the I2C. This way you can daisy chain the modules together. The connectors also need to be noob proof. So power and ground can't be crossed by plugging in a connector wrong. Also need to make sure +5 doesn't end up on a signal line where it shouldn't be.

Not sure if this is a good idea or not but might be necessary to include opto-isolation on the communication lines. This will cut down on noise introduced on the lines. This is probably a necessity for modules that include noisy things like motors/servos or RF equipment. Also separate connections for motor voltages because we do not want to draw high current from the +5 lines.

Might be nice to create a generic board that has an AVR with power and interface connections already done. Use that as a template. Complicated designs will need to be custom built but simple stuff can all have the same base format. Also if we get a couple of boards done it might be possible to get someone with a good deal of experience in board design to make a board that supported several similar modules. Just a matter of what is connected where.
Jonathan Bowen
CorSec Engineering
www.corseceng.com

Offline Trumpkin

  • Supreme Robot
  • *****
  • Posts: 1,176
  • Helpful? 5
Re: community project: electronics aspects
« Reply #2 on: April 24, 2009, 01:08:04 PM »
For the slaves on the I2c bus I think we should use the attiny2313 microcontroller since it is slightly smaller than the Atmega168 but still has I2c, and then use a more powerful microcontroller for the master (such as the axon).
Robots are awesome!

paulstreats

  • Guest
Re: community project: electronics aspects
« Reply #3 on: April 24, 2009, 05:35:35 PM »
Just to throw in a wild card....

5V seemes good for basic devices but modern stuff like accelerometers, graphical displays, gyro's, camera's and stuff are using 3.3v.

In order to standardise to 5v then somebody needs to find a way to regualte voltage down to 3.3v and then ratiometrically bring that back up to 5v for the outputs.

Just saying that to produce a standard like this then somebody has to create the step down then step up part of a ciruit to make it easier for people to adhere to the standard so everbody designing a 3.3v device board can then put a standard op amp circuit at the output to keep in line with 5.0v

(bearing in mind that 5v is old standads these days. Its only lower end components that use it) BUT 5v is entry level and easier home level

Offline TrickyNekro

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,208
  • Helpful? 15
  • Hardware and Firmware Designer
    • The Hellinic Robots Portal
Re: community project: electronics aspects
« Reply #4 on: April 24, 2009, 07:18:32 PM »
I agree with Pauls here....
Fundamental stuff must be first learned and created...
Most modules nowadays have +3V3 input at rail.....
Think is that it's just some transistors and resistors that are needed....
So.... why not start from here....
For whom the interrupts toll...

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #5 on: April 24, 2009, 09:06:15 PM »
what about if we have 3V3 regulators in parallel with the 5V bus so they can "mooch" off the 5V bus and not have to regulate it back up?
Howdy

Offline TrickyNekro

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,208
  • Helpful? 15
  • Hardware and Firmware Designer
    • The Hellinic Robots Portal
Re: community project: electronics aspects
« Reply #6 on: April 25, 2009, 04:53:06 AM »
microcontroller speed problems....
Although little applications need actually the 16MHz an AVR offers....
16MHz is impossible in 3V3.... I think the MAX is 8MHz until 4V2 or somewhere near....
Of course, I think that you can soft switch between internal osc (which can be set to 1MHz or 8MHz) or external....
Also, if I remember right, you don't even have to switch the oscs.......
There is a fuse that divides the clock internally by 8.... So that may work....
But hey.... still not practical...
And simply co existing doesn't give any practical reason...
For whom the interrupts toll...

Offline Asellith

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 648
  • Helpful? 9
  • "I'm a leaf on the wind. Watch how I soar"
    • CorSec Engineering
Re: community project: electronics aspects
« Reply #7 on: April 26, 2009, 08:49:12 AM »
The reason for going with 5 volts is a lot of stuff still uses it and its easier to got down then up. Upconverting to 5 volts from 3.3 requires a lot. However downconverting to 3.3 v takes like 3 or 4 components and scaling up the data isn't that hard. There are better ways but I have done it with a MOSFET buffer IC. If the buffer runs on 5 volts and has a threshold for a "1" lower then 3.3 then it works rather well.
Jonathan Bowen
CorSec Engineering
www.corseceng.com

Offline TrickyNekro

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,208
  • Helpful? 15
  • Hardware and Firmware Designer
    • The Hellinic Robots Portal
Re: community project: electronics aspects
« Reply #8 on: April 26, 2009, 12:30:50 PM »
yup.... why not... something like Smitt trigger....
But are they biderectional???
For whom the interrupts toll...

Offline galannthegreat

  • Supreme Robot
  • *****
  • Posts: 615
  • Helpful? 4
  • Blue-Lensed Blue LEDs?! What?! Impossible!!
Re: community project: electronics aspects
« Reply #9 on: April 26, 2009, 07:30:44 PM »
I don't believe they are normally bidirectional, but I'd bet that there would be something along those lines out there that would be capable of that.
Kurt

Offline madchimp

  • Robot Overlord
  • ****
  • Posts: 158
  • Helpful? 2
Re: community project: electronics aspects
« Reply #10 on: April 26, 2009, 08:21:53 PM »
i could be way off but to go from a 5v output I/O to a 3.3v input I/O couldn't you use a voltage divider circuit? It's not like the voltages should fluctuate and if they do you probably have too much noise anyway right?

Offline TrickyNekro

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,208
  • Helpful? 15
  • Hardware and Firmware Designer
    • The Hellinic Robots Portal
Re: community project: electronics aspects
« Reply #11 on: April 26, 2009, 08:57:09 PM »
you use a voltage divider if you want step down.... (you can also use the resistor zener thing... which acts as a regulator really....)
What about step up if you have 3V3....
Charge pumps aren't the easiest circuit you can design... needs math and stuff.....
But you can go off and use an existing IC already....
For whom the interrupts toll...

Offline Asellith

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 648
  • Helpful? 9
  • "I'm a leaf on the wind. Watch how I soar"
    • CorSec Engineering
Re: community project: electronics aspects
« Reply #12 on: April 26, 2009, 09:09:42 PM »
I was thinking a voltage divider wouldn't work because the 3.3 volt side would not be able to supply voltage to the other side. So I brushed up on my I2C a bit more and your right. All you need to do is protect the 3.3 volt pins on your MCU. A ground is a ground and the 5 volts is supplied from the main controller/power supply board. So simple voltage divider would work great.

This also brings up some interesting thoughts. We need to set a standard bus speed. I don't see anywhere in the communications document about it. But a speed needs to be selected. Not a big deal but everything must be standard. Not to fast so we don't have problems with smaller MCUs keeping up but fast enough to keep data flowing at a good speed. Also for advanced users the code needs to be easily changed to what ever they need. If your building something that needs constant updates from several sources (like a UAV) then you might have to jump you speed up a bit.

There are 3 speeds that the I2C bus runs at. 100 kHz, 400 kHz, and 3.4 MHz. For simplicity I propose we simply go with 100 kHz. That way everything is guaranteed to work on a standard setup and if you need to bump the speed for a special application then it should be easy enough.

Also if a module is to be classified as a master module it needs to be able to supply the voltage for the bus but needs to be optional. A simple pull up resister on the board that can be left in or out as needed will be enough. Also if someone designs a power supply board to run off batteries or whatever then it would be nice to have that built in as well even though it will not be a master and probably just a dumb board with no communication on the I2C bus besides providing power.

Jonathan Bowen
CorSec Engineering
www.corseceng.com

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #13 on: April 26, 2009, 09:18:13 PM »
oh, i thought 100kb/s was already in there? no, i think 100kb/s is a reasonable speed as no matter what your module be it'll be able to keep up. yes, if there is going to be a master it should handle the standard voltage then the slave board can change in necessary. i also think the master should have the pup resistors on its board.
and by power supply board do you mean something that handles the batteries with protection and regulation circuits?
Howdy

Offline HyperNerd

  • Robot Overlord
  • ****
  • Posts: 139
  • Helpful? 5
  • N3rd1n80r
Re: community project: electronics aspects
« Reply #14 on: April 28, 2009, 02:29:47 PM »
Just started this topic, to discuss module ideas.
There are 10 types of people in the world - those who understand binary, and those who don't.

Offline hazzer123

  • Supreme Robot
  • *****
  • Posts: 460
  • Helpful? 3
Re: community project: electronics aspects
« Reply #15 on: May 07, 2009, 10:11:06 AM »
I propose that we change the current I2C connector from "Vcc, GND, SCL, SDA, (NC)" to "SCL Vcc GND (NC) SDA". We maintain the safety feature, while increasing the distance between the SCL and SDA lines in ribbon cables and on the PCBs. This will reduce interference between the two information carrying lines.

See this page - http://www.i2cchip.com/i2c_connector.html (i think it has been posted before... but i forgot where).
« Last Edit: May 07, 2009, 03:04:33 PM by hazzer123 »
Imperial College Robotics Society
www.icrobotics.co.uk

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #16 on: May 07, 2009, 03:01:57 PM »
yep, it sounds fine for this. i don't really mind, your lucky you got me before i etched...
so are we going with this one?
Howdy

Offline Asellith

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 648
  • Helpful? 9
  • "I'm a leaf on the wind. Watch how I soar"
    • CorSec Engineering
Re: community project: electronics aspects
« Reply #17 on: May 07, 2009, 06:49:17 PM »
It works for me. further apart the comm lines are the better I guess.
Jonathan Bowen
CorSec Engineering
www.corseceng.com

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Re: community project: electronics aspects
« Reply #18 on: May 07, 2009, 08:00:08 PM »
Ok, if we are designing a standard way to connect the new I2C devices, how about the devices that are allready I2C ready? Do we make a custom connector cable for them? One of the devices is the USB-I2C adapter that some people will like to buy it ready made.
Check out the uBotino robot controller!

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #19 on: May 08, 2009, 01:54:37 AM »
it wont really make that much of a difference, push a few pins out and insert them into a new hole in the housing...
Howdy

Offline dellagd

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 731
  • Helpful? 5
  • Come to the dark side... We have cookies!
    • Exodus Rocketry
Re: community project: electronics aspects
« Reply #20 on: May 08, 2009, 06:19:58 AM »
I think that USB-
I2C thing is a little to expensive.
FYI its from sparkfun
Innovation is a product of Failure, which leads to Success.

If I helped, +1 helpful pls

I Won!
3rd place! I'm taking $100

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #21 on: May 08, 2009, 08:37:32 AM »
well some people buy that because it is one of the first things they see...
it may be expensive, if you can manufacture one cheaper, go for it!
and what did you mean FYI its from sparkfun?
Howdy

Offline dellagd

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 731
  • Helpful? 5
  • Come to the dark side... We have cookies!
    • Exodus Rocketry
Re: community project: electronics aspects
« Reply #22 on: May 08, 2009, 03:24:03 PM »
hey have a USB to I2C device at sparkfun
Innovation is a product of Failure, which leads to Success.

If I helped, +1 helpful pls

I Won!
3rd place! I'm taking $100

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #23 on: May 08, 2009, 03:32:50 PM »
ahh, so you didn't mean that in any other way...
it shouldn't be too hard to make up a quick sketch in eagle...
and, im etching the board today, anyone have any more changes they want? ;D
Howdy

Offline Asellith

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 648
  • Helpful? 9
  • "I'm a leaf on the wind. Watch how I soar"
    • CorSec Engineering
Re: community project: electronics aspects
« Reply #24 on: May 19, 2009, 02:11:06 PM »
Incase someone wants something to start with I threw this together really quick. Its a template for the OSCAR Project. Its not much just the standard size and the mounting holes included. I also added pins for the I2C connections.
Jonathan Bowen
CorSec Engineering
www.corseceng.com

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #25 on: May 19, 2009, 02:23:12 PM »
i might do a few for the other sizes later and upload them.
but nice job mate :D
Howdy

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: community project: electronics aspects
« Reply #26 on: May 30, 2009, 08:36:21 AM »
Just two thoughts . . .

In addition to I2C, there should also be a UART output (just a 3 pin header, really) in case someone wants to connect an external USB adapter to view data on their PC.

As for 3.3V, I agree. The industry is moving in that direction. Most 5V devices understand 3.3V signals, so just allow for back compatibility that's all. The Axon and Axon 2 both have 3.3V outputs. The disadvantage of going to 3.3V for microcontrollers is that lower voltage means lower processing speed. So 5V can't be entirely ruled out.

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #27 on: May 30, 2009, 03:50:58 PM »
i think uart is a great idea and i will see if i can add it to my module.
thanks admin ;)
Howdy

Offline dellagd

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 731
  • Helpful? 5
  • Come to the dark side... We have cookies!
    • Exodus Rocketry
Re: community project: electronics aspects
« Reply #28 on: June 02, 2009, 06:16:59 AM »
my idea was to have a master that connects to the PC for the changing of addresses
Innovation is a product of Failure, which leads to Success.

If I helped, +1 helpful pls

I Won!
3rd place! I'm taking $100

Offline SmAsHTopic starter

  • Supreme Robot
  • *****
  • Posts: 3,959
  • Helpful? 75
  • SoR's Locale Electronics Nut.
Re: community project: electronics aspects
« Reply #29 on: June 02, 2009, 06:57:26 AM »
it was?
most decent masters would have usb capability... and if not we could easily rig up a
usb-uart module...
i think that changing of addresses is a bit far ahead but still a good idea.

on a side note: im applying for my job tomorrow... hope to get some money rollin in soon ;D
Howdy