Forum: Markt [S] günstige Möglichkeit, zwei DC-Spannungen über mehrere Stunden zu überwachen


von dan1el (Gast)


Lesenswert?

Hallo,

suche eine günstige Möglichkeit (<100€), zwei DC-Spannungen über ca. 20 
Stunden zu überwachen.

Die Auflösung kann dabei relativ gering sein (ca. 20k-samples/s). Eine 
8-bit-Auflösung der Messsignale müsste reichen.

Ein Zwei-Kanal-USB-Oszilloskop für den PC wäre wohl das richtige.

Bevor ich jetzt irgendein China-Teil bei der Bucht hole, wollte ich hier 
fragen, ob jemand eine Empfehlung für ein konkretes Gerät oder ein 
USB-DSO über hat.

Danke und viele Grüße!

von Andrew T. (marsufant)


Lesenswert?

Für sowas setze ich einen gebrauchten Linienschreiber (old school auf 
Papier) für 15 Euro aus der 1-2-3 Bucht ein.
Da diese Teile fast immer eine (variable) 0-Punkt Unterdrückung haben, 
sind auch kleine Abweichungen vom Sollwert leicht sichtbar zu machen.

von dan1el (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort! Schöne Idee!

Ich selber hatte zwischenzeitlich schon Versuche mit einer Soundkarte 
(line in) unternommen. Für die DC-Messung habe ich die 
Koppelkondensatoren der Eingänge überbrückt. Mein Plan war, die Signale 
der beiden Kanäle mit Audacity aufzuzeichnen.
Leider funktioniert das so nicht. Sobald der Koppelkondensator 
überbrückt ist, gibt die Soundkarte 0,0V auf beiden Kanälen aus, egal, 
wie hoch die jeweilige DC-Eingangsspannung ist. Nimmt man die Brücke vom 
Koppelkondensator wieder raus, funktioniert der Soundkarteneingang wie 
gewohnt.
Wenn jemand weiß, wie man eine Soundkarte für DC-Messungen bis 7V 
umrüsten kann, bitte posten!
Der Chip auf der verwendeten Soundkarte ist übrigens ein STAC9721, 
Datenblatt im Anhang.

von Andrew T. (marsufant)


Lesenswert?

dan1el schrieb:
> Wenn jemand weiß, wie man eine Soundkarte für DC-Messungen bis 7V
> umrüsten kann, bitte posten!

z.B. je Kanal einen U/f Wandler davorsetzen.
Macht aus DC in eine variable Frequenz, die Du dann aufzeichnen kannst.

von dan1el (Gast)


Lesenswert?

Andrew Taylor schrieb:
> z.B. je Kanal einen U/f Wandler davorsetzen.

Kreative Idee!!! Mir ist allerdings der Aufwand etwas hoch. Dann würde 
ich schon eher ein 50€-Hantek-Oszi bei der Bucht holen.

Mich würde aber wirklich mal interessieren, ob und wenn ja wie man die 
Eingänge der Soundkarte als normale DC-AD-Wandler benutzen kann.

von dan1el (Gast)


Lesenswert?

dan1el schrieb:
> Mich würde aber wirklich mal interessieren, ob und wenn ja wie man die
> Eingänge der Soundkarte als normale DC-AD-Wandler benutzen kann.

Habe jetzt die Antwort beim Googeln gefunden, die Soundkarte hat wohl 
einen softwaremäßigen DC-Filter eingebaut.


Zurück zur eigentlichen Frage:

Hat jemand eine Empfehlung für ein konkretes 2-Kanal-USB-DSO bis 100€ 
oder will ein solches loswerden?

von TomA (Gast)


Lesenswert?

Hallo dan1el,

vielleicht ist das hier für dich geeignet:

"http://yveslebrac.blogspot.de/2008/10/cheapest-dual-trace-scope-in-galaxy.html";.

Das Ding läßt sich auch auf Lochraster aufbauen, es benutzt die 
A/D-Wandler des Tiny45. Vielleicht gibt es das auch schon irgendwo 
fertig zu kaufen? Oder jemand in deinem Umfeld ist in der Lage es zu 
bauen (man benötigt ein Programmiergerät für Tiny45), oder wenigstens 
den Tiny45 zu flashen!

Gruß. Tom

von jo (Gast)


Lesenswert?

Was für eine Samplingfrequenz brauchst du? Diese angabe fehlt noch...

Bei einem Sample / h würde auch der interne flash eines atmegas 
reichen...

Gruß Jonas

von Daniel H. (Firma: keine) (commander)


Lesenswert?

jo schrieb:
> Was für eine Samplingfrequenz brauchst du? Diese angabe fehlt noch...

dan1el schrieb:
> (ca. 20k-samples/s)

von jo (Gast)


Lesenswert?

Nee, du hast geschrieben die "Auflösung"...

>Die Auflösung kann dabei relativ gering sein (ca. 20k-samples/s)

Der Unterschied zwischen Auflösung und Samplingfrequenz ist schon 
eklatant.

Gruß Jonas

von Daniel H. (Firma: keine) (commander)


Lesenswert?

1. Ich habe gar nichts geschrieben, ich habe zitiert.
2. Jeder normale Mensch kann sich aus dem Kontext herleiten, was gemeint 
war.

von jo (Gast)


Lesenswert?

Das macht also: 2*8*20000 = 320.000 bits /s
macht bei 20 stunden aufnahmedauer: 320.000  3600  20  8  1024 = 
2.812.500 Gb. Also bleibt nur der PC als Medium...

Gruß Jonas

von jo (Gast)


Lesenswert?

>Jeder normale Mensch kann sich aus dem Kontext herleiten, was gemeint
>war.

Und den anderen dumm sterben lassen...
Bestimmte Begrifflichkeiten sollten einfach passen.


Gruß Jonas

von Gerald G. (gerald_g)


Lesenswert?

20000Samples/s * 8bit *60s/min *60min/h*20h=1,373 GB

Da muss wahrscheinlich was her was an den PC angeschlossen wird, oder 
großer Speicherkarte.

von jo (Gast)


Lesenswert?

>20000Samples/s * 8bit *60s/min *60min/h*20h=1,373 GB

er will 2 signale aufzeichnen

>Das macht also: 2*8*20000 = 320.000 bits /s
>macht bei 20 stunden aufnahmedauer: 320.000  3600  20  8  1024 =
>2.812.500 Gb. Also bleibt nur der PC als Medium...

von Gerald G. (gerald_g)


Lesenswert?

Ja, dann das ganze *2

War übrigens nicht zur Verbesserung deiner Rechnung gemeint, habe nur 
langsam am Handy getippt. Wobe ich mit dem Ausdruck:
2.812.500Gb recht wenig anfangen kann.

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Gerald G. schrieb:
> 2.812.500Gb

Es könnten damit Gigabarn gemeint sein.

http://de.wikipedia.org/wiki/Barn

von jo (Gast)


Lesenswert?

>Es könnten damit Gigabarn gemeint sein.

>Jeder normale Mensch kann sich aus dem Kontext herleiten, was gemeint
>war.

Quitt?

Gruß Jonas

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Tut mir leid, ich konnte es mir nicht verkneifen ;) Ja, quitt :o)

von jo (Gast)


Lesenswert?

:) Alles klar.

von dan1el (Gast)


Lesenswert?

Danke für die Feststellungen! Lustig zu lesen :O)


Zurück zur eigentlichen Frage:

Hat jemand eine Empfehlung für ein konkretes 2-Kanal-USB-DSO bis 100€, 
das in Frage kommt - oder will ein solches loswerden?

von TomA (Gast)


Lesenswert?

Hall Leute,

ich habe grad bemerkt, daß der direkte Link zum USB-Scope nicht richtig 
funktioniert (die wesentlichen Infos werden nicht gezeigt). Mit dem 
indirekten Link, über OBDEV, sollte es gehen. Dort nach "USB Scope" 
suchen.

http://www.obdev.at/products/vusb/prjdata.html

Ich sitze grad dran, mir eine Platine dafür zu machen und das Ding mal 
auszuprobieren. Alles dafür Benötigte ist auf der Seite vorhanden.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

TomA schrieb:
> ich habe grad bemerkt, daß der direkte Link zum USB-Scope nicht richtig
> funktioniert

Danke für den Link, hatte mich schon gewundert.
Schönes Projekt! Habe leider keine Zeit, die NET C# Software an meine 
Bedürfnisse anzupassen.
Brauche softwaremäßig etwas mit Fertiglösung.

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe das USB-Scope nun aufgebaut und getestet, es funktioniert 
überraschend gut! Probleme gab es mit den Fuse-Bits des Tiny45, da 
findet man unterschiedliche Angaben. Bei mir funktioniert es mit 
efuse=0xFF, hfuse=0xDF und lfuse=0xF1.

Im Moment habe ich nur die Funktion getestet, eine genauere Prüfung 
steht noch aus. Den Trimmer des Originals ließ ich weg, denn ich plane 
an den Eingängen meine eigene Messhardware für Spannung, Strom, 
Temperatur, ..... anzukoppeln.

Unter WindowsXP läuft es tadellos, unter WindowsVista läuft die 
mitgelieferte Anwendersoftware nicht. Das Scope wird im Gerätemanager 
aber richtig erkannt. Bei höheren Versionen von Windows gibt es 
vermutlich auch Probleme (laut FAQ der Homepage). Ist aber nicht so 
schlimm, denn die mitgelieferte Anwendersoftware dient ja nur zum 
ausprobieren. Eine angepaßte Meßsoftware muß man sich ohnehin selbst 
schreiben. Dafür hat der Autor, Yves Lebrac, die Quellen seiner Software 
auf der Homepage veröffentlicht.

Die Bilder zeigen ein Foto der Platine mit externen Trimmer zur 
Spannungsvorgabe auf einem Kanal. Das mitgelieferte Anwendungsprogramm 
mit der Aufzeichnung einiger "Potidreher". Und den Eintrag im 
Gerätemanager der Systemsteuerung, das Scope meldet sich als 
Gamecontroller an.

