Author Topic: Question about my Robot Controller Board  (Read 18786 times)

0 Members and 1 Guest are viewing this topic.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Question about my Robot Controller Board
« Reply #30 on: November 03, 2007, 01:23:16 PM »
For the I2C bus you need to add to each connector a ground pin and Vcc pin.
I have seen a schematic using a 24LC256P eeprop memory chip connected like this: pins 1 (A0), 2 (A1), 3 (A2) tied to GND; 4 is GND; 5 is SDA; 6 is SCL, 7 not connected; 8 is Vcc.
Check out the uBotino robot controller!

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #31 on: November 03, 2007, 02:33:43 PM »
i usually use 4 wires
1 = sda
1 = scl
1 = gnd
1 = +5v

if the board is going to be an i2c master device, you would probably want 4 rows of 10 pins allowing you to connect 10 devices. with pull up resistors on the sda and scl lines.

i have made a seperate modular i2c busboard rather than include it on the main board.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #32 on: November 04, 2007, 04:00:36 PM »
Alright guys just to update everybody, i finished drawing up my board and heres the specs, i had to use a diffrent pcb software becuase eagle will not allow more then 2 layers with there free software and this new software doesnt have an export bitmap option, its called pcb123. Anyways ill be triple checking all my traces before i send this to the board house im using pcb express kinda pricey but oh well, im ordering 4 boards so admin,RobotX and frank ill send you guys a board after i solder all the componets on so you can bench test this sucker since i have only 2 servos and some photosensors i cant test this thing at full capacity. So when i get the boards in ill let you guys know and you can send me your mailing address, if you want. Here's a printed then scanned picture so the quality probably sucks. let me know if you see anything out of line, if you can even tell what is what in this pic.

Mi-Robot AVR MicroController V.8 Specs: Now I2C Compatible!!

Board: Dim =2.6 x 2.6 x .062 w/componets .375, Layers= 4, Solder Mask=2 sided (Red),Silkscreen=1 side (Black),surface finish= silver ROHS.

Componets, inputs andoutputs:

1= Atmega8 or Atmega168 compatible DIP Socket
1= Serial EEPROM Memory Chip socket for (128,256,512or1024mb of extra memory)
1= 16mhz crystal osilator with 2 20pf ceramic capacitors compatible for the Atmega8 and Atmega 168
1= 6v 2-pin power input w/ on/off slider switch and power status led.
1= Reset tactile button with reset status led w/ pull up resistor.
1= Programable Status led.
2= ICSP Headers 1-10pin and 1-6pin.
2= UART  4-pin Headers (For AVR Cam and Other Serial Devices)
9= Digital I/O 3-pin headers (For Servos and etc.).
6= Analog (ADC) 3-pin Headers 5v regulated (For Sensors and etc.)
8= I2C 4-pin headers (For anything I2C compatible)
and other componets not worth mentioning.

Price: For Admin,Frank and RobotX=FREE inluding S/H, for Everybody else= $39.99 +S/H or When i post the final pcb files you can send it to your own board house and solder on your own componets!!!

Tell me what you think guys!!!

 Oh yeah, hey Admin can you change the forum subject to something other than (question about my robot controller board) to Mi Robot MicroController Project or something like that, you decide and talk to you all later.
« Last Edit: November 04, 2007, 04:46:37 PM by Killtacularmods »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,659
  • Helpful? 169
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #33 on: November 04, 2007, 07:11:49 PM »
Thanks! I might use it for a home automation project Ive been thinking about.

You should definitely post your I2C code and stuff when you get it working, I think a lot of people would be interested.

Oh, and don't forget to include screw holes onto your board for mounting. And instead of saying I/O-1, I/0-2, etc, instead say A0, A1, A2 etc so its easier to look up on the datasheet.

