Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: Killtacularmods on October 26, 2007, 10:08:59 PM

Title: Question about my Robot Controller Board
Post by: Killtacularmods on October 26, 2007, 10:08:59 PM
Yes, I have a question about the robot controller board in the $50 dollar robot tutorial. see iv been designing and etching my own circuit boards at home and im interested in making this $50 dollar robot. So i designed this board on "eagle pcb" based on the simple schematic in the tutorial and id like some feedback if anybody see's any mistakes i made on the componets or traces etc. The board has 2 layers Top Layer: Green=Componet pads, Grey=Componets, Blue=Jumper Traces, Black=Border and Bottom Layer: Red= Main Traces. Also the reason why i have 12  jumpers is becuase i added in a 6-pin icsp connector in the upper left corner  just incase the programmer doesnt come with a 10-pin icsp connector cable, i originally only had 4 jumpers. Anyways please let me know if anything is wrong with my board layout heres the picture exported from eagle pcb i also added a pic with no border so you an see all the traces. Also this board is super small 2-5/8 x 2-1/16 so you could fit it anywhere, so feel free to copy this and make your own. thanks' bryan
Title: Re: Question about my Robot Controller Board
Post by: Admin on October 27, 2007, 07:45:50 AM
You're voltage regulator is wrong. The + and - pins are swapped.

When you are done, any chance you can upload your eagle files to this post so I can put it on the tutorial? (Ill give you full credit)
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on October 27, 2007, 06:02:03 PM
Hey man thanks alot, ill switch pins out and post a picture of the finished board. Hey i tried posting the eagle file for this board already but the attachments doesnt support .board files? Do you think i could zip them up and post them? anyways thanks alot man im going to get started on the board right away. See ya
Title: Re: Question about my Robot Controller Board
Post by: Admin on October 27, 2007, 06:24:45 PM
Way ahead of you - I fixed that when I made my previous post ;D

Just try again.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on October 27, 2007, 06:52:45 PM
Alright, here's the eagle .brd file with with the voltage pin traces swapped, damn and another jumper. LOL anyways if you see anything else that needs to be fixed let me know as soon as possible so i can change it before i start etching tuesday. Oh yeah and also just to let you know the board is now smaller than a buisness card so you can fit anywhere on your robot, the only drawback is the traces are thin and close together so youll have to be  decent at soldering, Ill post a pic of the finished etched board on tuesday. Hey man thanks for the help and for being one step ahead,lol
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on October 27, 2007, 09:50:44 PM
OK, i wasnt happy with the extra jumper on the voltage pins so i moved a few traces around and looks alot better. Heres the new eagle .brd file and a pic.
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on October 27, 2007, 11:28:02 PM
I think you have your chip backwards!

You are missing a pull up resistor on your reset pin. I don't know if the atmega8 has an internal pull up resistor or if you can disable the reset pin, but I have never seen a circuit that excluded this resistor.

Also, why are your photosensors using the power directly from the battery instead of from the regulated output?

I always put a 5.1v zener diode with the cathode on the Vcc and anode on the ground, that will protect against both voltages over 5.1 volts and also if you reversed the voltage.

Connect a switch to the power jumper

Maybe you should connect the TX and RX pins of the atmega to a male pin header with ground pins on both the left and right side of the two serial pins, this makes it compatible with a lot of stuff like the AVRcam and any other serial connection like a FTDI adapter

