Forum: Projekte & Code Lidl-Multimeter PDM-300-C2 Analyse und Erweiterungen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Volker U. (Firma: Ingenieurbüro Volker Urban) (ib-volker-urban)


Bewertung
4 lesenswert
nicht lesenswert
Moin,

ich hab mal ein Projekt aufgesetzt um ein billige Autorange-Multimeter 
vom Discounter aufgesetzt. Dieser Thread führt damit den Hinweis-Thread 
aus dem 'Markt-Bereich' fort: 
Beitrag "(Tipp) Günstiges 13Euro Autorange Multimeter derzeit beim Lidl" . Der Wiki-Artikel zum 
Projekt ist dort: Multimeter PDM-300-C2 Analyse.

Als nächste lade ich mal ein paar Detail-Fotos vom Display und 
Schnittstellen hoch und schau was man an der unbestücken LED (?optischen 
Schnittstelle?) oben links machen könnte. Sinnvoll scheint mir auch eine 
Signalaufzeichnung an TX zu etablieren, ich dachte da an einen RaPi mit 
Sigrok per Kabel durch Batteriefach.

Let's do it!

von Baendiger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Spannendes Projekt!
Hast du die Möglichkeit die Genauigkeit zu überprüfen? Muss ja nicht 
aufwendig sein:
- <0,1% Widerstände falls du welche hast
- genaueres Multimeter zum Vergleich
- Referenzspannungsquelle
- etc.

von Volker U. (Firma: Ingenieurbüro Volker Urban) (ib-volker-urban)


Bewertung
0 lesenswert
nicht lesenswert
Baendiger schrieb:
> Hast du die Möglichkeit die Genauigkeit zu überprüfen? Muss ja nicht
> aufwendig sein:
> - <0,1% Widerstände falls du welche hast
> - genaueres Multimeter zum Vergleich


Ich hab hier ein paar 0,1% 1K, 2k,... Widerstände von einem R2R-projekt 
und ein 4.5 stelliges Tischmultimeter (ca. 40 Jahre alt, unkalibriert). 
Die Widerstände kann ich mal bei Gelegenheit dranhalten, für genauere 
Vergleichsmessungen müsste ich bis zum Ende der Ausgangssperre warten um 
in der Vereinswerkstatt mal nach Messequipment zu schauen. Vielleicht 
kommt da ja ein anderer eher an Vergleichsequipment.

von Andre M. (andre1597)


Bewertung
0 lesenswert
nicht lesenswert
Volker U. schrieb:
> Als nächste lade ich mal ein paar Detail-Fotos vom Display und
> Schnittstellen hoch und schau was man an der unbestücken LED (?optischen
> Schnittstelle?) oben links machen könnte.

>Betrifft: unbestückte Optische Schnittstelle BL1

Hallo tolle Beiträge um das Lidl - DMM! Meine Vermutung wäre, dass es 
sich hier nicht um eine Schnittstelle handelt, sondern sich ehr 
vielleicht um die "eingesparte" Display-Beleuchtung handelt. Die nähe am 
Display und die vorhandenen Bohrlöcher für 2 Kabel könnten dies vermuten 
lassen. Möglicherweise könnte man diese zum Leben erwecken.(Wenn ein 
"Schalt" - Signal vorhanden ist) Es wäre eigentlich nur ein 
Treibertransistor, Vorwiderstand R10 und ein Widerstand R11 an Diode 
notwendig.

von DCF 7. (dcf77)


Bewertung
0 lesenswert
nicht lesenswert
Die Billigheimer sind nicht schlecht.
Die hat man vielleicht nicht so lange wie ein Fluke, kostet aber auch 
nur Bruchteil.
Wer keines mehr bei Lidl bekommen hat, alternativ gibt es günstige 
Uni-t.

Youtube-Video "Multimeter Test UNI-T UT136 UT136C UT136C+   Ein Multimeter für unter 20 Euro (Review, Testbericht)"

von michael_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
DCF 7. schrieb:
> Die hat man vielleicht nicht so lange wie ein Fluke,

Vielleicht bei dir nicht.

Mein Multiprüfer-II hat 55 Jahre auf dem Buckel, das M3800 30 Jahre, ein 
Fluke 20 Jahre usw.
Auch das UNIVO hat mich 50 Jahre begleitet.

https://www.radiomuseum.org/r/eka_multimeter_univo.html

Ich benutze es noch sehr oft, vor allem wenn dig. Anzeigen spinnen.

Man muß nur pfleglich damit umgehen.

von Volker U. (Firma: Ingenieurbüro Volker Urban) (ib-volker-urban)


Bewertung
1 lesenswert
nicht lesenswert
Status: An der Diodenschnittstelle habe ich beim Ersten Durchprobbiern 
kein Signal gefunden. Am TX kommen einzelne nichtidentische Datenpakete, 
die ich mal per Videokamera am Scope mitgeschnitten habe. Allerdings ist 
der Mitschnitt weder klein (25MB) noch sonderlich schön, als das ich ihn 
an diese Posts anhänge oder als Download auf dieses Forum bereitstellen 
kann. Dafür gibt es drei einzelne Frames neu im Artikel:

Multimeter PDM-300-C2 Analyse: Signale

Als nächste bekommt TX ein Drähtchen angelötet, damit man auch die 
Anzeige beobachten kann. Und das Terminal f. 300 Baud o.ä. wie 
vorgeschlagen wird drangehangen.

von Tim V. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Volker U. schrieb:
> Multimeter PDM-300-C2 Analyse: Signale

Sieht doch gut aus!

Bedenke beim dekodieren das es teilweise üblich ist die LCD-Bitmap zu 
senden und nicht BCDs..

von Benedikt M. (bmuessig)


Bewertung
0 lesenswert
nicht lesenswert
Insgesamt sind es ja 42 Segmente. Es müssten also 5 1/4 Bytes an 
Nutzdaten gesendet werden (wenn alle Segmente übertragen werden). Ich 
gehe auch sehr davon aus, dass ein Bitmap der Segmentzustände übertragen 
wird.

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
Ich habe dank NormalZeit, heute einige Multimeter erhalten :-)

Bei dem Serialport habe ich ein gutes Gefühl. Die Daten werden mit 2400 
8N1 gesendet (siehe Signal 1+2).

