Arduino Endrohrfilter und Sensor - Gunook - 2020 - How ToDo Well

Arduino Endrohrfilter und Sensor - Gunook - 2020 - How ToDo Well

Inhaltsverzeichnis:

Anonim

In diesem Tutorial wird gezeigt, wie ein Auspuff-Sensor und -Filter erstellt wird, der über Bluetooth eine Verbindung zu einer App herstellt. Ein Tinyduino-Stack misst Kohlenmonoxid aus einem Endrohr und sendet die Daten über BLE an eine App.

Zubehör:

Schritt 1: Teile beschaffen

Benötigte Teile:

  1. Tinyduino Starter Kit
  2. Tinyduino Nordic BLE
  3. Sparkfun MQ-7 Kohlenmonoxidsensor
  4. Sparkfun MQ Gas Sensor Breakout
  5. 32600 Batterie 3.7v
  6. 10k Widerstand
  7. Kleiner Frühling
  8. Leitfähige Tinte
  9. Sugru
  10. 3M Partikelfilter
  11. Sortierte Drähte
  12. 3D gedruckte Teile

Werkzeuge benötigt:

  1. Lötkolben
  2. Löten
  3. Zange
  4. Pinsel
  5. 3D-Drucker (oder Zugriff auf einen)

Schritt 2: 3D-Druckteile

Jedes Stück sollte mit der höchstmöglichen Auflösung gedruckt werden. Die Füllung sollte bei etwa 20% liegen.

Stück 1 und 2 sollten 2 Schalen haben. Stück 3 sollte 3 Schalen haben

Schritt 3: Aufbau des Tinyshield-Stapels

  1. Löten Sie zunächst 3 Drähte an das Sparkfun Breakout Board (A1, B1 und H1)
  2. Löten Sie einen 10k Widerstand auf das Tinyshield Protoboard
  3. H1 sollte mit dem 5V auf dem Tinyshield verlötet werden
  4. Drehen Sie A1 und B1 zusammen und verlöten Sie sie mit dem A0-Stift
  5. Öffnen Sie eine Sugru-Packung und halten Sie den Gassensor mit der Sugru-Packung senkrecht über der Prototafel
  6. Sugru aushärten lassen
  7. Löten Sie die Feder auf den Minuspol der Tinyduino-Prozessorplatine
  8. Entfernen Sie die Isolierung vollständig von einem 5-Zoll-Draht
  9. Löten Sie den Draht an den Pluspol der Prozessorplatine

Schritt 4: Malen Sie Kappe

  1. Verwenden Sie die leitfähige Farbe und streichen Sie die Außenseite von Teil 3 an, um eine leitfähige Oberfläche zu erhalten
  2. Lackieren Sie auch den inneren zylindrischen Abschnitt von Teil 2, um eine leitende Schicht für den positiven Anschluss zu erzeugen

Schritt 5: Kohlenmonoxidsensor

Der Kohlenmonoxidsensor ist ein komplexer Analogsensor.

Gassensor-PPM berechnen
Jeder der Gassensoren gibt einen analogen Wert von 0 bis 4095 aus. Verwenden Sie die folgende Gleichung, um diesen Wert in Spannung umzuwandeln: COPY CODE Sensorspannung = AnalogReading * 3,3V / 4095 Sobald Sie die Sensorspannung haben, können Sie diese in a umwandeln Teile pro Million („PPM“), gemessen anhand der Empfindlichkeitskalibrierungskurve auf Seite 5 der Datenblätter des Gassensors. Erstellen Sie dazu die Empfindlichkeitskurve neu, indem Sie Datenpunkte aus dem Diagramm auswählen oder eine grafische Analysesoftware wie Engauge Digitizer verwenden. Tragen Sie PPM auf der y-Achse und V_RL auf der x-Achse auf, wobei V_RL die Sensorspannung ist. Es gibt viel Raum für Fehler mit dieser Methode, aber es gibt uns genug Genauigkeit, um gefährliche Niveaus der gefährlichen Gase zu kennzeichnen. Geschätzte Fehlerbalken liegen bei etwa 20 ppm für die LPG- und Methansensoren und bei etwa 5 ppm für den CO-Sensor.

