Forum: Mikrocontroller und Digitale Elektronik 18F2550 USB meldet sich ständig an und ab


von MonkeyT (Gast)


Lesenswert?

Hallo,

ich habe folgendes Beispiel von Sprut gebaut:
http://sprut.de/electronic/pic/8bit/18f/programm/usb2550/usb2550.htm

Wenn ich das Device dann an einen PC anschließe wird es auch erkannt und 
ich kann den Microchip Treiber installieren. Jedoch meldet sich das 
Device ständig an und wieder ab.
Die Firmware habe ich auch mal geändert, so dass beim initiallisieren 
die LED an RB0 leuchtet. Diese erlischt auch während das Device nicht 
erkannt wird.
Ich habe dies an mehreren PCs getestet. Das An- und Abmelden tritt auch 
bei nicht installiertem Treiber auf.

Das Deivce ist maximal 10Sekunden verbunden und funktioniert in dieser 
Zeit auch...

Woran könnte das liegen?


grz
Monkey

von holger (Gast)


Lesenswert?

>Woran könnte das liegen?

An einem aktivierten Watchdog zum Beispiel.

von MonkeyT (Gast)


Lesenswert?

Watchdog ist deaktiviert...


siehe hier:

/** Configuration 
********************************************************/
#pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2, FOSC = 
HSPLL_HS
#pragma config PWRT = ON
#pragma config BOR = OFF
#pragma config VREGEN = ON //USB Voltage Regulator Enable:
#pragma config WDT = OFF //Watchdog Timer:
#pragma config MCLRE = ON //MCLR Enable:
#pragma config PBADEN = OFF //PORTB<4:0> pins are configured as digital 
I/O on Reset
#pragma config LVP = OFF //Low Voltage ICSP:



Das Intervall beträgt auch immer recht genau ~2 Sekunden...

von Tobi D. (fanti)


Lesenswert?

ich hatte das Problem auch schon 2 mal gehabt:

1. kontrollier nochmal die Lötstelle am Reseteingang des Pic

2. Die im Schaltplan angegebenen 100nF an Vusb kommen mir sehr klein 
vor, ich hatte 200nF ( Datenblatt 220nF) benutzt und er meldete sich ab 
und zu ab.
Nachdem ich 300nF eingesetzt habe läuft er nun ohne Probleme.

von MonkeyT (Gast)


Lesenswert?

Habe jetzt 200nF und einen 4MHz Quarz...
Damit geht es jetzt so halb...

4 LEDs an RB0 - RB3 und eine LED an RB7 kann ich anschalten.
Sobald eine LED an RB5 angeschlossen wird (ohne RB5 auf High zu setzen) 
meldet sich das Device ab.
Alle 8 ausgänge kann ich auch nicht gleichzeitig schalten.

Könnte es sein, dass Spannung/Strom nicht ausreicht?

von Deutsche B. (kurz-rs)


Lesenswert?

Durchaus kann es am Stromverbrauch liegen, USB-Ports liefern um die 
100mA. Damit die 500mA liefern, muss der Treiber das "anfordern".

Benutzt du USB an nem Computer oder an nem Laptop? Manche Laptops machen 
da gerne mal Probleme.

Schalte mal einen USB-Hub mit eigener Spannungsversorgung dazwischen, 
dann findest zu zumindest raus, ob's am Stromverbrauch liegt.

von MonkeyT (Gast)


Lesenswert?

Habe es eben mal an einem Desktop-PC getestet. Da läuft es viel 
besser...

Ich lasse die LEDs an RB4-RB7 blinken. Eine LED ist fest an RB7 
eingelötet.
Und dann schalte ich eine LED an RB4-RB6. Am Laptop keine Chance, nicht 
mal RB7 blinkt. Nur ganz kurz, dann abmelden und anmelden.
Am Desktop-PC geht das schon besser. LEDs an RB4 und RB6 funktionieren 
zusammen mit LED an RB7. Device meldet sich nur selten ab.
Sobald ich aber eine LED an RB5 hänge meldet sich das Device sofort 
ab...

Als ob das Device jedesmal ein Reset macht...


Ich bekomme an RB5 auch keine LED alleine zum leuchten, woran kann das 
liegen?

von Matthias (Gast)


Lesenswert?

Miß doch mal deinen Stromverbrauch auf der USB 5V

von tt4u (Gast)


Lesenswert?

Häng nochmal zusätzlich einen grösseren C (10 evtl. auch 100 µF mikro) 
an VDD/VSS, der puffert Deine LEDs. Manchmal hilft auch ein C mit 1 nF 
(nano), wenn ganz kurze Spikes auf der Leitung sind.

Ich würde die Schaltung auch grundsätzlich dahingehend modifizieren, 
dass ich zwischen VBUS und den Rest der Schaltung eine kleine 
Induktivität setze, meist 10 µH (hat sprut bei anderen USB-Schaltungen 
auch gemacht) und ggf. in D+ und D- je einen 27R oder 68R einbaue.

von MonkeyT (Gast)


Lesenswert?

Also, bei einer LED an RB7 braucht das Ding ~37mA. Wenn ich das Meßgerät 
in Reihe schalte um den Strom zu messen funktioniert das auch am Laptop! 
Ohne Meßgerät keine Chance... (am Laptop)

100uF an VDD/VSS haben nichts gebracht.

von usuru (Gast)


Lesenswert?

> Wenn ich das Meßgerät in Reihe schalte um den Strom zu messen
> funktioniert das auch am Laptop!

Das Messgerät wirkt wie eine Induktivität im Zulauf, siehe Beitrag von 
tt4u

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.