Ich habe den Bildschirm, sowie die Welle und den Decode bei zwei 
unterschiedlichen Displayinhalten angehängt und die Daten ändern sich, 
bleiben aber bei gleichen Displayinhalt gleich.


Cheers,
Benedikt

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Anbei noch einige CSVs der seriellen Daten.

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
So, ich habe jetzt schnell eine PC-Software gebastelt, die die 
Multimeterdaten in Echtzeit abfragt und etwas visueller aufbereitet.

Es muss lediglich ein USB-Seriell-Wandler (ich verwende den FT2232H von 
Reusch) im 3.3V-Modus verwendet werden. Die Signale sind zwar ~3V, aber 
das liegt weit über dem positiven 3.3V CMOS-Schwellwert.
Die Software konfiguriert den Port dann korrekt und stellt die 
übertragenen Daten dar.

Update: Ich habe die Software unter Ubuntu getestet und sie funktioniert 
mit Mono dort auch.

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Ich habe die Spannung von 5.00VDC bis 5.09VDC schrittweise erhöht.
Die angehängten Ergebnisse sprechen nicht für ein Siebensegment-Bitmap, 
sondern eher für BCD-kodierte Informationen.

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hier der Vergleich von 5.00V AC und 5.00V DC.

Die Zahlen bleiben gleich, es ändern sich aber 5 Bits in anderen 
Positionen.
Bei diesen handelt es sich also höchstwahrscheinlich um die 
Modus-Felder.

Update:
Einige Bytes verändern sich jeweils nur bei einem Moduswechsel oder 
einer Änderung des Wertes.
Daher gehe ich aktuell von diesem Format aus:
0b11011100 Präambel?
0b10111010 Präambel?
0b00000001 Präambel?
0b00010110 Modus/Range
0b00000100 Modus/Range
0b00000000 Immer Null?
0b00000000 Wert
0b00000000 Wert
0b00000000 Wert
0b00011011 Wert

: Bearbeitet durch User
von Volker U. (Firma: Ingenieurbüro Volker Urban) (ib-volker-urban)


Bewertung
0 lesenswert
nicht lesenswert
Benedikt M. schrieb:
> Hier der Vergleich von 5.00V AC und 5.00V DC.

Super, ich schubs das in den Wiki-artikel. An 'meinem' Multimeter bin 
ich noch nicht weitergekommen.


>Update: Ich habe die Software unter Ubuntu getestet und sie funktioniert
>mit Mono dort auch.

Persönlich hab ich als Platform für das Multimeter nen RasPi vorgesehen, 
wegen Allgemeintauglichkeit einige von den GPIO-Pins. Dann müsste m.E. 
eine Consolen-software, also was in jeder shell läuft , brauchbar sein.

>ich verwende den FT2232H von Reusch)

Stabile Kiste, ich hab da was kleineres angedacht:
https://www.reichelt.de/usb-2-0-konverter-seriell-ttl-pinheader-einzeln-1-8-m-3-3-v-delock-83787-p163095.html?&trstct=pol_17&nbc=1

Ist nur leider grad schwer auffindbar :-(

von Volt Nuß (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ist der chip  CoB/TQFT42 mit TX an Pin 16 wirklich neu und unerforscht?

Vielleicht reicht es sich hier etwas um zuschauen?:

https://github.com/sigrokproject/libsigrok/tree/master/src

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
Ich habe das Format geknackt :-)

0: 0b11011100 Präambel
1: 0b10111010 Präambel
2: 0b00000001 Präambel
3: 0b00010110 Modus & Range
4: 0b00000100 Exponent
5: 0b00000000 Wert (High Byte)
6: 0b00000000 Wert (Middle Byte)
7: 0b00000000 Wert (Low Byte)
8: 0b00000000 Unbekannt
9: 0b00011011 Unbekannt

Exponenten (noch nicht ganz fertig):
Bitmuster (b[4])  Format  Multiplikator
0000 0001  0.000  TODO (nur ACA?)
0000 0010  000.0  10-1
0000 0100  0.000  10-3
0000 1000  0.00  10-2
0010 0000  0.000  TODO
0100 0000  0.00  10-2 (nur DCA?)

Modi:
0001 0110 DC V
0001 0101 AC V
0001 1010 uA (Gleich wie AC uA)
0001 1001 mA (Gleich wie AC mA)
0001 1000 A (Gleich wie AC A)
0001 1100 Diode
0001 1011 Continuity
0000 0011 Squarewave
0001 1101 Resistance

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Volker U. schrieb:
> Persönlich hab ich als Platform für das Multimeter nen RasPi vorgesehen,
> wegen Allgemeintauglichkeit einige von den GPIO-Pins. Dann müsste m.E.
> eine Consolen-software, also was in jeder shell läuft , brauchbar sein.
IIRC hat der Raspberry Pi doch nur einen Serial Port, der mit der 
Boot-Console belegt ist. Da wäre es vermutlich geschickter, einen 
USB-Seriell-Adapter einzusetzen. Die Software läuft mit Mono übrigens 
auch auf dem Pi. Ich bin gerade dabei, diese neu zu schreiben.
Gut vorstellen könnte ich mir hier auch eine kleine Platine mit ESP8266, 
die den Multimeter über WiFi erreichbar macht und z.B. Datenlogging 
direkt auf dem Chip betreibt.

Volt Nuß schrieb:
> Ist der chip  CoB/TQFT42 mit TX an Pin 16 wirklich neu und unerforscht?
Meines Wissens nach schon. In der Repo gibt es keinen Chip, der sich mit 
dem Protokoll auch nur zum Teil deckt. Zudem, wo wäre dann der Spaß?

Benedikt M. schrieb:
> 5: 0b00000000 Wert (High Byte)
Ich bin noch am Überlegen, was es mit diesem Byte auf sich hat.
Erst dachte ich, dass es sich um ein High-Byte eines 24-Bit Wertes 
handelt, da es bei negativen Zahlen von 00 auf FF umschlägt. Jedoch 
scheint es, wenn OL angezeight wird, anders verwendet zu werden. Und, 16 
Bit sollten zur Darstellung aller Werte reichen.

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
5 lesenswert
nicht lesenswert
Ich bin gerade dabei, ein neues, grafisches Crossplatform-Tool für die 
Multimeterschnittstelle zu schreiben. Dieses soll auf Windows, Linux und 
OS X lauffähig sein.

von Einkaufswagendesinfektor #42 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Benedikt M. schrieb:
> Dieses soll auf Windows, Linux und
> OS X lauffähig sein.

Vielen danke für deine Mühen Benedikt!

IMHO würde sich der durchschnittliche Unix Nutzer vermutlich sehr 
vielmehr freuen, wenn der Support in die bereits existierenden 
tools/libs eingebaut würde.

BTW,
meldet sich der Chip eigentlich beim Einschalten mit einer abweichenden 
Byte folge?

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Wagt sich jemand ran, Spannungen > 200V AC/DC an den DMM anzuschließen 
und den Datenstrom zu erfassen? Diese Messungen fehlen mir aktuell noch, 
da mein Serial-Opto nur bis 100V Isolationsspannung spezifiziert ist. 
Selbst mit Isolationstrafo möchte ich das eigentlich nicht machen.

Ich frage jetzt mal blöd, aber ist es überhaupt eine gute Idee, 
Spannungen über 200V in der Software zu unterstützen?


Einkaufswagendesinfektor #42 schrieb:
> Vielen danke für deine Mühen Benedikt!
Es freut mich, dass es Dir gefällt :-)