Die Software zeigt einen Meßbereich von 0mV bis 2350mV, dahinter steckt 
aber nur der 10Bit A/D-Wandler des Tiny45 (also 0-1023). Daß sich damit 
eine Abtastrate von 20kSamples erreichen läßt, glaube ich eher nicht. 
Genaueres wird ein Blick in die Software zeigen.

Ich finde es aber ein tolles und vor allem unkompliziertes Projekt.

Gruß. Tom

von TomA (Gast)


Lesenswert?

Hallo dan1el,

falls du C# kannst, oder jemand kennst der das kann, dürfte es einfacher 
sein das bestehende Anwenderprogramm umzuschreiben, als was Neues zu 
programmieren. Da die Messwerte im Programm bereits vorhanden sind, 
braucht man sie eigentlich nur noch auf Datenträger zu speichern. Durch 
neu compilieren dürfte auch das Problem mit den neueren Betriebssystemen 
gelöst sein.

Problematischer dürfte die Samplingrate sein. Ich fürchte mehr als ein 
paar kSamples/s sind da nicht möglich.

Gruß. Tom

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

habe mich ein wenig mit dem USB-Scope beschäftigt und weiß nun etwas 
mehr darüber.

Yves Lebrac selbst, geht davon aus, eine Samplerate von 250 Messungen/s 
nicht zu erreichen. Die Probleme mit der Anwendersoftware liegen am Typ 
des Betriebssystems. Mit 32Bit-System funktioniert es, mit 
64Bit-Systemen nicht. Unter Vista64 läuft das Programm nicht und ich 
kann es auch nicht neu compilieren. Unter XP (32Bit) läuft es und läßt 
sich problemlos compilieren und damit auch bearbeiten.

Ich habe die Quelldateien (MSVC#2005) mit MSVC#2008 geöffnet und 
compiliert, heraus kam das Programm, das im angefügten Bild zu sehen 
ist.

Für 64Bit-Systeme muß man die Anwendersoftware neu aufsetzen.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

Danke für Deine Mühe!!!

TomA schrieb:
> falls du C# kannst

Kann leider kaum C# und kenne auch niemanden, der es besser kann.

200 Messungen/s könnten für mein Projekt aber bereits ausreichen.

Schaue mir das Projekt morgen mal genauer an.

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo dan1el,

habe jetzt das Programm erweitert, daß es die gemessenen Daten auch 
speichert. Wenn das Programm gestartet wird, schreibt es die Messwerte 
in eine Datei Namens "UsbScope.dat". Bei jedem Start des Programms wird 
die Datei neu angelegt, sie überschreibt also eine bereits vorhandene 
Datei.
Die Daten liegen als Text, in der Datei. Die Form ist dabei: 
Wert-Kanal1(x), ein Komma, WertKanal-2(y), Zeilenende -> xxxx,yyyy<CR>

Das Bild "CSFenster.png" zeigt das Fenster der C#-IDE und rechts unten 
den Eintrag für die Ereignisse des Fensters. Dort ist die 
Beenden-Funktion zu ergänzen. Das Bild "CSFenster1.png" zeigt den 
entscheidenden Ausschnitt, zur besseren Lesbarkeit, vergrößert.

Im Archiv "UsbScope.zip" befindet sich das geänderte Programm und die 
zugehörige DLL für Win32. Und die Textdatei "Aenderung.txt" enthält eine 
Beschreibung der Änderungen am Quellcode.

Das ganze soll kein komplettes Anwendungsprogramm sein, sondern als 
Anregung für eigene Erweiterungen dienen.

Wünsche viel Erfolg und gutes Gelingen.

Gruß. Tom

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

habe das Programm nochmal überarbeitet. Jetzt gibt es eine CheckBox, mit 
welcher das speichern ein- und ausgeschaltet wird. Nach Programmstart 
ist speichern passiv, erst wenn ein Häckchen in die CheckBox "Save" 
gesetzt wird, zeichnet das Programm auf. Wird das Häckchen entfernt, 
stopt auch die Aufzeichnung.

Zudem wird nun nicht immer mit maximaler Geschwindigkeit aufgezeichnet, 
sondern die Rate ist an die Geschwindigkeit der Anzeige gebunden und 
kann mit ihr verändert werden.

In der Datei "Aenderung.txt" sind die Änderungen enthalten. In 
"UsbScope1.zip" befindet sich das neue Programm, einschließlich 
zugehöriger DLL.

Nun kann man mit dem Programm sogar schon gezielt aufzeichnen. :)

Gruß. Tom

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wie wärs denn damit wenn die Datei nicht nur UsbScope.dat heißt.
Sondern ans Ende des Dateinamens Startzeit und Datum gehangen werden?

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

nachdem ich die Idee von Martin gut und einfach zu realisieren finde, 
habe ich sie ins Programm übernommen. Nun wird eine Datei mit dem Namen 
-> USC Tag Monat Jahr Stunde Minute.dat erzeugt.

Beispiel: Datum 24.9.2014 12:05 -> USC2492014129.dat

Dadurch überschreiben sich die Datensätze nicht mehr, sofern zwischen 
den Aufzeichnungen mindestens eine Minute liegt.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hey TomA,

super, Danke!!!

Habe grade einige Attiny45-20 bestellt. Wenn sie da sind, baue ich das 
USBscope auf und bin jetzt schon sehr gespannt!

Wenn du magst, poste die umgestrickten Dateien im "Projekte & 
Code-Forum"
http://www.mikrocontroller.net/forum/codesammlung
Ich bin sicher, dass viele andere dieses Projekt auch nachbauen wollen!


Martin Wende schrieb:
> Wie wärs denn damit wenn die Datei nicht nur UsbScope.dat heißt.
> Sondern ans Ende des Dateinamens Startzeit und Datum gehangen werden?

Das klingt nach einer guten Idee!


Viele Grüße,

Daniel

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

jetzt musste ich doch noch eine Änderung durchführen. Im Dateinamen 
werden nun die Zahlen immer in voller Breite eingefügt (z.B: 5 = 05, 9 = 
09), damit es keine Zweideutigkeiten (1.1.2015 = USC112015....) gibt.

Mit dem posten warte ich noch ein wenig, vielleicht gibt es noch kleine 
Korrekturen am Programm.

Gruß. Tom

von Daniel C. (dan1el)


Lesenswert?

Danke für das Zip-file!

TomA schrieb:
> Mit dem posten warte ich noch ein wenig, vielleicht gibt es noch kleine
> Korrekturen am Programm.

Gute Idee!!!


Eine Schutzschaltung für die ACD-Eingänge wäre sicher auch nicht 
schlecht.

Vielleicht könnte man sogar einen Operationsverstärker vorschalten, um 
auch hochohmig messen zu können (eventuell mit jumperbaren 
Koppel-Kondensatoren für AC-Messungen). Dort könnte man sicher auch 
einen Überspannungsschutz einbauen!

Wenn die ADCs des Tiny45 so hochohmig sind wie bei den anderen AVRs, 
könnte man standardmäßig einen Spannungsteiler aus jeweils zwei 
10k-Widerständen vorsehen. Dann könnte man einerseits bis 10V messen und 
andererseits hätte man einen Schutzwiderstand von 10k vor jedem 
ADC-Eingang (mit einem nachgeschalteten Kerko auch gut zur HF-Blockung 
geeignet).

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

hier noch der Schaltplan meiner Hardware. Ist noch nicht optimal, 
funktioniert aber ganz gut. Die 22-Ohm Widerstände sind etwas 
niederohmig an der Stelle. Ich weiß noch nicht, ob die Widerstände 
vergrößern (33/47/56-Ohm), oder die Spannung am Tiny verkleinern? In der 
Originalschaltung befinden sich 3,9V-Zenerdioden, anstelle meiner 
3,3V-Typen. Das scheint mir etwas hoch für den USB-Port meiner PC's.

Dazu ein Bild der Software, wie sie im Moment aussieht. Die 
hinzugekommene CheckBox "Save" dient dem ein- auschalten der 
Speicherung.

Gruß. Tom

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo dan1el,

so könnte ein Gleichspannungs-Voltmeter aussehen. Der Ausgang der 
Schaltung kommt direkt an den A/D-Eingang des Tiny45. Das ganze zweimal 
aufgebaut (der OP beinhaltet zwei Verstärker), für jeden A/D-Kanal 
einmal.

Der Eingangswiderstand ist 10Megaohm in allen Bereichen. Bei 1000V muß 
man auf die geforderten Sicherheitsabstände achten, mit einem Jumper als 
Umschalter ist das nicht machbar. Man kann den 1000V Bereich aber auch 
weglassen. Mit Trimmer Tr1 wird, bei kurzgeschlossenem Eingang, der 
Nullpunkt eingestellt. Mit Trimmer Tr2 der Messwert, bei bekannter 
Eingangsspannung. Ich habe die Schaltung noch nicht ausprobiert, aber 
sie ist so einfach, daß sie funktionieren muß. Auf einem Steckbrett ist 
sie schnell überprüft und angepaßt. Leider fehlt mir im Moment die Zeit 
dafür.

Für die negative Versorgungsspannung (-5V) des OP, muß noch ein 
Spannungsinverter dazu. Man kann dafür etwas mit NE555 oder 7660 
verwenden, um aus den +5V von USB auch noch die -5V zu machen. Pläne 
dafür gibt es im Netz genug, das muß nur ein paar mA können.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo TomA,

vielen Dank für die Schaltbilder!!!

1000V müssen nicht sein. Ansonsten super Idee mit dem Messverstärker!

In einem anderen Beitrag hat jemand hier die Benutzung eines Tiny45 
kommentiert:
Beitrag "Re: Habe eine Frage zu Hantek 6022BE USB-DSO?"

Vielleicht sollte man überlegen, die Firmware auf einen Atmega88 
umzuschreiben, wenn das die mögliche Sampling-Rate erhöht.

Das erst mal als Zukunftsidee in den Raum gestellt, habe leider im 
Moment auch nicht viel Zeit dafür.
Langfristig könnte das aber eine gute Sache sein!

