help needed: Design works on Breadboard but not PCB
Posted: Tue Jul 27, 2010 3:59 pm
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):
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
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