> BTW,
> meldet sich der Chip eigentlich beim Einschalten mit einer abweichenden
> Byte folge?
Ich schaue später Mal nach.

> IMHO würde sich der durchschnittliche Unix Nutzer vermutlich sehr
> vielmehr freuen, wenn der Support in die bereits existierenden
> tools/libs eingebaut würde.
Jeder hat seine Vorlieben, was Software angeht. Ich benutze z.B. Sigrok 
nicht. Daher schreibe ich jetzt einfach eine Referenzimplementierung und 
veröffentliche den Code. Ich kann dich gut verstehen, dass es schön 
wäre, den Code in andere Projekte einzupflegen, aber so viel Zeit habe 
ich dann leider nicht. Wenn jemand sein Lieblingstool unterstützen 
möchte, kann er das gerne anhand der entstehenden Dokumentation tun ;-)

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mich hat es jetzt doch interessiert, 200+ V AC mit der Software messen 
zu können. Daher habe ich einen ESP8266 mit Serial->Telnet Firmware 
geflasht und ihn an eine Powerbank gehängt und die Multimeterdaten im 
Rohformat auf den PC übertragen.
Das Exponentenbyte für den 200-300V AC-Bereich lautet 0x20.

Jetzt fehlt noch immer der 200-300V DC-Bereich. Hat jemand Lust eine DC 
Spannung über 200V zu erzeugen und die Daten zu erfassen?

von Droggelbecher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Keine Diode(n) z.B. 1n4004..7 zur Hand?

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Droggelbecher schrieb:
> Keine Diode(n) z.B. 1n4004..7 zur Hand?

Doch, das schon. Ich hatte auch schon über einfaches Gleichrichten 
nachgedacht. Ich war mir zuerst nicht sicher, ob der Multimeter die 
Spitzen von ~350V (Amplitude) im DC-Modus überlebt. Aber in der 
Anleitung steht, dass der Überlastungsschutz 300VAC RMS im AC und im 
DC-Modus ist. Das sollte also gut funktionieren mit dem Gleichrichten. 
Ich bin bisher noch nicht dazu gekommen, das aufzubauen und hatte daher 
mal nachgefragt, ob Jemand Lust hat, sich dranzusetzen, zumal die 
Geschichte mit dem ESP8266 mehr schlecht als recht funktioniert, da die 
WiFi-Verbindung andauernd abreißt.


Grüße,
Benedikt

: Bearbeitet durch User
von Droggelbecher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mir fehlt es leider am Multimeter....

Trotzdem viel Erfolg!

von Walta S. (walta)


Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir beim letzten mal Milch kaufen auch so ein Ding mitgenommen. 
Bin schon gespannt wie es weitergeht.

walta

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Schön, dass es Euch gefällt :-)

Ich habe nun den zweitletzten Modus gemessen.
Diesmal handelte es sich um den 200V-300VDC Modus.
Zuerst habe ich es mit einem einfachen Brückengleichrichter versucht, 
doch das hat den Multimeter überlastet. Zusammen mit einem einfachen 
Spannungsteiler der Werte 100kOhm und 330kOhm ist es mir dann gelungen 
258V DC am Multimeter zu messen und das Paket zu erfassen.

Hier der empfangene Paketinhalt:
dc (Präambel)
ba (Präambel)
01 (Präambel)
16 (DC V)
20 (200-300V Range)
00
01 (Wert High-Byte)
02 (Wert Low-Byte, 258V)
00
3a


Update:
Und der letzte Modus (20V-199VAC):
dc (Präambel)
ba (Präambel)
01 (Präambel)
15 (AC V)
10 (20-200V Range)
00
02 (Wert High-Byte)
48 (Wert Low-Byte, 58.4V)
00
70

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
6 lesenswert
nicht lesenswert
Hallo zusammen!

Es ist endlich soweit.
Hiermit veröffentliche ich ParksideView 1.1 zum ersten Mal in der 
GUI-Version!

Das Programm unterstützt alle Modi des Multimeters, synchronisiert sich 
mit dem Datenstrom. Es verkraftet Übertragungsfehler, das Trennen, sowie 
das Ausschalten des Multimeters. Die Verbindung wird nach Auswählen des 
Anschlusses automatisch korrekt konfiguriert. Es können automatisch, 
tagelange Aufzeichnungen der Multimeterwerte mit verschiedenen 
Aufzeichnungsraten erstellt und als CSV mit Zeitstempel, Wert und 
Einheit gespeichert werden. Das Programm ist vollständig in Deutsch 
gehalten. Als CSV-Format ist jedoch auch der US-Standard wählbar. 
Lauffähig ist das Programm unter Windows XP, 7, 8 und 10, sowie auf 
Linux (x86 und ARM).
Den Quellcode werde ich in den nächsten Tagen unter der GPL v3 Lizenz 
veröffentlichen.

Hardwareseitig muss lediglich ein USB-Serial-Wandler an den Multimeter 
angeschlossen werden. Ein optoisolierter Wandler ist hier praktisch 
Pflicht, da der Multimeter über den Ground-Pfad des Serialports mit dem 
Ground des Computers und damit mit PE verbunden wird. Es besteht eine 
hochimpedante Verbindung zwischen dem Digitalground des Multimeters und 
den Eingangsbuchsen!

Der Testpunkt, der mit TX markiert ist, muss mit dem RX-Anschluss des 
Serial-Wandlers verbunden werden. Als Ground kann eine Verbindung zum 
GND-Testpunkt in der rechten oberen Ecke (am Programmierstecker) gewählt 
werden.

Viel Spaß damit!
Lasst mich wissen, ob es bei Euch funktioniert ;-)


Grüße,
Benedikt

von Droggelbecher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Sehr hübsch - Source?

von Benedikt M. (bmuessig)


Bewertung
3 lesenswert
nicht lesenswert
Droggelbecher schrieb:
> Sehr hübsch - Source?

Danke!
Den Quellcode gibt's ab jetzt hier: 
https://github.com/benedikts-workshop/ParksideView

: Bearbeitet durch User
von Droggelbecher (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Vielen Dank!! (Hole ich mir doch noch so ein Ding??)

von Benedikt M. (bmuessig)


Bewertung
2 lesenswert
nicht lesenswert
Droggelbecher schrieb:
> Hole ich mir doch noch so ein Ding??

Warum auch nicht ;-)
Ich spiele aktuell mit dem Gedanken, eine kleine Opto-Isolationsplatine 
zu entwerfen, um das Ganze etwas einfacher zu gestalten. Wenn jemand 
Interesse hat, kann ich auch ein paar mehr machen.
Vielleicht integriere ich auch gleich einen USB-Seriell-Wandler auf die 
PCB.

: Bearbeitet durch User
von Normal Z. (normalzeit)


Bewertung
1 lesenswert
nicht lesenswert
Ist ja Klasse. Vielen Dank Benedikt.

An solchen Opto-Isolationsplatinen wäre ich interessiert. Im Gehäuse ist 
ja noch genügend Platz um sowas unterbringen zu können.

Da ich heute außer der Reihe vom Home-Office doch nochmal in die Firma 
musste, werde ich am Heimweg schauen, was es im Lidl noch an 
Restbeständen gibt.

von Normal Z. (normalzeit)


Bewertung
0 lesenswert
nicht lesenswert
Bearbeitung meines Beitrags war nicht mehr möglich.

Daher Update: Bei (meinem) Lidl gibt es keine Multimeter mehr.

von wvmmm (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hmm,
da sind keine Potis und keine EEPROM zu sehen - aber ein VPP Pin.

Also ist das EEPROM für die Kalibrationsdaten im Chip aber die 
Ladungspumpe fehlt?

von Benedikt M. (bmuessig)


Bewertung
2 lesenswert
nicht lesenswert
wvmmm schrieb:
> Also ist das EEPROM für die Kalibrationsdaten im Chip aber die
> Ladungspumpe fehlt?

Das ist mit 99,9%iger Wahrscheinlichkeit die 
(OTP)-Programmierschnittstelle für den COB-uC. Eventuell verfügt dieser 
auch über einen integrierten EEPROM für Kalibrationsdaten. Diese müssten 
aber (wie beim AVR auch) auch über die Programmierschnittstelle laufen.

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Bewertung
5 lesenswert
nicht lesenswert
Ich habe die GitHub-Repo jetzt noch etwas überarbeitet und Dokumentation 
ergänzt.

Hier einen Teil der README und die neuen Anweisungen zur 
Hardwaremodifikation:

- Liste der Funktionen -
* Große Echtzeitanzeige des aktuell auf dem Multimeter angezeigten 
Wertes
* Bargraph-Anzeige in allen unterstützten Modi
* Aufzeichnen der Messdaten in eine CSV-formatierte Datei
* Einstellbare Aufzeichnungsgeschwindigkeiten
* Ausführbar auf Windows 7, 8, 10 (nicht getestet) und Linux (via Mono: 
https://www.mono-project.com/)
* CSV Format zwischen Deutsch und and US/International wählbar
* Automatische Konfiguration der seriellen Schnittstelle
* Synchronisierung zum Datenstrom, guter Umgang mit Fehlern, Ausblenden 
des Displays bei keinen/ungültigen Daten
* Datenerfassung kann jederzeit angehalten werden (im Normalbetrieb und 
während einer Aufnahme)
* Der aktuelle Modus wird immer mitaufgezeichnet und kann während einer 
Aufnahme geändert werden
* Ein Klick auf den aktuellen Wert, kopiert diesen in die Zwischenablage
* Das Fenster kann auf Knopfdruck über allen anderen Fenstern fixiert 
werden
* Mehrere Instanzen des Programms können gleichzeitig verwendet werden, 
um mehrere Multimeter abzufragen

- Hardware -
Um die Software nutzen zu können, muss ein kleiner, einfacher 
Hardwareeingriff am Multimeter durchgeführt werden.
Zwei Litzen müssen an Testpunkten der Multimeterplatine angelötet und 
nach außen geführt werden.
Diese Litzen können dann z.B. über ein kleines Loch auf der Rückseite 
des Gehäuses nach draußen geführt werden.

- Vorraussetzungen -
* Lötkolben und Lötzinn
* Zange zum Abisolieren und Schneiden
* 28+ AWG / < 0,08mm² Litze (~ 1m)
* USB-Seriell-Wandler (5V mit dem empfohlenen Optokoppler / 3.3V direkt 
- nicht empfohlen!)
* Optokoppler (https://www.sparkfun.com/products/9118 - NICHT für 
Spannungen > 60V verwenden!)

- Testpunkte -
Im folgenden Bild sind die zwei Testpunkte auf der Multimeterplatine 
erkennbar, mit denen der Optokoppler verbunden wird:

https://www.mikrocontroller.net/attachment/450706/Verbindungen.jpg

- Löten -
Um den Multimeter mit dem PC zu verbinden, muss eine Litze vom 
TX-Testpunkt des Multimters zum IN1-Pad des Optokopplers verbunden 
werden.
Dann muss eine weitere Litze vom GND-Testpunkt des Multimeters zum 
GND-Pad des Optokopplers geführt werden.
Eine weitere Verbindung führt vom HV-Pad des Optokopplers zum 5V Kontakt 
des USB-Seriell-Wandlers.
Ebenso muss eine Verbindung vom HVG-Pad des Optokopplers zum GND-Pad des 
USB-Seriell-Wandlers geführt werden.
Letztlich muss das OUT1-Pad des Optokopplers mit dem *RX*-Pad (nicht 
TX!) des USB-Seriell-Wandlers verbunden werden.

- Verwendung des Multimeters -
Nach den Hardware-Modifikationen lässt sich der Multimeter weiterhin 
normal und ohne PC verwenden.
Jedoch darf der Multimeter nicht mehr zum Messen von Spannungen über 
60V über PE verwendet werden.
Um den Multimeter am PC zu verwenden, muss nur der USB-Seriell-Wandler 
eingesteckt werden.
Im Geräte-Manager unter Windows, oder mittels dmesg auf Linux kann der 
korrekte Port ermittelt werden.
Auf Linux lautet dieser meist /dev/ttyUSB0.

Viel Spaß!

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Da der Multimeter ja international verkauft wurde, habe ich ParksideView 
nun in's Englische übersetzt. Zudem gibt es auf GitHub nun auch eine 
englischsprachige Dokumentation.

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Einkaufswagendesinfektor #42 schrieb:
> BTW,
> meldet sich der Chip eigentlich beim Einschalten mit einer abweichenden
> Byte folge?

Sorry, dass ich nicht früher dazu gekommen bin, das Oszilloskop wieder 
auszupacken.
Ja, tatsächlich gibt es beim Einschalten eine leicht abweichende 
Bytefolge.
Ich habe Dir ein paar Bilder angehängt.
Augenscheinlich liegen die beiden Telegramme inhaltlich weiter 
auseinander, als der Decode zeigt. Scheinbar handelt es sich dabei 
hauptsächlich um unterschiedlich lange Idle-Perioden.

Update: Ich habe noch zwei hexadezimale Ansichten ergänzt.

: Bearbeitet durch User
von Walta S. (walta)


Bewertung
0 lesenswert
nicht lesenswert
Gibts auch eine Möglichkeit die Software auf einem Apple Computer laufen 
zu lassen?

danke
walta

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Walta S. schrieb:
> Gibts auch eine Möglichkeit die Software auf einem Apple Computer laufen
> zu lassen?
>
> danke
> walta

Hallo Walta,

das ist leider nicht möglich, da Mono auf OSX keine GUI-Anwendungen über 
WinForms unterstützt. Ich habe es selbst ohne Erfolg auf meinem Mac 
getestet.
Theoretisch könnte man die Software auf GTK# portieren. Dann wäre die 
Ausführung auf Macs möglich.

Update: Ich habe mich entschieden, einen Port zu beginnen. Das sollte 
auch das Design auf Linux-Platformen verbessern.


Grüße,
Benedikt

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Bewertung
2 lesenswert
nicht lesenswert
Hier mein aktuelles Verständnis des Formates (als Update zum letzten 
Stand):

0: 0b11011100 Präambel
1: 0b10111010 Präambel
2: 0b00000001 Immer 1, aber Teil der Nutzdaten
3: 0b00010110 Modus
4: 0b00000100 Exponent
5: 0b00000000 Unbekannt (High Byte?)
6: 0b00000000 Wert (in Counts) (High/Middle? Byte)
7: 0b00000000 Wert (in Counts) (Low Byte)
8: 0b00000000 Prüfsumme 2 bis 7 (High Byte)
9: 0b00011011 Prüfsumme 2 bis 7 (Low Byte)

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Die vollständige Hardwaremodifikation sieht bei mir so aus (siehe Bilder 
im Anhang).

Generell bin ich aber weiterhin an einer Funk-Lösung über Bluetooth oder 
WiFi interessiert.
Eine eigene Optokopplerplatine ist für viele Zwecke nicht notwendig, da 
die in der Anleitung beschriebene Platine von Sparkfun die Anforderungen 
weitgehend erfüllt und mit etwa 6 Euro nicht besonders teuer ist. 
Ebenfalls ist die Verfügbarkeit um ein vielfaches besser, als wenn ich 
Euch Platinen verkaufe, oder Gerber bereitstelle.
Jedoch besteht bei der Isolationsspannung noch deutliches 
Verbesserungspotenzial (sprichwörtlich). Ein geeigneter Optokoppler 
sollte meines Erachtens nach über mindestens 50 kHz (besser 100+ kHz) 
Bandbreite verfügen, um auf der sicheren Seite zu sein.

von Walta S. (walta)


Bewertung
0 lesenswert
nicht lesenswert
Benedikt M. schrieb:
> Walta S. schrieb:
>> Gibts auch eine Möglichkeit die Software auf einem Apple Computer laufen
>> zu lassen?
>>
>> danke
>> walta
>
> Hallo Walta,
>
> das ist leider nicht möglich, da Mono auf OSX keine GUI-Anwendungen über
> WinForms unterstützt. Ich habe es selbst ohne Erfolg auf meinem Mac
> getestet.
> Theoretisch könnte man die Software auf GTK# portieren. Dann wäre die
> Ausführung auf Macs möglich.
>
> Update: Ich habe mich entschieden, einen Port zu beginnen. Das sollte
> auch das Design auf Linux-Platformen verbessern.
>
>
> Grüße,
> Benedikt

Dankeschön - ich werde die Entwicklung auf alle Fälle weiterverfolgen

walta

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Eventuell könnte es sich lohnen, einen optoisolierten Konverter zu 
entwickeln, der das Format des Multimeters zu SCPI über USB wandelt.
So könnte sich der Multimeter leicht in bestehende Software integrieren 
lassen. Was meint ihr dazu?

: Bearbeitet durch User
von Top S. (topsoft)


Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
>Eventuell könnte es sich lohnen, einen optoisolierten Konverter zu
>entwickeln, der das Format des Multimeters zu SCPI über USB wandelt.

Ich hab bei mir ein Mega328P und ein Bluetooth Modul drin. Passt gerade 
noch hinein ohne das Gehäuse zu bearbeiten. Der Prozessor musste sein 
weil die Bluetooth Module bei 2400 Baud sehr oft fasche Daten senden.

Die Firmware für den Atmega ist mit Atmel Studio 7 in C geschrieben.

Das PC Programm habe ich mit PureBasic erstellt da der Compiler für 
Windows, Linux und Mac verfügbar und das Projekt ja nicht sehr 
umfangreich ist. Nach der Vorarbeit der Datenanalyse ist das ja schnell 
gemacht.

Ich werde das Bluetooth Modul noch von dem Breakout Board runterholen 
und mit dem Prozessor zusammen auf eine eigene Platine verfrachten.

Der "Aufbau" ist so nur für Testzwecke.

Gruß

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Top S. schrieb:
> Ich hab bei mir ein Mega328P und ein Bluetooth Modul drin.

Ist wirklich gut geworden! Schön, eine weitere Version des Mods zu sehen 
:-)

Bluetooth hatte ich mir auch überlegt, jedoch wollte ich auch keines der 
AT-Modems direkt verwenden, da es nicht auszuschließen ist, dass einmal 
zufällig der String "AT" übertragen wird (wobei die Effekte bei einem 
gut implementierten Parser vermutlich zu verkraften sind).
Zur Implementierung des Bargraphen und des Paket-Decoders empfehle ich 
die Datei Multimeter.cs aus meinem Projekt (unter der GPL frei 
verwendbar): 
https://github.com/benedikts-workshop/ParksideView/blob/master/ParksideView/Multimeter.cs
Diese enthält auch die unterschiedlichen Limits der Ranges, sowie die 
Divisoren der rohen Werte.


Ich habe inzwischen den GTK-Port abgeschlossen. Damit ist meine Software 
nun auch für alle drei Platformen verfügbar. Nach einigen Tests werde 
ich diese dann bald veröffentlichen.


Benedikt M. schrieb:
> Eventuell könnte es sich lohnen, einen optoisolierten Konverter zu
> entwickeln, der das Format des Multimeters zu SCPI über USB wandelt.

Das würde mich weiterhin interessieren. Einen SCPI Parser (auf 
Geräteseite) hatte ich bisher zwar nicht implementiert, doch gehe ich 
davon aus, dass es nicht sehr aufwendig ist, nur die erforderlichen 
Kommandos zu implementieren (IDN, MEAS1, RANGE1, ...).

: Bearbeitet durch User
von Top S. (topsoft)


Bewertung
1 lesenswert
nicht lesenswert
>Bluetooth hatte ich mir auch überlegt, jedoch wollte ich auch keines der
>AT-Modems direkt verwenden, da es nicht auszuschließen ist, dass einmal
>zufällig der String "AT" übertragen wird (wobei die Effekte bei einem
>gut implementierten Parser vermutlich zu verkraften sind).

Das ist den Modulen egal. Wenn eine Bluetooth Verbindung besteht werden 
alle Daten durchgereicht.

>Zur Implementierung des Bargraphen und des Paket-Decoders empfehle ich
>die Datei Multimeter.cs aus meinem Projekt

Hab ich schon fertig. Format ist ja von dir klar dargelegt worden. 
Parser ist bei mir ein Zustandsautomat.
Enumeration STATES
  #WAIT_FIRST_START_BYTE
  #WAIT_SECOND_START_BYTE
  #WAIT_THIRD_START_BYTE
  #WAIT_MODE_BYTE
  #WAIT_EXPONENT_BYTE
  #WAIT_HIGH_VALUE_BYTE
  #WAIT_MIDDLE_VALUE_BYTE
  #WAIT_LOW_VALUE_BYTE
  #WAIT_HIGH_CS_BYTE
  #WAIT_LOW_CS_BYTE
  #MAKE_DATA_ANALYSIS
EndEnumeration

Procedure receive_thread(dummy.i)
  If hCom
    Protected state.i = #WAIT_FIRST_START_BYTE
    Protected inbyte.a, mode.a, exponent.a, value.i, cs.i, bcs.i, a.i
    Protected Dim buffer.a(9)
    Repeat
      If AvailableSerialPortInput(hCom)
        If ReadSerialPortData(hCom, @inbyte, 1) <> 1
          state = #WAIT_FIRST_START_BYTE
        Else
          Debug Hex(inbyte)
          If state = #WAIT_FIRST_START_BYTE And inbyte = $DC
            buffer(0) = inbyte
            state = #WAIT_SECOND_START_BYTE
          ElseIf state = #WAIT_SECOND_START_BYTE And inbyte = $BA
            buffer(1) = inbyte
            state = #WAIT_THIRD_START_BYTE
          ElseIf state = #WAIT_THIRD_START_BYTE And inbyte = $01
            buffer(2) = inbyte
            cs = inbyte 
            state = #WAIT_MODE_BYTE
          ElseIf state = #WAIT_MODE_BYTE
            buffer(3) = inbyte
            mode = inbyte
            cs = (cs + inbyte) & $FFFF
            state = #WAIT_EXPONENT_BYTE
          ElseIf state = #WAIT_EXPONENT_BYTE
            buffer(4) = inbyte
            exponent = inbyte
            cs = (cs + inbyte) & $FFFF
            state = #WAIT_HIGH_VALUE_BYTE
          ElseIf state = #WAIT_HIGH_VALUE_BYTE
            buffer(5) = inbyte
            ;value = inbyte * $10000                                  ; eher nicht
            cs = (cs + inbyte) & $FFFF
            state = #WAIT_MIDDLE_VALUE_BYTE
          ElseIf state = #WAIT_MIDDLE_VALUE_BYTE
            buffer(6) = inbyte
            value = (inbyte * $100)
            cs = (cs + inbyte) & $FFFF
            state = #WAIT_LOW_VALUE_BYTE
          ElseIf state = #WAIT_LOW_VALUE_BYTE
            buffer(7) = inbyte
            value + inbyte
            cs = (cs + inbyte) & $FFFF
            state = #WAIT_HIGH_CS_BYTE
          ElseIf state = #WAIT_HIGH_CS_BYTE
            buffer(8) = inbyte
            bcs = inbyte * $100
            state = #WAIT_LOW_CS_BYTE
          ElseIf state = #WAIT_LOW_CS_BYTE
            buffer(9) = inbyte
            bcs + inbyte
            state = #MAKE_DATA_ANALYSIS
          Else
            state = #WAIT_FIRST_START_BYTE
          EndIf
        EndIf
        If state = #MAKE_DATA_ANALYSIS
          If bcs = cs
            LockMutex(receive_thread_sync)
            record\is_new = #True
            record\timestamp = time
            For a = 0 To 9 : record\bytebuffer[a] = buffer(a) : Next a
            record\mode = mode
            record\exponent = exponent
            record\value = value
            record\cs = cs
            record\min = range_min(mode, exponent)
            record\max = range_max(mode, exponent)
            If is_overloaded(mode, value, record\min, record\max)
              record\dvalue = 9999
              record\unit = ""
            ElseIf mode = #VOLT_DC
              If exponent = #RANGE_B
                record\precision = 1
                record\divider = 10
                record\unit = "mV DC"
              ElseIf exponent = #RANGE_C
                record\precision = 3
                record\divider = 1000
                record\unit = "V DC"
              ElseIf exponent = #RANGE_D
                record\precision = 2
                record\divider = 100
                record\unit = "V DC"
              ElseIf exponent = #RANGE_E
                record\precision = 1
                record\divider = 10
                record\unit = "V DC"
              ElseIf exponent = #RANGE_F
                record\precision = 0
                record\divider = 1
                record\unit = "V DC"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #VOLT_AC
              If exponent = #RANGE_C
                record\precision = 3
                record\divider = 1000
                record\unit = "V AC"
              ElseIf exponent = #RANGE_D
                record\precision = 2
                record\divider = 100
                record\unit = "V AC"
              ElseIf exponent = #RANGE_E
                record\precision = 1
                record\divider = 10
                record\unit = "V AC"
              ElseIf exponent = #RANGE_F
                record\precision = 0
                record\divider = 1
                record\unit = "V AC"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #AMPER
              If exponent = #RANGE_F
                record\precision = 3
                record\divider = 1000
                record\unit = "A"
              ElseIf exponent = #RANGE_G
                record\precision = 2
                record\divider = 100
                record\unit = "A"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #AMPER_MILLI
              If exponent = #RANGE_D
                record\precision = 2
                record\divider = 100
                record\unit = "mA"
              ElseIf exponent = #RANGE_E
                record\precision = 1
                record\divider = 10
                record\unit = "mA"
              ElseIf exponent = #RANGE_F
                record\precision = 3
                record\divider = 1000
                record\unit = "mA"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #AMPER_MICRO
              If exponent = #RANGE_A
                record\unit = "µA"  
              ElseIf exponent = #RANGE_B
                record\precision = 1
                record\divider = 10
                record\unit = "µA"
              ElseIf exponent = #RANGE_C
                record\precision = 0
                record\divider = 1
                record\unit = "µA"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #RESISTANCE_OHM
              If exponent = #RANGE_A
                record\precision = 1
                record\divider = 10
                record\unit = "Ohm"
              ElseIf exponent = #RANGE_B
                record\precision = 3
                record\divider = 1000
                record\unit = "kOhm"
              ElseIf exponent = #RANGE_C
                record\precision = 2
                record\divider = 100
                record\unit = "kOhm"
              ElseIf exponent = #RANGE_D
                record\precision = 1
                record\divider = 10
                record\unit = "kOhm"
              ElseIf exponent = #RANGE_E
                record\precision = 3
                record\divider = 1000
                record\unit = "MOhm"
              ElseIf exponent = #RANGE_F
                record\precision = 2
                record\divider = 100
                record\unit = "MOhm"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #CONTINUITY_OHM
              If exponent = #RANGE_A
                record\precision = 1
                record\divider = 10
                record\unit = "Ohm"
                record\dvalue = value / record\divider
              EndIf
            ElseIf mode = #DIODE_VOLT
              If exponent = #RANGE_C
                record\precision = 3
                record\divider = 1000
                record\unit = "V"
              EndIf
              record\dvalue = value / record\divider
            ElseIf mode = #SQUAREWAVE
              record\unit = ""
            EndIf
            UnlockMutex(receive_thread_sync)
          EndIf
          state = #WAIT_FIRST_START_BYTE
        EndIf
      Else
        Delay(50)
      EndIf
    Until receive_thread_abort <> #False
  EndIf
EndProcedure

>Das würde mich weiterhin interessieren. Einen SCPI Parser (auf
>Geräteseite) hatte ich bisher zwar nicht implementiert, doch gehe ich
>davon aus, dass es nicht sehr aufwendig ist, nur die erforderlichen
>Kommandos zu implementieren (IDN, MEAS1, RANGE1, ...).

Muss ich mir bei Gelegenheit mal anschauen. Mir ist noch nicht klar wozu 
man das nutzt.

Gruß

: Bearbeitet durch User
von Normal Z. (normalzeit)


Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
Wäre wahrscheinlich auch ganz gut in der Rubrik „Quick and Dirty“ 
aufgehoben ... so wie ich das hineingebastelt habe.

Ein FTI-232 USB-Seriell Breakout-Board und einen zusätzlichen 
Optokoppler mit Zweikomponentenkleber in das Messgerät verfrachtet und 
seitlich ein Loch für die Mini-USB Buchse mit dem Dremel reingefräst. 
Das Breakoutboard habe ich seiner Stiftleisten beraubt und den Jumper 
für Vcc auf 3,3 V durch eine Drahtbrücke ersetzt.

Der „Fatal Error“ stellte sich beim finalen Zusammenbauen heraus: meine 
Lochrasterplatine mit dem Optokoppler geht zu weit nach rechts und baut 
zu hoch, so dass der Buzzer auf der Messgeräte-Platine anstösst. Der 
Kleber war natürlich schon ausgehärtet, so musste ich den Buzzer köpfen 
und ihm seine Haube rauben. Positiver Nebeneffekt: Das Piepsen ist jetzt 
viel leiser.

Nicht schön, aber funktioniert einwandfrei. Danke an Benedikt für die 
Software.

von Top S. (topsoft)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Hallo,

ich bin heute endlich dazu gekommen meine Multimeter fertig umzubauen.
Ich habe eine Platine erstellt und fertigen lassen. Die Bauteile sind 
bis auf das Bluetooth Modul von Reichelt. Verbaut wurde ein HC-05 aus 
Ebay.

Zu erst habe ich gedacht ich schließe einfach das Bluetooth Modul an und 
konfiguriere es auf 2400 Baud. Das lief bei mir aber überhaupt nicht. 
Alle Baudraten unter 9600 brachten heftige Übertragungsfehler.

Also habe ich einen Mega328PB beauftragt die 2400 Baud aus dem 
Multimeter mit 38400 Baud an das Bluetooth Modul weiter zu reichen. Und 
ja, ich weiß das man das auch in einen Tiny25 mit SoftUart reinbekommen 
hätte. Aber ich bin Faul und ein 328PB war hier vorhanden.

Die Software ist mit PureBasic geschrieben und alles andere als fertig.

P.S. Platinen sind noch reichlich da. ;-) topsoft_at_gmx_dot_net

