Möchte über meinen PC zu einem ATMEGA88 kontakt über die USB aufnehmen. Auf der PC-Seite dachte ich mir eine Virtuelle COM so ist die Software der PC-Seite das kleiner übel. Die Fragen die sich mir stellen sind folgende: Gibt es ein Programm mit dem ich den Gerätetreiber schreiben kann? Wo kann ich mich über V-USB einlesen ( möchte keine weiteren Chips verwenden)? Suche keine Lösungen sondern Wegweiser!
Hi, fuer den Anfang ist wohl libusb geeignet um mit deinem controller zu sprechen. V-USB ist im V-USB Wiki und den Beispielen eigentlich ausreichend dokumentiert. Gruesse Marvin
U87ER schrieb: > Gibt es ein Programm mit dem ich den Gerätetreiber schreiben kann? Du brauchst keines, wenn Du eine der Standardgeräteklassen verwendest, die mit Low-Speed-USB verwendbar sind, also HID oder CDC. > Wo kann ich mich über V-USB einlesen ( möchte keine weiteren Chips > verwenden)? Wie wäre es mit http://www.obdev.at/products/vusb/index-de.html ?
http://www.obdev.at/products/vusb/prjdetail.php?pid=11 Das könnte doch was sein. Es gibt aber mit dem Teil Treiberprobleme unter Windows 7 X64.
Und nun mein Problem. Englisch ist nicht mein Ding. Gibt es das auch in Deutsch?
U87ER schrieb: > Englisch ist nicht mein Ding. Die ganze Elektronikwelt ist voll von englischen Datenblättern und Dokumentationen. Wie willst du dich da ohne Englisch zurechtfinden. Entweder Hobby/Beruf wechseln oder Englisch lernen. SCNR Skriptkiddy
So sollte ich wohl erst mal das Forum wechseln und in einen englischkurs gehen? In der Schule sind wir halt noch nicht so weit.
Hier ein deutschsprachiges Pendant zur Beschreibung des Projektes, zwar noch nicht vollständig, aber die Zusammenhänge kann man schon erkennen: http://www.rn-wissen.de/index.php/V-USB:_Ein_Firmware_USB-Treiber_f%C3%BCr_AVR mfG ingo
U87ER schrieb: > So sollte ich wohl erst mal das Forum wechseln und in einen englischkurs > gehen? In der Schule sind wir halt noch nicht so weit. Macht nichts. Technische Dokumentationen sind nicht auf dem Niveau eines Charles Dickens. Die sind einfach zu lesen und enthalten keinen gefinkelten Satzbau. Für die ersten paar Dinge wirst du ein Wörterbuch benötigen, mit welchem die Fachtermini übersetzt werden können. Falls das nicht gelingt, steht selbstverständlich auch das Forum zur Verfügung um den einen oder anderen Begriff zu erläutern oder zu erklären. Abgesehen davon kommt man mit Schulenglisch der ersten beiden Einsteigerjahrgänge gut über die Runden, zumal in techn. Doku immer nur dieselben 100 englischen Wörter benutzt werden. Wenn Japaner, deren Muttersprache nun weiß Gott wesentlich weniger Ähnlichkeit mit Englisch aufweist als das Deutsche, damit zurecht kommen, dann wirst du das auch.
So werde ich es mal versuchen. Danke. Aber ich glaube das wird nix :-( Mit der RS232 sache bin ich gut zurechtgekommen mit hilfe des Forums und der Beschreibungen aber mit USB wird das wohl ein Kampf. Wollte das doch genau so machen als hätte ich so ein FT Chip dazwischen. Mich um nix kümmern müssen.
U87ER schrieb: > Wollte das doch > genau so machen als hätte ich so ein FT Chip dazwischen. Mich um nix > kümmern müssen. Musst Du auch nicht, wenn Du die CDC-Implementierung nutzt. Du brauchst nur eine *.inf-Datei, davon abgesehen verhält sich "dat Dingens" genauso wie andere USB-Seriell-Bridges.
U87ER schrieb: > Wollte das doch > > genau so machen als hätte ich so ein FT Chip dazwischen. Mich um nix > > kümmern müssen. Sieh dir das mal an: http://www.recursion.jp/avrcdc/ In der kleinsten Variante: 1 Attiny45, 3 Widerstände, 1 Kondensator, 1 LED mfg.
Aber wie setze ich das auf meinen 88 um? bis jetzt sende ich das mit der RS232 so: out UDR, zeichen und empfange das so: in temp, UDR gibt es da keine Anleitung?
Du solltest die V-USB-Implementierung nicht auf dem µC laufen lassen, auf dem Du Dein restliches Programm laufen lässt, weil die V-USB-Implementierung recht heikel im Umgang mit den Ressourcen des Controllers ist. Daher: Nimm einen Tiny45, pack da das V-USB 'rein und schließe den an der seriellen Schnittstelle Deines '88 an, dann musst Du auf dem '88 nichts weiter berücksichtigen oder ändern. Ja, ist ein zusätzlicher Chip, aber einfacher zu verarbeiten (DIP!) als ein FT232.
Verstehe ich das richtig? Einen Tiny45 nehmen an USB ankoppeln und sein RX und TX an meinen ATMEGA88? Und was muss ich in den Tiny45 schreiben?
U87ER schrieb: > Einen Tiny45 nehmen an USB ankoppeln und sein > RX und TX an meinen ATMEGA88? Genau so ist es. > Und was muss ich in den Tiny45 schreiben? Das hexfile für den Tiny45 das dem Sourcecode-Paket[1] beiliegt. [1] http://www.recursion.jp/avrcdc/cdc232.2010-02-28.zip Gruß Skriptkiddy
U87ER schrieb: > Und was muss ich in den Tiny45 schreiben? Ein Programm! Und zwar eines, welches den Tiny45 am PC als serielle Schnittstelle anmeldet. Also einen USB auf RS232-Konverter.
Kauf dir um ein paar Euro einen USB nach RS232 Umsetzer. Die gibt es fertig und sie kosten nicht viel. Man kann, wenn man es kann, die entsprechenden USB Behandlungsroutinen auch in den µC mit einbauen, nur ist das alles nicht so trivial wie du dir das vorstellst.
U87ER schrieb: > Möchte über meinen PC zu einem ATMEGA88 kontakt über die USB aufnehmen. > Auf der PC-Seite dachte ich mir eine Virtuelle COM so ist die Software > der PC-Seite das kleiner übel. Ok, eine Virtuelle COM gaukelt dem System eine COM-Schnittstelle vor, auch wenn das Gerät am USB hängt. > Gibt es ein Programm mit dem ich den Gerätetreiber schreiben kann? Ja, wird aber hier nicht benötigt. Da die Treiber bereits vorhanden sind. > Wo kann ich mich über V-USB einlesen ( möchte keine weiteren Chips > verwenden)? Keine weiteren Chips = OBdev, da der A88 keinen USB-Port hat. Beitrag "Re: V-USB selber machen" > Suche keine Lösungen sondern Wegweiser! Der Wegweiser ist, den A88 mit einem Programm auszustatten, welches mittels obdev eine gewisse Geräteklasse (COM-Port) abbildet.
Ich will doch was lernen und nix fertiges kaufen. Will doch nur auf dem PC eine 1 eingeben. Und LED 1 soll leuchten 2 eingeben und LED 2 soll leuchten. 0 alle LED's gehen aus. Geht über RS232 schon. Nun wollte ich weiter lernen und das über USB machen.
U87ER schrieb: > So bin ich wieder am Anfang meiner Frage oder? Nein bist du nicht. Hier wurde doch bereits alles wichtige gesagt, um dich ans Ziel zu bringen.
Ich lese hier aber immer wieder dinge in Englisch oder mit C geschrieben. Englisch kann ich noch nicht so gut und ich dachte mit Assenbler wäre ich richtig. "Assembler ist für den Einstieg "von der Pike auf" am besten geeignet. Nur wenn man Assembler anwendet, lernt man den Aufbau eines Mikrocontrollers richtig kennen und kann ihn dadurch besser nutzen;" Habe ich im Tutorial so gelesen. Also sollte ich wohl erst mal C lernen. Im Tutorial steht aber "Vorausgesetzt werden Grundkenntnisse der Progammiersprache C." Also muss ich erst C für den PC lernen um dann C für den ATMEL zu lernen um dann weiter lernen zu können? Da war ich bis jetzt mit meinem Delphi und dem Assembler schon recht weit, dachte ich. Was mach ich nun?
U87ER schrieb: > Ich will doch was lernen und nix fertiges kaufen. Aber offenbar übersteigt das noch deine Fähigkeiten. Oder wie soll ich mir sonst diverse Fragen in dem Thread erklären. Sache ist aber auch: USB ist nicht so einfach. Das ist schon Königsklasse und du musst in deinem Programm in der Lage sein Timings einzuhalten. Wer Autobasteln will, fängt auch nicht damit an als erstes den Brennraum seiner Zylinder zu modifizieren. USB und RS232 sind völlig verschiedene Welten. Du gehts ein bischen mit der Attitüde ran (kommt mir vor): Da brauch ich nur in 1 oder 2 Konfigurationsregister ein paar Bit umstellen und dann passt das schon. Dem ist aber nicht so. Dein einfachster Ausweg um mittels USB zwischen PC und µC eine Datenverbindung herzustellen sind diese fertigen Adapter. Sie rüsten so gesehen auf dem PC eine RS232 nach und dann greift wieder alles was du in Tutorien über RS232 liest. Wenn du am Anfang deiner Karriere stehst, sind sie deine beste Option um erst mal mit dem lernen weiterzukommen. USB zu RS232 ist ungefähr so wie Schnurtelefon mit ein paar Joghurtbecher im Gegensatz zu Satellitentelefon. Es reicht einfach nicht, einfach nur die Schnur länger zu machen, wenn man zum Satelliten will.
Was ist eine Attitüde???? OK das was ich machen wollte ist wohl noch zu groß für mich sehe ich das richtig? Was kann ich sonst noch so machen? Mit der RS232 komme ich klar. Mit ein und ausschalten auch. LCD Display geht mit dem Tutorial gut. einen Bootloader schreiben geht das oder ist das auch zu groß?
> Also muss ich erst C für den PC lernen um dann C für den ATMEL zu lernen > um dann weiter lernen zu können? Nicht zwingend, aber es erleichtert das Verständnis doch sehr. Der Unterschied zwischen Pascal (Delphi) und C ist auch nicht so groß, das man völlig umdenken müsste. mfG ingo
U87ER schrieb: > Was ist eine Attitüde???? Einstellung > OK das was ich machen wollte ist wohl noch zu groß für mich sehe ich das > richtig? Wenn wir das was du machen willst richtig einschätzen: Ja das ist noch zu viel und zu schwer. USB zu RS232 ist ungefähr so wie Schnurtelefon mit ein paar Joghurtbecher im Gegensatz zu Satellitentelefon. Es reicht einfach nicht, einfach nur die Schnur länger zu machen, wenn man zum Satelliten will. > Was kann ich sonst noch so machen? > Mit der RS232 komme ich klar. > Mit ein und ausschalten auch. > LCD Display geht mit dem Tutorial gut. Was ist mit Kommandoübertragung und Auswertung über die RS232? Kannst du auf dem PC ein graphisches Frontend machen, mit dem man LED ein/ausschalten kann, Texte auf dem LCD anzeigen, einen Messwert vom ADC anfordern und auf dem PC darstellen kann. Und zwar alles in einem Programm und wenn geht auch dann noch wenn mitten in der Übertragung das Kabel ab und wieder angesteckt wird? > einen Bootloader schreiben geht das oder ist das auch zu groß? Kommt drauf an, wie gut du bist.
Karl heinz Buchegger schrieb: > Was ist mit Kommandoübertragung und Auswertung über die RS232? Ja das mach ich schon sogar mit mehr als einem Zeichen also "LED 1 an" "LED 1 aus" u.s.w. > Kannst du auf dem PC ein graphisches Frontend machen, mit dem man LED > > ein/ausschalten kann, Texte auf dem LCD anzeigen, Ja das geht super und war nicht so schwer > einen Messwert vom ADC > > anfordern und auf dem PC darstellen kann. Und zwar alles in einem > > Programm und wenn geht auch dann noch wenn mitten in der Übertragung das > > Kabel ab und wieder angesteckt wird? Ja aber das umrechnen des Messwetes mache ich mit dem PC da ich noch nicht genau verstanden habe wie ich mit dem Atmel rechnen kann.
OK Was ist mit PWM? Timer, Uhr, Servos, etc. Messgeräte wie Voltmeter, Frequenzzähler, etc.
Karl heinz Buchegger schrieb: > Kommt drauf an, wie gut du bist. Kann ich nicht sagen da ich keinen vergleich habe. Meine Freunde machen so etwas nicht und meine Mutter sagt immer sie hat keine Ahnung davon.
U87ER schrieb: > Ja aber das umrechnen des Messwetes mache ich mit dem PC da ich noch > nicht genau verstanden habe wie ich mit dem Atmel rechnen kann. Bist du ein Troll oder einfach nur blutiger Anfänger?
Karl heinz Buchegger schrieb: > OK > > > > Was ist mit PWM? Du meinst ein High zeitlich anderst zu machen als ein Low. Habe ich noch nicht gemacht aber mir fällt auch keine Anwendung dafür ein.
> Bist du ein Troll oder einfach nur blutiger Anfänger? Tja, so ein Beitrag wie der hier U87ER schrieb: >> Kommt drauf an, wie gut du bist. > > Kann ich nicht sagen da ich keinen vergleich habe. Meine Freunde machen > so etwas nicht und meine Mutter sagt immer sie hat keine Ahnung davon. ... legt schon einen gewissen Verdacht nahe.
U87ER schrieb: >> Was ist mit PWM? > > Du meinst ein High zeitlich anderst zu machen als ein Low. Jep. Und zwar einstellbar. > Habe ich noch > nicht gemacht aber mir fällt auch keine Anwendung dafür ein. zb LED dimmen, zb Motoren ansteuern, zb. Es gibt viele Anwendungen dafür. Überhaupt - 'Timer' das ist ein weites Feld, von dem du viel mehr hast als von einem Bootloader. Und dann natürlich 'rechnen im µC'. Auf Dauer ist das kein Zustand, wenn du dazu immer den PC brauchst. Dein "Voltmeter" soll auf dem LCD die Spannung, Frequenz oder was auch immer ausgeben. 2 Lichtschranken an den µC. Die eine startet eine Stoppuhr, die andere stoppt sie. Verwendung: Fallzeiten messen, Durchfahrzeiten eines Modellautos messen. Daraus die Geschwindigkeit berechnen, etc. Rundenzähler für die Autorennbahn. Oder Menüsysteme. Kannst du zb 8 blinkende LED mit 3 Tastern und einem Menü am LCD unabhängig voneinander konfigurieren (Blinkzeiten einstellen). Da gibt es noch jede Menge Zeugs, die wesentlich wichtiger sind, als ein Bootloader.
Habe hier noch so eine RGB-LED hat zwar 6 Beine ( 1 Rot, 1 Grün , 2 Blau, 2 Plus ) aber damit kann ich doch mal ein Farbspiel machen mit PWM und PC Software. Mit dem Rechnen dachte ich mir wäre für mich noch zu schwer. Dachte V-USB wäre einfacher. Soll ich dir zeigen wie ich das mit der LED mache damit du mir sagen kannst ob ich schon ein Bootloader oder was größeres machen kann.
Ich kann dich einfach nicht verstehen. Du musst doch mit einfachen Dingen anfangen und nicht gleich mit den schweren Sachen. Steuere doch einfach mal über PWM einen Servo an.
U87ER schrieb: > Ich habe keinen Servo. > > Ich mach mal was mit der LED Eine RGB Led ist doch ein dankbares Objekt. Farbwechsel, die sich durchdimmen. Blinksequenzen etc. Zusammen mit einem LCD und Tastern als Eingabemedium ergeben sich da viele Aufgabenstellungen.
Ich dachte mir das so. Ich mache eine Software auf dem PC welches ein Farbspectrum hat. Wenn man nun mit der Maus auf eine Farbe klickt nimmt die LED diese Farbe an. Heller und Dunkeler ist in dem Farbspectrum mit drin. So eine Kreis mit allen farben halt. Das ganze wird über die RS232 übergeben und die PWM stellen sich ein. Habe eben mal die Vorwiederstände berechnet für die LED. R=U/I U=Uin-Uout R=(5-2,25)/0,02 Rot = 2,25V bei 20mA an 5 Volt = 150Ohm (137,5Ohm) R=(5-2,35)/0,02 Grün = 2,35V bei 20mA an 5 Volt = 150Ohm (132,5Ohm) R=(5-4,25)/0,02 Blau = 4,25V bei 20mA an 5 Volt = 39Ohm (37,5Ohm) Jetzt muss ich mir noch ein Protokoll ausdenken. Aber ich denke mal RxxxGxxxBxxx Wobei xxx immer ein Wert zwischen 000 und 255 ist also so R001G000B020 Rot ganz wenig Grün garnicht Blau nur ein wenig Jenachdem wie die geforderte Farbe halt ist. Kann ich hier einen neuen Beitrag erstellen und das beschreiben was ich mach oder ist soetwas nicht gewollt. Würde Software Schaltplan und PC-Software natürlich weiter geben.
Erster Post: >>Autor: U87ER (Gast) >>Datum: 31.01.2011 11:32 Letzter Post: >>Autor: U87ER (Gast) >>Datum: 31.01.2011 15:56 Da war es aber heute jemandem ab Mittag sehr langweilig auf Arbeit. :D
Skript Kiddy schrieb: > Da war es aber heute jemandem ab Mittag sehr langweilig auf Arbeit. Wohl nicht: U87ER schrieb: > In der Schule sind wir halt noch nicht so weit.
Hallo, die Anregung CDC-232 mit dem atTiny45/85 zu verwende, ist ja schon gekommen. Die Firmware für f=16,5MHz die beiden atTiny habe ich dir eben noch mit der aktuellen VUSB Lib vom 20100715 über setzt, siehe Anhang. Je nachdem, ob du Linux oder Win*OS verwendest, wird noch ein Treiber benötigt ! http://www.recursion.jp/avrcdc/driver.html Ich habe selbst drei atMega48 CDC 232 am laufen. .
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.