chili023

Open Source Prüfstandssoftware auf Basis von Arduino Mega und LabVIEW

517 Beiträge in diesem Thema

ID: 1   Geschrieben: (bearbeitet)

Hallo liebe Gemeinde, ich möchte hier unser Projekt vorstellen. Seit nun mehr 2 Jahren tüftel ich an einer sauberen Lösung, Leistung an Rollenprüfständen zu messen und die Ergebnisse in eine Datenbank zu speichern. So gut und stabil der GSF Dyno auch ist, er ist etwas Benutzerunfreundlich und es vergeht immer einige Zeit zwischen Messung und Leistungsdarstellung.

 

Hier möchte ich anmerken, das ich zu keiner Sekunde den GSF Dyno kritisieren möchte. Ich wünsche mir nur eine etwas professioneller ausschauenede Software für die Erstellung und Speicherung von Prüfstandsläufen.

Angefangen hat alles mit einem Atmega und einem einfachen C Programm. Viele Fehler und viele initiale Hürden habe ich alleine genommen, jedoch kam meine Entwicklung aus Zeitmangel (Test und Entwicklungszeit) zum erliegen.

Als ich mich nach einer Pause wieder mit dem Thema beschäftigt habe, kam nach kurzem Aufruf im Forum Wildstyler und Grua dazu.

Mit der Hilfe und unermüdlichen Gedult der Zwei ging alles mit sehr großen Schritten vorran.

 

Wildstyler übernahm den Großteil der Prüfstandstest und hat alles in kürzester Zeit getestet was wir ihm schickten. Hemmungslos hat er seine Elenor auf dem Prüfstand gequält bis die Kupplung (Partnerlink) weinte (und auch den Geist auf gab).

Grua hat die nummerische Umsetzung in Labview, Entwicklung der Oberfläche und Bedienung übernommen. Die Auswertung hat er so nahe am GSF Dyno gehalten wie möglich.

Unser gemeinsames Ziel ist eine stabile Software zur Verfühgung zu stellen die vom Forum frei benutzt und getestet werden kann. Wichtig ist uns allen Open Source.

Die Software läuft stabil und erzeugt wiederholbare Ergebnisse, sie ist aber noch nicht perfekt. Einige Features sollten noch implementiert werden.

Wir hoffen, das mit der gemeinsamen Hilfe des Forums eine gute und stabile Software auf dem Niveau eines AVL Prüfstands entsteht.

Nun genug des Gesülzes und zur Software.

 

Idee war es eine Microcontroller so zu programmieren, das er mit der Minimalkartschaltung benutzt werden kann.

Bei dem aktuellen Programm, handelt es sich um die Minimalausführung (nur Leistungsmessung) mit Debug Features.

Wenn sich genug Menschen finden bei denen diese Version gut funktioniert soll sie immer komplexer werden.

 

Messprinzip:

Arduino Mega angeschlossen and die Minimalkartschaltung.

Der Arduino bekommt in TTL (5V) die Impulse der Rolle und der Zündung. Diese gehen in den ICP4 und ICP5 (Pin 48 und Pin 49).

ICP steht für Input Capture Pin. Es ist wichtig das der Arduino nur 5V Signale bekommt. Das geht am einfachsten mit einem Optokoppler der auf die Unteschiedlichen Schaltkreise abgestimmt ist. So wa es uns möglich bei Wildstyler, Grua und mir drei unteschiedliche Prüfsysteme mit unserer Software/Hardware zu benutzen.

Dabei handelte es sich um:

12V / 16 Inkremente / leichte Rolle

9V / 24 Inkremente / schwere Rolle

5V/200 Inkremente / mittlere Rolle

 

Der Arduino hat die Aufgabe die Zeit zwischen zwei steigenden Flanken der beiden Eingänge zu messen und diese in einen Ringspeicher zu speichern. Die Werte werden dann über Serielle Schnitstelle zusammen mit der Übertragungszeit (Zeit zwischen zwei Übertragungen) an den PC/LabVIEW gesenden. LabVIEW berechnet dann die Leistung und stellt sie dar.

Zur Zeit senden wir mit ca 50Hz die Werte an den PC. Das hat sich als guter Wert herrausgestellt.

Kurz zum Arduino. Wir haben uns für den Arduino entschieden, da es ohne Vorkenntnisse möglich ist, ihn von jedem PC aus zu programmieren. Die USB Schnittstelle dient gleichermaßen als Programmierschnittstelle und Serielle Schnittstelle an den PC.