Viele Grüße und einen schönen Abend,

Daniel

von TomA (Gast)


Lesenswert?

Hallo dan1el,

ich habe auch schon darüber nachgedacht, einen echten USB-Chip zu 
nehmen. Durch den Software "USB-Controller" geht viel Ausführungszeit 
verloren. Das Ganze neu aufzurollen ist aber ein hoher Aufwand und wird 
trotzdem kein schnelles Oszi werden. Da ist es vermutlich einfacher und 
kostengünstiger, sich ein UsbOszi vom Kinamann zu besorgen?

Ich sehe das UsbScope auch weniger als Oszi, sondern als eine Art 
Kennlinienschreiber/Datenlogger zum Aufzeichnen/Anzeigen langsamer 
Vorgänge. Damit kann man wunderbar die Ladespannung und den 
Temperaturverlauf beim Akkuladen erfassen. Auch die Temperatur ist eine 
Größe, welche sich normalerweise nicht Sprughaft ändert und damit gut zu 
erfassen. Auch als Multimeter für den PC ist es gut zu gebrauchen 
(3Messungen/s). Kommt einfach nur auf den Messvorsatz vor dem UsbScope 
an.

Das Teil, durch Hardware-USB, schneller zu machen ist eine Aufgabe, wenn 
mal viel Zeit übrig ist. Das ist bei mir aber so schnell nicht der Fall.

Habe das UsbScope, mit der aktuellen Anwendersoftware, jetzt auch unter 
Windows7 (32Bit) ausprobiert - läuft tadellos.

Gruß. Tom

von Karl O. (knorke)


Lesenswert?

Nicht ganz 20 kS/s, sondern 10, aber sonst ideal geeignet:
http://sine.ni.com/nips/cds/view/p/lang/de/nid/211872

von TomA (Gast)


Lesenswert?

Hallo Karl Otto,

bei der Leistung zu dem Preis lohnt es nicht sich selbst etwas zu bauen. 
Danke für den Link.

Das kleine UsbScope hat seine Berechtigung durch seinen sehr einfachen 
Aufbau und weil große Teile des Projekts bereits existieren. Noch ein 
paar Messwandler zum davorschalten und gut ist es. Wenn es schneller 
und/oder genauer sein muß, ist eine fertige Lösung, wie im Link, 
günstiger.

Gruß. Tom

von Manfred H. (eas)


Lesenswert?

Du hast schon gesehen dass man dafür spezielle Software braucht?
Und Du hast sicher auch gesehen dass die Software ein Vielfaches der 
Hardware kostet.

Ohne Software ist das Teil ein USB-Briefbeschwerer.

von TomA (Gast)


Lesenswert?

Hallo Manfred,

danke für den Hinweis, darauf habe ich noch gar nicht geachtet. :(

Mir ist auch noch ein weiterer Vorteil der DoItYourself-Lösung in den 
Sinn gekommen. Wenn man Hard- und Software selbst macht, hat man 
natürlich die volle Kontrolle über sein Projekt. Man kann es jederzeit 
an die eigenen Bedürfnisse anpassen. Somit ist es doch keine so 
schlechte Idee, die Lücke zwischen Multimeter und Oszilloskop mit 
eigenen µC-Messgeräten zu schließen. Es muß halt einfach, kostengünstig 
und nachbausicher sein. Gleiches gilt für die Software. Wenn höhere 
Ansprüche gefordert sind, kann man immer noch fertige Produkte kaufen.

Aber Schritt für Schritt, zunächst gilt es, das UsbScope zu einem 
brauchbaren Spannungsmessgerät zu machen. Dieses kann dann als Basis für 
viele verschiedene Messgeräte dienen.

Als nächsten Schritt plane ich die Skalierung der Software zu ändern. 
Der Tiny besitzt einen 10Bit A/D-Wandler und kann damit 1024 
unterschiedliche Werte abbilden. Dazu sollte ein lückenloser Messbereich 
von 0 bis 1000mV, in 1mV Schritten, gehören. Im Moment macht die 
Software einen Bereich von 0 bis 2350mV daraus, welcher natürlich Lücken 
aufweist.

Danke und Gruß. Tom

von HaraldDräger (Gast)


Lesenswert?

TomA schrieb:
> USC2492014129.dat

Möglicherweise bringt es Vorteile, die Daten im .wav-Format 
abzuspeichern.

Dann kann man sie z:B. mit Audacity als Stereospur genauer unter die 
Lupe nehmen und noch jede Menge mathematische Operationen damit 
durchführen.
außerdem ließen sich die Daten so leicht schneiden, verwalten und 
wahrscheinlich auch als MP3 komprimieren.

von TomA (Gast)


Lesenswert?

Hallo HaraldDräger,

ich denke das Beste wäre die Daten platzsparend (zwei 10/12/14Bit-Werte 
in drei Byte) binär zu speichern und Softwarekonverter, als ein oder 
mehrere Programme, für die verschiedenen Formate zum Projekt hinzufügen. 
Ich weiß, so ein Programm gibt bereits (zumindest für Audio). So 
schränken wir uns am wenigsten ein und das Grundsystem bleibt 
überschaubar.

Gruß. Tom

von TomA (Gast)


Lesenswert?

Hallo Leute,

ich sehe grad einen Fehler im vorigen Beitrag. Wenn drei Byte (24Bit) 
zum speichern von zwei, gleich breiten, Werten genutzt werden, dann kann 
jeder einzelne Wert höchstens 12Bit breit sein! 14Bit ist so also nicht 
möglich.
12Bit ist aber völlig ausreichend, das sind 4096 unterschiedliche Werte, 
also gut geeignet für ein Grundgerät mit einem Messbereich von -1999mV 
(-2000) bis +1999mV (+2000) - Wie bei einem 3,5stelligen Multimeter. 
Zudem deckt sich diese Datenbreite mit den A/D-D/A-Wandlern in den 
STM32Fxx µControllern. :)

Da ist also einiges denkbar, doch das ist noch Zukunftsmusik. Erst muß 
mal das 10Bit-Grundgerät brauchbar funktionieren.

Gruß. Tom

von Mike (Gast)


Lesenswert?

TomA schrieb:
> Nun wird eine Datei mit dem Namen
> -> USC Tag Monat Jahr Stunde Minute.dat erzeugt.
>
> Beispiel: Datum 24.9.2014 12:05 -> USC2492014129.dat

Das alte deutsche Datumsformat ist für solche Aktionen denkbar 
ungeeignet, da jedes Sortieren nach Dateinamen zum Scheitern verurteilt 
ist. Wesentlich praktischer wäre ein Format nach der seit 1992 gültigen 
Norm ISO 8601 bzw. EN 28601.
Der Dateiname könnte dann z.B. lauten
1
USCyyyymmdd_hhmm.dat -> USC20140924_1205.dat

von Daniel C. (dan1el)


Lesenswert?

Hallo Tom,

man kann ja eventuell für schnelle Messungen einfach die ADC-Auflösung 
verringern, um einen höheren Datentransfer möglich zu machen.
Bei langsameren Samplingraten würde man dagegen die volle Auflösung 
nutzen.

Kanst du dich hier eigentlich einloggen? Falls ja, kannst du mal eine PN 
schicken?

Viele Grüße und schönen Abend!

Daniel

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Mike,

wenn es die Norm gibt, dann werden wir sie auch verwenden. Vielen Dank 
für die Info, so kann furcht...äh fruchtbare Zusammenarbeit aussehen. :)

@all
Im Anhang ist das geänderte Programm, es bildet den Dateinamen nun in 
der normgerechten Form:

      USCyyyyMMdd_hhmm.dat -> USC20140924_1205.dat

Als nächstes wurde in der Anzeige des Programms aus den "mv" nun "mV".

Und zuletzt wurde noch das anlegen einer neuen Datei verändert. Sie wird 
nun nicht mehr beim Programmstart, sondern beim anklicken des 
Save-Button erzeugt. So ist es jetzt möglich das Programm, ohne 
speichern, laufen zu lassen, ohne daß dabei jedesmal eine leere Datei 
erzeugt wird.

Im Anhang das neue Programm und die Quelltextdatei mit den Änderungen. 
Auf die DLL habe ich verzichtet, sie ist in den vorigen ZIP's enthalten.

@Daniel
Ich werde mal versuchen mich hier anzumelden, habe aber keinen Dunst wie 
das geht. Zunächst werfe ich aber einen Blick auf die Skalierung des 
Anwenderprogramms.

Gruß. Tom

von Karl (Gast)


Lesenswert?

Schau dir mal das Analog Discovery an.

Mittels Matlab kannst du das ganze dann einfach auswerten, preislich 
gesehen aber nur für Studenten oder Leute die Matlab bereits besitzen 
interessant.

von Daniel C. (dan1el)


Lesenswert?

TomA schrieb:
> @Daniel
> Ich werde mal versuchen mich hier anzumelden, habe aber keinen Dunst wie
> das geht. Zunächst werfe ich aber einen Blick auf die Skalierung des
> Anwenderprogramms.

Hi Tom, Anmelden ist eigentlich ganz einfach. Oben bei

Forenliste | Neuer | Beitrag | Suchen | Anmelden | Benutzerliste | 
Bildergalerie | Hilfe | Login

Auf "Anmelden" klicken. Name und Emailadresse eingeben, fertig. Manche 
Nutzer (wie ich) kürzen dort den Nachnahmen ab.

Dann könnte man sich zu dem Projekt hier auch direkt über PN 
kurzschließen.

Die Tiny45-Controller sind heute angekommen, werde gleich mal eine 
Platine entwerfen.

Gibts was neues zur Skalierung?

Viele Grüße,

Daniel

von Tom A. (toma)


Lesenswert?

Hallo Daniel,

das einloggen war wirklich einfach. :)

