Forum: Mikrocontroller und Digitale Elektronik V-USB mit mega8 oder tiny45


von Lars L. (vertigo)


Angehängte Dateien:

Lesenswert?

Hallo,
ich versuche seit 3 Wochen den mega8 oder den tiny45 am USB 
anzuschließen, die Controller werden einfach nicht erkannt.
Beim mega8 habe ich ein 16Mhz quarz rangehangen und das Beispielprojekt
USB IR Remote Receiver (V-USB + IRMP) von Hugo Portisch benutzt ohne 
Erfolg. Danach habe ich mir ein tiny45 bestellt und dieses Projekt drauf 
geflasht
http://hobbyelektronik.org/w/index.php/SNES-Joypad mit den oben 
genannten fusebits. Dazu habe ich probiert den Easylogger auf der V-usb 
Homepage nachzubauen trotzdem erkennt der Computer die Controller 
einfach nicht. Ich habe einmal ein Screenshot gemacht was mir der 
Computer immerwieder anzeigt, egal welches Projekt ich gerade am laufen 
haben. Hat vielleicht einer mal das selbe Problem gehabt oder könnte 
ahnen woran es liegen könnte?

Viele Grüße
Lars

von Paul Baumann (Gast)


Lesenswert?

>ich versuche seit 3 Wochen den mega8 oder den tiny45 am USB
>anzuschließen,

Bei den vielen Steckversuchen ist bestimmt die USB-Buchse am Rechner
in der Zwischenzeit kaputt gegangen...

nicht hauen
;-)

Im Ernst: Ändere mal den 2,2KOhm Widerstand, der von Data Minus nach +5V
liegt in 1,5KOhm um.

Ich hatte diesen Effekt auch schon einmal.

MfG Paul

von Stulle (Gast)


Lesenswert?

moin

Was für Z-Dioden ?
Ich hatte Probleme mit 3,6V Dioden ,gegen 3,3 getauscht alles paletti...

mfg

von Achim M. (minifloat)


Lesenswert?

Stulle schrieb:
> Ich hatte Probleme mit 3,6V Dioden ,gegen 3,3 getauscht alles paletti...

Mach die Dioden mal 'raus und besafte den Prozessor mit 3,3V. Notfalls 
erstmal aus nem Labornetzteil oder LM317 auf dem Steckbrett.

Die Dioden machen immer mal gern Probleme...

mfg mf

von Lars L. (vertigo)


Lesenswert?

@Paul Baumann
nein die USB-Buchse scheint noch zu Leben :D
ich habe die 1.5k schon probiert hatte aber auch nichts gebracht.

Die Z-Dioden sind schon sind die 3V6.... hatte das bei der Bestellung 
min. 5mal geprüft :D

Das mit den 3.3V auf den auf den tiny werde ich mal probieren.

Könnte es an den FuseBits liegen?

von Uwe (de0508)


Lesenswert?

Hast du dir Gedanken über die Taktfrequenz gemacht und die Quellen 
entsprechen angepasst  ?
Damit muss dann auch die Einstellung der FusBits harmonieren.

- http://www.engbedded.com/fusecalc

Ich habe mal ein Projekt mit der PLL mit 16MHz beim attiny45 realisiert, 
bei dem per SW der PLL Takt mit 16,5Mhz benutzt wurde.

ISPTinyASP

- Beitrag "AVR USBtinyISP Programmer mit atTiny85"

von Gerhard (Gast)


Lesenswert?

Haha! "Geräteinstanzerkennung". Die Microsoft-Übersetzer sind ganz große 
Künstler.

Kannst du mal ein Bild von deinem Aufbau posten? Selbst wenn die 
Bauteile korrekt verdrahtet und nicht defekt sind, könnte es noch an dem 
Aufbau liegen. USB ist etwas empfindlicher als eine RS232.

von Achim M. (minifloat)


Lesenswert?

D+ und D- an der Buchse, am Controller, am Pullup(2k2 bzw. 1k5) 
verwechselt?
mfg mf

von Lars L. (vertigo)


Lesenswert?

