Forum: Mikrocontroller und Digitale Elektronik MCP2221A - USB Verbindung unzuverlässig


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Michael B. (mich_at_el)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe eine Schaltung gebaut, bei der eine USB-Verbindung zu einem PC 
mit einem MCP2221A hergestellt wird. Die USB-Verbindung funktioniert 
sehr unzuverlässig: Manchmal wird die Verbindung direkt nach dem 
Einstecken am Computer hergestellt. Der MCP2221A taucht dann im 
Gerätemanager als COM-Port auf. Wenn ich an der Platine wackle, kann die 
Verbindung abbrechen, wird dann aber manchmal wieder hergestellt. 
Manchmal wird nach dem Einstecken auch nach längerer Wartezeit keine 
Verbindung hergestellt. Wenn ich dann die Busspannung (am MCP zwischen 
den Pins 1 und 14) mit einem Handmultimeter messe, wird die 
USB-Verbindung hergestellt, bleibt aber nur bestehen, solange beide 
Messspitzen die Pins berühren. Ich hatte die Vermutung, dass das 
Multimeter zusätzliche Kapazität mitbringt und habe deshalb einen Elko 
mit 4,7 uF parallel zu C3 geschaltet. Das Problem blieb unverändert.

Ich habe die Schaltung nun 3 Mal aufgebaut. Eine Platine hat bisher 
stabil funktioniert, die beiden anderen zeigen das oben beschriebene 
Problem.

Im Moment sind alle Bauteile bestückt außer R2 und U1. U1 ist ein 
Empfänger für ein serielles Signal, das optisch übertragen wird 
(SFH551/1-1). Der Empfänger hat einen Open-Collector-Ausgang, an dem R1 
als Pullup-Widerstand dient. R2 habe ich eingeplant, um die Masse über 
eine Drahtbrücke mit der Schirmung des Kabels verbinden zu können. Das 
habe ich bei einer Platine auch gemacht, das Fehlerbild besteht 
weiterhin.

Habe ich irgendeinen offensichtlichen Fehler in der Schaltung oder der 
Platine?

Warum wird die Verbindung hergestellt, solange ich die Busspannung 
messe?

Was könnte ich noch ausprobieren, um das Problem einzugrenzen?

Viele Grüße und vielen Dank

Michael

von Jörgen D. (jrgen_d)


Lesenswert?

Zeig mal deine Leiterplatten von der Lötseite.

von Flip B. (frickelfreak)


Lesenswert?

Ich vermute, du übst beim messen druck auf die platine aus, und schließt 
damit einen wackelkontakt.

Elektrisch machen die Messpitzen nichts relevant an der versorgung.

: Bearbeitet durch User
von Wolf17 (wolf17)


Lesenswert?

Michael B. schrieb:
> bleibt aber nur bestehen, solange beide Messspitzen die Pins berühren.
Auch, wenn das Multimeter abgesteckt ist? Dann liegt ein mechanischer 
Wackelkontakt vor.
Alle Lötverbindungen im Stereomikroskop kontrollieren, ob ein sauberer 
konkaver Lotverlauf vom Pin zum Pad erkennbar ist.
Auch mal ein abgeschnittenes USB Kabel direkt anlöten, könnte eine nicht 
maßhaltige Buchse sein.

von Frank O. (frank_o)


Lesenswert?

Vielleicht miserable USB-Stecker?
Ich habe auch mit USB-Kabeln so meine Erfahrungen gemacht.
Optisch völlig in Ordnung, aber schon beim Laden konntest du sehen, dass 
da kaum noch Strom drüber ging.
Da hatte ich auch nach Fehlern gesucht, die gar nicht da waren.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Michael B. schrieb:
> Habe ich irgendeinen offensichtlichen Fehler in der Schaltung oder der
> Platine?

An Vbus gehört ein Elko 10uF zum Puffern der Versorgungsspannung
die vom Rechner kommt. Ein Kerko (C3, 100nF) genügt nicht.

von Michael B. (mich_at_el)


Angehängte Dateien:

Lesenswert?

Messspitzen ohne Multimeter habe ich probiert. Die Verbindung wird 
hergestellt, aber nur, wenn beide Messspitzen die Lötstellen an Pin 1 
und 14 berühren. Sobald eine Messspitze nur 1mm neben einer Lötstelle 
auf die Platine drückt, wird die Verbindung nicht mehr hergestellt.

Ein Bild der Lötseite habe ich hochgeladen. Eine Stereomikroskop habe 
ich leider nicht.