Gruß Topsoft

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Bewertung
0 lesenswert
nicht lesenswert
Top S. schrieb:
> Ich habe eine Platine erstellt und fertigen lassen.

Die Platine ist schön geworden.
Ich ergänze bei meiner Software noch einen 9600 Baud Modus, bei der 
Verwendung Deines Moduls.

Eine Kleinigkeit zum Schaltplan:
Vielleicht hätte es auch Sinn gemacht, da du sowieso einen uC benutzt, 
PIO9 (Verbindungsstatus) und PIO11 (Data/Command) zum ATmega328 zu 
routen, um den aktuellen Status des Moduls zu überwachen und 
festzulegen.

von Top S. (topsoft)


Bewertung
0 lesenswert
nicht lesenswert
> Die Platine ist schön geworden.
Danke

> Ich ergänze bei meiner Software noch einen 9600 Baud Modus, bei der
Es sind 38400 Baud. Aber die Firmware ist ja im Archiv.

>Vielleicht hätte es auch Sinn gemacht, da du sowieso einen uC benutzt,
>PIO9 (Verbindungsstatus) und PIO11 (Data/Command) zum ATmega328 zu
>routen, um den aktuellen Status des Moduls zu überwachen und
>festzulegen.

Jetzt wo du es sagst. :-) Na ja egal. Ich hab nur 2 Multimeter und noch 
58 Platinen. Also werde ich das nicht mehr ändern.

