Logger für Kraftmessung mit Dehnungsmessstreifen Inhaltsverzeichnis 1. Einführung... 1 2. Stromversorgung... 1 3. Bootloader... 2 4. Messbetrieb... 3 5. Aufzeichnung der Messwerte... 4 6. Auslesen der Messwerte... 5 7. Konfigurieren des DMS-Loggers... 7 8. LED-Anzeigen... 8 9. Lizenz... 10 1. Einführung Dieser Logger dient dazu, schnelle Kraftmessungen mit einem DMS-Sensor durchzuführen und aufzuzeichnen. Die Aufzeichnungsrate ist programmierbar. Das kürzest mögliche Intervall beträgt ca. 2 Millisekunden entsprechend 500 Hz. Das Gerät hat folgende Hauptkomponenten: Messverstärker MAL-SG2 von BMC Messsysteme http://www.bmcm.de Mikrocontroller ATxmega128A4U 8 MByte Flash Speicher für die Daten Real Time Clock, batteriegepuffert Erzeugung aller Spannungen für den Sensor, den Messverstärker und interne Komponenten Display USB Anschluss für PC-Anbindung Als Sensor wurde ein Kraftaufnehmer Typ S20S-C3-0500 www.bosche.eu getestet. Diese Beschreibung bezieht sich auf die Boardversion DMSLogger V1.0 und die Firmwareversion DMS_Logger V1.2 2. Stromversorgung Die Stromversorgung erfolgt aus einer Lithiumzelle (ca. 3,7 Volt) oder aus dem USB-Anschluss. Die Batterie oder eine andere Stromquelle mit einer Spannung zwischen 3,4 und 5,5 Volt wird an der zweipoligen Klemmleiste angeschlossen. Die Polarität steht auf der Rückseite des Boards (+Batt). Zwischen dieser Klemmleiste und dem USB Anschluss befindet sich ein dreipoliger Pfostenverbinder, bei dem der Mittenanschluss mit einem Jumper entweder zur Klemmleiste oder zum USB-Stecker Seite 1 / 10
verbunden werden muss. Bei USB-Spannungsversorgung kann nur der Logger ausgelesen oder konfiguriert werden, Messbetrieb ist so nicht möglich! Eine Ladeeinrichtung für die Lithiumzelle ist nicht vorhanden. Die Stromaufnahme inklusiv dem Bedarf für den beschriebenen Sensor beträgt ca. 20 ma ohne Hintergrundbeleuchtung des Displays. Letzeres benötigt zusätzlich ca. 30 ma. Für die Echtzeituhr benötigt man als Backup eine Lithium-Knopfzelle Typ CR1220. Sonst geht die Uhrzeit bei Unterbrechung der Stromversorgung verloren. 3. Bootloader Zum Update der Firmware über den USB-Anschluss hat das Gerät einen Bootloader. Dieser wird wie folgt aktiviert: Jumper für Spannungsversorgung auf USB stecken Am 8-poligen Pfostenverbinder die Pole 7 und 8 mit einem Jumper verbinden Dann das Gerät mit dem PC verbinden Es erscheint nichts im Display, keine LED leuchtet. PC-seitig wird das kostenlose Programm FLIP des Herstellers Atmel benötigt. Download von FLIP hier: http://www.atmel.com/tools/flip.aspx Getestet wurde die Version FLIP 3.4.7 unter Windows Vista und Windows 7. Details zum weiteren Vorgehen (Treiberinstallation und Bedienung von FLIP) siehe Dokument Atmel AVR1916: USB DFU Boot Loader for XMEGA http://www.atmel.com/images/doc8429.pdf. In FLIP ist bei Device Selection der Typ ATxmega128A4U auszuwählen. Nach dem Hochladen einer neuen Firmware Platine stromlos machen, Jumper für Bootloader entfernen. Bei Neustart erscheint die Neue Firmware im Display. Seite 2 / 10
4. Messbetrieb Der Sensor wird wie auf diesem Foto gezeigt, angeschlossen. Die Bezeichnungen der Kontakte befinden sich auf der Rückseite der Platine, auf der sich auch das Display befindet. Nach Einschalten des Geräts erscheint im Display die Versionsnummer und das Build-Datum/Uhrzeit der Firmware (nicht die aktuelle Uhrzeit!) und ein Copyrightvermerk. Außerdem wird für 5 Sekunden die Batteriespannung angezeigt. Der Messbereich der Spannung ist optimiert für den Ladezustand von Lithium-Batterien und geht deshalb bis ca. 4,3 Volt, höhere Spannungen werden nicht angezeigt. Folglich wird auch eine 5-Volt USB Versorgung als ca. 4,3 Volt angezeigt. Das Gerät macht laufend eine Spannungsüberwachung. Sinkt die Spannung unter 3,3 Volt, so wird das Gerät kontrolliert runtergefahren, offene Messungen werden abgeschlossen und zugehörige Seite 3 / 10
Datei geschlossen, um Datenverlust zu vermeiden. In die Datei wird am Ende die Meldung Ende wegen Fehler eingetragen. Im Display erscheint die Fehlermeldung Batterie < 3.3 Volt. Die Stromversorgung für Prozessor und periphere Komponenten wird soweit möglich heruntergefahren. Displaybeleuchtung und LEDs aus. Der Stromverbrauch liegt jetzt bei ca. 10 ma. Eine Tiefentladung der Batterie kann damit verzögert, aber nicht verhindert werden. Nach dem Startbild erscheint die Anzeige des gesamten Speicherplatzes 8108 KB Speicher und des noch verfügbaren Speichers nnnn KB frei. In der untersten Zeile stehen das Intervall für die einzelnen Messungen und für die Aktualisierung der Messwerte im Display, beispielsweise 10 ms / 1000 ms. Display Updates schneller als 500 ms sind nicht empfehlenswert, da nicht lesbar. Bei schnellen Messungen verlangsamen sie auch die Messgeschwindigkeit. Für die Messanzeige gibt es zwei Einstellungen, die vom Jumper über die Pins 1 und 2 (erste Position gezählt vom USB-Stecker) abhängen. Mit Jumper sieht man den Messwert in Großzahlen in dan. Ohne Jumper erscheinen in vierzeiliger kleiner Darstellung das aktuelle Datum mit Uhrzeit, ADC- Rohdaten, die gemessene Kraft und die Dauer der laufenden Messung in Sekunden und Millisekunden. Diese Einstellung ist nicht zu empfehlen, denn sie ist unübersichtlich und braucht mehr Prozessorkapazität, was zu Verzögerungen bei schnellen Messungen (schneller als 20 msec) führt. 5. Aufzeichnung der Messwerte An der gezeichneten Position ist ein Taster anzuschließen. Drückt man diesen Taster für mehr als 3 Sekunden, so wird die Aufzeichnung begonnen. Drückt man wieder 3 Sekunden, so wird diese Messung abgeschlossen. Die Messung wird auch abgeschlossen, wenn der Speicher voll ist. Bei Seite 4 / 10
laufender Messung und Großzahlenanzeige wird ein Kästchensymbol links oben im Display angezeigt, das sich bei jedem neuen Bildaufbau ändert. Bei vierzeiliger Textanzeige erfolgt eine Meldung in der bisher leeren Zeile 2. Bei Abschluss der Messung erscheint für 3 Sekunden wieder die Anzeige mit dem gesamten und dem noch verfügbaren Speicherplatz. Danach erfolgt wieder die normale Kraftanzeige ohne Speichern. Man kann das Speichern dann wieder aktivieren. Wenn der Speicher voll ist, erscheint dann gleich die Anzeige mit Speicherplatz 0 KB frei. 6. Auslesen der Messwerte Die Dateien der Messwerte können wie ein USB-Speicherstick ausgelesen werden. Dazu verbindet man das Gerät über ein handelsübliches Mini-USB-Kabel mit dem PC. Stromversorgung entweder aus der Batterie oder aus dem PC entsprechend der Einstellung des Jumpers neben dem USB-Anschluss. Bei erstmaliger Benutzung ist ein Treiber auf dem PC zu installieren. Download der Treiberdatei hier: www.maxpunkte.de/cms/download/atmel_devices_cdc.inf. Dieser Treiber ermöglicht gleichzeitig den Zugriff auf den Massenspeicher und richtet einen seriellen Port ein, über den das Gerät eingestellt werden kann. Im Gerätemanager von Windows erscheint das Gerät in der Gruppe USB als USB-Verbundgerät und als USB-Massenspeichergerät und in der Gruppe Anschlüsse als Communication Device Class ASF composite example 4 (COMnn). (Wer es genau wissen will, warum der Namen so komisch ist: Um es mir einfach zu machen, habe ich einen Treiber aus einem Beispielprojekt des Chipherstellers genommen. Der ist von Microsoft zertifiziert und es geht auch bei Win7 / 64 Bit nichts schief.) Hinweise zur Treiberinstallation: Einige Komponenten des Treibers können meist ohne diese *.inf Treiberdatei installiert werden, andere nicht. Es gibt dann eine derartige Meldung. Man geht dann in Windows Gerätemanager auf das nicht funktionierende Gerät, Rechtsklick mit der Maus und im erscheinenden Fenster den Treiber installieren. Dabei Treiber nicht automatisch suchen lassen, sondern auf das Verzeichnis verweisen, in dem diese.inf Datei steht. Seite 5 / 10
Nach erfolgter Installation erscheint im Dateimanager des PC das Gerät als normales Laufwerk wie ein USB-Stick und man kann auch alles machen, was man mit einem USB-Stick kann. Der Speicher ist nur deutlich kleiner (8 MByte). Will man den Speicher neu formatieren, so muss das Dateisystem FAT und die Größe der Zuordnungseinheiten auf 512 Byte gestellt werden!!! Wenn das Gerät vom PC korrekt erkannt wurde, so steht in der ersten Zeile des Displays USB-CDC USB-MSC. CDC steht für Communications Device Class und MSC steht für Mass-Storage Device Class. Ist der Treiber für eine dieser Klassen nicht richtig installiert, so erscheint der entsprechende Text nicht. In den Zeilen 2 bis 4 können noch alte Anzeigen stehen bleiben, diese sind im USB-Betrieb ohne Bedeutung. Die Messdaten sind in Excel *.csv-format geschrieben. Die Dateinamen lauten LOGFILEA.CSV, LOGFILEB.CSV bis LOGFILEZ.CSV. Das System wählt immer den ersten freien Namen. Wenn es bei Z ankommt, wird die Z-Datei überschrieben. Die Dateien erhalten einen korrekten Eintrag von Erzeugt- Datum und letztem Änderungsdatum mit Uhrzeit im Dateisystem, so dass man sie auch danach gut zuordnen kann. Beispieldatei: Start: 2012-10-12 14:47:50 Zeit[sec] Kraft[daN] Batt[V] 0,986 57,4 1,985 55,1 2,984 54,9 3,983 57,5 Seite 6 / 10
4,982 55,8 5,981 54,8 6,98 57,1 7,979 56,3 8,978 54,3 4,15 9,977 56,2 Ende Die Datei enthält zunächst Startdatum/Uhrzeit der Aufzeichnung, dann die Überschriftenzeile der Tabelle, dann die Messdaten und zum Schluss das Wort ENDE bei korrekter Beendigung. Die Messdatenzeile enthält den Zeitpunkt seit Beginn der Messung in Sekunden.Millisekunden. Die maximale Zeit ist 65535 Sekunden, danach beginnt die Zeit wieder bei Null. In der zweiten Spalte steht die Kraft in dan und in der dritten Spalte jeweils 8 Aktualisierungen des Displays die aktuelle Batteriespannung. Der gespeicherte Spannungswert ist der Mittelwert aus den letzten 8 Messungen, die einmal in der Sekunde erfolgen. Die Zeit läuft nicht ganz exakt gemäß den Einstellungen, weil der Prozessor gelegentlich Verwaltungsarbeit machen muss und weil das Taktsystem auf 1024 Hz aufbaut, was nicht mit Millisekunden exakt in Übereinstimmung gebracht werden kann. Der Fehler der Zeitangabe zu einer Messung ist ca. 1 Millisekunde. 7. Konfigurieren des DMS-Loggers Das Gerät kann über die serielle Schnittstelle konfiguriert werden. Die aktuelle Software dazu gibt es zum Download unter www.maxpunkte.de/cms/download/dms_logger.zip Bedienung: Zunächst den Logger über USB mit dem PC verbinden und warten, bis die Treiber aktiv sind. Dann Programm starten. Im Auswahlfeld für den Comport werden alle aktuell verfügbaren Comports angezeigt. Wir der Port des Loggers noch nicht angezeigt oder wurde dieser erst nach Programmstart eingesteckt, Aktualisierungsbutton neben der Auswahlfeld klicken. Dann Connect- Button klicken. Die rote Fläche sollte jetzt grün werden. Seite 7 / 10
Die wichtigsten Funktionen sind dann: Sende Zeit. Dies sendet die aktuelle Zeit des PC und stellt die Uhr des DMS-Loggers auf diese Zeit ein. Im Oberen Fenster werden Datum und Zeit angezeigt und wenn alles geklappt hat antwortet der Logger mit RTC ok. Sende Einstellungen: Die ausgewählten Werte für Messintervall und die Anzahl der Messungen bis zu einer erneuten Aktualisierung der Anzeige sowie die gewünschte Displaybeleuchtung werden übertragen. Das Gerät antwortet mit Parameter ok. Standardwerte sind 10 ms, Anzahl 100 (ergibt 10ms * 100 = 1 Sekunde Anzeigeintervall) und Displaybeleuchtung aus. In einer späteren Version wird die Übertragung von Kalibrierdaten für den Sensor dazukommen. Mit Daten Lesen kann man beliebige Speicherbereiche des Massenspeichers auslesen und man kann auch weitere, hier nicht dokumentierte Befehle senden. Beides ist für den Normalnutzer ohne Bedeutung. Wildes Probieren, was man alles senden kann, kann aber gefährlich sein und Messdaten beschädigen. Also bleiben lassen! 8. LED-Anzeigen Der DMS-Logger hat zwei rote LED. LED1 ist näher am Messverstärker, LED2 näher am USB-Stecker. Seite 8 / 10
LED 1 blitzt jede Sekunde für 0,1 Sekunden auf (Alive Signal). Bei USB-Verbindung leuchtet LED 2 bei Schreibzugriffe auf den Speicher und LED 1 bei Lesezugriffen. Das 1 Sekunden blitzen bleibt dem überlagert. Prüfen: Warum Flackert LED2 beim Schreiben? Seite 9 / 10
9. Lizenz Große Teile der Firmware basieren auf ATMEL Software Framework, Copyright ATMEL Corporation. Die ASF Lizenzbedingungen sind: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of Atmel may not be used to endorse or promote products derived from this software without specific prior written permission. 4. This software may only be redistributed and used in connection with an Atmel microcontroller product. THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Alles Weitere ist geistiges Eigentum von Dr.-Ing. Dietrich Münchmeyer. Sie darf nur mit von mir ausgelieferten Geräten benutzt werden. Jede Weitergabe ist verboten. Das ist eine sehr einfache Lizenz! Stand: 18.10.2012 Copyright: Dr.-Ing. Dietrich Münchmeyer Seite 10 / 10