Uwe S. schrieb:
> Hast du dir Gedanken über die Taktfrequenz gemacht und die Quellen
> entsprechen angepasst  ?
> Damit muss dann auch die Einstellung der FusBits harmonieren.
>
> - http://www.engbedded.com/fusecalc

jep, aber mir ist nach 1 Monat immernoch nicht klar wie man bei der 
Dropdown auswahl genau die 16Mhz oder 16.5Mhz einstellen kann.

>
> Ich habe mal ein Projekt mit der PLL mit 16MHz beim attiny45 realisiert,
> bei dem per SW der PLL Takt mit 16,5Mhz benutzt wurde.
>
> ISPTinyASP
>
> - Beitrag "AVR USBtinyISP Programmer mit atTiny85"

Cool, gerade mal kurz reingeschaut. Interessantes Projekt werde ich 
morgen einmal ausprobieren. Werde mal mein tiny45 mit deinen Fusebits 
flashen.

von Uwe (de0508)


Lesenswert?

Lars bitte sei vorsichtig !
wenn dein #reset pin nicht mehr geht, ist schluss ! ausser du hast noch 
einen bootloader drauf.

von Klaus D. (kolisson)


Lesenswert?

hi,

waren die VUSB Sachen nicht irgendwie auf 12Mhz festgelegt.
(Demnach wäre 16Mhz ja nicht okay )

Gruss Klaus

von Uwe (de0508)


Lesenswert?

Nein Klaus,

das geht heute bis 20MHz !

Siehe http://www.recursion.jp/avrcdc/cdc-232.html

Hier findet man auch die aktuellen Schaltpläne:

http://www.recursion.jp/avrcdc/cdc232.2011-06-24.zip

von Oliver J. (skriptkiddy)


Lesenswert?

Klaus De lisson schrieb:
> hi,
>
> waren die VUSB Sachen nicht irgendwie auf 12Mhz festgelegt.
> (Demnach wäre 16Mhz ja nicht okay )
>
> Gruss Klaus

