Hi, ich habe mir die letzten Tage ein einfaches Leistungsmessgerät gebaut und bin jetzt an einem Punkt, wo ich nicht genau weiss, wie weitermachen. Die Schaltung ist im Grunde in zwei Hälften aufgeteilt, der Mikrocontroller-Teil und die "Current Probe" (Shunt+OPV+Teiler). uC-Teil: * stm32f103, SD-Karte, TFT-Display, ein paar Buttons * FTDI an USART1, USB-device Buchse angeschlossen + funktioniert Current Probe: * Shunt 0,39Ohm, 1%, 5W, Dale RH5 * LT1013 * Teiler-/OPV-Widerstände sind 0,5%. Am Referenz-Eingang des Microcontrollers hängt eine TL431-Referenz (2.495V). Test-Messungen an einer ICL8069 1.23V Referenz ergeben auch ziemlich genau 1230mV (Abweichung max: +4mV, -2mV). Die Versorgungsspannung der Current Probe wird durch 12 geteilt und kann demnach bis zu 29.94V betragen (bei U_adc_max = U_ref). Die Spannung, die über der Shunt abfällt wird mit dem OPV um das 5.7fache verstärkt. (U_max_shunt = 438mV, I_max_shunt = 1.223A). Gedacht ist die Current Probe für Ströme bis 1A, somit habe ich noch ein klein bisschen Reserve nach oben. Nun zu meinen Fragen... Bisher zeige ich die Messwerte einfach nur auf dem Display an. Ich möchte aber mit dem Gerät die Kurven von Akkupacks, Blei-Akkus usw. aufnehmen und daher die SD-Karte+FTDI. Bei den ganzen freien verfügbaren ADC-Kanälen (~10 Stück oder so) wäre es auch praktisch noch 2 oder 4 Analog-Eingänge zum Messen von Spannungen hinzuzufügen und/oder digitale Ein-/Ausgänge. Gibt es da schon PC-Software (vorzugsweise Linux, kann mich aber auch mit Windows-Software anfreunden), die mir per RS232 kommuniziert und Messdaten anzeigt? Auswerten von Log-Dateien auf SD-Karte wäre auch eine Möglichkeit, Live wäre aber schöner. Ein U/t-Diagramm wäre schön (um z.B. defekte Zellen in Akkuschraubern zu finden, defekte Zelle vorher "voll" => Knick in Kurve). Eigentlich habe ich auch gar keine Ahnung, was ich da noch brauchen kann und mir fällt nur das U/t-Diagramm gerade ein. Vielleicht gibt's da ja noch mehr... Die ADC-Eingänge des STM32 vertragen maximal 4V laut Datenblatt, darüber muss die Beschaltung sicherstellen, dass nicht mehr als 5mA fliessen. Der LT1013 in meiner Schaltung wird mit 5V versorgt. Ich habe ausprobiert, bis wie weit der OPV-Ausgang die Spannung hochtreibt bei 5V Versorgung, maximal 4.22V. Im totalen Worst-Case-Fehlerfall kommen auf dem ADC-Eingang 5V an. Wie berechne ich nun den Schutzwiderstand für den ADC-Eingang? (5V-4.22V)/0.005 = 156Ohm 4V/0.005 = 800Ohm 5V/0.005 = 1kOhm Durch den Schutzwiderstand verfälsche ich das Messergebnis, die Eingangsimpedanz geht auf bis zu 20k herunter. 1k davor würde man gehörig bemerken... Am besten nehme ich wohl einen OPV als Spannungsfolger direkt vor jeden ADC-Eingang und dimensioniere dessen Versorgung so, dass er gar nicht über 3.3V kommen kann, oder?
InfluxDB und Grafana sind zum visualisieren von zeitbasierten Datenreihen wohl aktuell das Mass der Dinge
fusi schrieb: > Gibt es da schon PC-Software (vorzugsweise Linux, kann mich > aber auch mit Windows-Software anfreunden), die mir per RS232 > kommuniziert und Messdaten anzeigt? Du brauchst Software, die mit deinem seriellen Protokoll zusammen passt. Ich würde das im ersten Entwurf mit Excel oder LibreOffice Makros programmieren. > Wie berechne ich nun den Schutzwiderstand für den ADC-Eingang? > (5V-4.22V)/0.005 = 156Ohm Der Widerstand wird allerdings bewirken, dass sich der Sample&Hold Kondensator im ADC langsamer umlädt. gebe ihm dazu genug Zeit. Das kannst du im Register ADC1->SMPR2 beeinflussen. > Am besten nehme ich wohl einen OPV als Spannungsfolger > direkt vor jeden ADC-Eingang Jedes zusätzliche Bauteil verschlechtert die Genauigkeit. Ich würde das nur tun, wenn die Messung schnell gehen muss. Das scheint in deinem Anwendungsfall nicht nötig zu sein.
Stefanus F. schrieb: > Du brauchst Software, die mit deinem seriellen Protokoll zusammen passt. > Ich würde das im ersten Entwurf mit Excel oder LibreOffice Makros > programmieren. Ein Protokoll gibt's noch nicht. Ich würde mich da gern an etwas bestehendes "anschliessen". Daher auch meine Frage nach existierender Software. Stefanus F. schrieb: >> Wie berechne ich nun den Schutzwiderstand für den ADC-Eingang? >> (5V-4.22V)/0.005 = 156Ohm > > Der Widerstand wird allerdings bewirken, dass sich der Sample&Hold > Kondensator im ADC langsamer umlädt. gebe ihm dazu genug Zeit. Das > kannst du im Register ADC1->SMPR2 beeinflussen. Okay, beim messen von Akkus reichen mit 1-2 Punkte pro Sekunde. Das heisst, der 156Ohm Widerstand wäre der passende, oder?
fusi schrieb: > Das heisst, der 156Ohm Widerstand wäre der passende, oder? Ja. > Daher auch meine Frage nach existierender Software. "der" Klassiker dazu wäre Matlab. Habe ich aber noch nie benutzt.
Mir fällt da erstmal spontan http://logview.info/ ein. Ist ja speziell für derartige Visualisierungen gemacht. Ferner gibts auch noch https://sigrok.org/wiki/Main_Page Bei beiden müsstest du aber wohl ein Plugin für deine Hardware schreiben.
fusi schrieb: > Gibt es da schon PC-Software (vorzugsweise Linux, kann mich aber auch > mit Windows-Software anfreunden), die mir per RS232 kommuniziert und > Messdaten anzeigt? Auswerten von Log-Dateien auf SD-Karte wäre auch eine > Möglichkeit, Live wäre aber schöner. Yep, gibt es: - ich habe früher "Logview Studio" benutzt - inzwischen benutze ich "DataExplorer" Beide Programme werden auch oft von Akkuladern aller Couleur zum Anzeigen der Lade-/Entladekurven verwendet. So z.B. auch von meinem AV4m+ - Ladegerät, siehe z.B. hier: Beitrag "[S] Gute & günstige Ready-to-use Akkus (Mignon) + 9V Blöcke" Dort habe ich die ersten Kurven noch mit LogView protokolliert und bin erst später im Verlauf des Threads auf DataExplorer umgestiegen. Wenn's etwas individueller sein soll, so schau Dir evtl. einmal "Processing" an: https://processing.org/ Wenn's etwas mathematisch angehaucht werden soll, so sind Programme wie Matlab oder die freien Pendants wie z.B. scilab oder Octave auch in der Lage, Daten vom seriellen Port zu lesen. Wenn's ganz professionell sein soll, kannst Du Dich auch in LabVIEW einarbeiten - dauert allerdings ein paar Tage. Dort kann man sich auch schöne Oberfläche für virtuelle Instrumente zusammenklicken, die dann nicht nur Daten visualisieren, sondern auch rückwärts wieder Steuerbefehle an Deinen Prozessor senden können. Viele Grüße Igel1
:
Bearbeitet durch User
Hi, ich werfe mal noch Beitrag "Re: Visualisierung von geloggten Daten" mit in den Ring. Bin sehr begeistert von all den Möglichkeiten. viel Erfolg, Uwe
Kommerzielle Messgeräte nehmen sehr oft SCPI als Protokoll über GPIB, RS232 oder TCP. Du darfst Dich ruhig hinter Keysight, R&S, Tektronix, LeCroy, Fluke,... einreihen. http://www.ivifoundation.org/docs/SCPI-99.PDF fchk
Wenn du keine großen Anforderungen an Zoomen, Skalieren und sonstigen Einstellungen hast, aber in "Echtzeit" deine Kurven mit tracken willst, dann lässt sich sowas auch mit vertretbarem Aufwand in z.B. C# programmieren. Warten auf Daten am COM-Port Wertepaar einlesen Linie auf Bildschirm weiter zeichnen. Hier steckt dann die Arbeit hauptsächlich in den Komfortfunktionen. Aber wenn du auf die verzichten kannst, dann wäre das auch evtl noch eine Möglichkeit.
Bin gerade Arbeiten, deshalb nur ganz kurze Antwort. Komme heute Abend nochmal mit mehr Text, Screenshots und ein bisschen Code :) Und ich gehe dann auch nochmal auf eure Antworten ein. Erstmal vielen Dank für den ganzen Input von euch, das hilft mir sehr gut weiter. Die "Blockade", die ich gestern noch hatte ist komplett weg. Ich habe nun einige Ideen, was ich machen kann und ein paar gute Programme zum Ausprobieren. Ich habe heute Nacht noch angefangen ein simples log-Format + log2png-Programm zu "entwickeln" um PNGs komfortabel aus log-Dateien zu erstellen. Geschrieben in C mit Hilfe von libgd. Compiliert mit gcc auf Linux und wird sehr wahrscheinlich mit dev-c++, gcc aus cygwin, etc. auf Windows compilieren. Das Dateiformat ist im Grunde nur eine CSV-Datei mit Meta-Daten im Kopf. Unterstützt bis zu 16 Kanäle (16 Farben) und "Autoscale" (erstellt die Datei genau so gross, wie sie sein muss um alle Werte/Pixel im Diagramm zu zeichnen). War vielleicht zwei Stunden Arbeit und braucht nur noch ein paar kleine Clean-Ups um es zu posten. In Mathe (Realschule) war ich immer der Vollpfosten, der von den Mitschülern mit viel Mühe mitgezogen wurde, dass ich nicht durchfalle... Das jetzt macht ziemlich Spass und ist genau der Stoff der 9ten/10ten Klasse. Meine Mitschüler und Lehrer wären stolz...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.