Aufgabenstellung

Bahnbaumaschinen von Plasser & Theurer werden weltweit in 106 Ländern eingesetzt. Diese sind daher in unterschiedlichsten Varianten und Baujahren im Einsatz. Die Möglichkeit Maschinendaten für den Anwender einheitlich darzustellen, ist aufgrund der unterschiedlichen Ausführungen, derzeit nicht möglich.

Das „IoT-Sensorsystem” soll als eigenständiges System auf allen Maschinen nachgerüstet werden können. Es soll  zyklisch Maschinendaten, unabhängig vom aktuellen Zustand der Maschine(on/off), liefern.

Es soll dabei ein Datenbus entwickelt werden, welcher Sensoren miteinander verbindet. Der Bus soll erweiterbar sein, um Sensoren unterschiedlichen Typs hinzuzufügen. Die Daten werden von einer GSM Kontrolleinheit gesammelt. Dort werden die Daten aufbereitet, verschlüsselt und gepackt an die Cloud geschickt. Die Kontrolleinheit hat ein definiertes Datenvolumen und sendet so lange Daten an einen Server, bis dieses aufgebraucht ist. Am Server werden die Maschinendaten für den Kunden visualisiert.

Hauptseite Hardware

Hardware

Im Zuge des Projekts wurde eine Platine entwickelt, die durch verschiedene Bestückungsvarianten die einzelnen Sensorknoten realisiert.

Die Platine hat einen vier-lagen Aufbau, die Bauteile sind hauptsächlich SMT. Insgesamt wurden 6 Platinen für die Tests angefertigt und händisch bestückt.


Schnittstellen

Versorgung

  • Anschluss an das Board-Netz der Bahnbaumaschine
  • Stellt die Versorgung für die angeschlossenen Sensorknoten im Netzwerk bereit
  • Eingangsspannung: 12-28V
  • Verpolungsschutz und Überspannungschutz vorhanden

Sensor-Netzwerk

  • Zum Anschluss weiterer Sensorknoten
  • Zwei 9 polige D-Sub Steckverbinder
  • CAN – Schnittstelle
  • Versorgung

Temperatursensor

  • Um die aktuelle Umgebungstemperatur der Maschine zu erfassen
  • Zum Anschluss eines PT1000-Temperaturfühlers

Füllstandssensor

  • Um den aktuellen Kraftstoffstand der Maschine zu erfassen
  • Zum Anschluss eines analogen Füllstandsensors 0-10V oder 4-20mA

Debug-Schnittstelle

  • Servicetechniker-Schnittstelle, für die Inbetriebnahme und Statusmitteilungen
  • UART TTL-3V3 Schnittstelle

GSM- / GPS-Antenne

  • Für den Anschluss einer aktiven GPS Antenne bzw. passiven GSM Antenne


Komponenten | Baugruppen

Versorgung

Die Versorgung unterscheiden sich je nach Typ des Knotens. Am Hauptknoten befindet sich das GSM/GPS-Modul aus diesem Grund ist hier zusätzlich eine Versorgungsspannung von 3.8V notwendig, neben den 3.3V für den Mikrocontroller.

Mikrocontroller

  • STM32F405RGT6
  • 12MHz Quarz
  • RTC-Quarz & Back-Up Batterie
  • SWD-Programmierinterface
  • Statusled
  • CAN-Transceiver

GSM-GPS-Modul

  • BG96 von Quectel
  • UART-Interface (Pegel-Wandler 3.8V <->  3.3V)
  • Micro-SIM-Karte

Analog – Schaltung

Der Temperatur-, Füllstand- und Batterie-Sensor wird mit dem ADCs des Mikrocontrollers digitalisiert.

Beschleunigungssensor

  • LSM303AGR
  • I2C-Interface
  • Interrupt-Pins für die Erkennung eines Auflaufstoß

Hauptseite Netzwerk

Netzwerk

Sensornetzwerk

