Forum: PC Hard- und Software Einfacher Datenvisualisierer für Windows über die serielle schnittstelle


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 Michael F. (sharpals)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Hallo, vieleicht kann ja jemand noch etwas mit der software anfangen.

Ich habe eine schaltung aufgebaut, die mit dem Attiny messwerte 
ermittelt und per RS232c schnittstelle weiterleitet.

Streng genommen handelt es sich um 3 stellige Voltmeter, die dann 
hinterienander ihrer messwerte auf die schnittstelle ausgeben.

Hier die hardware : Beitrag "Messdatenaufnahme mit ATTINY 45/85"

Das datenformat ist simpel ( wird auch von DVM´s benützt).

Wert1 ; wert2 ; wert3 ; ..... Wert(n) #10#13

Der wert reicht von 000 - 999. Zur zeit ist das programm fest auf 10V 
maximum eingestellt. die Daten werden mit 9,6K 8,1 ausgegeben.

Das programm muß also die werte einlesen und an den simecolons trennen, 
wobei der wert selber eine 3 stellige ASCfolge ist ( z.B 123 ).

Eigentlich wollte ich den grapher benutzen, aber es fehlte die 
möglichkeit mehr als 4 Messkurven übereinander zu legen.

Es gibt zwar gnuplot, aber die einarbeitung hätte länger gedauert, als 
das grundgerüst für des programmes zu erstellen ( Ok, die fehlersuche 
war aufwendig )

So habe ich dann das kleine programm erstellt.

Es kann die messwerte über eine ES232c-schnittstelle einlesen und 
darstellen ( einfacher datenplotter in echtzeit). Gleichzeitig zeichnet 
es die werte in eine datei auf, deren länge auf 50.000 werte begrenzt 
ist, danach wird eine neue angefangen.

Die kann dann von dem Programm eingelesen werden und offline angesehen 
werden. Beim einlesen wird dann auch die Uhrzeit von der aufnahme in dem 
plotfenster angezeigt.

Zusätzlich lassen sich der darstellungsbereich und die art der 
messdatendarstellung verändern.

Es stehen zur verfügung:

- Ausblenden von kanälen
- Einfache integration mit tiefeneinstellung
- diffrenzdarstellung ( asolute veränderung ).
- Veränderung der skalenwerte ( Min und Max ).
- Anzeige, der Maxima und oder Minima.
- Es kann ein Bildschirmauszu gemacht werden, der dann ein einer 
JPG-datei   und in der zwischenablage landet.
- Wird das fenster maximiert, passt sich die darstellung neu an.
- im onlinemodus können datentelegramme übersprungen werden , es werden 
auch nur die datenwerte in die datei geschrieben, die auch angezeigt 
werden ( sollen ).

Hinweis, wird das programm gestartet, werden die ersten 30 messwerte 
benutzt, um die länge des datentelegramms zu ermitteln (kann man 
ausschalten ). Ändert sich dann wärend der mesung deren länge, wird von 
einem fehler ausgegangen und die daten werden verworfen. ( Ist weil die 
umgebung schon mal massive störungen in der stromversorung verursacht ). 
In dem consolenfenster werden die meldungen dazu ausgegeben.

fehler:

Es kann sein, daß nach anwahl eines RS232-Ports, keine daten eingelsen 
werden ( ob das ein windowsproblem ist, oder am programm liegt kann ich 
so nicht sagen). Es muß dann neu gestartet werden.

Wenn ich im echtzeitmode einstellungen vornehme, die das bild neu 
zeichnen sollen, dann kann es mal zu der meldung kommen, das ein index 
übergelaufen ist. Die meldung kann ignoriert werden.

Zur zeit speichert das programm seine einstellungen nicht.

Zur zeit pollt das programm die RS232 schnittstelle, daß ist nicht 
gerade elegant und muß noch auf event umgebaut werden.

Auf wunsch kann ich auch den quellcode ( delphi 6 ) zur verfügung 
stellen.


Ich habe ein paar offlinedaten beigelegt, so daß man auch ohne 
datenquelle mit dem programm spielen kann.

: Bearbeitet durch User
von Berlingo-98 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,
Die Hard- und Software interessiert mich, Kollege Bernd hat mich schon 
drauf hingewiesen und mir auf der Hannover Messe auch die Darstellung 
auf seinem Rechner und ein Hardwaremodul gezeigt.