As for changing the subject line of the post, I think it lets you change it? I don't remember how I configured the forum settings . . .

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #34 on: November 04, 2007, 07:48:02 PM »
Thanks man iv been so worried about the traces i forgot to add mounting holes ??? and the reason why i named them I/O-1,2,3 etc. is becuase there Digital In/Out Headers right? and if named them A1,2,3,etc. people might think there analog right?. I dont know maybe im wrong, let me know if i am. Do you think i should add some more resistors? my board only has 4 resistor,1 for the status led and 3 pull up resistors and every other brain board that iv seen has a dozen resistors, like this one herehttp://www.trossenrobotics.com/solarbotics-sumovore-atmel-brainboard-2.aspx. Also i do have a little room and plenty of layer space to add a few little things, what would you want to see on this board like buzzers,more leds,maybe female headers running along side of the atmega for developing, anything. You guys are the ones with the robot experiance let me know???

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,659
  • Helpful? 169
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #35 on: November 04, 2007, 08:48:15 PM »
Quote
the reason why i named them I/O-1,2,3 etc. is because there Digital In/Out Headers right? and if named them A1,2,3,etc. people might think there analog right?. I don't know maybe I'm wrong, let me know if i am.

Oh thats not quite what I meant. I meant if the header is attached to the D0 port, label it D0. Or if its attached to the A1 port, label it A1.

Quote
Do you think i should add some more resistors?

You should put resistors on the UART - basically to prevent a confused user from frying it. Also maybe labeling the UART pins, like Tx, Rx, Gnd. This should help:
http://www.societyofrobots.com/robotforum/index.php?topic=2144.0

Consider using surface mounts for the resistors to save space. The 1206 package costs like 7 cents and is fairly large if you have shaky hands like me.

On your board it shows your voltage regulator laying flat. Did you mean to have it standing up? That'll give some more space. Make sure your regulator is an LDO.

And your power LED is missing a resistor :P

The rest is optional:
You probably don't need an LED for the reset button. I don't even use reset, I just power cycle it.

Optionally you can add a fuse. If you have space, I'd use a higher capacitance than your 220uF cap. Maybe 1000uF? I'm using a 3300uF on a new board I'm making.

You could add a .1uF cap in parallel with your .01uF cap for improved noise reduction. Consider using surface mounts for your smaller caps, too.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #36 on: November 04, 2007, 10:35:24 PM »
hey man thanks for the advice sorry i missunderstood you, and its a good idea to label them d1,2,3etc. Im also going to labe them tx and rx and add resistors to them also from tx-rx. The reason why i layed the regulator down was becuase i had some space and it would cut the componet hight down by 3/8 inch, Anyways i ordered a 5v LDO but they also have a 16pin dip LDO that might save some space what do you think? ,and i ordered smd resistors from digi-key the 1206 packages and there dirt cheap so i got 10k,2.7k,1.62k  10 come in a package for .47 cents!! :oThe only thing is i looked at the data sheets and there freakin small  :o The dimension are inches: .125(1/8)L x .062(1/16)W x .022(not even 1/32)H!!! How do you solder them???lol I have shaky hands from too much caffiene so i dont know ill try,lol thanks man
« Last Edit: November 04, 2007, 10:47:18 PM by Killtacularmods »

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Question about my Robot Controller Board
« Reply #37 on: November 05, 2007, 11:40:42 AM »
Geat job!
Thanks for the offer! I'll try to make a good use of it!

But I have a few comments:
- it looks like the 20pF capacitors are shorted? some pinkish wire connects the leads... can you also use a smaller package for them?
- I see you have thicker traces for Vcc, what about GND? that should be the same thickness as Vcc...
- leave more space between the programmer headers, some people would want to install the male Panduit connector (10-pin series 057 contact pc board low profile headers and 6-pin series 057 contact pc board low profile headers). They need more clearance between them.

That's about it.


Check out the uBotino robot controller!

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #38 on: November 08, 2007, 04:18:10 PM »
Alright guys i scraped the pcb123 drawing becuase the files can only be used with sunstone and pcbExpress board house's wich are real exspensive, the quote for 2 of my boards was almost $400!!! So i said screw that, so i whent back with eagle cad becuase plenty of cheap board houses support eagle files. So here's some pic's and .board file. let me know if anything needs to be worked on becuase im sending this out to a board house monday, its a 4 day lead time so i should have the boards in my hands thursday or friday. Also admin if you could do me a favor, i wanted to make a 3d photo of my board but eagle 3d isnt vista compatible so i cant and ive seen your 3d drawing somewhere in the forums so if want could you transfer my board into 3d for me??? if not dont worry about it, ill figure it out. thank guys

 Also yes i did change the IC2 silkscreen to (I2C) i caught it after i loaded it into the forum, i dont think anybody would of noticed anyway.