Vorgaben:

  • 1 Kontrolleinheit und max. 15 Sensorknoten
  • Systeme können unterschiedliche Sensorik haben
  • Leitungslänge max. 100 Meter
  • Abfragung der aktuellen Werte alle 2 Stunden
  • Event Mechanismus: Beschleunigungssensor löst Event aus (erneute Abfragung der Werte)
  • Leichte Montage

Entscheidungen:

  • eigenes Protokoll (B2S)
  • Master/Slave mit Token
  • Anmeldung/Abmeldung der Sensorknoten bei der Kontrolleinheit
  • CAN
          • Arbitrierung 
          • Error-Handling
        • oft auf den Maschinen vorhanden

Big Picture Sensornetzwerk

Hauptseite Softwarestack

Softwarestack

Softwarestack

Auf dem Masterknoten läuft die Hauptapplikation, welche die Sensorknoten periodisch abfragt und an die AWS-Cloud sendet. Auch Auflauf-Events, welche durch eine Überschreitung des Schwellwertes durch den Beschleunigungssensor getriggert werden, werden verarbeitet und an die AWS-Cloud gesendet.

Aufgaben

Die Masterknotenapplikation verbindet mehrere Schnittstellen miteinander:

  • AWS-Cloud: Mit Hilfe des GSM-Treibers werden die Datenpakete übertragen
  • CAN-Netzwerk: Über das CAN-Netzwerk wird periodisch der Status des CAN-Netzwerkes abgefragt. Wurde ein Auflauf detektiert, so triggert der Eventstatus des Netzwerkes eine Abfrage aller verbundenen Sensorknoten
  • Periodische Abfrage: Mit Hilfe eines Timers werden in periodischen Abständen alle Sensoren ausgelesen und ein Datenpaket verschickt.
  • Backup-Funktionalität: Können Pakete aufgrund eines Verbindungsfehlers nicht an die Cloud gesendet werden, so werden sie intern in einem Ringbuffer abgespeichert
  • Sensortreiber: Das Auslesen der Batteriespannung und der GPS-Daten erfolgt direkt am Masterknoten und nicht über das CAN-Netzwerk

Treiberstruktur der Sensoren

  • Einheitliche Treiberstruktur für alle Sensoren
  • Art der Kommunikation mit dem Sensor (z.B.: SPI, I2C) leicht austauschbar
  • Sensoren können rasch ausgetauscht werden

 

Hauptseite AWS

 

AWS

Amazon Web Service

Um die Daten des Sensornetzwerkes zu speichern, wurde die AWS verwendet. Zum Einsatz kommen dabei:

  • Die AWS-Iot als Endpoint
  • Die Cloud-Watch zur Visualisierung
  • Die DynamoDB als Datenbank

Schnittstelle

Die Schnittstelle zum Sensornetzwerk ist das BG96 Modul von Quectel (siehe Hardware). Dieses Verbindet sich über MQTT mit der AWS-Iot und kann somit Daten übertragen.

Funktionsweise

Die Platine kommuniziert mit dem GSM-Modul über sog. AT-Kommandos. Der Ablauf für sämtliche Kommunikation mit dem Modul ist:
AT-Kommando senden -> Auf Antwort des Moduls warten -> Antwort prüfen.

AWS-Iot

Hier wird der Endpoint für die Kommunikation zwischen Sensornetzwerk und Cloud erstellt (ein sog. AWS-Thing). Dieses stellt einen HTTP-Endpoint und einen MQTT-Broker zur Verfügung.

DynamoDB

Für die dauerhafte Speicherung der Nutzdaten wird die DynamoDB verwendet. Hier kann durch sog. Rules, welche in der AWS-Iot festgelegt werden, die die Payload zerlegen, die benötigten Daten herausfiltern und in die angegebene Tabelle speichern.

CloudWatch

Um die Daten schnell zu visualisieren und zu evaluieren, werden sie in der ClouWatch dargestellt. Hierzu werden auch wieder eigene Rules festgelegt.

Visualisierung der Temperatur

Visualierung der Koordinaten

 

Hauptseite