Die Daten der Rolle und der Zündung werden an Labview gesendet. Wir benutzen Labiew , da es nur noch 50€ als Home Version kostet und genau für solche Situationen entwickelt wurde. Eine Implementierung in Java oder C oder was auch immer ist natürlich auch möglich und ausdrücklich erwünscht. Labview ist nur das von uns genutzte Modul. Die Daten können wie gesagt beliebig verarbeitet werden.

 

Benötigt wird:

1x Arduino Mega

1x Labview 2014 oder neuer

1x Prüfstand mit Rollensensor

1x Minimalkartschaltung (nicht dringend notwendig wenn man weiss was man macht....)

 

Aufbau:

ACHTUNG Signale müssen aufbereitet bzw. auf 5V gebracht werden. Ich habe den LTV827S (Opptokoppler) mit 180 Ohm zwischen Signal und Eingang und 10kOhm am Ausgang gegen GND.

1. Zündungssignal aus Minimalschaltung an Pin 48

2. Rollensignal aus Sensor (oder Minimalschaltung) an Pin 49

 

Ablauf der Messung:

In Labview müssen die bekannten Daten von Zündung, Massenträgheit usw. eingetragen werden. Desweiteren muss der korrekte COM Port eingestellt werden.

1. das Programm starten. (Weisser Pfeil oben im Menu)

2. Rollen und Rolle auf konstante Drehzahl bringen.

3. Die Messung Starten (Großer Knopf mit Start)

3.1. Labview startet die Übersetzungsermittlung. Ist dieser Prozess fertig erscheint ein Grünes GO und es kann gemessen werden.

4. Vollgas

5. Vom Gas gehen

Nach erreichen der maximalen Drehzahl und Reduzierung der Drehzahl wird die Messung automatisch beendet. Die Messung wird gespeichert und die nächste Messung kann starten.

 

Still to come:

Wir sind gerade noch dabei einige Verbesserungen zu implementieren. Dazu gehören:

1. Implementierung eines BME280 für die Wetterdaten.

2. Implementierung eines Fussschalters für "Messungsstart" und "nächste Messung".

3. Implementierung von Lambdamessung

4. Implementierung von Temperaturmessung  ----> MAX31855 breakout ca. 15€

Ich möchte ausdrücklich nochmal darauf hinweisen, dass das Programm noch nicht perfekt ist und das vielleicht einige Lösungsansätze besser oder Prozessorfreundlicher gestaltet werden könnten.

Mit dieser Version möchten wir dem Forum eine stabile Basis zur Verfühgung stellen, auf die nun gemeinsam aufgebaut werden kann. Open Source heisst hier das Sprichwort.

 

Ich persönlich bin zur Zeit durch Hausrenovierung etwas stärker eingespannt, werde aber weiterhin an dem Programm arbeiten. Ich denke, das wir gemeiensam in kurzer Zeit eine sehr professionelle Software/Lösung zum messen von Leistung haben werden.

 

Ich möchte mich nochmal bei Wildstyler, BugHardcore und Grua bedanken. Ohne die Drei wäre die Software jetzt nicht da wo sie ist und das Projekt wäre wahrscheinlich in eine meiner Schubladen gelandet.

 

Das ganze Paket kann von GitHub runter geladen werden. Im Zip befinden sich alle Dateien und eine Docu. Alle neuen Entwicklungsstände werden dort veröffentlicht.

https://github.com/gruaGit/WildBugChilGru/releases

 

BME280 Bezugsquelle:

http://www.watterott.com/de/BME280-Breakout-Luftfeuchtigkeits-Druck-Tempertursensor

 

!---------------------------------EDIT--------------------

 

WildGruChil_Shield_v4 mit allen Anschlüssen für den BME280(wattenrott) und MAX31855 (adafruit) von wattenrott. 12V und 5V Variante

 

 

12V_v4_Board.PNG

 

 

!---------------------------------EDIT--------------------

 

 

Wildstyler.PNG

 

 

 

 

 

 

Bearbeitet von chili023
Neue Version
15 Personen gefallen das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hut ab.

Find es einfach genial hier.

Wahnsinn was hier manche können und leisten. 

 

Dickes Lob,  weiter so. 

 

Gruß Harald 

1 Person gefällt das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Weatherstation mittels BME280 und Fussschalterimplementierung jetzt auch verfügbar.
Kann es hochladen falls doch noch jemand interesse hat.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Dickes Lob, da stecken nen paar Stunden drin. 

Wahnsinn, wenn das funktioniert.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Möchte mich bei Euch bedanken, dass Ihr so etwas macht. Habe mir eben das Labview FIle angeschaut und als Labview Anfänger muss ich sagen, da hat sich wer sehr bemüht und eine eine brauchbare VI auf die Beine gestellt.  Ich kann leider die Software nicht testen, da ich keinen Prüfstand habe. Ich hätte zwar Arduino und Labview.