« Last Edit: November 08, 2007, 05:47:52 PM by Killtacularmods »

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #39 on: November 08, 2007, 07:00:22 PM »
another quickie if you still have time....

the serial eeprom that you have built in, is this set for the 3 address pins to be grounded?

the reason i ask is that setting these pins to high or low defines what the address of the eeprom will be when you use i2c communication. I think by tying them to ground the address will be 0b0000000 (7 bit addressing).
Most other i2c devices (such as digital sonar's) also use addressing where the address is stored in its internal eeprom, these usually ship out with the default address of also 0b0000000. This can be changed by addressing the device and sending the relevant data to change the address.
If you already have an eeprom with the address 0b0000000 and add another device with the same address as default, you may find some conflict to change the new devices address.

You may be better off tying one of the address pins of your eeprom high and addressing it accordingly.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #40 on: November 08, 2007, 07:57:53 PM »
thanks pual thats good advice man i didnt think of that? how would i route it to set it for high? would setting up a couple dip switches so i can set it to grnd, high or low so i dont get in a sticky situation? let me know what you think. thanks man

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #41 on: November 08, 2007, 08:08:40 PM »
i would probably use dip switches so you can set the address as you wish.
if you want to set it to high, just link one of the address pins to +5v instead of gnd.
if you were going down the dipswitch road, you would probably want to attatch the dip switches 1 end to +5v and one end to the eeprom, this will allow you to set either logic high or floating logic. to make logic high or logic low, you would probably put something like a 10k pull down resistor between the dip switch and the eeprom also:

               gnd
                |
               10k
                |
+5v---dip-------------address#1

(repeat for each address pin)

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #42 on: November 08, 2007, 08:17:41 PM »
quick rant...

it seems strange that these eeproms use this kind of addressing system, it only usually allows up to 4 eeproms on one i2c bus and also means tying up the default address. whereas other devices use a small area of eeprom to change address allowing upto 128 devices on one i2c bus. if the eeproms used this kind of system, you could have like 128 eeproms on each bus, and the eeproms would only need like 4 pins, where is the justice in it? (for those of us who would like to connect more than 4 mb of nvram onto a i2cbus)

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #43 on: November 08, 2007, 08:39:43 PM »
hey i dont have alot of space for a 3 pol dip switch becuase of only haveing 2 layers to work with theres lots of traces that get in the way, could i just use a 1pol dip switch and connect all a0,a1,a2 to one side of the switch and the other to 5v? would this put me in high? or would it smoke something?

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #44 on: November 08, 2007, 08:47:09 PM »
this would work, you could also just add a single dip to just one of them.

(usually only two of the pins are addressing pins. the third is a reserved pin i presume for future device upgrades)

If you do only put one high make sure it is an actual address pin and not the reserved pin. you may be better off just attatching address1 pin to +5v instead of ground and addressing the device like 0b0000001 instead of 0b0000000 - you would also save space on the board :)

address2 pin would be 0b0000010

address1+2 would be 0b0000011

hope this helps :)

-----edit---

if you could sacrifice 2 more outputs from the mcu, you could also attach these to the address pins, and set them high or low from the mcu before you start your i2c communication
« Last Edit: November 08, 2007, 08:52:38 PM by paulstreats »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,659
  • Helpful? 169
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #45 on: November 08, 2007, 08:57:20 PM »
It doesn't work with Vista!? hmmmmm

Anyway, I made you an image . . . Eagle3D didn't recognize a few of your components. You will have to get ahold of an XP machine and follow my tutorial on how to add the missing components (its somewhat time consuming).

This image should help get you started.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #46 on: November 08, 2007, 09:13:19 PM »
hey admin thanks man thats awsome, yeah i installed it 3 times and vista said it wanted to check the internet for patches and then it would say it failed. maybe i got to pull my old computer out just for rendering 3d eagles files. Hey paul i read the data sheet on the eeprom im wanting to use and it said A0, and A1 are user configureable chip selects and A2 is a non configurable chip select and must be wired to logical state 1 (vcc) and the device will not operate when left floating or at 0 (vss). so i changed that and im going to wire A0 to the dip switch and then to the 5v (vcc). this would at least give me the option to change the address, right? heres the data sheet everything about this is on page 5 if you want to confrim for me just incase.http://ww1.microchip.com/downloads/en/DeviceDoc/21941E.pdf also do you think 1024k eeprom is over kill or should i just settle for a 256k or 512k?

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #47 on: November 08, 2007, 09:32:46 PM »
here's a fatal mistake, see attached image