If you are etching this yourself, your vias must be bigger
Title: Re: Question about my Robot Controller Board
Post by: JoseS13 on October 28, 2007, 04:44:10 AM
Nice job, many people will be happy now when building this board.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on October 28, 2007, 05:22:25 PM
Hey thanks alot frank i really appreciate you helping me, you seem to have alot of experiance with microcontrollers. Anyways heres the new board with the regulated 5v going to the photo sensors and the vias are now much larger also i did have the dip socket backwards the notch is supposed to be at 1 and 28 pin position . Hey frank i got a couple questions for you, could you explain a little more in detail about the pull up resistor like what size resistor and the placement postion and also explain a little more about the serial connection for the avrcam and etc. maybe a simple schematic made in windows paint just something simple would be nice so i could get a little more understanding of what your talking about. It would be awsome to have that avrcam option on this board. If anybody sees anything else that is wrong or that i could add to this board please post a reply. Oh yeah heres a pic of the updated version .v3, im not going to upload anymore eagle files till i get this board right,i dont want anybody downloading this .brd file and etching it just to find out i screwd up, so admin you might want to remove the other .brd files for now, its up to you.

Thanks'
bryan
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on October 28, 2007, 06:18:13 PM
your atmega8 has a reset pin on pin number 1, it's active low, so when it is low, it resets your microcontroller.
if you do not connect it to anything, the pin will be at a floating state, neither high or low, but digital circuits cannot tell if a pin is floating, and it will get confused whether it's high or low, and if it suddenly decides it's low (capacitance around the pin will make it high one moment then low another moment), your microcontroller will reset, not very good.
you can connect that pin directly to Vcc so it can never be reset
or even better, use this circuit to add on a reset button
(http://www.sparkfun.com/tutorial/BeginningEmbedded/2-MicroProgramming/Program2.jpg)
the 10k resistor is the pull up resistor, it limits the current to the pin but still set the state of the reset pin to high, but the pin becomes low when the button is pushed because there will be a closed circuit between the ground and the reset pin

about the UART RX TX pins, look at the attached picture
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on October 28, 2007, 09:49:31 PM
Alright frank here's the new board, i added the pull up resistor with a switch (i couldnt find a smaller switch in the eagle componet files,ill find one later) and 2- 4pin male headers for the ar-cam and other serial devices. Please if you could check my connections and traces, becuase iv been working on this all day and i think im going cross eye'd!!! Also ive designed and etched dozens of diffrent boards and so far and i havent had this many jumpers on one board,so do you think i should re-design this board or is this normal for this size board (so far it's smaller than a buisness card). Also if anybody else see's anything wrong or has something that you think i should add please let me know.

thanks'
bryan
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on October 28, 2007, 10:26:20 PM
i would move your new pull up resistor a little bit more to the right

button size looks right, but most buttons have 4 leads

add a main power switch

move the mounting holes farther from the edge

make sure MISO and MOSI are not mixed up

print out a copy on paper first, i don't think some of those holes have thick enough rings of copper for easy soldering

spend some time to make all the traces efficient and neat

also, i'm sure that you are just making a simple robot, but once you start to use both interrupts and the serial pins, you'll only have 1 servo pin left, try and squeeze in more headers and make all the pins usable
Title: Re: Question about my Robot Controller Board
Post by: Admin on October 29, 2007, 06:31:04 AM
Yea, since you dont want to redo this, add headers for the other pins at the top left of the chip too. ;D
Title: Re: Question about my Robot Controller Board
Post by: Ro-Bot-X on October 29, 2007, 11:00:43 AM
Couple years ago I have designed a robot board using the mega8 micro. It worked good, but I have found out that I should have made a few modifications:
- add a TTL serial connector
- add a reset pin to the RS232 connector
- add a crystal and capacitors besides the ceramic resonator
- change the RJ12 connector with the 6 pin header for the programmer

The programmer as it is on the schematis it worked on an old Pentium 1 computer, but did not work on my P3 laptop. I had to buy the buffered version that works fine after I have built a RJ12 adaptor.

Here is the schematic:
(http://img99.imageshack.us/img99/6805/rbx3yt6.th.jpg) (http://img99.imageshack.us/my.php?image=rbx3yt6.jpg)

Here is the PCB:
(http://img292.imageshack.us/img292/3903/rbxjk0.th.jpg) (http://img292.imageshack.us/my.php?image=rbxjk0.jpg)

Here is the boar populated:
(http://img231.imageshack.us/img231/9955/dsc00327yh2.th.jpg) (http://img231.imageshack.us/my.php?image=dsc00327yh2.jpg)
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on October 29, 2007, 09:23:17 PM
Alright Admin and Frank here should be the final revision :-\ at least i hope so, i moved alot of things around added a tactile switch and some more headers, here's the specs and a pic. The reason why the switch on the pull up resistor on has 2 leads is becuase its a dip switch it was the only thing i could find that would fit in between all those traces. I also moved the pull resistor to the right a little more, and i double checked my miso and mosi connections and they look correct, not unless you see something i didn't??  I still have to move the mounting holes in and makes some traces better especially at the solder points but thats easy stuff, and i should have the board ready to etch and solder by tommarow, unless you guys point out anything else i need to change or add, id rather do it know then later. Let me know if you approve.

Robot AVR MicroController:
Board Type= 1/32 thick, 2 layer.
Dimensions= W 2.5 x L 2.5 x H 5/8 including the highest componet (wich is the 5v regulator).
2- ICSP sockets= 1 -10pin and 1-6pin.
8- 3pin headers ( Servos and etc.).
2- 4pin serial headers (AVR-Cam and other serial devices).
6- 3pin 5v regulated headers ( Photo Sensors and etc.).
1- 2-pin Power Header with On/Off switch ( 6mm tactile switch).
1- 10k pull up resistor with high/low switch ( 1- position Dip switch).

These are the componets iv changed or added, the rest of the componets are listed on the $50 dollar robot tutorial.



   
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on October 29, 2007, 11:06:25 PM
power switch should be a slider or toggle switch, what you have there is a push button

there are still lots of pads that i think will be hard to solder once you etch and drill holes

print it out and look at the lines, if anything looks too thin, thicken it

move the mounting holes farther from the edge or else they become useless

might wanna widen the traces to the servo headers, they might draw a lot of current at some point
Title: Re: Question about my Robot Controller Board
Post by: Ro-Bot-X on October 30, 2007, 12:41:52 AM
Zoom out yhe board and loock if there are connections between the pads (green) fron the 3 pin headers! Right now it looks that way!
Frank is right, use a slider switch for power and a push button for reset.
Try to do the traces on one layer horisontal and on the other layer vertical.
Trace the power lines first, using wider trace, then trace the signal lines.
You have a place where the power line goes from one group of pins to another group of pins over some signal lines. You don't have to use vias. Just start on the other layer from one pin pad to the other pin pad.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on November 01, 2007, 09:30:03 PM
Alright guys, iv been working on this board all day and i hope its the last time  :-\ . Anyways i thickend the traces as much as i could without running into each other but there still plenty thick i printed it out and iv solder thinner pads and traces before, also i added a slider power switch. Now i need both of your opinion's on the crystal oscillator i add to the top of the board in the yellow box its a 20mhz with 20pf max Capacitance with 2 20pf ceramic capacitors, now if you notice i put a 2 pin header next it so i can jump to the #9 and #10 pin when i want to use the atmega168 the other reason why i did this was becuase i couldnt find a way to run traces to the pins without moving everything on the board. My question is will the signal to the oscillator be deminished by the 1" long, 2 pin jumper, i dont think it would but i just wanted to ask. After i get this board up and running and make sure everything works correctly im going to redraw it into a 4 layer board so i can make it less than half its size and then send it to a board house to make a couple prototypes. Anyways let me know what you think. Oh did you see the SOR.com shout out i put on the bottom layer just to give you guys props for praticlly building this board for me. Thanks' Bryan
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on November 01, 2007, 11:11:59 PM
first, that power switch will never work! the middle is the "arm" of the switch, and the top and bottom are what the middle connects to

second, don't bother with 20mhz, for most robots, it's useful but overkill, make it 16mhz so it works with both microcontrollers, you can always set fuses if you need the 8mhz internal

i don't know very much about how well oscillator signals can travel, i'd always had them very close to the pins
Title: Re: Question about my Robot Controller Board
Post by: Ro-Bot-X on November 02, 2007, 08:21:34 AM
Are you going to do this board manually or use a website to order it?
If you are doing it manually, it's fine (well, with the power switch connections changed).
I have used PCBFabExpress for 5 boards with 2 layers, plated wholes, solder mask and silk screen for about 10 dollars each. If you do it this way, you can sell the other boards, maybe there are some members interested. But if you do it this way, you can get rid of lots of vias that are there just because it is hard to solder them without plated wholes.
About the crystall. Designe the board to eighter use a ceramic resonator (has capacitors internal), or use a crystall. Try to move the crystal and capacitors close to the micro and move away the 3 pin connectors. It is best to have the connectors close to the sides of the board. And you need to go with thick traces only for power, the rest is just waste of space.
It may be easier if you keep the 6 and 10 pin programmer connectors on the same side of the board...
You can also add an I2C connector.

To summarise:
- 3 pin connectors for all the I/O pins
- crystall or resonator possibility
- I2C connector
- serial connector (TTL)
- 6 pin and 10 pin SPI connector
- Low Dropout regulator
- power LED
- power slider switch
- reset switch
- power selector jumper for the servo pins
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on November 02, 2007, 07:46:43 PM
thanks guys for the advice, and i am sending this board to a board house over the internet ,but first im etching this at home just to test it out, but if i knew that it was only $10 bucks to order a prototype board i would have just made my board 4 layers and sent it out to be made, it cost me more than $10 dollars to etch it myself!!!! Oh well anyways my board is in the etchint as i speak, and im going to redraw the board with 4 layers and ill use thin traces for the signal and ground traces and thick traces for the power traces. im also going to add a I2C connector also. Thanks alot guys ill post pics of my etched board and tell you how it tested.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on November 02, 2007, 10:21:07 PM
Alright here's the etched board, notice some of the outer edges didnt transfer too well (crappy old iron!!!), im going to re-etch it, but without the stupid border but all the trace's are  just fine i tested it for contuninty with my multimeter (perfect). And i have to fix the power switch. This new copper clad board i got from digi-key is cool looking you cant see it in the scans but its translucent green, with nice shiny copper traces. Usually i use the radio shack boards and they suck ass there real brittle and ugly translucent brown. Sorry for the scans camera not working. Anyways im going too drill the board at work and solder everything tommarow night except for the crystal and load capacitor's but on there way from digi-key!!!Tell me what you think guys.
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on November 02, 2007, 10:32:51 PM
great, you didn't take my warning about the power switch...
if it never powers on, you know why ;-P
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on November 03, 2007, 07:21:23 AM
yeah, ill fix the power switch when i solder it.
Title: Re: Question about my Robot Controller Board
Post by: Admin on November 03, 2007, 07:39:19 AM
Nice! You even got my webaddress on it! :D
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on November 03, 2007, 08:51:27 AM
yeah, its kinda hard to see since i scanned it but its very clear on the board. Also i need help with adding a i2c connector, is it  just 3 header pins scl,sda,grnd with pull up resistor? or is it a actual connector i have to buy? and im going to add some external memory eeprom thats compatible with i2c, here is the memory chip im planning on using http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010823 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010823) Hey RobotX eplain a little more about the power selector jumper for the servo pins,and the Low Dropout regulator.

Title: Re: Question about my Robot Controller Board
Post by: Admin on November 03, 2007, 09:13:47 AM
I2C tutorial:
http://www.societyofrobots.com/member_tutorials/node/35

and the wire connections:
http://www.societyofrobots.com/member_tutorials/node/39
Title: Re: Question about my Robot Controller Board
Post by: Ro-Bot-X on November 03, 2007, 10:57:52 AM
You may want to use servos on some of the I/O pins. Then the power should be Vin (6 - 7.2 V). But what if you want to use some sensors on those pins? The the power should be Vcc (5V). So, to be able to change the power to one group of 3 pin headers, connect the power rail to the middle of a separate 3 pin header. Connect one side to Vin and the other side to Vcc. Then using a jumper like those on the PC motherboard you can use whatever voltage is needed.

Low dropout voltage regulator like LM2940 need as little as 0.5V over the regulated voltage (5V). Usual voltage regulators like 7805 need at least 1.2 volts over the regulated voltage. So, using a LDO regulator you can power the board from a 6V battery pack. Otherwise you will need a 7.2V battery pack or higher. But if you use 9V with a LDO, the voltage regulator will heat up more than the usual 7805. And that is wasted power...

I regularily use 7.2V battery pack or 7.4V LiPo. DC motors also have a tendency to create a huge voltage drop when switching directions, so with a LDO vreg, the risk of mcu resetting when motors switch directions is a lot lower. Servos don't have this nasty behaviour as far as I have seen.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods on November 03, 2007, 12:30:10 PM
Hey Admin great i2c tutorial ;D Hey Robotx thanks man, im going to add LDO regulator and get a 7.2v battery pack. As for the power jumper for the sensor to servo pins , i dont think i need them i have 9- 3pin unregulated headers and 6- 3pin 5v regulated headers i thought that was alot, or do you think i could use more for a more advanced robot? Now another ic2 question can i add 3 or 4 i2c pins and a i2c compatible 256k eeprom memory chip all on the same sdl and sda lines to the number 27 and 28 pins on the atmega8? if so can i use all the pins and memory chip at the same time? Iv made a drawing of how i think its should be routed :-\ let me know if i have no clue how to setup a i2c connection ??? Do i need a i/o expnader? and do the i2c pins need a 3rd grnd pin? maybe sketch up a simple shematic if i am way off please, Also one last thing just incase your wondering, the hole reason why im spending so much time adding more and more componets ,and etc onto this board and making it more and more complicated is becuase i want to develope a more advanced micro controller that can run more advaneced robots in the future and hopefully others will want to use my board. thanks guys (Here's the link to the eeprom chip i want to use if you think there are better chips out there with more memory let me know.http://ww1.microchip.com/downloads/en/DeviceDoc/21203P.pdf (http://ww1.microchip.com/downloads/en/DeviceDoc/21203P.pdf)
Title: Re: Question about my Robot Controller Board
Post by: Admin on November 03, 2007, 01:07:59 PM
Oh I didn't write that, its a member written tutorial.

rgcustodio (who is awesome!) wrote it ;D

Just a recommendation - the more features you add, the more likely you will mess up and something will go wrong (they call it 'feature creep'). Don't be too ambitious. Nothing wrong with 'freezing' the design and building/testing what you got. You might decide that what you have is already good enough for what you need after you start testing.

And don't forget to make your design modular - has the ability to easily add external features in the future.
Title: Re: Question about my Robot Controller Board
Post by: Ro-Bot-X 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.
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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.
Title: Re: Question about my Robot Controller Board
Post by: Admin 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 . . .
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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 (http://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???
Title: Re: Question about my Robot Controller Board
Post by: Admin 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.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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
Title: Re: Question about my Robot Controller Board
Post by: Ro-Bot-X 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.


Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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.
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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)
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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)
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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?
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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
Title: Re: Question about my Robot Controller Board
Post by: Admin 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.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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 (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?
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 on November 08, 2007, 09:32:46 PM
here's a fatal mistake, see attached image

does eagle have electrical and design rule checking?
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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.
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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 (http://ww1.microchip.com/downloads/en/DeviceDoc/21941E.pdf)
Title: Re: Question about my Robot Controller Board
Post by: paulstreats 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
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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!!!
Title: Re: Question about my Robot Controller Board
Post by: Admin 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.
Title: Re: Question about my Robot Controller Board
Post by: frank26080115 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.
Title: Re: Question about my Robot Controller Board
Post by: Killtacularmods 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.
Title: Re: Question about my Robot Controller Board
Post by: RUBEN;blues 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!