Ja, es gibt etwas neues von der Skalierung. Habe mir den ADC des Tiny45 
im Datenblatt mal angesehen. Der kann mit verschiedenen Referenzen 
arbeiten. So wie es aussieht benutzt Yves Lebrac in seiner Firmware die 
2,56V interne Referenz. Das bedeutet er bildet, mit den 10Bit des 
Wandlers, einen Spannungsbereich von 0mV bis 2560mV, mit einer 
Schrittweite von 2,5mV, ab. Diese hohe Eingangsspannung ist für ein 
Messgerät nicht gut geeignet. Wenn man Beispielsweise den Strom über den 
Spannungsabfall an einem Shunt mißt, fällt der Shunt unnötig hochohmig 
aus. Besser ist es, einen Eingangsspannungsbereich von 0,0mV bis 100,0mV 
zu schaffen.

Nun könnte ich die Firmware im Tiny verändern, doch da habe ich 
rechtliche Bedenken. Verändere ich das Gerät, muß es auch eine geänderte 
USB-PID haben - doch woher nehmen? Ich besitze zwar zwei PID's, aber die 
sind schon mit Geräten belegt. Am Besten die Firmware lassen, wie sie 
ist und eine Lösung ausserhalb des Tiny finden.

Die Lösung ist auch relativ einfach. Der Tiny wird mit dem 
Messverstärker verheiratet. Dieser bekommt die Verstärkung 25,6fach, die 
Anwendersoftware teilt den empfangenen Wert wieder durch 25,6 und schon 
paßt es. Als Verstärker kann man den vom DCVoltmeter, aus einem vorigen 
Beitrag nehmen. Es muß nur die Verstärkung angepaßt und eine negative 
Versorgung beigefügt werden. Damit wäre dann das Grundgerät fertig, ein 
Voltmeter mit 100mV Empfindlichkeit.

Die Frage ist nun eigentlich nur, wie präzise soll es denn sein? Bei 
einer Genauigkeit um die 3% kann mann sich einen Abgleich sparen - damit 
entfallen die vier Trimmer für Nullpunkt und Verstärkung der beiden 
Kanäle. Oder ein Kanal abgleichbar der Andere nicht? Oder mit 
ausgemessenen Festwiderständen? Das kann im Grunde jeder so machen, wie 
er es für sich am Besten befindet.

Ich werde die Tage mal ein Muster des Messverstärkers zusammenstecken 
und überprüfen, ob das alles wie gewollt funktioniert.

Gruß. Tom

von Daniel C. (dan1el)


Lesenswert?

Hallo Tom,

ja, ein wirklich userfreundliches Forum hier.

Ok, interne 2,56V-Referenz. Die Spannungen, die mich momentan 
interessieren, liegen alle im Bereich zwischen 0,5V und 10V. Sozusagen 
der umgekehrte Fall zur Shuntmessung.

Habe heute mit dem Aufbau begonnen. Kenne mich mit USB-Geräten nicht gut 
aus, habe zwei Fragen.

Zum einen habe ich nur Zenerdioden 2V4 und 6V2 auf Lager. Die 
Datenleitungen D+ und D- sollen laut Schaltplan aber mit 3V6-Dioden 
geschützt werden.
Könnte ich die 2V4-Dioden einfach mit jeweils zwei halbwegs schnellen 
seriellen Si-Dioden "verlängern"? Wenn ja, muss noch eine antiparallele 
Si-Diode zugeschaltet werden (die quasi wie bei einer Zenerdiode die 
"normale" Diode in Gegenflussrichtung simuliert)?

Die andere Frage ist, ob der Schirm vom USB-Kabel an der 
USBscope-Geräteseite mit Masse verbunden werden soll oder lieber grade 
nicht?!


Tom Amann schrieb:
> Die Frage ist nun eigentlich nur, wie präzise soll es denn sein?

Gute Frage. Die Antwort hängt vielleicht auch damit zusammen, wie groß 
die Temperaturdriften sind.


Was ist eigentlich eine USB-PID?

Viele Grüße,

Daniel

von Daniel C. (dan1el)


Lesenswert?

> Tom Amann schrieb:
>> Die Frage ist nun eigentlich nur, wie präzise soll es denn sein?
>
> Gute Frage. Die Antwort hängt vielleicht auch damit zusammen, wie groß
> die Temperaturdriften sind.

Die interne Referenzspannung liegt lt. Datenblatt im Bereich von 2,3V 
bis 2,8V. Das ist natürlich schon ein ganz schön breiter Bereich.


Der ADC-Innenwiderstand liegt bei typisch 100MOhm. Für meine Messungen 
bis ca. 10V setze ich fürs erste einen Spannungsteiler aus 68k zu 18k 
vor. Mal schauen, wie das klappt.

von Daniel C. (dan1el)


Lesenswert?

Daniel C. schrieb:
> Könnte ich die 2V4-Dioden einfach mit jeweils zwei halbwegs schnellen
> seriellen Si-Dioden "verlängern"? Wenn ja, muss noch eine antiparallele
> Si-Diode zugeschaltet werden (die quasi wie bei einer Zenerdiode die
> "normale" Diode in Gegenflussrichtung simuliert)?

Ok, die Frage hat sich erledigt.
http://vusb.wikidot.com/hardware
:O)

von Tom A. (toma)


Angehängte Dateien:

Lesenswert?

Hallo Daniel,

die VID ist die Vendor-ID, das ist die Hersteller-Identifikationsnummer. 
Zu jeder VID gehören die PID's (Produkt-ID), das sind die Produktnummern 
der Geräte. Ein USB-Gerät meldet sich unter beiden Nummern beim 
Betriebssystem an.

Ich habe nun einen Meßverstärker aufgebaut und ausprobiert. Bin mit dem 
Ergebnis noch nicht zufrieden. Wenn ich den Meßverstärker mit dem 
Multimeter prüfe ist alles wie es sein soll. Am UsbScope angeschlossen 
verliert er seine Stabilität (schwankt bis 6 Digit) und seine 
Linearität. Die Meßspannung erreicht dann maximal 900mV. Das scheint am 
UsbScope zu liegen, vermutlich werden die Messwerte in der Firmware 
schon irgendwie bearbeitet? Da bleibt mir nur ein Blick in den Quellcode 
des Tiny.

Die Stabilität läßt sich mit dem Low-Paß-Filter (LPF-Button) verbessern, 
schwankt dann aber immer noch bis zu 2 Digit. Sicher wird das durch 
einen ordentlichen Aufbau auf einer Platine besser, der "fliegende" 
Aufbau der Steckplatine kann alles mögliche einkoppeln.

Ein Aufbau ohne Abgleichmöglichkeit scheint mir auch keine gute Idee. Je 
nach verwendeten OP weicht der Offset (Nullpunkt) stark ab.

Da ist noch viel zu tun, bis das Grundsystem sauber läuft.

Der große Toleranzbereich der internen Referenz des Tiny sollte mit der 
Verstärkungseinstellung des Messverstärkers ausgleichbar sein. Ein 
weiterer Grund einen abgleichbaren Meßverstärker zu verwenden.

Bei mir endet der Schirm am UsbScope. Das Gehäuse der USB-Buchse, des 
UsbScop, ist nicht mit GND der Platine verbunden. Das Bild zeigt meine 
ursprüngliche Platine (ohne Meßverstärker). Die Lötfahnen der USB-Buchse 
sind an freistehenden Flächen verlötet, sie haben keinen Kontakt zu GND.

Gruß. Tom

von Daniel C. (dan1el)


Lesenswert?

Hallo Tom,

Danke für die Informationen! meinst du, das Schwanken rührt vom 
Messwerstärker her oder eher von den ADCs vom Tiny45?


Mein USBscope fünktioniert leider noch nicht.

Habe das main.hex-File aufgeflasht.
Die Fuse-Einstellungen (AVR-Studio4) sind
Ex: 0xFF
Hi: 0xDF
Lo: 0xF1

Wenn man die Platine an einen USB-Port ansteckt, leuchtet die LED an 
Pin6 dauerhaft.
Das WinXP schmeißt dann die Warnung aus:
"USB-Gerät wurde nicht erkannt! Ein an diesen Computer angeschlossenens 
USB-Gerät funktioniert nicht richtig und wird nicht erkannt."

Direkt an der Zenerdiode von D- misst man konstant 4,38V, an der ZD von 
D+ sind es -0,015V.
(eine Datenübertragung scheint keine stattzufinden)

Vermute mal, das die Zenerdiode(n) die Spannung nicht ausreichend 
begrenzen und werde jetzt noch mal ein bisschen mit den Werten 
experimentieren.

Cooler Platinenaufbau übrigens!

Viele Grüße,

Daniel

von Daniel C. (dan1el)


Lesenswert?

Hatte eine Leiterbahnbrücke, jetzt geht es.

Im Moment schwanken die Werte bei mir auch ziemlich.

: Bearbeitet durch User
von TomA (Gast)


Lesenswert?

Hallo Daniel,

bei mir leuchtet die LED dauerhaft, sobald die Platine mit Strom 
versorgt ist. Im Gerätemanager von Windows wird das UsbScope als 
Gamecontroller eingetragen (Bild weiter oben).

Die Anwendersoftware zeichnet sofort nach ihrem Start, am Bildschirm 
auf. Probleme mit dem UsbScope hatte ich mit 64Bit Windows. Da startet 
die Anwendersoftware, aber es kommen keine Messwerte von der 
UsbSchnittstelle. Deshalb wird auch nichts im Scope-Fenster des 
Anwenderprogramms dargestellt.

Wenn dein UsbScope funktioniert, gibt es keine Fehlermeldung, das 
UsbScope ist im Gerätemanager eingetragen und in der Anwendersoftware 
läuft der Aufzeichnungsstrich (vertikal lila) von links nach rechts. 
Dabei zeichnet er die beiden Kanäle in das Ausgabefenster.

Entweder benutzt du ein 64Bit-Windows, oder mit der Firmware im Tiny 
stimmt etwas nicht, oder die Hardware der USB-Schnittstelle des UsbScope 
hat noch Fehler.

Viel Erfolg bei der Fehlersuche.

Gruß. Tom

von Daniel C. (dan1el)


Lesenswert?

Meiner Meinung nach stören zwei achen eine saubere Messung.