does eagle have electrical and design rule checking?

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #48 on: November 08, 2007, 09:44:16 PM »
yeah eagle has a drc check it just didnt catch it, and niether did i !!! thanks man that could of been really bad for my chip!!! I also checked the rest of the pads and found about 3 others that where screwed up and the drc didnt catch.
« Last Edit: November 08, 2007, 09:55:56 PM by Killtacularmods »

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #49 on: November 09, 2007, 05:23:39 AM »
Quote
do you think 1024k eeprom is over kill or should i just settle for a 256k or 512k?

the bigger the better i say, more sensor data.

also is the wp pin connected correctly to enable writing to the eeprom

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #50 on: November 09, 2007, 05:51:29 PM »
Yeah, the write pin was connected incorrectlly, i had it wired to the ground becuase of a schematic i found on a avr web site i should have referred to the data sheet from the beginning. Its supposed to be connected to the vss for write operations to be enabled (wich is what i did) or you can connect it to the vcc for read only operations. Also can you answer my last question if you could or did you already i dont know im tired ???. Thanks Pual you saved me again!!!

 
Hey paul i read the data sheet on the eeprom im wanting to use and it said A0, and A1 are user configureable chip selects and A2 is a non configurable chip select and must be wired to logical state 1 (vcc) and the device will not operate when left floating or at 0 (vss). so i changed that and im going to wire A0 to the dip switch and then to the 5v (vcc). this would at least give me the option to change the address, right? heres the data sheet everything about this is on page 5 if you want to confrim for me just incase.http://ww1.microchip.com/downloads/en/DeviceDoc/21941E.pdf
« Last Edit: November 09, 2007, 05:55:01 PM by Killtacularmods »

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: Question about my Robot Controller Board
« Reply #51 on: November 09, 2007, 06:16:08 PM »
wiring a0 to the dip and then to vcc(5v) is fine. but remember to put a pull down resistor also from a0 to vss(gnd) otherwise when the switch is off a0 will be left floating, by using a resistor (10k ish) a0 will be low when the switch is off and high when the switch is on.

look at the diagram i posted earlier to see what i mean

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #52 on: November 09, 2007, 06:30:27 PM »
yeah, i got the 10k resistor in there, i just wanted to make sure i had the right idea. Thanks man

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #53 on: November 09, 2007, 07:26:02 PM »
Ok, here's the updated board im posting this hoping someone will find a mistake and let me know over the weekend so i can fix it and send it out monday. Come on guys last chance try and find something!!!

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,659
  • Helpful? 169
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #54 on: November 09, 2007, 08:54:35 PM »
Quote
Ok, here's the updated board im posting this hoping someone will find a mistake and let me know over the weekend so i can fix it and send it out monday. Come on guys last chance try and find something!!!
Just a thought, you should put the headers closer together to save you some soldering pain. Basically just like on my $50 robot.

You will find it much much easier to solder 3 headers of 10 length than 10 headers of 3 length.

Also, print out your design 1:1 in paper, then lay your components on it. Its a good way to make sure you got the spacing right for stuff and you selected the right component dimensions.

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #55 on: November 09, 2007, 09:11:31 PM »
dude, you haven't fixed anything... seriously check around each pad to see if a trace is anywhere within 1mm of it. I see so many places where you'll have shorts.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #56 on: November 09, 2007, 11:52:36 PM »
Yeah i just fixed that, my board house BatchPCB had me download a .ulp file for eagle to automaticly increase the thickness and spacing 8mils+, and then when you send them your 7 gerber files they do a drc before they will quote it, and it passed with flying colors.  Heres the picture from the board house and the new .brd file with 8mil spacing.
« Last Edit: November 10, 2007, 12:10:05 AM by Killtacularmods »

Offline RUBEN;blues

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #57 on: July 14, 2008, 03:39:01 AM »
just making sure this .brd file is for our $50 robot yes?
just wondering because i might get the board manufactured so it makes it easier for me
cheers guys!

 


Get Your Ad Here