Was ich aber beitragen könnte ist, aus der Software ein .exe FIle zu machen. Was das bringt? Man braucht nicht Labview kaufen sondern lädt von der Homepage die RuntimeEngine Software runter. Die ist kostenlos und die Programmierte Datei kann trotzdem verwendet werden. Man sieht das Frontpanel (hier befinden sich die Anzeigen, Diagramme etc.) wie oben ersichtlicht aber man sieht das Blockdiagramm (hier wird programmiert) man nicht. Der Nachteil ist, dass man keine Codeänderung im erstellten VI von Labview mehr vornehmen kann. Änderungen im Code will aber eh nicht jeder machen ,glaube ich.

 

Frontpanel:

Frontpanel.jpg

 

Blockdiagramm:

Blockdiagramm.jpg

 

3 Personen gefallen das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

ID: 7   Geschrieben: (bearbeitet)

Danke für die Blumen. Grua hatte die gleiche Idee. Das sollten wir auf jedenfall machen. Kann gerne heute Abend eine exe Compiliren und mit ins zip intigrieren.

 

Muss ich dabei irgend etwas beachten?

Bearbeitet von chili023

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Achso. Wir haben auch noch einen DEBUG sketch für den Arduino Mega und UNO falls du mit dem VI rumspielen möchtest. Der fehlende Prüfstand soll dich nicht aufhalten.

;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Super Sache, was hier erstellt wurde.

Ich wäre auch für die .exe Datei :-)

Genauso wie die Anbindung einer Wetterstation und Fussbetätigung ;-)


Gesendet von iPhone mit Tapatalk

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Danke für das Lob :)

Begonnen hatte mit dem ganzen Projekt chili023, mit Elektronik, Arduino Programmierung als auch LabView. Ohne ihn wäre das ganze nie gestartet - danke dafür! Am LabView hab dann in Folge ich weiterentwickelt und Wildstyler hat den größten Teil der Tests übernommen. Trotz anfangs häufiger Softwarebugs hat ihn nie der Mut verlassen - Hut ab dafür!


Da ich selbst eher aus der Hochsprachenprogrammierung komme und LabView als graphische Programmieroberfläche für mich völlig neu war, stellt sich das Blockdiagramm noch ziemlich unstrukturiert dar und bietet definitiv noch einiges an Potential hinsichtlich Aufbau und Effizienz. Aber ich musste da erst reinwachsen und hab mal das Hauptaugenmerk auf Funktion gelegt. Da das Ganze open source ist, sind LabView-Programmierer natürlich herzlich eingeladen Verbesserungen einzubringen!


Was neben den eingangs erwähnten Punkten zusätzlich noch fehlt sind ordentliche Dokumentation, v.a. Beschreibung von Zweck und Auswirkung der diversen Eingabefelder. Dazu aber nächste Woche mal, sobald ich wieder einen PC zur Verfügung habe, ist hier im Urlaub am Handy etwas mühsam ;)


Und Erklärung weshalb es da rote Kurven (= Polynomapproximation der grauen Kurven) und graue Kurven gibt (= berechnete Kurven vor Polynomapproximation). Eine der beiden wird noch verschwinden, dazu sind aber noch einige Vergleichsläufe zw. eigenem Prüfstand und einem professionellen Referenzprüstand wie P4 notwendig.


Betreffend EXE: Die wollte ich ohnehin noch erstellen, muss mich mit den diesbezüglichen Einstellungen aber erst noch vertraut machen. gs-gani darf da aber ggf gerne zuvorkommen:)


Dann der Community hier viel Spaß damit!

4 Personen gefallen das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hut ab, finde ich mega :thumbsup:

 

Ich verfolge es mit Spannung, Ich habe einen Prüfstand zum Testen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

ID: 12   Geschrieben: (bearbeitet)

na dann will ich mich auch mal zu Wort melden.

Es war in der Vorveröffentlichungsphase nicht immer einfach für mich, als absoluter Programmier- und Elektronik Noop, nachzuvollziehen was chilli und grua da immer für Wunder vollbracht haben. Ich hab immer versucht alle Software Updates zeitnah zu testen. Manchmal lags an mir, wenn ich mal wieder was falsch zusammen gesteckt hatte oder zu blöd war mit dem Oszilloskop was zu messen´´, daß das ganze ins stocken kam. Aber am Ende haben wirs dann doch geschafft (und ich hoffe mit dem GSF zusammen wird da noch was richtig großes draus). Mittlerweile, wie chilli eingangs schon geschrieben hat, hab ich eine Kupplung verbraten ( war aber eh schon am sterben) und einen Hinterreifen bis zum Vorhang runtergeschrubbt (ja ja das Griptape hat scharfe Zähne). Richtig klasse die Kiste ständig über den Prüfstand zu prügeln, ich könnt das den ganzen Tag machen.

