Problem mit LCD2USB Variante

Gast #3613056
Lesenswert?

Hallo,

habe angehängte Schaltung nachgebaut.
Funktioniert auch soweit, jedoch nur, wenn ich sie an meinen Monitor, 
sprich an einen Hub hänge.
An allen anderen Ports direkt am PC kommt die Meldung, dass das Gerät 
nicht erkannt wird. Im Gerätemanager dann als "Unknown Device" zu 
finden. Treiber lassen sich auch nicht installieren.
Jetzt weiß ich nicht, ob ich beim zusammenbauen was falsch gemacht habe, 
oder ob dies ein Softwareproblem ist.
Kann mir evtl. jemand helfen?

Den Code gibt es übrigens hier:
http://mdiy.pl/wp-content/uploads/2009/03/lcd2usb-th.zip
Angehängte Dateien:
#3613061
Lesenswert?

Der V-Usb Stack ist nicht 100% USB konform und liefert nur Low-Speed.
Wenn deine Hw im PC da nicht mitmacht dann geht es direkt am PC nicht. 
Der Hub wandelt vor dem verschicken den Datenstrom um.
Häufige Ursachen sind:
Am USB 3.0 Port gesteckt (USB 3.0 kann offiziel kein Low-Speed)
Signalpegel zu hoch (die Z-Dioden sind ein kruder Weg um die Pegel 
anzupassen)
Kapazität der Dioden zu hoch (würde mich hier aber wundern, mit hub geht 
es ja schließlich).

Checkt halt mal ob ein anderer Port am pc geht....
Gast #3613068
Lesenswert?

Habe alle durch.
Teilweise kommt gar keine Meldung, dass überhaupt etwas angeschlossen 
wurde (USB 2.0 Port).
Die 3er habe ich erst gar nicht getestet.
Das komische ist, dass die Version von Till Harbaum 
(http://www.harbaum.org/till/lcd2usb/index.shtml) funktioniert. Davon 
habe ich mir mal vor einiger Zeit eine fertige Platine gekauft.
Ich war nur "zu faul" diese nachzubauen, da der Schaltplan so 
unübersichtlich war ;-)
Tja...
#3613103
Lesenswert?

Mit Windows kenn ich mich leider USB-technisch nicht aus (unter Linux 
kann man sehr gut die genauen Fehler im USB sehen).
Ich könnte mir aber vorstellen, dass dein Aufbau EMV technisch 
suboptimal ist. Der Hub wird das ganze halt etwas lockerer sehen als der 
PC.
Das ausbleiben der Meldung dass überhaupt ein USB-Gerät angesteckt wurde 
klingt so als würde auf niedrigster Ebene etwas schief gehen (Windows 
"klingelt" meines Wissens in dem Moment in dem ein Pullup am USB 
auftaucht).
Selbst wenn dein AVR also leer (oder sogar rausgezogen) ist müsste es 
immernoch ein "defektes Gerät" erkennen (zumindest wars unter XP vor 
langer Zeit so).
Es wird also deine Hw sein (und zwar zwischen dem µC und der 
USB-Buchse).
Gast #3613114
Lesenswert?

Was kann denn da falsch sein, wenn es via Hub geht?

Linux läuft übrigens auf dem Laptop:
1
[ 5908.024061] usb 4-1: new low-speed USB device number 2 using uhci_hcd
2
[ 5908.152057] usb 4-1: device descriptor read/64, error -71
3
[ 5908.588058] usb 4-1: device descriptor read/64, error -84
4
[ 5908.804066] usb 4-1: new low-speed USB device number 3 using uhci_hcd
5
[ 5908.928067] usb 4-1: device descriptor read/64, error -71
6
[ 5909.156060] usb 4-1: device descriptor read/64, error -84
7
[ 5909.372069] usb 4-1: new low-speed USB device number 4 using uhci_hcd
8
[ 5909.784040] usb 4-1: device not accepting address 4, error -71
9
[ 5909.896058] usb 4-1: new low-speed USB device number 5 using uhci_hcd
10
[ 5910.308203] usb 4-1: device not accepting address 5, error -71
11
[ 5910.308229] hub 4-0:1.0: unable to enumerate USB device on port 1
#3613130
Lesenswert?

Diese Fehler bedeuten, dass die Kommunikation zwar teilweise 
Funktioniert (sonst gäbe es nur "device not accepting adress" oder 
garnichts) aber immerwieder abreisst.
Die häufigste Ursache dafür ist, dass die USB-Signale vom µC zum PC 
gestört werden. Entweder durch unsaubere Verkabelung oder falsche 
Bauteilwerte.
Ich hatte das auch schonmal mit einem µC auf einem Breadboard (das ist 
an sich schon ne dumme Idee, aber mein Lötkolben war kaputt), da haben 
die Federn den Quarz so weit kapazitiv belastet, dass er abgedriftet ist 
und die Kommunikation aus dem Takt kam. Also check vlt. auch mal ob 
deine Caps am Quarz zum Quarz passen.
Dass es mit dem Hub geht wird daran liegen, dass der halt nicht ganz so 
"strenge" Signalvorgaben haben wird wie der PC.
Eine weitere Möglichkeit wäre eine schlechte Lötstelle oder ein kurzer 
auf der Platine. Der Hub im Monitor wird ein eigenes Nt haben und das 
evtl. besser abkönnen als der PC. Hier hilft ein nachmessen des 
Stromverbrauchs und der Spannung auf der Platine (speziell am µC).
Gast #3613170
Lesenswert?