1. gibt es Peaks in der USB-Spannungsversorgung

2. schwankt die USB-Spannung mit der Zeit (langsame Drift)

Das stört möglicherweise die interne Spannungsreferenz.
Momentan denke ich darüber nach, zu schauen, ob es besser ist, den 
Tiny45 über einen Spannungsregler aus einer 9V-Blockbatterie zu 
versorgen.

Mit dem 9-V-Block könnte man auch gleich einen Operationsverstärker 
betreiben.

von Daniel C. (dan1el)


Lesenswert?

Danke fürs Posting!

TomA schrieb:
> Hallo Daniel,
>
> bei mir leuchtet die LED dauerhaft, sobald ...
> ... Viel Erfolg bei der Fehlersuche.
>
> Gruß. Tom

Da haben sich die Beiträge überschnitten! Jetzt läuft es. Danke!

von TomA (Gast)


Lesenswert?

Hallo Daniel,

sorry, wurde am Telefon aufgehalten und habe die Antwort verspätet 
rausgekriegt.

Der unruhige Messwert kommt vom Tiny. Ich weiß noch nicht, ob vom 
A/D-Wandler, oder durch die Firmware. Der Messverstärker funktioniert 
auch ohne das UsbScope und wenn ich ihn mit Gleichspannung überprüfe, 
arbeitet er tadellos. Allerdings sind die Bauteilwerte inzwischen 
andere, als im vorigen Schaltbild angegeben. Wenn alles sauber zusammen 
läuft, werde ich die Pläne dazu veröffentlichen.
Doch zuerst nehme ich mir jetzt mal das UsbScope ohne Messverstärker 
vor, um zu untersuchen, ob und wie man das Ding stabil und linear 
bekommt.

Gruß. Tom

von Daniel C. (dan1el)


Lesenswert?

TomA schrieb:
> Der unruhige Messwert kommt vom Tiny. Ich weiß noch nicht, ob vom
> A/D-Wandler, oder durch die Firmware.

Hi Tom,

bei mir läuft es in der ersten halben Minute ruckelig, könnte 
tatsächlich an der Firmware liegen.

Danach läuft es ruhig.

Wenn du erlaubst, zeichne ich in deinen Schaltplan von oben mal die 
Entstörmaßnahmen ein, die auf meiner Platine aktuell eingebaut sind.

Wenn man 5V Batteriespannung parallel zu der 5V-Usb-Spannung laufen 
lässt, sieht man den Unterschied.

Viele Grüße,

Daniel

von TomA (Gast)


Lesenswert?

Hallo Daniel,

ja, gerne. Ich werde mal versuchen die Versorgung des Tiny über eine 
Drossel zu führen, danach eine Diode in Serie und dahinter einen 
größeren Elko (50..100µF). So wäre auch gleich die Versorgungsspannung 
des Tiny kleiner, was mir die Zenerdioden, durch kleinere Stromimpulse, 
sicher danken.

Soweit ich gesehen habe, ist am Tiny das Portbit für eine externe 
Referenzspannung noch frei. Dort kann man mal versuchen, eine stabile 
Referenzspannung (1024mV) anzulegen. Das wäre aber wieder mit einem 
Eingriff in die Firmware verbunden, aber langfristig wird sich das wohl 
nicht vermeiden lassen.

Leider hat mir das Telefon wieder eine Menge Arbeit übers Wochenende 
beschert, so komme ich nur sporadisch zu den Änderungen am UsbScope.

Gruß. Tom

von Daniel C. (dan1el)


Angehängte Dateien:

Lesenswert?

Hallo Tom,

TomA schrieb:
> Soweit ich gesehen habe, ist am Tiny das Portbit für eine externe
> Referenzspannung noch frei. Dort kann man mal versuchen, eine stabile
> Referenzspannung (1024mV) anzulegen.

Gut zu wissen! :O)


> ja, gerne. Ich werde mal versuchen die Versorgung des Tiny über eine
> Drossel zu führen, danach eine Diode in Serie und dahinter einen
> größeren Elko (50..100µF).

Ist bei mir auch so, Skizze im Anhang. Bin nicht ganz sicher, welche 
obere Grenze es für Elkos/Kapazitäten am VBUS (+5V) gibt. Habe deshalb 
erst mal kleinere Elkos verwendet. Das 47µF-Exemplar könnte man 
gegebenenfalls noch vergrößern.

Am ADC-Eingang hat sich bei mir auf jeden Fall ein kleinerer 
Klasse-1-Keramikkondensator in Kombination mit einem größeren 
Folienkondensator bewährt.

Viele Grüße,

Daniel

von Daniel C. (dan1el)


Lesenswert?

Kleiner Nachtrag: wenn ich den USB-Schirm auf Masse der USBscope-Platine 
lege (also an PC und Scope), verringert sich der Ripple in der 
Versorgungsspannung zusätzlich.

TomA schrieb:
> Leider hat mir das Telefon wieder eine Menge Arbeit übers Wochenende
> beschert, so komme ich nur sporadisch zu den Änderungen am UsbScope.

VG und frohes Schaffen!

Daniel

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Daniel,

meine Versorgung sieht jetzt ähnlich aus wie in deinem Schaltbild. 
Direkt an der USB-Buchse habe ich einen 100µF-Elko. Die Drossel ist im 
Moment 1.5µH, das war die einzig passende für den Umbau. Später möchte 
ich dort 10...47µH haben. Die Spannung nach der Drossel besitzt einen 
47µF-Elko und wird so zum Stecker der Erweiterung geführt. Zum Tiny 
zweige ich über eine Diode (4148) ab, so daß am Tiny ca. 4,3V sind 
(wegen der Z-Dioden). Direkt am Tiny ist noch ein 100nF-Kondensator zum 
entkoppeln.

Die Änderungen haben den gewünschten Effekt gebracht. Ich habe den 
Eingangsspannungsbereich von 0...1100mV stichprobenweise geprüft, er ist 
linear und ausreichend stabil.
In der Software konnte ich den Korrekturfaktor, welchen Yves vorgegeben 
hat, von 0,92 auf 0,96 verbessern. Wenn er erst mal 1 ist, also nicht 
mehr benötigt wird, ist die Hardware perfekt. :)

Wenn ich den Meßverstärker anschließe wird die Geschichte wieder 
instabil. Das liegt, meiner Meinung nach, an der relativ hohen 
Verstärkung von 25,6fach. Da ist es besser die Referenzspannung zu 
verkleinern, hier muß ich noch überlegen und ausprobieren, was das Beste 
ist.

Das Grundgerät kann man nun, mit vorgeschalteten Spannungsteiler, schon 
als Voltmeter benutzen. Dabei ist der Messbereich 0mV bis ca. 2000mV mit 
einer Schrittweite von 2,5mV. Da Integerzahlen keine Nachkommastellen 
kennen, ändert sich der gemessene Wert mal um 2 und mal um 3, von einem 
Wert zum nächsten. Das macht schon der A/D-Wandler im Tiny, da hilft nur 
eine kleinere Referenzspannung zu verwenden.

Im Bild rechts ist der Messwert zu einer Eingangsspannung von 1007mV zu 
sehen. Das UsbScope springt zwischen 1007 und 1009mV, was völlig in 
Ordnung ist. Interessant ist die linke Bildhälfte, da steht der Poti für 
die Eingangsspannung auf Vollanschlag. Es ist ein gewaltiges Rauschen zu 
sehen. Der Poti hat aber Kontakt, denn wenn ich ihn entferne (offener 
Eingang) sinkt die Spannung auf 0mV.

Wie auch immer, das entkoppeln der Versorgung hat eine Menge gebracht. 
Nun mal sehen, ob die Skalierung jetzt machbar ist?

Im Anhang die Software mit dem neuen Korrekturfaktor.

Gruß. Tom

von Tom A. (toma)


Lesenswert?

Hallo Leute,

jetzt habe ich mal die interne Referenz des Tiny auf 1100mV 
umprogrammiert. Funktioniert ganz gut, aber sobald ich den Meßverstärker 
davorschalte, schwankt der Meßwert um 4 Digit. Und zwar unabhängig 
davon, ob er mit Verstärkung 1,1 (1000mV) oder 11 
(100,0mV-Grundempfindlichkeit) arbeitet. Ich vermute das liegt am 
"fliegenden Aufbau" des Meßverstärkers auf der Steckplatine. Die 
Linearität paßt in beiden Grundempfindlichkeiten ganz gut.

Die Anwendersoftware kann jetzt bis zu einer Stunde Aufzeichnung am 
Bildschirmfenster zeigen.

Gruß. Tom

von dan1el (Gast)


Angehängte Dateien:

Lesenswert?

TomA schrieb:
> Die Änderungen haben den gewünschten Effekt gebracht. Ich habe den
> Eingangsspannungsbereich von 0...1100mV stichprobenweise geprüft, er ist
> linear und ausreichend stabil.

Hallo Tom,

sehr gut!

Im Anhang die überarbeitete Fassung von meiner Spannungsversorgung.
Wenn die Drosseln einen zu großen ohmschen Widerstand haben, fängt der 
ADC-Wert deutlich an zu schwanken. Mit größeren als den von mir 
verwendeten 4,7nF-Abblockkondensatoren an den ADC-Eingängen ist der 
Effekt allerdings nicht so ausgeprägt.


> Wenn ich den Meßverstärker anschließe wird die Geschichte wieder
> instabil. Das liegt, meiner Meinung nach, an der relativ hohen
> Verstärkung von 25,6fach. Da ist es besser die Referenzspannung zu
> verkleinern, hier muß ich noch überlegen und ausprobieren, was das Beste
> ist.

Es könnte ein Problem mit der Masseführung sein. Du könntest für 
Versuchszwecke dem Messverstärker in der Plusleitung einen Widerstand 
spendieren (ca. 5 bis 100 Ohm) und schauen, ob das Schwanken nachläßt 
(oder mit einer Batterie extern versorgen).


> 2000mV mit
> einer Schrittweite von 2,5mV. Da Integerzahlen keine Nachkommastellen
> kennen, ändert sich der gemessene Wert mal um 2 und mal um 3, von einem
> Wert zum nächsten. Das macht schon der A/D-Wandler im Tiny, da hilft nur
> eine kleinere Referenzspannung zu verwenden.

Den Effekt kenne ich von einem selbstgebauten Frequenzzähler. Mit der 
neuen Referenzspannung scheint es nun besser zu klappen, wenn ich es 
richtig verstanden habe!?!


> Es ist ein gewaltiges Rauschen zu
> sehen. Der Poti hat aber Kontakt, denn wenn ich ihn entferne (offener
> Eingang) sinkt die Spannung auf 0mV.

Der Poti scheint ja wirklich heftig zu rauschen. Hat er möglicherweise 
Dreck auf dem Schleifer?


> Im Anhang die Software mit dem neuen Korrekturfaktor.

Muss mich auch mal an das Anpassen der Skalierung machen. Bei mir soll 
der Bereich fürs erste 0 bis 10V abdecken.

Arbeitest du hier mit C#2005?


Viele Grüße,

Daniel

von TomA (Gast)


Lesenswert?

Hallo Daniel,

ich bin mit dem UsbScope jetzt schon recht zufrieden. Als nächstes mache 
ich eine Platine, welche das Scope und die Meßverstärker enthält. Ich 
bin sicher, daß die Verstärker dann auch stabil genug sind. Auf der 
Platine sind kurze Verbindungen, das verringert die Störeinstrahlung. Ob 
es wie erwartet arbeitet, werde ich sehen wenn es fertig ist. Für den 
Hausgebrauch reicht es jetzt schon, und den kommerziellen Geräten kann 
es ohnehin keine Konkurenz sein.

Ich denke die Variante mit 1000mV Eingangsempfindlichkeit reicht aus, 
das ist weniger Aufwand, denn sie braucht keinen Offset-Abgleich.

Wenn es funktioniert, werde ich Programm und Schaltplan veröffentlichen. 
Im Moment halte ich mich etwas zurück, es sind schon mehr Versionen als 
nötig raus - da kennt sich niemand mehr aus. Die Skalierung funktioniert 
jetzt recht ordentlich, der Linearitätsfehler mit Verstärker liegt beim 
aktuellen Muster unter 1%. Der Messbereich ist jetzt 0....1000mV mit 
einer Schrittweite von 1mV. Die interne Referenz, von 1100mV, des Tiny 
ist noch ungewöhnlich, aber das Kompensiere ich durch die Verstärker 
(1,1fach oder 11fach). Die Verstärker sorgen auch für einen hohen 
Eingangswiderstand und eine niederohmige Ankopplung an den A/D-Wandler.

Für das Anwenderprogramm verwende ich das C# aus dem 
Microsoft-Visual-Express 2008 Paket. Das gibt es kostenlos bei Microsoft 
(oder auch bei Zeitschriften z.B: Computerbild), es funktioniert noch 
ohne Registrierung. Für die Versionen ab 2010 ist eine Registrierung 
zwingend erforderlich.

Die C#-Quellen von Yves, für das Anwenderprogramm liesen sich Problemlos 
als Projekt bearbeiten. Ein Projekt für die Firmware des Tiny, unter 
AtmelStudio4, zu erstellen hat da schon etwas mehr Schweiß gekostet. 
Aber auch das ist machbar. Leider habe ich im Moment wenig Zeit übrig.

Weiterhin viel Spaß und Erfolg. Tom

von TomA (Gast)


Lesenswert?

Hallo Daniel,

habe jetzt den Schaltplan erstellt. Der kam mir aber doch zu komplex für 
ein Bastelprojekt vor (UsbScope + doppelter Meßverstärker + negative 
Hilfsspannung), so habe ich mich an die externe Referenz gewagt. Der 
freie Eingang am Tiny ist nicht der für die Referenz, da hatte ich mich 
getäuscht. Also erst mal Hard- und Firmware so geändert, daß der 
Referenzeingang frei wird. Laut Datenblatt darf dort eine Vref von 
2V...VCC anliegen. Ich bräuchte aber 1024mV, vielleicht kann der Eingang 
doch damit umgehen? Kann er nicht, ich habe es ausprobiert. Mit 2048mV 
ginge es, aber das nutzt mir nichts - da ist es besser die interne 
1100mV Referenz zu verwenden. Den Umbau mit freiem Referenzeingang lasse 
ich aber jetzt, für spätere Experimente.

Als nächstes versuchte ich den Meßverstärker zu vermeiden. Das 
funktioniert und ist zum messen von Spannungen größer 1,1V der 
einfachste Weg. Hier kann man mit einem (evtl. abgleichbaren) 
Spannungsteiler die Skalierung gleich mit erledigen. Will man den 
Spannungsteiler umschaltbar machen, tauchen neue Probleme auf. Ich gab, 
bei 1100mV interner Referenz) die Eingangsspannung, aus einer externen 
Referenz von 1240mV, über ein 25k-Poti vor. Dabei erhielt ich über den 
Messbereich von 0...1100 einen Linearitätsfehler von 14, das ist mehr 
als 1% zum Endwert. Er rührt vom sich ändernden Innenwiderstand der 
Spannungsquelle (Poti) her.

Mit Meßverstärker ist dieser Fehler nicht vorhanden, denn der 
Verstärkerausgang bietet dem A/D-Eingang einen gleichbleibenden, 
niederohmigen Widerstand.

Momentanes Fazit: Zum messen in einem feststehenden Spannungsbereich > 
1100mV, wie in deinem Fall, reicht ein einfacher Spannungsteiler für ein 
gutes Ergebnis. Für umschaltbare Bereiche oder Werte <1100mV kommt man 
um einen Messverstärker nicht herum.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

das klingt auf jeden Fall alles ganz gut!

TomA schrieb:
> habe jetzt den Schaltplan erstellt. Der kam mir aber doch zu komplex für
> ein Bastelprojekt vor (UsbScope + doppelter Meßverstärker + negative
> Hilfsspannung)

Ja, da wächst schnell was zusammen auf der Platine. Für AC-Messungen 
müsste eigentlich auch ein Rail-to-Rail-Opamp (für +5V) reichen. Der 
Ausgang muss bei 0V Eingang einen Offset von 1/2 Uref aufweisen.

Wenn man keine Verstärkung benötigt, kann man bei AC-Messungen auch 
einen hochohmigen Spannungsteiler für die halbe Referenzspannung nehmen 
(hinter dem AC-Kondensator). Ist natürlich zu größeren Werten hin nicht 
mehr supergenau.

TomA schrieb:
> Ein Projekt für die Firmware des Tiny, unter
> AtmelStudio4, zu erstellen hat da schon etwas mehr Schweiß gekostet.

Cool, das hast du echt schon fertig!?! Kannst du eventuell die gezippten 
AVR-Studio-4-Ordner mit den .aps-Dateien posten?
(also vor und nach der Änderung der Referenzspannung)

Das Microsoft-Visual-Express-2008-Paket habe ich hier, werde es heute 
Abend installieren. Danke für die Infos dazu.

Viele Grüße,

Daniel

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Daniel,

im Anhang das AtmelStudio4-Projekt der Firmeware des Tiny45. Ich habe es 
UsbScopeR11 genannt, wegen der internen Referenz von 1,1V.

Aufpassen, in dieser Version ist PortB.5 das D- Signal der 
USB-Schnittstelle. PortB.0 ist der Eingang für die externe Referenz, 
wird im Moment aber nicht benutzt.

In der Datei "....\usbdrv\usbconfig.h" ist die Änderung des D-Pin, auch 
die kannst du leicht wieder auf PortB.0 zurückstellen.

//#define USB_CFG_DMINUS_BIT    0      // D- von PortB.0
#define USB_CFG_DMINUS_BIT      5      // geändert in PortB.5

