Hi, ich brauche für ein Flipperprojekt eine Art usb game controller um die Flipperknöpfe anzusprechen. Ich habe auch ein Projekt gefunden, aber bekomme es nicht zum Laufen. Hat evtl. jemand Erfahrung damit und kann mir auf die Sprünge helfen, da ich "mikrocontrollermäßig" noch am Anfang stehe. Programmieren klappt, aber wird nicht erkannt. Schaltung habe ich mehrfach überprüft. Hier der Link: http://www.raphnet.net/electronique/usb_game12/index_en.php Fehlt mir evtl. noch was? Ich habe von der Seite die hex-Datei geflasht, ich habe es selbst kompiliert, ich habe die Fuses geflasht, kein Erfolg. Irgendein Tipp oder eine Idee wie ich weiter komme? Hilfe wäre toll, fehlt vielleicht noch ein Treiber? Keine Reaktion wenn ich die Platine an USB anschließe, Spannungen sind da, Quartz schwingt. Gruß Pit
Hmm, auf deren Webseite steht folgendes: I'm using the human input device (HID) which allows me to tell to the computer that the connected USB device is a joystick and has 2 axis and 4 or 8 buttons. Also keine Tastatur.
Duda schrieb: > Wird das Gerät überhaupt erkannt? Hans-Peter Dahl schrieb: > Programmieren klappt, aber wird nicht erkannt.
Jörg Wunsch schrieb: > Hans-Peter Dahl schrieb: >> Programmieren klappt, aber wird nicht erkannt. Klar. Was bedeuter "aber wird nicht erkannt" genau? "Es wird nicht als Keyboard-Tastendruck erkannt" geht in dieselbe Richtung. Kunde: Mein PC geht nicht mehr Support: Eventuell Stromausfall? Kunde: Nein er geht nicht mehr ... Ergebnis: Die liebgewonnene Webseite wird nicht angezeigt, weil down -> Fehlermeldung; davon hat der Kunde aber nichts gesagt. Sowas kenne ich zur Genüge, daher frage ich nochmal nach. Da ich aber selber etwas ungenau war: Wird das USB-Gerät im Gerätemanager (ich gehe mal von Windows aus) aufgelistet? Oder wird das Teil nicht von Programmer erkannt? (Programmieren geht dann natürlich nicht wirklich) Hans-Peter Dahl schrieb: > eine Reaktion wenn ich die Platine an USB anschließe Ist diese Reaktion auf die erwartete Funktion "Tastatur" gemünzt, oder auf den Gerätemanager?
Das sieht aus wie ein VUSB-Klon. Schau mal bei obdev.at. Das sind die Urheber dieses Verbrechens. Ich habe im Übrigen auch gerade eine Anwendung von denen auf dem Steckbrett aufgebaut. Am Win 7 64 Bit (PC) meldet sich das Teil korrekt an. Am Laptop 32 Bit, Win 7 funktioniert es nicht. Es ist eben nur Gebastel! Gruß Pit
Also einwandfrei funktionierende Joystick und Keyboard Controller gibt es hier: http://www.codemercs.com/42/?L=0 http://www.codemercs.com/37/?L=0
Pit schrieb: > Das sieht aus wie ein VUSB-Klon. Schau mal bei obdev.at. Das sind die > Urheber dieses Verbrechens. > > Ich habe im Übrigen auch gerade eine Anwendung von denen auf dem > Steckbrett aufgebaut. Am Win 7 64 Bit (PC) meldet sich das Teil korrekt > an. Am Laptop 32 Bit, Win 7 funktioniert es nicht. > > Es ist eben nur Gebastel! > > Gruß Pit Vielen Dank schon mal für die Hilfe, ich antworte mal an Alle. Also sorry für die "falsche" Bemerkung Tastatur. Aber das Ding will ich ja auch nur zum Anschluss von Flipperknöpfen benutzen. Das vorweg. Ja, es ist ein VUSB-Klon von obdev.at Die Schaltung ist korrekt aufgebaut, habe mal ein kleines, eigenes Programm laufen lassen. Programmiere ich aber das oben angesprochene Projekt drauf und schließe die Schaltung dann an einen USB Port ran (XP-Rechner und w7), passiert nichts. Es hätte doch zumindest ein neues USB Gerät gemeldet werden. Das passiert auch nicht, geschweige, das ich Tasten drücken könnte. Pit. wenn Du das auf einem Laptop zum Laufen gebracht hast, (Versuchsaufbau) hast Du mal ne Schaltung davon? Oder hast Du noch welche Treiber aufgespielt oder einen Bootloader aufgespielt oder was ? Ich habe das Ding so verstanden: draufbrennen und ohne zusätzlichen Treiber laufen lassen. Ich versuche gerade den Sourcecode mal in avr studio reinzubekommen um zu sehen ob alles ok ist und evtl. mal simulieren. Leider bin ich noch sehr kurz dabei und habe im avr studio noch nicht herausbekommen wie ich die usbdrv Dateien mit ins Projekt linken kann. Kann mir da jemand helfen wie man zusätzliche Dateien ins Projekt linkt? Vielen Dank, pit
Hans-Peter Dahl schrieb: > Die Schaltung ist korrekt aufgebaut, habe mal ein kleines, eigenes > Programm laufen lassen. Stimmt die Taktfrequenz? > Ich versuche gerade den Sourcecode mal in avr studio reinzubekommen um > zu sehen ob alles ok ist und evtl. mal simulieren. Ich glaube, sowas zu simulieren, kannst du komplett knicken. Wie willst du denn die nötigen Stimuli in die Simulation einbringen, die den Eingliederungsprozess des Hosts in den USB vortäuschen? Selbst mit einem ordentlichen Debugger hat man bei USB praktisch keine Chance, da das alles in Echtzeit ablaufen muss, ansonsten bekommt der Host sofort kalte Füße. Man kann sich damit allerdings von Breakpoint zu Breakpoint hangeln um zu verfolgen, ob/wie weit dieser Eingliederungsprozess (der bei dir ja offenbar nicht sauber läuft) bereits fortgeschritten ist. Einfacher ist es allerdings, wenn man das OS des Hosts zu ausreichend viel Debuginformationen überreden kann. Ich habe daher, als ich das letzte Mal was mit USB zu tun hatte, gegen Linux und FreeBSD gearbeitet und dort jeweils passend Debuginformationen in die Kerneltreiber gestrickt. Manchmal muss Opensource ja schließlich auch seine Vorteile ausspielen. ;-) Erst, nachdem der Kram mit diesen beiden sauber lief, hab' ich das Ergebnis dann auf ein Windows losgelassen.
Jörg Wunsch schrieb: > Hans-Peter Dahl schrieb: > >> Die Schaltung ist korrekt aufgebaut, habe mal ein kleines, eigenes >> Programm laufen lassen. > > Stimmt die Taktfrequenz? > >> Ich versuche gerade den Sourcecode mal in avr studio reinzubekommen um >> zu sehen ob alles ok ist und evtl. mal simulieren. > > Ich glaube, sowas zu simulieren, kannst du komplett knicken. Wie > willst du denn die nötigen Stimuli in die Simulation einbringen, die > den Eingliederungsprozess des Hosts in den USB vortäuschen? > > Selbst mit einem ordentlichen Debugger hat man bei USB praktisch keine > Chance, da das alles in Echtzeit ablaufen muss, ansonsten bekommt der > Host sofort kalte Füße. Man kann sich damit allerdings von Breakpoint > zu Breakpoint hangeln um zu verfolgen, ob/wie weit dieser > Eingliederungsprozess (der bei dir ja offenbar nicht sauber läuft) > bereits fortgeschritten ist. > > Einfacher ist es allerdings, wenn man das OS des Hosts zu ausreichend > viel Debuginformationen überreden kann. Ich habe daher, als ich das > letzte Mal was mit USB zu tun hatte, gegen Linux und FreeBSD > gearbeitet und dort jeweils passend Debuginformationen in die > Kerneltreiber gestrickt. Manchmal muss Opensource ja schließlich auch > seine Vorteile ausspielen. ;-) Erst, nachdem der Kram mit diesen > beiden sauber lief, hab' ich das Ergebnis dann auf ein Windows > losgelassen. Hi Jörg, das ich das nicht wirklich simulieren kann ist mir schon klar. Aber wie Du selbst schon schreibst, kann man sich durch gewisse Dinge durch hangeln mit Breakpoints um zu mindest Teile zu checken um mal weiter zu kommen. Beim Übernehmen in avr studio hatte ich schon einige Fehlermeldungen mit Variablen und Interrupts, da sich in den avrgcc Versionen etc. schon einiges geändert hat. Das ist ja schon mal was. Außerdem lernt man ja viel dabei. Leider habe ich noch nicht herausgefunden wie ich im avr-studio 6 die usbdrv im BuildProzess mit verlinken kann. Wenn hier noch mal jemand einen Tipp hat. Oder muss man das auch über das Makefile machen ? Gruß Pit ach P.S. die Taktfrequenz stimmt (12 MHz)
Hans-Peter Dahl schrieb: > Aber wie > Du selbst schon schreibst, kann man sich durch gewisse Dinge durch > hangeln mit Breakpoints um zu mindest Teile zu checken um mal weiter zu > kommen. Das hat dann jedoch nichts mehr mit deiner Realität zu tun. Anders gesagt: selbst, wenn du auf diese Weise in der Simulation gar nichts findest, wird deine real aufgebaute Schaltung nachher trotzdem noch nicht funktionieren. > Leider habe ich noch nicht herausgefunden wie ich im avr-studio 6 die > usbdrv im BuildProzess mit verlinken kann. Du musst vermutlich die einzelnen Dateien ins Projekt aufnehmen. Oder aber, du benutzt einfach das mitgelieferte Makefile.
Hans-Peter Dahl schrieb: > ach P.S. die Taktfrequenz stimmt (12 MHz) Das ist meiner Erfahrung nach bei V-USB neben den selbstjustierenden Oszillatorlösungen die schlechteste Frequenz, weil da am wenigsten Zeit für die zeitkritischen Routinen bleibt. Die 16 MHz Version funktioniert hier bei allen Rechnern unter MacOS, Debian und XP problemlos. Wichtig ist übrigens der 1k5 Pullup Widerstand an der D- Leitung und das die USB Pegel möglichst genau bei 3,3V sind. Die Lösung mit den Zeners in den Datenleitungen ist nicht so gut wie den ganzen MC mit 3,3 Volt zu betreiben und die Datenleitungen direkt an USB (über die 68R Widerstände) anzuschliessen.
Matthias Sch. schrieb: > Die Lösung mit den Zeners > in den Datenleitungen ist nicht so gut wie den ganzen MC mit 3,3 Volt zu > betreiben und die Datenleitungen direkt an USB (über die 68R > Widerstände) anzuschliessen. 16 MHz bei 3,3 V liegt beim ATmega8 allerdings deutlich außerhalb der Garantiewerte.
Hallo, ich habe das sehr spatanisch nachgebaut (Schaltung im Anhang): - 12 MHz Clock + 2 x 22pF - R1 mit irgendwas um 2k - 4 Dioden, um irgendwie auf die 3.6 V zu kommen (+- 0.2 V) Alles andere habe ich weggelassen, da ich nur etwas testen wollte. Und genau, das Hex-File einfach aufspielen. Zu beachten ist, dass bei denen die Versorgungsspannung am ATmega 3.6 Volt beträgt (das ist so ein Low-Power Teil). Ich hatte nur einen für 5 Volt. Da musst Du dann die Versorgungsspannung eben vor den Dioden abgreifen. Gruß Pit
Hänge C3 mit rein und spendiere ihm einen kleinen Bruder von 100nF. Bitte so dicht wir möglich an den Prozessor zwischen Pin 7 und 8. Und dann noch einen zwischen Pin 20 und 22. VUSB ist trotzdem eine haarige Sache. Unter Linux lief sie bei mir fast immer. Auf einem Mac war es schon ein Glücksspiel und Windows ist mir sogar reproduzierbar abgestützt (obwohl die Spannungen passten und das USB-Gerät nicht zu viel Strom zog). Ein AVR mit eingebautem USB-Stack (AT90USB162) ist da schon pflegeleichter.
Matthias Sch. schrieb: > Hans-Peter Dahl schrieb: >> ach P.S. die Taktfrequenz stimmt (12 MHz) > > Das ist meiner Erfahrung nach bei V-USB neben den selbstjustierenden > Oszillatorlösungen die schlechteste Frequenz, weil da am wenigsten Zeit > für die zeitkritischen Routinen bleibt. Die 16 MHz Version funktioniert > hier bei allen Rechnern unter MacOS, Debian und XP problemlos. > Wichtig ist übrigens der 1k5 Pullup Widerstand an der D- Leitung und das > die USB Pegel möglichst genau bei 3,3V sind. Die Lösung mit den Zeners > in den Datenleitungen ist nicht so gut wie den ganzen MC mit 3,3 Volt zu > betreiben und die Datenleitungen direkt an USB (über die 68R > Widerstände) anzuschliessen. Hi Matthias, das sind auch mal gute Tipps, habe mir schon gedacht, das die Schaltung nicht sehr stabil läuft. Werde mal 16MHz testen. Im übrigen sind diese ganzen "USB" Schaltungen mit dem Atmel recht kritisch. Habe auch schon einige USB Brenner getestet und auch da war es eher Glücksache obs läuft. Vor Allem die 3,6V Dioden machen oft Probleme, also eine eigene Spannungsversorgung ist wahrscheinlich angebracht. In meiner Testschaltung habe ich die Variante mit Zenerdioden und mit zwei 1N4148 versucht, habe dann aber an den USB Leitungen nur 2,7V das kann schon das Problem sein. Danke Gruß Pit
... schrieb: > Hänge C3 mit rein und spendiere ihm einen kleinen Bruder von 100nF. > Bitte so dicht wir möglich an den Prozessor zwischen Pin 7 und 8. > Und dann noch einen zwischen Pin 20 und 22. > > VUSB ist trotzdem eine haarige Sache. Unter Linux lief sie bei mir fast > immer. Auf einem Mac war es schon ein Glücksspiel und Windows ist mir > sogar reproduzierbar abgestützt (obwohl die Spannungen passten und das > USB-Gerät nicht zu viel Strom zog). > > Ein AVR mit eingebautem USB-Stack (AT90USB162) ist da schon > pflegeleichter. Werde auch mal Deine Tipps ausprobieren, ist der Einbauort der Kondensatoren so kritisch? Da man immer wieder liest, so dicht wie möglich an die Pins? Werde das aber mal beherzigen und noch ein wenig herumprobieren. Muss doch zum Laufen zu bringen sein, danke Gruß Pit
Jörg Wunsch schrieb: > 16 MHz bei 3,3 V liegt beim ATmega8 allerdings deutlich außerhalb > der Garantiewerte. Ja, da streust du nochmal so richtig Salz in die Wunde, Safe Operating Area ist was anderes. Zu meiner Verteidigung kann ich nur vorbringen, das ich bisher keinen AVR hatte, der es nicht geschluckt hat...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.