Ein Programmierproblem ist es nicht.
Habe den Mega eben in mein STK500 gepackt und bin dann auf einen 
gebastelten USB Adapter gegangen; wurde direkt als LCD2USB Device 
erkannt.

Leider habe ich kein Oszilloskop um den Quarz zu testen.
Gibt es da andere Möglichkeiten?

Am Mega messe ich übrigens 6.8V, wenn er am USB Port hängt.
Scheint mir dann doch etwas viel...
Gast #3615402
Lesenswert?

Paul hatte Recht. Batterien waren leer.

Nur bin ich immer noch nicht weiter.
Kurzschlüsse kann ich nicht finden und die Spannungen stimmen auch 
(jeweils 5V an VCC, AVCC und AREF). Ich habe auch, anders als im 
Schaltplan, AGND an GND angeschlossen.

Es ist definitiv ein Hardwareproblem, da der gleiche Chip im STK500 vom 
PC direkt erkannt wird.
Ich kann nur leider nicht nachvollziehen, was ich falsch gemacht habe.
Bin alle Leiterwege durchgegangen/durchgepiepst und habe nach 
Kurzschlüssen gesucht.
Und wenn es Kurzschlüsse geben sollte, müsste es dann nicht auch mit USB 
Hub nicht funktionieren?
Gast #3615415
Lesenswert?

Basti frug:
>Und wenn es Kurzschlüsse geben sollte, müsste es dann nicht auch mit USB
>Hub nicht funktionieren?

Hm, ist das denn ein Hub mit eigenem Netzteil? Der würde dann eventuell
"stromergiebiger" sein, als die USB-Schnittstellen im Rechner selbst.
Das wäre eine Erklärung für den Effekt.

Hast Du die Hintergrundbeleuchtung des LCD "angeklemmt"? Es wäre da
einen Versuch wert, die mal abzumachen und zu sehen, ob durch die dann
verminderte Stromaufnahme das Gerät in Gang zu bringen ist.

MfG Paul
Gast #3615589
Lesenswert?

Der 1.5K - Widerstand ist falsch.

Es sollten 1.5K *gegen 3.3V* sein, du schaltest den direkt gegen die 5V 
vom USB.
=> versuch an der Stelle mal 2.2K.

Das könnte erklären, warum's am HUB geht (zuviel Strom in D-? egal!...)
und am PC nicht.
Gast #3615607
Lesenswert?

Das "USB Interface", welches ich mir gebastelt habe, um das STK500 mit 
USB zu verbinden, hat exakt die gleiche Schaltung wie im Ausgangspost 
(der komplette Teil oben links).
Also auch dort habe ich den 1.5K Widerstand verwendet.

Aber ich werde das morgen trotzdem mal testen.
#3615613
Lesenswert?

HUBble schrieb:
> Der 1.5K - Widerstand ist falsch.
>
> Es sollten 1.5K *gegen 3.3V* sein, du schaltest den direkt gegen die 5V
> vom USB.
> => versuch an der Stelle mal 2.2K.
>
> Das könnte erklären, warum's am HUB geht (zuviel Strom in D-? egal!...)
> und am PC nicht.

Das ist IMHO quatsch!

Der Widerstand dient nur als Strombegrenzer, damit die Zener-Diode nicht 
ueberlasten.
Letztere sind auch dafuer zustaendig die Spannung letztlich auf ca. 3.3V 
abzusenken.

MfG
Gast #3615624
Lesenswert?

Stephan B. schrieb:
> Der Widerstand dient nur als Strombegrenzer, damit die Zener-Diode nicht
> ueberlasten.

Nein. Das ist der Detection-Widerstand.
Der Host erkennt an dem Stromfluss, der einem ziemlich exakt definiertem 
Wert entsprechen muss, dass ein Gerät angestöpselt wurde. Je nachdem ob 
der Strom in D+ oder D- fließt, ein Low-Speed oder schneller.

Entweder in der SPEC zum nachlesen, oder leichter verständlich z.B. 
hier:
http://www.beyondlogic.org/usbnutshell/usb2.shtml
Gast #3615674
Lesenswert?

dYna schrieb:
> Ich will ja nichts sagen, aber auf deiner verlinkten Seite wird immer
> ein 1.5K Widerstand verwendet.

GAH. Genau das sage ich doch. ABER: 1.5K GEGEN 3.3 V! NICHT GEGEN 5V.

Junge. Es macht einen Unterschied, wo man das zweite Ende eines 
Widerstands anschließt. Wenn du das nicht glaubst, dann steck mal ein 
Ende vom Widerstand in die Steckdose.
#3615677
Lesenswert?

HUBble schrieb:
> GAH. Genau das sage ich doch. ABER: 1.5K GEGEN 3.3 V! NICHT GEGEN 5V.

Argh, Junge(?) - Zenerdiode!!

Solange die die Waerme wegdissipieren kann, faellt die Spannung auf 3.3V 
am entsprechenden Knoten!!

Ist ja auch egal, ich werde mich deswegen wohl kaum mit dir aergern.
Zu 99% Sicherheit (1%lasen wir mal sicherheitshalber als Fehlermarge), 
2.2kOhm wird auch nix bringen...

VUSB verwendet "offiziell"  auch 1.5k bei 5V: 
http://vusb.wikidot.com/hardware

MfG

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren