Hallo Leute!
Habe endlich mein Parkside-Multimeter umgebaut, um es in Verbindung mit
einem PC als Datenlogger (unter Linux) nutzen zu können. Nach den guten
Vorarbeiten von Benedikt M. ist das keine grosse Sache.
https://www.mikrocontroller.net/articles/Multimeter_PDM-300-C2_Analyse
Als Serial/USB-Wandler verwende ich einen ATTiny2313 mit 20MHz Takt und
VUSB als Firmware. http://www.recursion.jp/avrcdc/
Habe die 20MHz Version ungeändert in den 2313 geflasht und der CDC hat
auf Anhieb funktioniert.
Als Ergänzung spendierte ich dem Interface noch einen isolierten
DC/DC-Wandler der die Batterie/Akku des Multimeter unterstützt, damit
diese nicht während einer Messreihe versagt. Die Schaltung ist in:
https://www.transkommunikation.ch/dateien/schaltungen/diverse_schaltungen/power_supplys_circuits/DC-DC%20Konverter.pdf
zu finden und leicht an 9V anzupassen.
Die Bilder zeigen das Multimeter mit Interface und die vom PC
empfangenen Daten in einem Terminal. Im 7. und 8. Byte ist der Messwert
(8,69V) als 365-Hex schön zu erkennen.
Im Multimeter sind nur die Anschlusspunkte auf einen Stecker geführt,
alle Elektronik befindet sich auf der externen Platine.
Gruss. Tom
Marc X. schrieb:> Ok und wofür jetzt der Thread?
Zur Vorstellung des Projekts ?
Im Gegensatz zu dir erschafft TomA auch was.
Allerdings fehlt der von ihm verwendete Schaltplan und überarbeitete
Quellcode, so dass die Quellenangaben das einzig nützliche sind.
Hallo MaWin.
Die Schaltpläne und der Quellcode befinden sich in den Links. Am
Quellcode des 2313 war nichts zu ändern, der wurde geflasht wie
heruntergeladen.
Der Schaltplan des DC/DC-Wandlers ist der im angegebenen Link (letzter)
er wurde nur an den von mir verwendeten Übertrager angepasst. Dieser
Übertrager stammt aus Restposten, den hat ausser mir niemand und so
braucht auch niemand die Änderungen. Aber ein kleiner 1:1 Übertrager,
wie im Link, ist schnell gewickelt.
Es ist so dass tatsächlich die Schaltungen aus den Links benutzt werden
können, also wozu nochmal veröffentlichen? Letztlich braucht man irgend
einen funktionierenden serial/USB-Wandler und falls gewünscht irgend
einen isolierten 9V DC/DC-Wandler.
Gruss. Tom
TomA schrieb:> Die Schaltpläne und der Quellcode befinden sich in den Links.
Oh, ich hatte statt
TomA schrieb:> ungeändert
umgeändert
für ATTiny2313 mit 20MHz gelesen.
Noch ein Wort zum DC/DC-Wandler. Im Link wird für die 12V
Ausgangsspannung eine 13V Zenerdiode verwendet. Für 9V Ausgangsspannung
wäre eine 10V Zenerdiode richtig (oder 9,1V Zener + 0,7V 1N4148 in
Serie). Multimeter sind in ihrer Versorgungsspannung nicht so
anspruchsvoll, sie kommen sogar mit 9V-Blockbatterien/akkus (8-11V)
zurecht :)
Gruss. Tom
MaWin schrieb:> Im Gegensatz zu dir erschafft TomA auch was.
Ich habe schon genügend (Software-)Projekte unter verschiedenen
Pseudonymen veröffentlicht*, das witzige ist aber dass das ausgerechnet
die Person sagt, welche sich auf seine Arbeiten wie dem GALBlast von vor
20 Jahren ausruht und meint von allen Fachgebieten im Elektrobereich die
Weisheit mit Löffeln gefressen zu haben.
Für mich ist der Thread hier eher das Zeigen eines erfolgreichen
(angepassten) Nachbaus und gehört eher als Beitrag in den Hauptthread,
statt in einem eigenen.
Doch noch ein paar Worte zum Stecker zwischen Multimeter und Interface.
Die Belegung ist nicht willkürlich gewählt, sondern gewährleistet einen
Verpolungsschutz, damit bei falsch angeschlossenem Stecker nichts
passiert.
Es ist im Multimeter eine einreihige 4polige Stiftleiste und am Kabel
als Gegenstück eine 4polige Buchse.
Pin Multimeter Interface
1 + Batterie + DC/DC
2 - Batterie / Signalground - DC/DC / Signalground
3 TX des Multimeter Signaleingang des Optokoppler
4 Nicht belegt Nicht belegt
Wird der Stecker falsch herum gesteckt endet die Multimeterbatterie am
nicht belegten Interfaceanschluss und der DC/DC+ des Interface am
nichtbelegten Batterieanschluss des Multimeter. GND und TX liegen in
Sperrichtung am Signaleingang zum Optokoppler. Da die Spannung hier nur
3 Volt beträgt hält die Leuchtdiode im Optokoppler dies problemlos aus.
In dem Fall wird also die Übertragung und Versorgung nicht
funktionieren, aber es geht nichts kaputt.
Zum DC/DC-Wandler: Hier ist es Vorteilhaft hochohmiger zu arbeiten. Also
für den Übertrager lieber mehr Windungen dünnen Drahtes als wenig
Windungen dicken Drahtes zu verwenden. So kann sich der Wandler besser
an die Multimeterbatterie anpassen. Die vorgeschlagenen 330µH sind schon
ein guter Kompromiss.
Gruss. Tom
Habe noch ein kleines Testprogramm für das Multimeter geschrieben. Es
zeichnet keine Messwerte auf, sondern dient nur zum testen der
Übertragung. Ist ein Konsolenprogramm, benötigt kein installiertes
Framework oder irgendein runtime. Für das Programm muss nichts
installiert werden/sein, es wird einfach vom Datenträger aufgerufen.
Gestartet wird es in der Konsole vom Verzeichnis in dem es sich befindet
mit "./PDM300". Dann verbindet es sich, per default, mit dem Device
"ttyACM0". Ist das Multimeter mit einem anderen Device verbunden, kann
das beim Aufruf angegeben werden. "./PDM300 ttyUSB0" verbindet mit
ttyUSB0, "./PDM300 ttyACM1" verbindet mit ttyACM1 .... usw.
Das Programm ist unabhängig vom verwendeten Interface, wird also auch
mit anderem Interface funktionieren. Nur das Multimeter muß ein PDM300
Cx sein.
Das Programm zeigt oben das empfangene Telegramm hexadezimal an, In der
Mitte zeigt es den, aus dem Telegramm interpretierten, Messwert. In der
untersten Zeile steht die verwendete Schnittstelle. Bei Strömen wird im
Telegramm nicht zwischen AC und DC unterschieden, so kann auch die
Anzeige nicht unterscheiden.
Habe noch ein Problem mit dem Interface und Widerstandsmessung.
Vermutlich bringt der DC/DC-Wandler des Interface die automatische
Bereichswahl durcheinander. Muss ich mir bei Gelegenheit genauer
ansehen.
Gruss. Tom
Das Problem mit der Widerstandsmessung scheint gelöst. Ein LC-Filter am
Ausgang des DC/DC-Wandler bringt nichts. Ein LC-Filter am Eingang des
DC/DC-Wandlers bringt auch nichts. Lasse ich das C des Eingangsfilters
weg, funktioniert alles wie gewollt. Habe jetzt nur eine 100µH Drossel
in der Zuleitung des DC/DC-Wandlers.
Getestet habe ich bis zu einem Widerstand von 9,1MOhm, einen grösseren
Wert hatte ich nicht zur Hand.
Gruss. Tom
Hier die aktuelle Version des Testprogramm. Es zeigt jetzt auch die
eingestellte Messart (Strom, Spannung, Durchgang, ...) in der Fußzeile.
Das Problem mit den Störungen beim messen hoher Widerstandswerte ist
tiefgründiger als gedacht. Der DC/DC-Wandler arbeitet nun fast mit Sinus
statt Rechteck. Dadurch hat sich der Wirkungsgrad verschlechtert. Aber
bei ca. 5mA Laststrom spielt der Wirkungsgrad nicht die tragende Rolle.
Das Problem tritt trotzdem noch auf, und zwar bei hohen
Widerstandswerten, Wechselspannung und kleinen Wechselströmen. Aber nur
wenn die Messleitungen an der Isolierung in der Hand gehalten werden.
Liegen sie unberührt auf dem Tisch, gibt es keine Probleme. Die
Störungen kommen demnach als Strahlung, über die Messleitung als
Antenne, ins Multimeter und müssen durch Abschirmung und geeignete
Masseführung beseitigt werden.
Alternativ könnte man ein Linearnetzteil oder eine Hilfsbatterie für
längere Messdauer verwenden.
Gruss. Tom
Habe dem Programm jetzt das schreiben beigebracht. Es zeichnet die, vom
Multimeter, empfangenen Daten in einer Textdatei auf (Bild:
Messdaten.png).
Die erste Zeile der Textdatei enthält Datum und Uhrzeit des Beginns der
Aufzeichnung. Die weiteren Zeilen enthalten je einen Zeitstempel und ein
Telegramm vom Multimeter. Zuerst die Sekunden seit Start als 5stellige
Hexzahl (00000 - FFFFF), dann die Telegrammdaten als unsigned 64Bit Hex
in ASCII. Aus Platzgründen fehlen die führenden zwei Byte (DC BA). Da
diese in jedem Telegramm gleich sind ist das aber unerheblich. Das
Zeitraster ist eine Sekunde, das Multimeter macht 2-3 Messungen je
Sekunde. So kann es zu 1 bis 4 Telegrammen mit der gleichen Zeit kommen.
Wird das Programm beendet und neu gestartet, wird die alte Datei von der
Neuen überschrieben. Ist bewusst so geschrieben, um nicht bei jedem
kleinen Test eine neue Datei zu haben. Wer die Aufzeichnung braucht,
kann die Datei vor einem Neustart umbenennen/kopieren.
Die Datei kann mit einem Texteditor angesehen oder einem Programm
ausgewertet werden.
Gruss. Tom