"Can be clocked with 12 MHz, 15 MHz, 16 MHz or 20 MHz crystal or from a 
12.8 MHz or 16.5 MHz internal RC oscillator."
[http://www.obdev.at/products/vusb/index.html]

von Klaus D. (kolisson)


Lesenswert?

Achso, da hat sich das geändert. Ist auch ne Weile her wo ich
da mal dran war.

Gruss Klaus

von Lars L. (vertigo)


Lesenswert?

@Uwe S.
die Fusebits sind genauso wie bei dein Projekt, außer halt das ich den 
Reset Pin aktiv habe :-D

habe jetzt auch wieder bei Reichelt nachgeschaut wegen den z-dioden, 
meine bestellten sind die ZD 3.6V mit 1.3W. Habe aber gerade wieder 
gelesen das ich die ZF 3.6V mit 0.5W bräuchte, könnte es daran liegen?! 
Wenn ich die Dioden ohne den tiny benutze reagiert schon mein PC und 
meint "unbekanntes Gerät" gefunden. Wenn ich dann den Tiny einsetze 
plugt die Nachricht alle paar millisekunden auf und wieder zu. Also 
scheint der Tiny etwas zusenden.

von Klaus D. (kolisson)


Lesenswert?

Lars L. schrieb:
> habe jetzt auch wieder bei Reichelt nachgeschaut wegen den z-dioden,
> meine bestellten sind die ZD 3.6V mit 1.3W. Habe aber gerade wieder
> gelesen das ich die ZF 3.6V mit 0.5W bräuchte, könnte es daran liegen?!


Wieso machst du nicht, was Mini Float dir empfohlen hatte  ?

Mini Float schrieb:
> Mach die Dioden mal 'raus und besafte den Prozessor mit 3,3V.

sondern stellst wieder Fragen, die man nun wirklich nicht präzise
beantworten kann.


Gruss Klaus

von Lars L. (vertigo)


Lesenswert?

Ich habe hier leider kein Labornetzteil und dieses muss wohl aus 
finanzieller Sicht noch etwas auf sich warten. Ich habe schon versucht 
mein 3V alles zum laufen zu bringen aber selbst das scheint nicht 
wirklich zu funktionieren. Selbst wenn es funktioniert und alles erkannt 
wird. Bleibt immernoch das Problem das, man an der Schaltung ein 3.3V 
Netzteil braucht.
Ich habe hier auch schon mehrere Dioden ausprobiert und den Tiny an 
Linux und Windows angeschlossen.

> Wieso machst du nicht, was Mini Float dir empfohlen hatte  ?
>
> Mini Float schrieb:
>> Mach die Dioden mal 'raus und besafte den Prozessor mit 3,3V.
>
> sondern stellst wieder Fragen, die man nun wirklich nicht präzise
> beantworten kann.

Bei allen nötigen Respekt, aber es gibt keine dummen Fragen nur dumme 
Antworten. Wenn ich mit einer hohen Wahrscheinlichkeit wüsste woran ich 
gerade scheitere würde ich solange probieren bis es klappt. Das schöne 
an der Technik ist ja das, im Gewissen Rahmen alles reproduzierbar ist.

von Anon Y. (anonymous)


Lesenswert?

Lars L. schrieb:
> Bei allen nötigen Respekt, aber es gibt keine dummen Fragen nur dumme
> Antworten. Wenn ich mit einer hohen Wahrscheinlichkeit wüsste woran ich
> gerade scheitere würde ich solange probieren bis es klappt. Das schöne
> an der Technik ist ja das, im Gewissen Rahmen alles reproduzierbar ist.

Wenn du dich nicht nicht meldest und sagst, dass du die 3,3V nicht hast, 
dann ist das dumm. Und es gibt dumme Fragen, wie z.B. deine.

Die 3,3V könntest du z.B. mit zwei Si Dioden in Reihe produzieren. Oder 
mit einem diskreten linearregler aus npn und zener diode. Oder 
Leuchtdiode.

Die Zenerdioden sollten keine Leistungsdioden sein, weil diese eine 
höhere Kapazität haben. Das belastet die Signalleitungen und verschleift 
die Signale.

Steht übrigens alles auf der v-usb Seite.

Verwende ein vernünftiges Kabel. D.h. kurz und geschirmt. Kein 
Verlängerungskabel. Nimm die usb-anschlüsse direkt auf dem mainboard, 
nicht die an der Front.

Verwende ein Projekt, welches sicher funktioniert. Z.B. hid tastatur 
oder der serial loger. Achte darauf, dass -Os eingeschaltet ist. Stell 
vernünftige Fragen. Falls du nicht weißt wie kannst du es in der 
Netiquette nachlesen statt herum zu pöbeln.

von Lars L. (vertigo)


Lesenswert?

Schade hätte wirklich noch gehofft ich bekomme es mit den Dioden hier 
hin. Hatte jetzt auch mal versucht ein Foto zumachen aber die Auflösung 
ist miss und man erkennt nichts.

von Uwe (de0508)


Angehängte Dateien:

Lesenswert?

Hallo Lars,

hast Du evtl. noch rote LEDs ?

Die LED sollte ca. 1,7V Flusspannung haben.

Dann geht auch das hier:

http://www.recursion.jp/avrcdc/cdc-232.html

von Klaus D. (kolisson)


Lesenswert?

Lars,

entschuldige wenn du das mit den "dummen Fragen" zu persönlich nimmst.
... aber der Weg wurde doch aufgezeigt.
Indem du die Z-Dioden ausbaust und die Schaltung mit nativen 3,3
versorgst kannst du eben das Diodenproblem ausschliessen und must nicht
mit dunklen Fragen im Dunklen stochern.

3,3 muss ja auch nict 3,300000000000000000000 sein.
Es geht auch mit 3V oder 3,5V...   und wenn es dann nicht geht
ist etwas anderes schief.

Dir wurden schon viele Denkansätze geboten.
Allerdings solltest du "Denkansätze" auch wörtlich nehmen als
Ansatz zum Denken.

klaus de Lisson

von Lars L. (vertigo)


Lesenswert?

@Uwe S.
kannst du gedanken lesen :-D die Schaltung hatte ich gestern auch mal 
ausprobiert aber halt ohne LED weil ich dachte das ich diese nicht 
bräuchte. Ich baue nochmal die Schaltung mit mein Netzteil auf und dann 
probiere ich mal die cdc232-t45 Schaltung.

@Klaus De lisson
schon okay ich war da wohl auch ein wenig Schroff :-)
Der Hintergrund für die Frage war ja die V-USB Seite da auf dieser steht 
das die 3.6V mit 500mW genommen werden sollen oder weniger. Low Speed 
usb sollte ja nur 500mW aus der Buchse geben.
Als ich mich bei Hugo Portisch Projekt eingeklinkte, hatte ich hin halt 
so verstanden das es schon genau die 3.6V sein müssten. Aber wenn es 
doch mit weniger geht dann versuche ich es nochmal mit den 3V von meinen 
Netzteil.