Danke noch mal für deine Vorarbeit.

Gruß

von Benedikt M. (bmuessig)


Bewertung
0 lesenswert
nicht lesenswert
Top S. schrieb:
> Jetzt wo du es sagst. :-) Na ja egal. Ich hab nur 2 Multimeter und noch
> 58 Platinen. Also werde ich das nicht mehr ändern.
Mit der Menge hatte ich nicht gerechnet. Damit hast Du gut für die 
Zukunft vorgesorgt ;-)

> Es sind 38400 Baud. Aber die Firmware ist ja im Archiv.
> Alle Baudraten unter 9600 brachten heftige Übertragungsfehler.
Stimmt, das habe ich wohl beim Schreiben der Antwort verdreht.

> Danke noch mal für deine Vorarbeit.
Gerne. War aber nicht ganz uneigennützig, Spaß gemacht (und Zeit zu 
Hause vertrieben) hat's ja auch ;-)

Grüße,
Benedikt

: Bearbeitet durch User
von Harald W. (wilhelms)


Bewertung
1 lesenswert
nicht lesenswert
Normal Z. schrieb:

> Wäre wahrscheinlich auch ganz gut in der Rubrik „Quick and Dirty“
> aufgehoben ... so wie ich das hineingebastelt habe.

"Quick" schon, "Dirty" nicht.