Einen Wackelkontakt hatte ich auch schon im Verdacht. Davon hatte ich 
zwischenzeitlich Abstand genommen, weil ich das Verhalten bei 2 Platinen 
habe. Ich habe leider nur eine Sorte Buchsen 
(https://www.reichelt.de/usb-einbaubuchse-serie-b-gew-printmontage-usb-bw-p22186.html). 
Könnte es sein, dass ich da 10 Stück bekommen habe, bei denen mindestens 
2 nicht in Ordnung sind?

Zu dem Kondensator: Bei der Spannungsversorgung habe ich mich an Abb. 
1.3 bzw. 1.4 im Datenblatt ( 
https://ww1.microchip.com/downloads/en/devicedoc/20005565b.pdf Seite 17) 
orientiert. Ich habe im Datenblatt keine Angabe dazu gefunden, wie groß 
der Kondensator zwischen VBus und GND sein sollte. Im Text steht aber, 
dass die gesamte Kapazität zwischen VBus und GND nicht größer als 10uF 
sein sollte, damit es keine Probleme mit hohen Einschaltströmen gibt. 
Deshalb habe ich zunächst 100nF, dann 100nF + 4,7uF probiert.

Das Kabel habe ich auch schon gewechselt.

Ein abgeschnittenes Kabel direkt festlöten ist eine gute Idee, das 
versuche ich noch.

von Jörgen D. (jrgen_d)


Lesenswert?

Auf dem Bild sind ungelötete Bauteile zu sehen. Also alles noch mal nach 
Löten.

von Michael B. (mich_at_el)


Lesenswert?

Eure Zweifel an meinen Lötstellen waren scheinbar berechtigt.
Ich habe alle Lötstellen nochmal kurz warm gemacht und etwas Lötzinn 
dazugegeben. Jetzt funktioniert es. Solche Probleme hatte ich bisher 
sehr selten. Scheinbar habe ich da einen schlechten Tag erwischt.

Zwei Fragen habe ich noch zu der Schaltung:
- Seid ihr alle der Meinung, das zwischen VBus und GND ein größerer 
Kondensator muss? Wie wäre ein Kerko mit 1uF? Damit müsste ich das 
Platnenlayout nicht ändern.
- Sollte ich bei dieser Schaltung den Schirm des Kabels auf GND legen 
oder nicht? Im Internet habe ich oft gelesen, dass das auf die konkrete 
Schaltung ankommt. Ich kann dies für meine Schaltung aber nicht 
einschätzen.

Nochmals vielen Dank für alle Antworten!

von Frank K. (fchk)


Lesenswert?

Michael B. schrieb:

> - Seid ihr alle der Meinung, das zwischen VBus und GND ein größerer
> Kondensator muss? Wie wäre ein Kerko mit 1uF? Damit müsste ich das
> Platnenlayout nicht ändern.

Die Position des C3, also des Abblockkondensators für den MCP, ist 
ungünstig. Der wirkt dann am besten, wenn die Leitungen zu dem 
betreffenden VCC-GND Paar minimal lang sind, also nur wenige mm. Denke 
daran, dass jede Leiterbahn nicht einfach nur eine Verbindung ist, 
sondern auch ein elektrisches Bauteil, das eine Kapazität, eine 
Induktivität und einen Widerstand hat. Und in diesem Fall ist es die 
Induktivität, die Dich stört.

Lösung: Löte den 100nF auf der Unterseite direkt an die Pins 1 und 16 
und setze dort, wo der 100nF vorher war, einen 4.7uF Keramikcondensator 
ein.

Heutzutage nimmt man für solche Kapazitäten immer mehr 
Keramik-Vielschicht-Kondensatoren und vermeidet Elektrolytkondensatoren, 
wo es geht, wegen der Baugröße, des geringeren Innenwiderstands und der 
begrenzten Lebensdauer.

> - Sollte ich bei dieser Schaltung den Schirm des Kabels auf GND legen
> oder nicht? Im Internet habe ich oft gelesen, dass das auf die konkrete
> Schaltung ankommt. Ich kann dies für meine Schaltung aber nicht
> einschätzen.

Über den Schirm sollen keine Ausgleichströme fließen. Daher entweder 
einen Widerstand (so 100 Ohm) oder einen Kondensator (so 100nF) 
dazwischen schalten. Der Widerstand dient einfach als Strombegrenzung, 
der Kondensator sogt dafür, dass hochfrequente Störungen abgeleitet 
werden, verhindert aber, dass Betriebsstrom darüber fließt.

fchk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.