Ich habe mal einen kleinen Basteltip. Bei Reichelt gibt es derzeit eine USB-Soundkarte fuer nur 10.95Euro. (Delock 61645) Im Inneren befindet sich ein CM119 von Cmedia http://www.cmedia.com.tw/usb_cm119.html Man kann dort auch das Datenblatt eines CM109 und eines CM109A runterladen. Interessant ist das Teil erstmal als kleiner USB-Oszi. Der Stoepsel wird von WinXP ohne Treiber als Soundkarte erkannt. Ueberbrueckt man C6 und entfernt R6 auf der Platine so hat man einen Gleichspannungseingang mit einem Offset von 2.25V. Diese interne Referenzspannung von 2.25V wird vom IC auch bereitgestellt. Es sollte also relativ einfach sein mit einem OP sich einen Massebezogenen Eingang herzustellen der auch Gleichspannungen verarbeiten kann. Das IC arbeitet wirklich komplett Gleichspannungsbezogen ich habe das mit einer Diode am Analogeingang getestet. (zieht Leitung in einem SoundkartenOsziprogramm dauerhaft 1V runter) Aber das ist noch nicht alles. Das IC hat auch acht GPIO Pins die man in eigenen Anwendungen benutzen koennte. Zum Beispiel um Messbereiche umzuschalten oder aehnliches. Das beste aber, das IC besitzt auch ein I2C-Slave Interface. Man koennte dort einen beliebigen Microcontroller anschliessen der dann das IC programmiert. Es gibt sogar ein Register dessen Inhalt wiederum vom CM119 an den PC ueber USB ausgegeben wird und das speziell fuer die Kommunikation mit einem Microcontroller gedacht ist. Und es ist auch moeglich die ganzen USB Descriptoren zu aendern. (93C46) Das Teil ist also wunderbar geeignet eine eigene Schaltung ohne grossen Aufwand an USB zu bringen, und man hat noch zusaetzlich zwei Analog-Ausgaenge und einen Analog-Eingang zur Verfuegung. Olaf p.s Ich poste das hier in d.s.e und microcontoller.net
Ja, interessant. Hat zwar nur 48kSPS aber für den Preis. Auch die Analogausgänge müssten sich für was interessantes nutzen lassen. Arbitrary Function Generator oder sowas :D
Gibt es irgendwo ein Tutorial für Anfänger wie man so etwas bauen kann? also Schritt für Schritt
Olaf schrieb:
> einen Analog-Eingang zur Verfuegung.
Schade, ich brauche drei (ggf auch nur zwei).
Olaf schrieb: > Ueberbrueckt man C6 und entfernt R6 auf der Platine so hat man einen > Gleichspannungseingang mit einem Offset von 2.25V. > > Das IC arbeitet wirklich komplett Gleichspannungsbezogen ich habe das mit > einer Diode am Analogeingang getestet. (zieht Leitung in einem > SoundkartenOsziprogramm dauerhaft 1V runter) Wow das wäre echt genial, weil man so eine moderne billige Schnittstelle zum PC hätte. Mit etwas Glück kann man die 4 Taster und 2 Leds auch vom PC steuern, falls du das nicht schon mit GPIO gemeint hast. Die Funktionalität als (Software)Oszi macht die Sache natürlich besonders interessant. Könntest du mal einen Screenshot von einem gleichspannungsbehafteten Signal machen.
Solch ein billig-Oszi gibts auch hier...sogar noch billiger: http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html
Hi ich will mir in nächster zeit so ein Oszi zulegen, ich weis die sind nicht gerade supper aber ich denke für einfache dinge ganz ausreichend, nun meine frage welches von den beiden ist den besser ^^ abgesehen vom preis (sind ja beide billig), tendiere eher zur soundkarte da dort könnte ich mit ner zusatzschaltung zwischen Wechsel und Gleichspannung schalten.
Soooo...Leuts, Ich habe gerade ein bisschen mit dem USB-Stoepsel rumgespielt. Hier mal ein paar Ergebnisse: Schaltplan von der Soundkarte im Originalzustand: http://www.criseis.ruhr.de/usbsound/sound.gif Da ist C6 zu entfernen und dann folgendes einzubauen: http://www.criseis.ruhr.de/usbsound/ampli.gif Die Widerstaende sind alle 1%. Der OP muss kein TS951 sein, aber er muss Rail2Rail sein. Also KEIN 741! Wenn man es klein bauen will damit es noch ins Gehaeuse passt dann kann das so aussehen: http://www.criseis.ruhr.de/usbsound/board.jpg Verdrahtung natuerlich auf der Unterseite. Und jetzt noch ein paar Messungen: http://www.criseis.ruhr.de/usbsound/0_5Hz.gif Man beachte ich habe die Spannung am Sinusgenerator verschoben und nicht am Rechner! Und es sind nur 0.5Herz. Man kann also wirklich Gleichspannungen messen. Hier mal die Grenzen. :-) http://www.criseis.ruhr.de/usbsound/17kHz.gif Saegezahn nach unten verschoben. Es ist durchaus moeglich negative Spannungen zu messen! criseis.ruhr.de/usbsound/saege.gif Ein Peak mit 1us: criseis.ruhr.de/usbsound/peak1us.gif Auch hier sieht man das der Gleichspannungsanteil erhalten bleibt. Ein Sweep von meinem Sinusgenerator: criseis.ruhr.de/usbsound/sweep7-20khz.gif Von Hand mit Peakhold durchgekurbelt um den Frequenzbereich komplett durchzubekommen: criseis.ruhr.de/usbsound/sweep0-20kHz.gif Erfreulicherweise kein Abfall durch interne Filter zu sehen. Olaf
Olaf schrieb: > http://www.criseis.ruhr.de/usbsound/ampli.gif > Der OP muss kein TS951 sein, aber er muss Rail2Rail sein. Was hat es mit dem LOBS Kontakt auf sich der am R3 hängt? Ohne diesen könnte man ja auch R4, R5 & R6 weglassen. Man sollte noch eine Eingangsschutzbeschaltung in Form einer Z-Diode an den Eingangsspannungsteiler hängen. > Und jetzt noch ein paar Messungen: > http://www.criseis.ruhr.de/usbsound/0_5Hz.gif Sieht ja echt ganz ordentlich aus! > Saegezahn nach unten verschoben. Es ist durchaus moeglich negative > Spannungen zu messen! Das ist mir nicht ganz klar, wie man mit der Schaltung von oben negative Spannungen messen kann.
> Was hat es mit dem LOBS Kontakt auf sich der am R3 hängt? Wie man dem Datenblatt entehmen kann (huestel), kommt da die Referenzspannung des AD/DA Wandlers raus. Sogar netterweise bereits ueber einen OP gepuffert. (2.255V) > Das ist mir nicht ganz klar, wie man mit der Schaltung von oben > negative Spannungen messen kann. Ganz einfach, die Nullposition des AD-Wandlers liegt in der Mitte seines Messbereichs bei 2.255V. Deshalb braucht man ja den Addierer. Das fuehrst nun dazu das am Eingang des OPs immer 2.255V anliegen. Davon kann man ja erstmal mit einer negativen Spannung substrahieren bis man auf 0V kommt. Man koennte vielleicht dort auch ein Poti anschliessen. (+5V, Masse) So muesste man sich die Basislinie des Oszis verschieben koennen. Die Widerstaende dort muessen aber bleiben! Der Eigangswiderstand des Addierers ist im uebrigen 100k, und ich habe den Vorteiler eigentlich so ausgelegt das man +/- 20V messen kann. Allerdings waren es in bei meinem Tests weniger. Ich glaube das ging bis +/-7V. Ich muss nochmal schauen ob ich mich da irgendwo verrechnet habe oder vielleicht einen Fehler beim loeten habe. Hm..mir faellt geraede ein, vielleicht war noch der Microfon- vorverstaerker im CM119 aktiviert. Die grosse Anzahl an Widerstaenden ist notwendig weil diese Schaltung sensibel auf falsche Werte reagiert und man wirklich sehr krumme Werte braucht. Eine Z-Diode koennte man vielleicht noch reinmachen, aber ich weiss nicht ob die Idee so gut ist. Legt man sie zu klein aus so wird ihre Kennlinie bereits im Grenzbereich die Messung beeinflussen. Legt man sie groesser aus so koennte es sein das sich der OP selber schuetzt. Ich vermute mal der hat auch Dioden gegen Masse und VCC am Eingang. Bin mir aber nicht sicher. Aber ich meine niemand wird hoffentlich daran denken so eine Schaltung an 230V oder aehnlichem zu stoepseln. Das ist eher eine kleine Spielerei auf dem Labortisch. Deshalb hat mir auch ein einziger Messbereich bis 20V ausgereicht. Olaf
Olaf schrieb: > Deshalb hat mir auch ein einziger > Messbereich bis 20V ausgereicht. Nett. Kannst du die GPIOs toggeln? Dann wäre eine Meßbereichsumschaltung drin. So als Billich-Datenlogger eigentlich ganz gut.
Olaf schrieb: >> Was hat es mit dem LOBS Kontakt auf sich der am R3 hängt? > Wie man dem Datenblatt entehmen kann (huestel), Wie ich ehrlich zugebe, habe ich das nicht gemacht. Der Rest der OPV Schaltung ist dann auch klar. R3 ist dann 100k. > Man koennte vielleicht dort auch ein Poti anschliessen. (+5V, Masse) So > muesste man sich die Basislinie des Oszis verschieben koennen. Die > Widerstaende dort muessen aber bleiben! Ändert sich damit nicht auch die Verstärkung? > Eine Z-Diode koennte man vielleicht noch reinmachen, aber > ich weiss nicht ob die Idee so gut ist. Legt man sie zu klein aus > so wird ihre Kennlinie bereits im Grenzbereich die Messung beeinflussen. Habe mir gerade mal die Zener von 5,1-8,2V angeschaut und du hast Recht. Ab etwa 7V wird der Strom klein genug, aber das dürfte schon zu spät sein. > Ich vermute mal der hat auch Dioden gegen Masse und VCC am Eingang. Man kann ja vorsichtshalber zwei einbauen. Der Strom bleibt durch die hohen Widerstände auch recht gering.
> Nett. Kannst du die GPIOs toggeln? Dann wäre eine Meßbereichsumschaltung > drin. So als Billich-Datenlogger eigentlich ganz gut. Ja kann ich. Hab ich das nicht schon erwaehnt? Hm...war vielleicht nur in d.s.e. http://www.criseis.ruhr.de/usbsound/cm119.tgz Und noch eine Anmerkung. In dem Teil ist ein CM119 drin und kein CM119A oder CM109. Der Unterschied besteht darin das der CM119 zwar PID und VID und auch eine Seriennummer in seinem EEPROM speichern kann, aber keine HerstellerID. Ausserdem habe ich den Verdacht das er eine Macke beim beschreiben des EEPROMs hat. Ich kann das problemlos auslesen, wenn ich aber eine bestimmte Adresse im EEPROM mit einem Wert beschreiben will so legt er dort immer nur Null ab. Wer also damit experementiert, nicht gleich probieren die VID zu beschreiben sonst ist loeten angesagt. :-) > Ändert sich damit nicht auch die Verstärkung? Nein, das ist doch nur ein Addierer. Allerdings wird man schnell an die Grenzen der Betriebsspannung kommen. Ich hab jetzt meine Schaltung in das Gehaeuse eingebaut und an den Klinkenstecker einen Tastkopf angesteckt. Der ist umschaltbar 1:1 1:10. Ich hab noch nicht genau geschaut was man damit fuer Spannungen messen kann. Aber auf jedenfall eine ganze Menge weil der Tastkkopf wohl eher 1:100 arbeitet. Das ist aber kein Problem. So eine Soundkarte ist zwar in ihrer Bandbreite stark beschraenkt, aber die Aufloesung schlaegt jeden echten Oszi um laengen. Es waere vielleicht klug den Eingangsteiler nochmal neu zu berechnen damit da ein Wert rauskommt der sich mit der Anzeige eines Osziprogramms deckt. Olaf
Ich werfe mal folgenden Chip in die Runde: http://www.iamnota.net/hw:tp6911 Gibts bei ebay in 3,50-Usb-Soundkarten (steht "econdo.de" drauf) und sieht sehr interessant aus: * Compliance with the Universal Serial Bus specification V2.0 Full-Speed * Built-in USB Transceiver and 3.3V regulator * Isochronous transfer with adaptive synchronization * High performance 48KHz sampling rate for audio playback * 24KHz sampling rate for voice recording * Two channel audio Class-D Amplify for speaker driving * 64-level volume control , VR adjustment available * Embedded 10 bits ADC input * USB Keyboard interface * Support USB Suspend function * 12 MHz crystal oscillation * 28 / 48 pin package
Das kann man auch einfacher mit 200kSps haben: http://www.ullihome.de/index.php/USBAVR-ISP/de#USB_AVR_Lab_als_Oszilloskop
> http://www.iamnota.net/hw:tp6911 Das ist doch ein Witz. Der hat nur 10Bit AD-Wandler, der von C-Media offiziell 16Bit, wovon aber 14-15Bit nutzbar sind. Und noch schlimmer, er tastet das Eingangssignal nur mit 24kHz ab. Man kann ihn also bestenfalls so bis 10khz nutzen. Die einzige Verbessung waere der bereits integrierte Class-D Verstaerker fuer Kopfhoerer und den braucht man fuer Messtechnische Anwendungen nicht. > Das kann man auch einfacher mit 200kSps haben: > http://www.ullihome.de/index.php/USBAVR-ISP/de#USB... Grundsaetzlich natuerlich auch ein interessanter Loesungsansatz! Aber du brauchst dann doch immer einen eigenen Treiber und ob dieses Software-USB wirklich immer so 100% mit jedem Rechner kompatibel ist? Olaf
Ja klar braucht man nen Treiber wie für jedes USB Gerät ;) Auch die USB Soundkarte braucht nen Treiber. Dazu wird der libusb Treiber verwendet, und der funktioniert eigentlich ziemlich gut.
Ich find das Super was hier fabriziert wurde. Da könntest du gleich mal ein sauberes Tutorial zusammenstellen. Für alle die, die auch gern ein günstiges OSZI bauen wollen, denen tiefgründigeres Wissen fehlt. Du steckst da schon richtig gut in der Materie. :) Was auch noch gut wäre, wenn man gleich die richtigen Widerstandswerte für die unterschiedliche Tastköpfe oder Drehschalter mit den passenden Widerständen für sagen wir mal 300V Wechselspannung und 400V Gleichspannungen hat. Schade das es nur einen MIC Eingang gibt, es wäre schon genial wenn man 2 Tastköpfe nutzen könnten. Ich weiß gar nicht ob man da 2 Soundkarten verwenden kann. Ob es überhaupt von der Soundcard OSZI SW unterstützt wird. Gruss Luigi.
Hallo zusammen, hallo Olaf, habe gerade den Thread auf der Suche nach der Thematik gefunden und bin schwer beeindruckt. Wollte mich auch noch mal ans Nachbauen geben, bin aber in der Materie nicht so firm und habe daher noch ein paar Fragen: - C6 wird also gebrückt bzw. entfernt, richtig? - R6 wird nicht entfernt sondern darf bleiben, richtig? - L5 kann auch bleiben, richtig? - der LOBS-Anschluss geht auf PIN 31 des CM119, richtig? - hat sich da noch irgendwas in Richtung Spannungsteiler und Messbereich getan oder bleibt's erstmal bei 20 oder 7 Volt (ist ja eigentlich prima und kann per Tastkopf ja noch erweitert werden - will das Ding nur nicht gleich abrauchen...) Sorry wenn die Fragen den Gurus etwas dämlich vorkommen, aber ich taste mich da erst noch an die Materie ran... Softwaremässig hatte ich das hier gefunden: http://www.sillanumsoft.org/ ...kennt der eine oder andere bestimmt schon aber sei's drum... Besten Dank für die Bemühungen und die Veröffentlichung noch mal - kann besonders am Laptop unterwegs sehr hilfreich sein, wenn man in den Parametergrenzen unterwegs ist und bleibt... Gruß Dolphi
> - C6 wird also gebrückt bzw. entfernt, richtig? Das ist richtig. Sonst kommt ja keine Gleichspannung durch. > - R6 wird nicht entfernt sondern darf bleiben, richtig? Hm..ich weiss jetzt ehrlich gesagt nicht mehr ob ich den auch entfernt habe. Du kannst ihn aber entfernen. Er belastet nur den Ausgang des Operationsverstaerkes. Kann also auch sein das es egal ist. > - L5 kann auch bleiben, richtig? Ja. Die Spule soll wohl nur Stoerungen unterdruecken und spielt in unserem Messbereich keine Rolle. > der LOBS-Anschluss geht auf PIN 31 des CM119, richtig? Weiss ich jetzt nicht auswendig. Aber das sollte ja im Datenblatt stehen. > - hat sich da noch irgendwas in Richtung Spannungsteiler und > Messbereich getan oder bleibt's erstmal bei 20 oder 7 Volt Naja, es sollte prinzipiel eine Kleinigkeit sein sich da auch was anderes auszurechnen. Mir allerdings reicht das so. Das Problem ist, sobald man auch andere Bereich hat braucht man auch einen Umschalter. Dann aber passt das alles nicht mehr in das Originalgehaeuse. Mit anderen Worten es wird dann schnell ein dickes Projekt und dann schalte ich doch lieber gleich meinen Tek ein. Aber natuerlich wenn jemand Langweile hat koennte man sicher auch den Eingangsbereich mit einem CD4053 umschalten. Man muesste bloss die Oszisoftware selber schreiben damit sie die Bits fuer den Eingangsteiler setzt. Der cm119 hat naemlich auch Portausgaenge: /********************************************************************/ /* Uebergebenen Buffer von genau 4Byte Laenge an den CM119 schicken */ /********************************************************************/ int Schreibe_OR(usb_dev_handle *devh, CM119Type data) { int ret; ret = usb_control_msg( devh, /* Device Handle */ USB_ENDPOINT_OUT + USB_TYPE_CLASS + USB_RECIP_INTERFACE, HID_REPORT_SET, /* Wir schreiben auf Device */ (HID_RT_OUTPUT << 8), /* Welche Daten senden? */ INTERFACE_NUMBER, /* Interface im USB-Device*/ data, /* Unsere Sendedaten*/ 4, /* Genau 4Bytes */ 100); /* maximal 100ms */ return ret; } /*********************************************************************/ /* Leuchtdiode an GPIO8 Pin22 blinken lassen */ /*********************************************************************/ void blinki(usb_dev_handle *devh) { int i; CM119Type cm119buf; cm119buf[0] = 0x00; cm119buf[1] = 0x80; /* GPIO8 auf High setzen */ cm119buf[2] = 0x80; /* GPIO8 als Ausgang verwenden */ cm119buf[3] = 0x00; for(i=0;i<10;i++) { cm119buf[1] = 0x80; /* GPIO8 auf High setzen */ if ( Schreibe_OR(devh,cm119buf) <0) printf("Fehler Output \n"); usleep(200000); cm119buf[1] = 0x00; /* GPIO8 auf Low setzen */ if ( Schreibe_OR(devh,cm119buf) <0) printf("Fehler Output \n"); usleep(200000); } } Olaf
...prima, besten Dank für die schnelle Antwort! Werd' mich dann auch mal rangeben und mich spätestens wieder melden, sobald mir noch was Schlaues einfällt. Ich guck' mal, wie ich mit den SMDs klarkomme - ggf kommt sowieso ein größeres Gehäuse zum Einsatz und dann können da vielleicht auch ein paar DIPs mittun. Zum C proggen ist's bei mir nämlich auch noch etwas hin... Ich bin denn mal los zum großen R... Gruß Dolphi
Hallo, ich wollte mich erkundigen, ob aus dem Basteltipp ein konkretes Projekt geworden ist, idealerweise dokumentiert, und für Nachahmer zugreifbar?? Unter http://www.criseis.ruhr.de/usbsound/... lässt sich leider nichts mehr ausmachen. Merci, andreas
Hi, das würde mich auch interessieren. Leider lässt sich auch über das Web Archiv nicht mehr wirklich etwas von den hier geposteten Bildern rekonstruieren. Grüße, Klaus
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.