> Der „Fatal Error“ stellte sich beim finalen Zusammenbauen heraus:
> Der Kleber war natürlich schon ausgehärtet,

Mancmal ist es besser, Kleber zu nehmen, der nicht so gut klebt.
Z.B. einfachen Alleskleber oder Doppelklebeband.

von Benedikt M. (bmuessig)


Bewertung
1 lesenswert
nicht lesenswert
Bei Asser's Lab gibt es ein Video zum Multimeter:
Youtube-Video "Connecting Parkside multimeter with Raspberry Pi"

Mit dem Quelltext von ParksideView und den Informationen aus dem Wiki 
hat er eine Python-Implementation für Raspberry Pi geschrieben.

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Hiermit veröffentliche ich ParksideView 1.4 mit Min/Max Statistik.
Darüber hinaus ist die Portliste unter Linux nun etwas übersichtlicher.

Hinter der ParksideViewGTK versteckt sich eine primär für Linux/Mac 
entwickelte Version von ParksideView mit GTK# GUI.
An dieser hatte ich im April gearbeitet, war jedoch bisher noch nicht 
dazu gekommen, diese zu veröffentlichen. Mangels Zeit könnte diese noch 
an einigen Stellen etwas "Politur" vertragen.
Den Quellcode für die Linux/Mac-Version gibt es hier: 
https://github.com/benedikts-workshop/ParksideViewGTK

Grüße,
Benedikt

: Bearbeitet durch User
von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
So, nachdem ich heute Version 1.4 veröffentlicht habe, die schon eine 
Weile lang in der Pipeline gesessen hatte, veröffentliche ich jetzt 
gleich noch die heute Abend entstandene 1.5.
Hiermit habe ich nun alle bekannten Bugs beseitigt - der Issue-Tracker 
ist somit leer :-)

Viel Freude damit!


Grüße,
Benedikt

von Benedikt M. (bmuessig)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Benedikt M. schrieb:
> Ich ergänze bei meiner Software noch einen 38400 Baud Modus, bei der
> Verwendung Deines Moduls.

Erledigt. Die Versionen mit BT sollten mit topsoft's Bluetooth-Adapter 
kompatibel sein. Weiter wurde ein Anzeigefehler bei der Datenerfassung 
behoben.

Damit schließe ich die Entwicklung von ParksideView für's Erste ab. 
Sollte es weitere Feature-Requests oder Bug-Reports geben, werde ich 
diese weiterhin, soweit es mir zeitlich möglich ist, bearbeiten.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.