Meine Fragen:
Unter welchem Betriebssystem läuft Dein Programm: Windows oder in der 
DOS-Box?
Ich habe Rechner mit Win XP, Win 7 und Win 8.1. Am liebsten wären mir 
die kleinen Netbookx mit Win7 und Win 8.1.
Auf beiden bringe ich mit einem Hilfsprogramm in der DOS Box auch alte 
Programme zum laufen, z.B. mein altes DBASE 3.
Schnittstellen sind immer nur noch USB, ich habe aber einen Adapter von 
USB auf RS232 und zurück.

Ansonsten bin ich mehr im elweb unterwegs, dort wird Deine Hard- und 
Software sehr aufmerksam beobachtet. Vor allem von den vielen 
E-Autofahrern mit den SAFT STM5-100 NiCd Akkus.

Gruss, Roland

von Michael F. (sharpals)


Bewertung
0 lesenswert
nicht lesenswert
Theoretisch läuft es auf NT3.51 ...

Aber alles ab 2K ist kein problem und ja es läuft auch mit USB-adaptern.

Also läuft es mit deinem netbook und win 7 - 10, ohne dosbox.

Es wurde auch auf einem DELL-TABlet mit windows 8.1 getestet.

Ohne Spannungsregler läuft sie schaltung an LIPOS mit einer zelle. ALso 
überwacht jeder µC zwei zellen.

Mit spannungsregler, kann eine NICAD -batterie mit 6V überwacht werden, 
also zwei an jedem .

Wenn man EINE speziell überwachen will, kann man den controller auch 
extern versorgen und dann bis auf 1,2V heruntergehen ( muß nur die 
software etwas ändern ).

von Michael F. (sharpals)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Update des Programms.

Ich habe die Programmelemte vergrößert und noch eine offsetnormierung 
eingefügt.

Letzteres ist dafür sinnvoll, wenn die Batterien zu weit 
auseinanderliegen, man aber das ,,dynamische verhalten" prüfen will.

Im normalfall werden die kurven so angelegt, wie sie gemessen werden.

Wenn ich aber in das plotfenster gehe und einen bereich wähle , der 
relativ ruhig ist und dann die rechte maustaste betätige und die maus 
ein wenig bewege, werden die kurven mit einem offset versehen, so daß 
sie moglichst übereinander liegen.

Beim echtzeitbetrieb, wird immer der letzte werteblock genommen, der 
gemessen wurde. ( also kann man solange die aktion ausführen, bis es 
einem am besten gefällt ).

Im anzeigebetrieb, kann man sich frei auf dem arbeitsblatt bewegen und 
die werte herausuchen, die einem am sinnvollsten erscheinen.

Auf eine automatik habe ich verzichtet, da es immer wieder abweichen 
werte geben kann, die dann einen sinnlosen offset ergeben.

Will man den offset nicht mehr haben, kann man ihn dann deaktivieren.

Nebenbei wurden kleine, aber lästige fehler beseitigt.

Das programm sollte beim beenden keinen zugriffsfehler mehr melden.

: Bearbeitet durch User
von Mikro 7. (mikro77)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

