go away spammer

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

0 Members and 1 Guest are viewing this topic.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Question about my Robot Controller Board
« 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
« Last Edit: October 26, 2007, 10:13:29 PM by Killtacularmods »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #1 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)

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #2 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

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #3 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.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #4 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

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #5 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.

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #6 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

Offline JoseS13

  • Beginner
  • *
  • Posts: 5
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #7 on: October 28, 2007, 04:44:10 AM »
Nice job, many people will be happy now when building this board.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #8 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

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #9 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

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
« Last Edit: October 28, 2007, 06:18:56 PM by frank26080115 »

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #10 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

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #11 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

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #12 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

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Re: Question about my Robot Controller Board
« Reply #13 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:


Here is the PCB:


Here is the boar populated:

« Last Edit: October 29, 2007, 11:16:53 AM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #14 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.



   

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #15 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

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Re: Question about my Robot Controller Board
« Reply #16 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.
Check out the uBotino robot controller!

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #17 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

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #18 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

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Re: Question about my Robot Controller Board
« Reply #19 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
« Last Edit: November 02, 2007, 08:35:57 AM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #20 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.

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #21 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.

Offline frank26080115

  • Supreme Robot
  • *****
  • Posts: 322
  • Helpful? 2
Re: Question about my Robot Controller Board
« Reply #22 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

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #23 on: November 03, 2007, 07:21:23 AM »
yeah, ill fix the power switch when i solder it.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #24 on: November 03, 2007, 07:39:19 AM »
Nice! You even got my webaddress on it! :D

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #25 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 Hey RobotX eplain a little more about the power selector jumper for the servo pins,and the Low Dropout regulator.

« Last Edit: November 03, 2007, 09:28:24 AM by Killtacularmods »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Re: Question about my Robot Controller Board
« Reply #27 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.
Check out the uBotino robot controller!

Offline KilltacularmodsTopic starter

  • Jr. Member
  • **
  • Posts: 28
  • Helpful? 0
Re: Question about my Robot Controller Board
« Reply #28 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
« Last Edit: November 03, 2007, 12:32:28 PM by Killtacularmods »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Question about my Robot Controller Board
« Reply #29 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.

 


Get Your Ad Here