Die Änderung der Referenzspannung findest du in main.c in den Funktionen 
"adcPoll" und "adcInit". Dort habe ich die nicht benötigten Zeilen nur 
auskomentiert (//), sie sind also ganz einfach änderbar (an 3 Stellen).

//ADMUX = UTIL_BIN8(1001, 0011);    // value * 2.5 for output in mV
  ADMUX = UTIL_BIN8(1000, 0011);    // Referenz = 1100mV
//ADMUX = UTIL_BIN8(0101, 0011);    // Referenz = extern PB.0

Viel Erfolg und Gruß. Tom

von Tom A. (toma)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

habe jetzt einen Stand erreicht, mit dem sich arbeiten läßt. Auf eine 
negative Hilfsspannung verzichte ich, damit ist auch kein 
Nullpunkt-Abgleich möglich. Der 1000mV-Kanal benötigt diesen Abgleich 
ohnehin nicht. Im Schaltplan ist ein Kanal des Verstärkers mit 
Verstärkung 1,1 (1000mV-Empfindlichkeit) und der andere Kanal mit 
Verstärkung 11 (100,0mV-Empfindlichkeit). Sie unterscheiden sich nur 
durch die Bauteilwerte im Rückkoppelzweig des OP. Damit kann man die 
Empfindlichkeit der Kanäle durch die Bestückung wählen.
Eine Platine dazu gibt es noch nicht, aber auf dem Steckbrett aufgebaut 
funktioniert es bereits wunderbar. Der Linearitätsfehler macht sich nur 
beim empfindlichen Kanal, bei kleinen Eingangsspannungen, bemerkbar. Die 
Stabilität ist ausreichend.

Im Schaltplan habe ich noch zwei Fehler entdeckt. Der untere Eingangang 
an Stecker JP1 ist auch mit IN1 bezeichnet, es ist natürlich IN2.
Die LED ist an 5V-Analog angeschlossen, sie sollte besser an den 
5V-Digital des Tiny.

An die Eingänge können nun Spannungsteiler, Shunts oder sonstwas 
angeschlossen werden.

Als OP habe ich drei verschiedene Typen, mit asymetrischer Versorgung, 
probiert - LM358, TLC272 und LT1013 - der LT1013 funktioniert am besten, 
ist aber auch der Teuerste. Erstaunlicherweise hat der LM358 besser 
abgeschnitten als der TLC272!

Die Firmware für den Tiny in diesem Schaltplan, findet ihr als Anhang im 
vorigen Beitrag (UsbScopeR11.zip). Dort findet sich das ganze Projekt 
für das AtmelStudio4 und darunter auch die .hex-Datei 
(...\default\UsbScope.hex).

Im .ZIP-Archiv befindet sich wieder das Anwenderprogramm, diesmal ist 
die Zeit im Anzeigefenster bis ca. 1Stunde lang. Das heißt, daß man ggf. 
die letzte Stunde der Aufzeichnung sehen kann.

Ich bin die nächsten Tage unterwegs, werde vermutlich solange nicht 
online sein. Für danach plane ich eine Platine dafür zu entwerfen.

Viel Spaß und Erfolg beim experimentieren.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

vielen Dank für die Firmware und die gute Dokumentation der 
Änderungen!!!

Wenn man D- an PB5 anschließt, muss man in den Fuses den Reset-Pin 
deaktivieren, nehme ich an. Dann wäre der Controller anschließend nur 
noch HV-mäßig programmierbar?!
Mein Tiny45 ist direkt auf die Platine gelötet, da müssten alle 
Software-Änderungen vor dem Flashen genau sitzen.

Ich möchte gerne eine externe Referenzspannung von etwa 3.072V 
verwenden, es sollen dann Messwerte bis maximal 6.144V aufgenommen 
werden können (über Spannungsteiler 2:1). Die Änderung von einem 
ADC-Schritt wäre dann genau 0.003V bzw. nach Multiplikation mit der Zahl 
2 letztlich 0.006V im späteren Anzeigenfenster.
Für die externe Referenzspannung benutze ich also an den drei Stellen im 
Programm die Zeile
ADMUX = UTIL_BIN8(0101, 0011);    // Referenz = extern PB.0
und lasse das Programm sonst, wie es schon ist. Dann wird noch der 
jetzige Aufbau umgelötet, so dass D- an PB5 angeschlossen wird und der 
Resetpin in den Fuses deaktiviert, stimmts? (für den Fall, dass du Zeit 
und Lust hast, das mit durchzuüberlegen)

In jedem Fall viele Grüße und noch mal Danke für die 
AVR-Studio-freundliche Firmware!

Daniel

von dan1el (Gast)


Lesenswert?

Habe grade das Posting entdeckt!

Tom Amann schrieb:
> Erstaunlicherweise hat der LM358 besser
> abgeschnitten als der TLC272!

Interessant, hätte ich nicht gedacht!


Tom Amann schrieb:
> Ich bin die nächsten Tage unterwegs, werde vermutlich solange nicht
> online sein. Für danach plane ich eine Platine dafür zu entwerfen.

Falls man sich vorher nicht mehr liest, viel Spaß/Erfolg unterwegs!

von Tom A. (toma)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

hatte noch den Überspannungsschutz der Eingänge vergessen. Bei der 
Gelegenheit habe ich auch gleich die bemerkten Fehler beseitigt.

@Daniel

> Wenn man D- an PB5 anschließt, muss man in den Fuses den Reset-Pin
> deaktivieren, nehme ich an. Dann wäre der Controller anschließend nur
> noch HV-mäßig programmierbar?!

Es ist genau so, wie du sagst. Ich hatte vergessen das mit Reset zu 
erwähnen. Ich programmiere meinen gesockelten Tiny in einem 
Programmiergerät mit HV. Habe den Tiny mehrmals programmiert, er 
funktionierte jedesmal auf Anhieb.

Soweit ich das überschaue, stimmen deine Ausführungen/Änderungen alle. 
Das Anwenderprogramm bekommt vom UsbScope nur Zahlen zwischen 0-1023, 
was angezeigt und gespeichert wird, legt man im Anwenderprogramm fest. 
Im Moment ist das Verhältnis 1:1, da mit den Trimmern abgeglichen wird. 
Wenn du dir das C#-Programm mal näher aschaust (in Aenderungen.txt), 
siehst du daß es gar nicht schwierig ist, die Werte umzurechnen. 
Ansonsten kann ich es für dich machen.

Danke, bis die Tage. Tom

von Tom A. (toma)


Lesenswert?

!!!! Vorsicht !!!

Im neuen Schaltplan ist auch ein Fehler. Der Überspannungsschutz (Q3/Q4) 
des unteren Verstärkers (IC2B, V=1,1) ist falsch angeschlossen. Seine 
rechte Seite (Basis Q3), darf nicht am Pin 3 des Tiny liegen, sondern 
muß auf GND - das ist die übernächste Leitung (2Positionen rechts der 
jetztigen Verbindung). Der Eingangsschutz am anderen Verstärker (IC2A, 
V=11) ist in Ordnung und kann als Muster dienen.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

Danke für den Schaltplan und die Infos!

Meine derzeitige Schaltung ist in mehr oder weniger dichtester 
Kugelpackung ohne Sockel aufgebaut - da muss das Flashen beim ersten Mal 
sitzen ;O)

Als Spannungsreferenz soll fürs erste ein LM317 dienen. Damit kann man 
natürlich gleich mehrere Referenzspannungen erzeugen.
Mit entsprechenden Buttons im Anwenderfenster könnte man die von Hand 
eingestellte Uref wählen und wäre dann bei den Messbereichen flexibler.

Tom Amann schrieb:
> Wenn du dir das C#-Programm mal näher aschaust (in Aenderungen.txt),
> siehst du daß es gar nicht schwierig ist, die Werte umzurechnen.
> Ansonsten kann ich es für dich machen.

Konnte aus Zeitmangel noch nicht reinschauen - bin gespannt, was mich 
erwartet :O)
Auf jeden Fall schon mal Danke für das Angebot!
Eventuell könnte man das Anzeigenfenster für die Messwerte von der Größe 
her noch optimieren und die Min-Max-Werte gleich grafisch mit eintragen.
Zukunftsmusik ;O)

Wünsche dir eine gute Zeit!

VG, Daniel

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Daniel,

im letzten Schaltplan ist der Überspannungsschutz noch Fehlerhaft. Wenn 
man bis zu 1000mV Eingangsspannung messen will, ist ein Schutz der bei 
ca. 700mV wirkt, nicht die optimale Wahl :(
Besser ist es, eine 4,7V-Zenerdiode paralell zu C12 und C13 zu legen. 
Also vom +Eingang des OP nach GND. Die wirkt bei positiven Spannungen ab 
ca. 4,7V und bei negativen Spannungen ab ca. 0,7V.

Habe vom neuen Schaltplan gleich eine Platine gemacht und getestet. Als 
OP sitzt ein TLC272 drauf, der hat einen rel. hohen Offset. Dieser 
Offset hat mich sehr gestört, also habe ich ihn, per Software, 
korrigiert. Ist aber keine gute Lösung, weil sich dadurch der Meßbereich 
verschiebt. Wenn der OP einen Offset von -4 hat, addiert die Software 4 
und es paßt zunächst. Aber durch die addierte 4 ist kein Messwert unter 
4 mehr möglich. Die kleinste Zal vom A/D ist 0 -> +4 ist der kleinste 
Anzeige/Speicherwert 4. Dafür geht es dann oben bis 1027. Also doch 
negative Hilfsspannung, dann durch Trimmer den richtigen Widerstand 
ermittelt und als Festwiderstand eingelötet. Der Offset gehört ja zum OP 
und der ist auch verlötet, das spart den Trimmer im Layout.

Nun läuft die Kiste mit erstaunlicher Präzision. Der Meßwert folgt 
meinem paralellgeschalteten Multimeter mit einer maximalen Abweichung 
von 1 Digit. Die Genauigkeit hängt nur vom Abgleich und den Daten des 
integrierten A/D-Wandlers ab. Wie sich das UsbScope auf 
Temperaturschwankungen verhält, habe ich noch nicht geprüft.

Die Anwendersoftware und Firmware verarbeitet jetzt den Meßwert 1:1 die 
ursprüngliche Multiplikation ist nun entfernt. Im .ZIP-File findest du 
die Änderungen in "Aenderungen.txt".

Die Fuses für den Tiny sind jetzt FF 5F F1.

Nach meiner Meinung hat das Grundgerät jetzt den betriebsfähigen Zustand 
erreicht. Werde ein Packet schnüren und bei Projekte einstellen und mich 
danach um ein paar Vorschaltplatinen für Spannung, Strom, Temperatur 
.... kümmern.

Im Anhang Bilder der momentanen Platine von vorne und hinten. Auf der 
Vorderseite sind Bereiche unkenntlich gemacht, sie beinhalten nur die 
Erzeugung der negativen Hilfsspannung. Ich verwende dafür eine spezielle 
Schaltung, welche ich für eine Firma entwickelt habe. Da die Firma dafür 
bezahlt hat, kann ich sie nicht einfach öffentlich machen. Es ist aber 
jede Standardschaltung (für -1V...-5V) dafür geeignet. In den Plänen 
fürs Packet werde ich das berücksichtigen.

Gruß. Tom

von Tom A. (toma)


Lesenswert?

Habe das vollständige Projekt mit den aktuellen Quellcodes jetzt im 
Abschnitt "Projekte" unter dem Titel "Zweikanal USB-Panelmeter mit 
ATTiny45 mit Quellcode" abgelegt.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

coole Platine und Danke für die ausführlichen Informationen zum Projekt!

Habe zwischenzeitlich auch weitergebastelt.

Habe jetzt eine Spannungsreferenz mit LM317L aufgebaut für die 
Referenzspannungen von 3.072V, 2.500V und 1.024V. Erstaunlicherweise 
bleiben alle drei Spannungen auf 1mV genau, selbst wenn man mit einem 
warmen Luftstrom die Platine erwärmt. Nebeneffekt: die gemessenen 
Spannungen bei 3.072V und 2.500V schwanken im Gegensatz zur Internen 
Referenzspannung so gut wie gar nicht mehr.

Bei der Referenzspannung 1.024V gibt es hingegen ein Problem. Selbst bei 
0.000V Eingangsspannung bleibt die am PC angezeigte Spannung auf dem 
Maximalwert stehen.
Das ist sicher ein Softwareproblem - habe die Ursache bisher allerdings 
noch nicht entdecken können.

Ansonsten sitzt vor jedem AD-Eingang ein Spannungsteiler aus 2x 47k und 
jeweils eine Zenerdiode 6V2 von Masse zum Eingang (habe momentan keine 
kleineren ZDs vorrätig).

So viel zu meinem aktuellen Aufbau.


TomA schrieb:
> Werde ein Packet schnüren und bei Projekte einstellen und mich
> danach um ein paar Vorschaltplatinen für Spannung, Strom, Temperatur
> .... kümmern.

Coole Idee!!!
Einen Helligkeitssensor ("Luxmeter") könnte ich im Moment auch ganz gut 
gebrauchen, den könnte ich gleich für das USB-Scope konzipieren.
Und ein Geiger-Müller-Zählrohr hart hier auch noch seiner Anwendung :O)