Es ist echt erstaunlich was chilli und grua da auf die Beine gestellt haben. Kaum hatte ich was neues getestet und beschrieben was geht oder auch nicht, kam nach kürzester Zeit ein Update. Ist echt schön mit den beiden zusammen "arbeiten" zu dürfen.

Momentan bin ich leider zeitlich etwas eingeschränkt was zu testen, da wir vor einer Woche den zweiten Zuwachs bekommen haben.

Trotzdem werd ich versuchen so schnell wie möglich an der Rolle zu drehen wenns was neues gibt. Also haut rein Jungs...

Bearbeitet von wildstyler
4 Personen gefallen das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 11 Stunden schrieb chili023:

Danke für die Blumen. Grua hatte die gleiche Idee. Das sollten wir auf jedenfall machen. Kann gerne heute Abend eine exe Compiliren und mit ins zip intigrieren.

 

Muss ich dabei irgend etwas beachten?

 

Es gibt einige Einstellungen wenn man kompiliert. Weiß ich leider auch nicht alle Auswendig. Man kann einige Sachen weglassen damit das Ganze übersichtlicher wird. etc.  Was wichtig ist, ist die NeuSkalierung auf den jeweiligen Bildschirm. Das muss Du einstellen. Sonst passen die Verhältnisse nicht, da man unterschiedliche Monitordiagonale hat.

Was ich aber weiß geht das Kompilieren nur mit der Professional Version und mit der Home Version nicht. Ich kann es auch nur in der Firma kompilieren. Bin aber erst am Montag dort.

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

ID: 14   Geschrieben: (bearbeitet)

Hammer Jungs....:thumbsup:

 

Versteh zwar kein Wort:muah:, aber falls mein Prüfstand irgendwann in die Tat umgesetzt wird, komme ich auf euch zurück....Wahnsinn:aaalder:

 

Gruß

Bearbeitet von GrOoVe
1 Person gefällt das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Top Sache Leute, lese hier sehr gespannt mit und bin gespannt wie ein Schlüppergummi, wann die exe erscheint 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

ID: 18   Geschrieben: (bearbeitet)

Doku nochmal überarbeitet in obigem Post

 

Ablauf war noch falsch

Bearbeitet von grua

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

ID: 21   Geschrieben: (bearbeitet)

Hab in die V0.182.zip jetzt mal EXE-Datein hinzugefügt.

 

Ich weiss es nicht, glaube aber nicht, dass beim Erstellen der EXE die LabView Run-Time Engine bereits automatisch hinzugefügt wird. Einstellung dafür habe ich im Application Builder jedenfalls keine gefunden. Vermutlich muss man sich die LabView Run-Time Engine zusätzlich noch auf http://www.ni.com downloaden und installieren, damit die EXE lauffähig sind.

 

Erstellt habe ich das ganze mit LabView 2014 SP1, ich denke also dass jede LabView Run-Time Engine ab 2014 SP1 oder höher funktionieren sollte. Vielleicht kann das ja mal wer testen.

 

Was sonst noch benötigt wird (Arduino, Hardware, ...) siehe Post Nr. 1 von chili023

 

 

Bearbeitet von grua

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Tolles Projekt!

Ist ein fix fertiges Hardwareset geplant? Wäre ich interessiert dran.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 18 Stunden schrieb grua:

EXE nochmal mit geänderten Einstellungen neu erstellt:

 

 

 

WildGruChil_V0.182.zip

 

Ich habe mir heute ein wenig die LV Software angeschaut. Was mir auf die garche

bei der Seriellen Schnittstelle fehlt ist:

  1. Verbindung aufbauen  (vorhanden)
  2. Schreiben hier nicht nötig
  3. Lesen (vorhanden)
  4. Schließen der Verbindung (habe ich nicht gefunden) Ist hier eine Schließung der Verbindung nicht nötig?

Jede serielle Schnittstelle sollte ordnungsgemäß beendet werden. Außerhalb der letzten While Schleife. Aber wie gesagt ich bin nur LV Anfänger.

Vereinfachte Darstellung.

SerielleSchnittstelle.jpg

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!


Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.


Jetzt anmelden

  • Wer ist Online   0 Benutzer

    Keine registrierten Benutzer online.