von Oliver J. (skriptkiddy)


Lesenswert?

Lars L. schrieb:
> hatte ich hin halt
> so verstanden das es schon genau die 3.6V sein müssten.

Laut USB 2.0 Spec sollen die USB Datenleitungen einen Highpegel zwischen 
2.7 und 3.6 V haben. Wenn man keine Z-Dioden verwendet, reicht es den 
AVR in diesem Spannungsbereich zu betreiben, um einen entsprechenden 
High-Pegel an den AVR-Pins (sind ja USB-Datenleitungen) bereitzustellen. 
An den Pins liegt bei High-Pegel ja VCC an. Und deshalb muss VCC 
entweder im spezifizierten Spannungsbereich sein oder du setzt Z-Dioden 
ein, um die Pegel an den Leitungen entsprechend Herabzusetzen. Mit den 
Z-Dioden habe ich aber noch keine guten Erfahrungen machen können - 
hatte wohl nicht die richtigen, obwohl es die kleinen waren.

P.S.
Ich habe in meinen V-USB-Aufbauten den AVR immer mit 4.4V (5V minus 
Diode) versorgt und bin damit stets ohne Z-Dioden ausgekommen. Hatte 
bisher noch keinen Rechner, an dem das nicht so funktionierte.

Lässt man die Diode weg funktioniert es nicht mehr zuverlässig, denn bei 
5V auf den Datenleitungen streiken dann doch einige USB-Hosts. Wenn man 
es richtig machen will, bleibt man auf jeden Fall innerhalb der Spec.


Lars L. schrieb:
> Der Hintergrund für die Frage war ja die V-USB Seite da auf dieser steht
> das die 3.6V mit 500mW genommen werden sollen oder weniger. Low Speed
> usb sollte ja nur 500mW aus der Buchse geben.
Da bringst du was durcheinander.

Die 500mW bei den Dioden beziehen sich auf die maximale Verlustleistung 
der Diode. Die wird bei 5 V Betriebsspannung noch lange nicht erreicht. 
Bei 68 Ohm Widerständen sind das gerade mal 75mW.

Ein USB-Port kann nicht bloß 500mW liefern. Du meinst vielleicht 500mA.
Ein USB-Device (1.1 und 2.0)kann, wenn es am Host angemeldet ist, laut 
Spezifikation bis zu 500mA beziehen (steht im Device-Descriptor wie viel 
es haben will). Das macht bei 5V sogar 2500mW.

Hoffe ich hab ein paar Unklarheiten beseitigt.

Gruß Oliver

von Achim M. (minifloat)


Lesenswert?

Oliver J. schrieb:
> bleibt man auf jeden Fall innerhalb der Spec.

Für USB 1.1-Geräte wird auch vorgeschrieben, die Pegel auf beiden 
Datenleitungen auzuwerten. V-USB macht das aber nur an einem Pin...
Steht auch in deren Doku, dass das nicht ganz der Spec entspricht.

Ich hab mit "BZX 55B 3V6" Dioden bisher schon zwei Geräte gebaut, die an 
Rechner direkt und an einem aktiven USB-Hub einwandfrei funzen. Die 
Dioden hab ich irgendwann mal bei Pollin besorgt(Pollin Nummer 140389). 
Ich hab die kleine Glasversion bekommen.

mfg mf

von Oliver J. (skriptkiddy)


Lesenswert?