spricht etwas dagegen den Quelltext offen zu legen? Ist der sehr 
Windows-spezifisch? Ich überlege ebenfalls daran Analogdaten auf 
mehreren Kanälen zu visualisieren und gucke mir daher gerade PulseView 
an (http://sigrok.org/wiki/PulseView).

von Roland R. (berlingo-98)


Bewertung
0 lesenswert
nicht lesenswert
Michael F. schrieb:
> Wenn man EINE speziell überwachen will, kann man den controller auch
> extern versorgen und dann bis auf 1,2V heruntergehen ( muß nur die
> software etwas ändern ).

Danke für Deine schnelle und ausführliche Antwort. Vor allem 
interessiert es mich, auch bis auf 1,2V herunter zu messen.

Denn die 27 Stück SAFT Akkus a 6V sind mechanisch in 4 Kästen eingebaut. 
Zwischen diesen Kästen sind Verbinder bestehend aus jeweils einem 
Steckverbinder, einem Kabel und einer Stecksicherung. Diese Verbindung 
will ich überwachen, denn die Kontakte korrodieren gerne mal und haben 
dann auch Übergangswiderstände. Und die Sicherung hat sowieso einen 
kleinen Widerstand. Bei den Strömen bis 200 A plus-minus treten da 
erfahrungsgemäß schon Spannungsabfälle auf. Die will ich mit messen.

Zu den 27 Akkus kommen also 5 weitere Messstellen hinzu, diese 5 mit 
max. 1,2 Volt, dafür plus-minus möglich (Fahrstrom-Rekustrom).

Ich hoffe, dass das geht. Muss mal sehen, wie ich die 
Versorgungsspannung dorthin bringe. Wird dann wohl ein eigenes Modul.

Gruss, Roland
Wie weit ist die Hardware?

von Michael F. (sharpals)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Mikro 77

Das programm ist unter delphi geschrieben, es bentzt nur die reinen 
win32 funktionen.

Nimm einfach mal das programm und starte es unter wine.

Einzig, ob es mit der RS232C so läuft kann ich nicht sagen.

aber mit dem hier sollte es gehen:

http://www.witch.westfalen.de/Wine-HOWTO.de/ch-serial.html#SERIALPORT

von Michael F. (sharpals)


Bewertung
0 lesenswert
nicht lesenswert
hier ist die HW : Beitrag "Messdatenaufnahme mit ATTINY 45/85"

nur bei so vielen zellen könnte es lustig werden.

Ich würde die zellen eher in blöcken testen.

Bei der geringen betriebsspannung könnte man auch einen attiny 84 
nehmen.

http://electronut.in/getting-started-with-the-atmel-attiny84-microcontroller/

Das teil hat 8 ADC´s !!

In verbindung mid einem LDO könnte dieser kontroller von 6 - 8 Zellen 
versorgt werden.

ALso der Regler kommt an die masse der untersten batterie und die 
Spannung wird von der 8.ten batterie entnommen.

Als referenz wird 1,1V genommen.

Der Regler sollte das können, da der µC etwa 5mA braucht und der LDO hat 
einen recht geringen eigenverbrauch hat.

Die software bleibt fast gleich, es müßen eben nur mehr ADCs abgefragt 
werden.

Meine Schaltung ist für NiCAD blöcke zu je 6V ausgelegt, bzw. ohne 
regler für LiPO/LiFe zu je 3,8V ausgelegt.

Wenn wir deine konfiguratin nehen und du meine platine verwenden wills, 
müßtes du also immer 3 Zellen nehmen, wenn du auf dem regler 
versichtest, Nur muß der prozessor dann gegen überspannung geschützt 
werden.

3*1,2 = 3,8V normal , 3*1,4 = 4,2V ( voll ) und eben 3*0,9 = 2,8V 
(leer).

Da die ladegeräte wohl auch gerne mal alles reinpumpen, was geht, würde 
ich die CPU nur mit einen LDO betreiben.

Von den spannungen würde der prozessor mitarbeiten, da er von 2,7 - 5V 
arbeitet.

von Bernd Schlüter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Michael hat das Visualisierungsprogramm noch laufend verbessert und ich 
bin ganz begeistert von dem, was er alles eingebaut hat. Ein paar 
Beispiele:
Touchscreenbedienung ist möglich, dazu wird der Bildschirm kurzzeitig 
mit großen buttons belegt, mit denen man Aufnahmegeschwindigkeit, 
Batterieart, Spannungsbereich und vieles mehr einstellen kann, auch 
während der Fahrt, ohne allzu genau hinzusehen, was man ja auch 
tunlichst vermeiden sollte. Keine Sorge, es geht nichts verloren, 
sämtliche Messwerte samt Echtzeit aus dem Web bzw aus der eingebauten 
Zeitbasis des Rechners werden aufgezeichnet und lassen sich auch 
nachträglich mehrfach hin- und her einlesen. Es kann also die ganze 
Fahrt und jeder Ladevorgang nachträglich nachvollzogen werden. 
Kapazitäten können berechnet werden. Der Speicherbedarf ist extrem 
gering. Zusätzlich lässt sich jederzeit ein Abbild der Kurvenschar in 
jpeg herstellen und zum Ende wird automatisch der gesamte Verlauf 
gespeichert, so wie die USB.Schnittstelle sie empfangen hat.
Mathematische Funktionen, wie Ableitung und Integration mit 
einstellbarem dt sind eingebaut.
Mit einem Blick erkennt man sofort Batteriezellen, die aus dem Rahmen 
fallen und ersetzt werden sollten, die schießen einfach farbig aus dem 
Pulk ähnlicher Zellen heraus.
Noch eine ganz besonders sinnvolle Einrichtung: die absolute Streuung 
der Einzelmessungen beträgt bis zu +/- 20mV. Aus Kosten-und Zeitgründen 
verzichteten wir auf eine höhere Genauigkeit. Mit Hilfe des Mauscursors 
und der rechten Maustaste können aber alle Kurven an einer beliebigen 
Stelle genau aufeinander gelegt werden. Dazu wird ein Mittelwert aller 
Batteriespannungenn gebildet, der aufgrund der vielen Kanäle weit 
genauer als 5mV Abweichung ergibt.
Batterien, die einigermaßen in Ordnung sind, haben tatsächlich im 
mitteleren Bereich genau die gleiche Spannung und es ergibt sich ohne 
Einsatz von vielenn teuren Quarzen und Einzelkalibrierungen eine überaus 
genaue Spannungsmessung und differentielle Abweichungen werden farblich 
sehr deutlich.

Ich sehe gerade, ich kann die vorgestern bei meiner Fahrt nach 
Düsseldorf gewonnen Screenshots in jpeg hier darstellen. Da ich noch 
ungeübt bin, in einem neuen Beitrag.

von Bernd Schlüter (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Bildschirmfoto zeigt einen angefangenen Ladevorgang während des 
japanischen Feuerwerks am Samstag in Düsseldorf, den ich wegen 
Überfüllung aber abbrach und nach kurzer Pause fuhr ich im dichten 
Verkehr 6 km zu einem anderen Ladeort, wo ich die Ladung mit geringerer 
Geschwindigkeit aufzeichnete. Anschließend fuhr ich nach kurzem 
Stadtverkehr über die Autobahn nach Krefeld (zweite Aufnahme), dort 
erkennt man den Stadtverkehr an dem weit häufigeren Gasgeben und 
Rekuperieren. Zwei Batterien scheren mehrfach aus dem Verband aus und 
müssen offesichtlich ersetzt werden. Da ich nur den vorderen 
Batteriekasten angeschlossen habe, können nur 6 von 20 Batterien 
dargestellt werden.

Mal sehen, ob es funktioniert, ich werde in einem neuen Beitrag 
versuchen, auch die "raw-Daten" als word-Datei zu senden.

Also, das ist ja kein Foto und die Darstellung funktioniert so nicht, 
jedenfalls nicht in der Vorschau. Also, versuche ich, zusätzlich die 
kompletten Daten als worddatei zu senden.

von Michael F. (sharpals)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ein Update:

Das programm hat größere knöpfe bekommen, ein paar lästige fehler wurden 
beseitigt und es wurde ein mittelwert eingefügt, der alle messwerte zu 
einem mittel zusammenfügt.

Bei der mittelwerbildung, können einzelne werte abgewählt werden, 
einfach das häckchen unter der zahl deaktivieren. Das ist wichtig, wenn 
ein wert zu stark abweicht.


Gruß Michael

von Roland R. (berlingo-98)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

es ist mir noch nicht gelungen, das s_plot Programm auf meinem Rechner 
zu starten. Erst meint Windows, mich vor fremden Apps schützen zu 
müssen. Wenn ich dann auf "trotzdem weitermachen" gehe, startet Simple 
Plot mit einer Fehlermeldung, siehe Bild.
Versuch unter Win 8.1, Lenovo-Laptop mit 4K Bildschirm und zusätzlichem 
4K Monitor.

Die Fehlermeldung kann man schließen. Das Programm läßt sich normal 
nicht schließen. Ging aber mit Crl-Alt-Del und dem Taskmanager.

Gruss, Roland

: Bearbeitet durch User
von Michael F. (sharpals)


Bewertung
0 lesenswert
nicht lesenswert
hallo teste mal unter als administrator ausführen ...

Habe hier auch 8.1 ..

wenn du die datei aus dem zip startest, kommt besagte meldung.

Bei bernd reichte es die meldung wegzudrücken.

Packe es bitte aus dem zip aus und lege es auf ein lokales laufwerk.

Gruß Michael

: Bearbeitet durch User
von Michael F. (sharpals)


Bewertung
0 lesenswert
nicht lesenswert
Bitte testen, ob es unter kompatibilitätsmodus arbeitet ( vista oder 
XP-sp3).

Bitte noch eine PM schicken, dann braucht es nicht den ganzen faden 
vollzuschreiben.

von Michael F. (sharpals)


Bewertung
0 lesenswert
nicht lesenswert
Also ich ahne, was da passiert ist , wenn das programm keine daten 
empfängt , kann es bei der stringauswertung zu fehlern kommen, daß habe 
ich jetzt unterbunden, weil ich es ENDLICH hier auf dem rechner 
aufgetreten ist.

Ich lade es noch nicht hoch, weil es getestet wird ( hallo bernd ).

Als Bonbon kommt noch herzu:

in der Ini kann die Farbtabelle geändert werden , falls also jemand eine 
andere braucht.

Es können für jedem wert gesonderte OFFSETWERTE gespeichert werden, um 
einen systematischen fehler auszugleichen.

Desweitern werden die zustände der häckchen 1 - 29 gespeichert.

Ps.:
Gibt es noch welche, die mit dem programm was anfangen könnten, aber 
noch etwas vermissen ?

: 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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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