Die MQ-Gassensoren haben Licht ohne Polarität, daher funktioniert der Gassensor mit der Platine so, wie er in die 6 Stifte passt.

Als nächstes finden Sie eine ungefähre Gleichung für die PPM-V_RL-Kurve. Ich habe eine Exponentialanpassung verwendet (z. B. y = ex) und die folgenden Gleichungen erhalten: sensor: PPM = 26.572 * e ^ (1.2894 * V_RL)

CO-Sensor: PPM = 3,027 * e ^ (1,0698 * V_RL)

doppelte ppm = 3,027 * exp (1,0698 * (rawValue * 3,3 / 4095))

Verwenden Sie diese Option, um einen Messwert vom MQ-7-Gassensor zu erhalten.

Quelle: Sparkfun

Schritt 6: Tinyduino und IOS Bluetooth Handshake

Um Software für Arduino zu schreiben, müssen Sie Arduino IDE installieren. Diese ist für Mac verfügbar. Sie können sie also einfach auf deren Website herunterladen. Sie haben auf ihrer Website eine großartige Anleitung zum Einrichten Ihrer IDE. Nach der Installation der IDE müssen Sie die Adafruit-Bibliotheken installieren. Adafruit hat ein großartiges Tutorial, wie man das macht, also schaut es euch an.
Jetzt haben wir die Hardware verkabelt und alle Bibliotheken, die wir brauchen. Sie müssen nur noch Code schreiben und auf unser Arduino-Board hochladen.

Diese Anweisungen stammen von Adafruit und einem Tutorial zu BLE Handshakes. Sie müssen einen Teil des Codes für den MQ-7-Sensor anpassen.

In diesem Code behandeln wir zwei Dinge. BLE-Unterbrecherkreis und Temperatursensor. Lassen Sie uns zuerst den BLE-Code durchgehen. Am Anfang der Klasse erstellen wir eine Instanz des BLE-UART mit den entsprechenden Pins. In der Setup-Methode setzen wir den Gerätenamen und starten unseren BLE-Chip. Auf Arduino wird die Setup-Methode einmal ausgeführt, wenn Arduino gestartet wird, und die Schleifenmethode wird ständig ausgeführt. Unsere gesamte Verarbeitung erfolgt also innerhalb der Schleifenmethode. Bei dieser Methode erhalten wir den aktuellen Status der BLE und senden, falls diese verbunden ist, unsere Temperaturdaten. Wir können jeweils nur 20 Bytes senden. Sobald wir unsere Temperaturdaten (als Zeichenfolge formatiert) erhalten, schreiben wir sie in unser Objekt. Dies ist unser Benachrichtigungs-RX-Merkmal, von dem unsere iOS-App liest. Unser Temperatursensor ist an den analogen A0-Eingang angeschlossen. Da wir die Daten mit einer sehr hohen Frequenz abtasten, müssen wir die Daten glätten, um Spitzen zu vermeiden. Um die Daten zu glätten, verwenden wir die Funktion "averageValue". Diese Funktion nimmt die letzten 50 Messungen auf und gibt Ihnen einen Durchschnittswert. Wir werden die Daten viele Male pro Sekunde abtasten, sodass wir eine reibungslose Stichprobe erhalten. Sobald wir die geglätteten Daten erhalten haben, müssen wir den Sensor-Rohwert in die tatsächliche Temperatur umrechnen. Wir machen das in der "Temperatur" -Methode. Bei dieser Methode wird der Sensoreingangswert in die Spannung und dann in die Temperatur umgewandelt. Diese Zeichenfolge schreiben wir in unsere BLE RX-Eigenschaft. Das ist so ziemlich alles auf der Arduino-Seite. Wir haben eine Hardware, die Sensordaten über BLE überträgt. Sie müssen diese Daten nur noch in der iOS-App lesen.

Schritt 7: IOS-Projekt

Das gesamte Xcode-Projekt ist an diesen Schritt angehängt.

Die Einheiten müssen natürlich geändert werden.

Der Bildschirm wird rot, wenn die Bluetooth-Verbindung unterbrochen ist.