Mini Float schrieb:
> Ich hab mit "BZX 55B 3V6" Dioden bisher schon zwei Geräte gebaut, die an
> Rechner direkt und an einem aktiven USB-Hub einwandfrei funzen. Die
> Dioden hab ich irgendwann mal bei Pollin besorgt(Pollin Nummer 140389).
> Ich hab die kleine Glasversion bekommen.

Ich hab bei CSD mal ein paar gekauft (PHC 3V6 steht drauf) und mit denen 
funktioniert es nicht. Sind auch kleine Glasdioden.

Gruß Oliver

von Lars L. (vertigo)


Lesenswert?

hallo,
hatte alles noch einmal bei Tag begutachtet, es lag nicht an den 
Z-Dioden sondern eher an Windows. Der Gerätemanager zeigte an das das 
ein "unbekanntes Gerät" was aber eher eine falsch Information ist.
Wenn ich den Controller an Linux anstecke und dmesg ausführe zeigt mir 
die Ausgabe an das Linux das Gerät gefunden hat. Der Easylogger 
funktioniert auch jetzt unter Linux, auf mein Windows System ist aber 
Hopfen und Malz verloren.
Meine zweite Erkenntis ist das der Controller sehr empfindlich bei USB 
reagiert, bedeutet ich muss viel rumprobieren bevor alles so 
funktioniert wie ich es haben will :-)
Danke für eure Hilfe werde mir einige Tipps nochmal genau anschauen und 
hoffe das ich V-USB bald zähmen kann :-D

Gruß
Lars

von Oliver J. (skriptkiddy)


Lesenswert?

Lars L. schrieb:
> Der Easylogger
> funktioniert auch jetzt unter Linux, auf mein Windows System ist aber
> Hopfen und Malz verloren.

Nein, bei dir ist Hopfen und Malz verloren. Wie resistent gegen gut 
gemeinte Ratschläge kann ein Mensch eigentlich sein? Hier wurde 2 mal 
gesagt, dass es mit Z-Dioden Probleme geben kann.

Schmeiß doch einfach eine Diode oder 2 in Reihe in den Versorgungszweig 
des AVR und entferne die Z-Dioden und du wirst sehen, das auch dein 
Windows-Rechner das Gerät erkennt.

SCNR Oliver

von Lars L. (vertigo)


Lesenswert?

Oliver J. schrieb:
> Lars L. schrieb:
>> Der Easylogger
>> funktioniert auch jetzt unter Linux, auf mein Windows System ist aber
>> Hopfen und Malz verloren.
>
> Nein, bei dir ist Hopfen und Malz verloren.

Irgendwie habe ich das Gefühl es wird hier gerne mal persönlich.

> Wie resistent gegen gut
> gemeinte Ratschläge kann ein Mensch eigentlich sein? Hier wurde 2 mal
> gesagt, dass es mit Z-Dioden Probleme geben kann.
>
> Schmeiß doch einfach eine Diode oder 2 in Reihe in den Versorgungszweig
> des AVR und entferne die Z-Dioden und du wirst sehen, das auch dein
> Windows-Rechner das Gerät erkennt.

Es tut mir leid aber da muss ich dir widersprechen. Ich hatte ja auch 
zuerst gedacht das meine Schaltung falsch sei oder Bauteile nicht 
richtig funktionieren. Aber als ich das Steckboard mit 3V versorgt habe 
wie Mini Float und Klaus De lisson mir mitgeteilt haben, hatte mein 
Windows Rechner genau die selben Probleme. In meiner Geräteliste ist 
halt jedesmal eine "unbekanntes Gerät" enthalten. Nach mehrmaligen raus 
und reinstecken und refreshen der Liste, kam dann aber auch das 
USB-Device.
Aber das lässt sich auch gut nachvollziehen, weil mein Windows seit ca. 
4-5 Jahren drauf ist. Durch die vielen Simulationen die ich durchführe 
kann sind auch einige Abstürze geschehen.

Viele Grüße
Lars

von Oliver J. (skriptkiddy)


Lesenswert?

Lars L. schrieb:
> Aber als ich das Steckboard mit 3V versorgt habe
> wie Mini Float und Klaus De lisson mir mitgeteilt haben, hatte mein
> Windows Rechner genau die selben Probleme.

