Page 1 of 1

help needed: Design works on Breadboard but not PCB

Posted: Tue Jul 27, 2010 3:59 pm
by PauloftheWest
First off, I'd like to to say thanks for software, it cut out a lot of development time.

My problem right now (that I can't figure out) is that my design works perfectly on the breadboard, but won't on the PCB fabbed. I can program the microcontroller using the PCB, but the OS won't recognize the device when it is plugged in via USB. (The OS does recognize the breadboarded device)

My design is similiar to http://www.raphnet.net/electronique/snes_nes_usb/sch-revD.png, except D+ is connected to PD4 (D- is still connected to PD2)

PCB components:
ATMEGA8535-16AU-ND IC AVR MCU 8K 16MHZ 5V 44TQFP
BZT52C3V6S-FDICT-ND DIODE ZENER 3.6V 200MW SOD-323
XC736CT-ND CRYSTAL 12.000 MHZ 20PF CSM-7
478-3735-1-ND CAP CERM 20PF 5% 100V NP0 0805
P1.50KCCT-ND RES 1.50K OHM 1/8W 1% 0805 SMD
541-68VCT-ND RES 68 OHM 1/2W 5% 1210 SMD
478-3154-1-ND CAP CER .10UF 100V 20% AXIAL
USB header, and 6-pin header for programming.

Breadboard components:
ATMEGA8535-16PU-ND IC AVR MCU 8K 16MHZ 5V 40DIP
1N5227B-TPCT-ND DIODE ZENER 500MW 3.6V DO35
490-3703-ND CAP CER 20PF 50V C0G RADIAL
631-1088-ND CRYSTAL 12.0 MHZ 20PF
UB5C-1.5K-ND RES AXIAL 1.5K OHM 1% 5W
45F68RE-ND RESISTOR SILICONE 68 OHM 5W
478-3154-1-ND CAP CER .10UF 100V 20% AXIAL
USB cable and avrmkII programmer was breadboarded.

On both the PCB and the breadboard I am able to program the microcontroller and change the fuse bits to use the 12 mhz crystal instead of the internal oscilator. Unfortunately, with the PCB, I get nothing from dmesg.
With the breadboard I get (from dmesg):

Code: Select all

[ 6205.948068] hub 6-0:1.0: unable to enumerate USB device on port 2
[ 6353.896265] usb 6-2: new low speed USB device using uhci_hcd and address 6
[ 6354.070137] usb 6-2: New USB device found, idVendor=4a4a, idProduct=4a4a
[ 6354.070146] usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
...

and I'm able to interact with the device via the device driver I wrote.

Here are some differences I was able to find:
1) Once plugged in the Zener diode connected to the D- line has 2.6V running across it (on the breadboard) and .8V on the PCB.
2) Once plugged in the 1.5K resistor connected to the D- line has 2.3V running across it (on the breadboard) and 4.9V on the PCB (even though the resistor registers 1.5K OHM with my multimeter).

I have checked for continuity across all pins and there are no connections. I have taken an exacto-knife to ensure there are no solder 'wiskers'.

Any ideas?

Thanks,

~PauloftheWest

Re: help needed: Design works on Breadboard but not PCB

Posted: Tue Jul 27, 2010 4:28 pm
by ulao
had the same issue myself, but its quite possible not your issue. A quick way to check is put a hub between the two. In other words, device->hub->computer. If this works then your problem lays on the z-diodes. I had to remove my SMD's and replace with thru holes. The problem in the end was that the z-diodes were not z's they were just diodes. However This also happens if the diodes are not not 1/2 watt ( in the case of mega 168's )

Re: help needed: Design works on Breadboard but not PCB

Posted: Thu Jul 29, 2010 1:32 pm
by PauloftheWest
Thanks for the reply.

I tried the hub idea, but there was no change. I hadn't thought of just mounting through-hole components on the SMD PCB. So, I'll try that; starting with the zener-diodes.

Re: help needed: Design works on Breadboard but not PCB

Posted: Thu Jul 29, 2010 5:25 pm
by ulao
I'd like to know the results and what zeners you use. Keep us posted, hope it works out for you.

Re: help needed: Design works on Breadboard but not PCB

Posted: Wed Aug 04, 2010 6:20 pm
by PauloftheWest
Replacing the zener diodes did not fix the problem. Although, I was able to confirm, on my breadboard, that if you use 200mW zener diodes instead of 500mW ones, it does not work.

So currently I have the 500mW diodes on the PCB, but still no go. I guess the next thing to try is put the other through-hole components on the PCB?

Thanks,

~PauloftheWest