Wenn du ansonsten eine Idee hast, warum bei einer externen 
Referenzspannung von 1.024V der Messwert immer auf Vollanschlag steht, 
bitte posten!


Viele Grüße und schönes WE,

Daniel

von TomA (Gast)


Lesenswert?

Hallo Daniel,

danke, ich mache oft Platinen direkt von der Vorlage vom Steckbrett weg. 
Das geht mit Tonertransfer meißt schneller als ein Muster zu fädeln.

Dein Fehler kommt mir bekannt vor. Ich hatte es auch schon mit einer 
externen Referenz von 1024mV versucht, das klappt nicht. Die externe 
Referenz muß, nach Datenblatt, mindestens 2000mV betragen. Das ist auch 
der Grund für meine Messverstärker. Ich benutze die interne Referenz von 
1100mV und verstärke die Eingangsspannung um 1,1 oder 11, dann paßt es 
wieder. Zudem schaffe ich mot den OP's einen sehr hohen 
Eingangswiderstand und mit Verstärkung 11 ist der Eingang 10fach 
empfindlicher. Das bringt einen Vorteil bei z.B. Strommessung - Der 
Shunt fällt dann 10mal niederohmiger aus.

Ich weiß nicht was du messen willst, aber 47k scheint mir etwas 
niederohmig. Falls du nicht an einem niederohmigen Messpunkt arbeitest, 
kannst du dadurch einen Fehler erzeugen. Der Eingangswiderstand der 
A/D-Wandler ist 100MOhm, da kannst du den Teiler auch hochohmiger 
wählen.

Noch ein paar Worte zu den Spannungsteilern allgemein. Die Werte der 
Widerstände dafür sind üblicherweise 9M, 900k, 90k, 9k und 1k. Die gibt 
es als fertiges Netzwerk, oder als Einzelwiderstände zu kaufen. Sie sind 
aber teuer und für unser Projekt, in dieser Präzision (0,1%), nicht 
nötig. Man kann sie auch aus Werten der E12 Reihe nachbilden 9M = 4,7M + 
3,3M + 1M usw. Oder man nimmt für den Teiler Normwiderstände 9,09 und 
unten dann 1,01.

Gruß. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

vielen Dank für die Infos, besonders zur externen Referenzspannung!
Habe es bei meinem Aufbau noch mal getestet, in der Praxis würde 
anscheinend eine Referenzspannung bis minimal 1.6V funktionieren.

Meine Prototypen baue ich meistens direkt im Manhattenstyle auf. So hat 
man eine durchgehende Massefläche und kann die Teile von oben bequem 
austauschen. Besonders bei HF-Projekten hat sich der Aufbau bewährt.
Deine Idee mit der Umsetzung vom Steckbrett direkt zur (SMD-) Platine 
finde ich auch sehr gut! Das ist auch sehr nachbaufreundlich.

TomA schrieb:
> Ich weiß nicht was du messen willst, aber 47k scheint mir etwas
> niederohmig.

2x 47k in Serie ergeben einen Eingangswiderstand von ca. 100k. Zur 
Beobachtung von Versorgungsspannungen ist das schon ganz ok.
Da hast du völlig recht, für ein USB-Multimeter wäre der 
Eingangswiderstand sicher zu klein.


> Der Eingangswiderstand der
> A/D-Wandler ist 100MOhm, da kannst du den Teiler auch hochohmiger
> wählen.

Das stimmt. Allerdings führt das, wie ich mittlerweile festgestellt 
habe, zu Kanalübersprechungen. D.h., wenn die Spanung von Kanal 1 
hochgeht und Kanal 2 auf Masse liegt, werden dort plötzlich einige mV 
gemessen. Der "Abschlusswiderstand" vom AD-Eingang nach Masse sollte 
wohl nach Möglichkeit relativ niederohmig sein.

Werde auf jeden Fall dein Projekt mit Messverstärker auch noch aufbauen.

Viele Grüße und eine gute Woche,

Daniel

von TomA (Gast)


Lesenswert?

Hallo Daniel,

danke für die Info. Zum messen von Versorgungsspannungen sind 100k-Ohm 
mehr als ausreichend, da bleibt der Messfehler vernachlässigbar.

Ich habe mich inzwischen mit dem Timing des UsbScope beschäftigt, um 
eine Zeitbasis für die Messungen zu schaffen. Da sieht es eher schlecht 
aus. Im Quellcode der Firmware ist zu sehen, daß Yves das auch schon 
versucht hat. Ist aber schwer bis unmöglich das in den Griff zu 
bekommen. Das VUSB (USB durch Software nachgebildet) verbraucht zu viel 
Rechenleistung, da sind keine Lücken für ein paralell laufendes Timing. 
Man könnte höchstens mit dem VUSB synchronisieren. Aber läuft die 
USB-Kommunikation mit dem PC nach einem festen Zeitmuster ab? Das 
UsbScope fordert zwar einen 10ms-Poll vom Host, aber kann der PC das 
auch garantieren? Ich glaube eher nicht!

Ich denke grad über einen Datenlogger, mit einer echten 
USB-Schnittstelle und zwei potentialfreien Eingängen, nach. Den 
passenden Chip hätte ich noch in 100er Stückzahlen hier. Den AT89C5122, 
der hat Full-Speed-USB, ein Speicherinterface für RAM und ein 
Card-Interface. Integrierte A/D-Wandler hat er nicht, aber die sind für 
potentialfreie Eingänge ohnehin unpraktisch. Das wäre dann aber kein 
Bastelprojekt mehr, dafür hätte ich sogar schon einen Kunden. Mal sehen 
....

Danke, dir auch eine schöne Woche. Tom

von dan1el (Gast)


Lesenswert?

Hallo Tom,

das sind gute Fragen zur Schaffung einer Zeitbasis!

In jedem Fall scheint es nicht viele Selbstbaulösungen zu geben, mit 
denen man DC-Spannungen mit einer Samplingrate von einigen kHz auf 
einfache Weise am PC darstellen kann.
Ich hatte eine Zeit lang mit umgebauten Soundkarten experimentiert. Die 
wären eigentlich optimal gewesen.
Leider lässt die Firmware der (mir bekannten) Soundkarten softwaremäßig 
jede DC-Spannung am Chipeingang wegrechnen (als Offsetunterdrückung).
Das Ergebnis ist, dass sich Soundkarten sehr gut als AC-DSO für 
niedrigere Frequenzen eignen, für DC-Messungen bzw. für Messungen von 
AC-Spannungen mit DC-Offset sind sie weitgehend ungeeignet.
Von da her glaube ich gerne, dass du schon Interessenten für die 
vorgeschlagene professionelle Lösung mit dem AT89C5122 hast.

(Ansonsten gibt es wohl noch die Möglichkeit, über einen VCO vor dem 
SC-Eingang die DC-Spannung in ein spannungsproportionales Tonsignal 
umzuwandeln und dieses nach dem Einsamplen PC-seitig wieder in ein 
DC-Signal umzusetzten. Habe es allerdings noch nicht getestet)

Im Moment denke ich darüber nach, einen µ-Netzwerkanalysator mit einem 
Atmega648 und einem AD9851 aufzubauen. Es soll eine Art erweiterter 
HF-Messgenerator sein, der die frequenzabhängige Dämpfung eines 
Netzwerks (z.B. eines Quarzfilters) auf einfache Weise an den 
PC-übermitteln kann.
Die Voraussetzung wäre, dass der Atmega eine saubere USB-Kommunikation 
mit dem PC hinbekommt.

Was meinst du mit potentialfreien Eingängen?

Viele Grüße,

Daniel

von TomA (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Daniel,

ich hänge im Moment noch an der USB-Übertragung unter C++, keiner der 
ausprobierten Treiber funktioniert wie gewünscht. Die mitgelieferten 
Beispiele laufen gar nicht, oder falsch :(

Potentialfrei bedeutet, daß die Messeingänge nicht galvanisch 
miteinander verbunden sind. Damit lassen sich die Messpunkte frei 
innerhalb einer Schaltung wählen. Die integrierten A/D-Wandler messen 
alle gegen den gemeinsamen GND, das kann zu Kurzschlüssen führen.
Das sieht man ganz deutlich an den Bildern zur Leistungsmessung. Teil 
"A" (links) zeigt wie es üblich bemacht wird, Spannung und Strom werden 
getrennt erfasst. Teil "B" (rechts) zeigt, wie es mit gemeinsamen GND 
der Messgeräte aussieht. Der Spannungsanteil des Shunt im Strommessgerät 
ist in der gemessenen Spannung am Lastwiderstand, als Fehler, enthalten. 
Anders angeschlossen ergiebt sich allerdings ein Kurzschluss, durch den 
gemeinsamen GND. Der im Bild gezeichnete Widerstand ist die Last, deren 
Leistung gemessen werden soll. Der Shunt befindet sich im Amperemeter.
Potentialfrei, also galvanisch getrennt, kann ich die Messeingänge nach 
belieben anschließen.

Gruß. Tom

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.