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
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.
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
> 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