Forum: Mikrocontroller und Digitale Elektronik MCP2200 wir dnicht erkannt


von Stephh (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

Ich mache aktuell für die Hochschule ein Projekt und habe eine MCP2200 
als schnittstelle uC -> Windows PC verbaut. Leider bekomme ich beim 
Anschluss an den PC immer nur das Problem: USB-Gerät wurde nicht 
erkannt.

Im Anhang findet Ihr meine Schaltung.

VCC = +5V
RXD_TX = kommt vom uC von RXD und geht an TX am mcp
TXD_RX = kommt vom uC von TXD und geht an RX am mcp

zwischen den Anschluss VDD und Masse habe ich mittlerweile auch schon 
provisorisch nen 100nF gebastelt, was aber keine Besserung brachte.
Anstelle des 16MHz Quarzes sitzt ein 12MHz drinnen. Die Beschriftung ist 
nur noch nicht Korrekt.
Der Rest ist genau wie im Schaltplan verbaut. Ale Widerstände und 
Kondensatoren als SMD1206.

Ich bin um jeden Tip dankbar, woran es liegen könnte.

Steph

von Frank K. (fchk)


Lesenswert?

Du hast die Schaltung von Microchip nicht richtig abgepinnt. Schau hier 
hinein

http://ww1.microchip.com/downloads/en/DeviceDoc/51901A.pdf

und halte Dich einfach exakt an den Schaltungsvorschlag, wenn Du nicht 
weißt, was Du da machst. Dann geht das auch.

fchk

von Stephh (Gast)


Lesenswert?

Hallo,

vielen Dank für deine Antwort. Leider bringt mich das jedoch nicht 
wirklich weiter, da ich meinen Fehler auch gerne verstehen würde.

Die einzigen drei Unterschiede, die ich in meiner Schaltung zu der von 
dir verlinkten gefunden habe sind folgende:

Vusb habe ich mit 100nF auf Masse gezogen in deiner Schaltung sind da 
470nF (Ok ich hab grad im Datenblatt entdeckt hier sollten 220-470nF 
sitzen, jedoch hab ich in einer anderen Schaltung mit MCP2200 bereits 
einen 100nF verwendet und es funktioniert.)

Reset habe ich über 1kOhm auf +5V gezogen, was laut Datenblatt: "To take 
advantage of the POR circuitry, tie the RST pin through a resistor (1 
kOhm to 10 kOhm) to VDD" passen sollte.

Hier kann ich die Verschalung der 470Ohm und 10KOhm Widerstände in der 
verlinkten Schaltung nicht verstehen. Soll der 0,1nF den POR Puls 
glätten? Aber wieso wird dieser im Datenblatt nicht erwähnt? Ich kann 
mir nicht vorstellen, dass dieser nötig ist.

Vusb wird in deiner Schaltung als VDD verwendet. Bei mir ist dieser 
frei, da ich die VDD aktuell noch über meine Programmieradapter vom 6Pol 
isp Stecker beziehe und spätereinmal diese von einem 5V Spannungswandler 
kommen wird.

Meine Aktuelle Theorie ist folgende:

Mein Board wird aktuell noch über meinen Programmieradapter (billiges 
China ding) mit Spannung versorgt. Ich weis, dass die Vusb, die dadurch 
von meinem PC an den uC gelangt nicht genau 5,0V ist eher höher. Daher 
denke ich, dass mir extrem viele POR Pulse entstehen, und diese mein 
Problem darstellen.


Steph

von Frank K. (fchk)


Lesenswert?

Stephh schrieb:

> Vusb habe ich mit 100nF auf Masse gezogen in deiner Schaltung sind da
> 470nF (Ok ich hab grad im Datenblatt entdeckt hier sollten 220-470nF
> sitzen, jedoch hab ich in einer anderen Schaltung mit MCP2200 bereits
> einen 100nF verwendet und es funktioniert.)

Wenn im Datenblatt 220-470n steht, dann machst Du das auch so. Wo ist 
das Problem?

> Reset habe ich über 1kOhm auf +5V gezogen, was laut Datenblatt: "To take
> advantage of the POR circuitry, tie the RST pin through a resistor (1
> kOhm to 10 kOhm) to VDD" passen sollte.

1k ist etwas wenig, 10k wären stromsparender.

> Hier kann ich die Verschalung der 470Ohm und 10KOhm Widerstände in der
> verlinkten Schaltung nicht verstehen. Soll der 0,1nF den POR Puls
> glätten? Aber wieso wird dieser im Datenblatt nicht erwähnt? Ich kann
> mir nicht vorstellen, dass dieser nötig ist.

Der MCP2200 ist ein PIC18F13K50 oder 14K50. Wenn Du einen 8 Bit PIC 
programmierst, werden je nach Typ so um die 8.5..14V an !MCLR (!RST) 
angelegt, und die sollen möglichst nichts anderes beschädigen. Daher 
diese Schaltung. Mach es einfach so. Es könnte ja sein, dass Du da 
tatsächlich mal einen unprogrammierten PIC reinsetzt und Deine eigene 
App hineinprogrammierst.

> Vusb wird in deiner Schaltung als VDD verwendet.

Falsch.

> Bei mir ist dieser
> frei, da ich die VDD aktuell noch über meine Programmieradapter vom 6Pol
> isp Stecker beziehe und spätereinmal diese von einem 5V Spannungswandler
> kommen wird.

Wie gesagt: Datenblatt lesen! "USB power pin (internally connected to
3.3V). Should be locally bypassed with a high quality ceramic 
capacitor." Wo ist Dein "high quality ceramic capacitor"? Also 470n X7R 
16V.

Was sollen die 100n von RTS nach VCC?
Wenn Du RTS/CTS-Handshake nicht brauchst, dann brücke RTS und CTS 
einfach.

Wie gesagt, wenn Du vom Datenblatt und der offiziellen 
Beispielapplikation abweichst, solltest Du schon verdammt gute Gründe 
haben.

fchk

von Steph M. (stephh)


Lesenswert?

Frank K. schrieb:
> Der MCP2200 ist ein PIC18F13K50 oder 14K50. Wenn Du einen 8 Bit PIC
> programmierst, werden je nach Typ so um die 8.5..14V an !MCLR (!RST)
> angelegt, und die sollen möglichst nichts anderes beschädigen. Daher
> diese Schaltung. Mach es einfach so. Es könnte ja sein, dass Du da
> tatsächlich mal einen unprogrammierten PIC reinsetzt und Deine eigene
> App hineinprogrammierst.

Vielen Dank für Diese Erklärung.

Frank K. schrieb:
>> Vusb wird in deiner Schaltung als VDD verwendet.

Das ist vollkommen richtig und soll auch aktuell noch so sein, da ich 
noch keine andere 5V Quelle an meiner Schaltung habe.

Soeben habe ich den Fehler an meiner Schaltung gefunden und jetzt steht 
die Verbindung genau so wie ich es in meinem Schaltplan aufgebaut habe. 
den 470nF und den 10kOhm werde ich jedoch Trotzdem noch ersetzen.

Der Fehler war eigentlich sehr einfacher Art. Die Verbindung von D+ war 
zwischen MCP2200 und USB Buchse unterbrochen, da eine Durchkontaktierung 
fehlerhaft war.

Ich Danke nochmals vielmal für alle deine Hilfen und erklärungen.

MFG Steph

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.