Du hast also nur das Board mit 3V betrieben, oder hast du auch die 
Z-Dioden rausgeworfen? Davon steht nämlich nichts in deinem Post.

von Lars L. (vertigo)


Lesenswert?

Guten Tag,
hehe natürlich habe ich die rausgeworfen, ich habe das deswegen nicht 
mit reingeschrieben weil ich eigentlich dachte das es klar ist. Die 
Dioden sind ja sinnlos wenn man das Board mit 3V betreibet. Darum ging 
es ja auch in den Posts weiter oben.
Danke erstmal für die Hilfe hat mir einige Weisheiten gebracht , es ist 
halt immermal gut darüber zu reden :-D

VG
Lars

von Oliver J. (skriptkiddy)


Lesenswert?

Lars L. schrieb:
> hehe natürlich habe ich die rausgeworfen, ich habe das deswegen nicht
> mit reingeschrieben weil ich eigentlich dachte das es klar ist. Die
> Dioden sind ja sinnlos wenn man das Board mit 3V betreibet. Darum ging
> es ja auch in den Posts weiter oben.
Du hast im Prinzip für den Lesenden das gemacht, was du schreibst.


Viel Spaß mit V-USB :)

von Lars L. (vertigo)


Lesenswert?

Hey,
nochmals ein kleiner Zusatz, dank der Lösung aus dem Thread 
Beitrag "usbasp mit neuem atmega8 nicht mehr lauffähig" konnte ich jetzt den Mega8 
vollständig störungsfrei benutzen.

VG
Lars

von Oliver J. (skriptkiddy)


Lesenswert?

Lars L. schrieb:
> Hey,
> nochmals ein kleiner Zusatz, dank der Lösung aus dem Thread
> Beitrag "usbasp mit neuem atmega8 nicht mehr lauffähig" konnte ich jetzt
> den Mega8 vollständig störungsfrei benutzen.
Was hast du denn nun gemacht, um das Problem in den Griff zu bekommen?

Gruß Oliver

von Lars L. (vertigo)


Lesenswert?

Hey,
also ich bin kein studierter Mikroelektroniker, weiß also nicht wirklich 
genau wie jetzt die Ströme laufen. Ich habe einfach eine Z-Diode 3.6V 
1.3W mit Sperrichtung in GND Angeschlossen und der Mega8 wird schon 
erkannt.
Bei den Tiny45 habe ich diesen Trick aber halt nicht gebraucht.

Soweit ich die Diskussion verfolgt habe könnte es daran liegen das die 
Pegel nicht richtig erkannt werden und das es bei neueren mega8 schon 
wichtig ist ob man 1.3W oder 0.5W nimmt.

Schaltung funktioniert aufn Steckboard genauso gut wie auf einer Platine 
die ich gerade gemacht habe. Das Projekt von Hugo 
Beitrag "USB IR Remote Receiver (V-USB + IRMP)" funktioniert jetzt auch 
einwandfrei auf der Platine :-D

so ich mache jetzt aber ins Bett.
VG Lars

von Markus (Gast)


Lesenswert?

Hallo
Ich hatte erst das selbe Problem mit den Zenerdioden als ich mit einem 
ATMega16PI den "USB IR Remote Receiver" zusammengebastelt habe. Der 
Controller lässt sich nicht mit 3.6V betreiben, Zenerdioden hatte ich 
leider überhaupt keine daheim.
Bin daraufhin auf einen hilfreichen Hinweis gestoßen auf 
"http://www.obdev.at/products/vusb/index.html";.
Rein zum testen kann man über einen USB-Hub auch mit 5V fahren anstelle 
der spezifizierten 3.6V. Der USB-Hub dient quasi als Pegelkonverter.

Aber ich werde nie verstehen warum der IgorPlug mit 5V auf dem selben 
Rechner funktioniert hat, auch wenn er direkt angeschlossen war.
Die Schaltung hat einen AT90S2313-10PI verwendet. Einzige unterschied 
den ich sah zu den anderen Schaltungen war das der 1.5k Pull-Up nicht 
zwischen 68Ohm Widerstand und USB-Buchse lag, sondern zwischen 
Controller und 68 Ohm Widerstand.

Mit freundlichen Grüßen
Markus

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.