Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Schließen Sie einen Sensor an Ihren Raspberry Pi an, um Sie vor schädlichen Gasen zu warnen!

Um einen Furz mit dem Raspberry Pi zu erkennen, müssen wir einen Sensor verwenden, der auf eine oder mehrere der flüchtigen Schwefelverbindungen anspricht, die 1% der Blähungen ausmachen (d. h. die Verbindungen, die Furz riechen lassen). Im Wesentlichen müssen wir dem Raspberry Pi eine Nase verpassen. Der für dieses Projekt empfohlene Sensor ist der Figaro TGS2600. Wenn Luft in den Sensor eintritt, wird dieser von einem kleinen Heizelement mit Energie versorgt, wodurch sein elektrischer Widerstand gemessen werden kann. Dies geschieht, indem eine geringe Menge an Elektrizität über einen kleinen Spalt mit energetisierter Luft geleitet wird. Je verschmutzter die Luft ist, desto weniger Widerstand hat sie und desto besser leitet sie den Strom (wie ein variabler Widerstand). Der Ausgang des Sensors ist daher eine analoge Spannung, die je nach Verschmutzung der Luft auf und ab geht. Je mehr Verunreinigungen, desto höher die Spannungsabgabe.

Analog vs. Digital

Wir müssen auch verstehen, dass der Luftqualitätssensor uns ein analoges Signal liefert, und den Unterschied zwischen einem analogen und einem digitalen Signal. Digitalsignale sind im Wesentlichen binär:1 oder 0; an oder aus. Analoge Signale hingegen haben den vollen Bereich zwischen Ein oder Aus. Denken Sie an ein Autolenkrad:Das Lenkrad ist analog, weil dem Fahrer ein vollständiger Lenkbereich zur Verfügung steht. Sie können sehr sanft um eine lange geschwungene Kurve lenken, Sie können das Rad bis zum Volleinschlag drehen oder irgendwo dazwischen. Wollte man ein Auto digital lenken, hätte man grundsätzlich nur Vollsperrung links und Vollsperrung rechts.

Ein analoges Signal mit einem digitalen Gerät lesen

Die Herausforderung für uns besteht darin, ein analoges Signal auf einem digitalen Computer zu lesen. Die GPIO-Pins des Raspberry Pi können als Eingänge oder Ausgänge verwendet werden. Der Ausgabemodus ist für den Fall, dass Sie beispielsweise eine LED oder einen Summer mit Spannung versorgen möchten. Wenn wir den Eingabemodus verwenden, hat ein GPIO-Pin einen Wert, den wir in unserem Code lesen können. Wenn Spannung am Pin anliegt, ist der Messwert 1 (HOCH ); Wenn der Pin direkt mit Masse verbunden wäre (keine Spannung), wäre der Messwert 0 (NIEDRIG ). Die Pins sind also digital und erlauben nur 1 oder 0 .

Wie können wir das lösen? Eine Möglichkeit wäre, einen ADC-Chip (Analog-Digital-Wandler) zu verwenden, der die analoge Spannung vom Sensor in unserem Code in eine digitale Zahl umwandelt. Sie müssen jedoch nur einen ADC verwenden, wenn der Sensor wirklich genau abgelesen wird wurde benötigt. In der Praxis möchten wir einfach nur einen Alarm auslösen, wenn ein Furz erkannt wurde, damit alle rennen können! Wenn Sie also darüber nachdenken, ist dies ist eine digitale Erkennung. Es ist ein Furz oder es gibt kein Furz:an oder aus, binär 1 oder 0. Wir müssen uns keine Sorgen um die analoge Wiedergabetreue des Luftqualitätssensors machen.

Wir wissen bereits, dass der Sensor wie ein variabler Widerstand ist:Je schlechter die Luftqualität, desto geringer der Widerstand und desto mehr Spannung wird durchgelassen. Wenn der Sensor mit einem Furz in Kontakt kommt, sollte die Ausgangsspannung logischerweise ansteigen. Daher müssen wir nur diese Spannungsspitzen erkennen und das kann digital erfolgen. Wir können es so machen, dass beim Auftreten einer Spitze ein GPIO-Pin von LOW auf HIGH geht; wir können dann diese Änderung in unserem Code erkennen und eine Alarmtondatei abspielen!

Der obere und untere Schwellenwert

Woher weiß der Raspberry Pi, ob ein GPIO-Pin HIGH oder LOW ist?

Die Antwort auf diese Frage ist eigentlich Teil unserer Lösung. Die GPIO-Pins arbeiten mit 3,3 Volt. Wenn Sie also einen Pin im Ausgabemodus auf HIGH setzen, liefert/liefert dieser Pin 3,3 Volt. Wenn Sie ihn jedoch auf den Ausgang LOW setzen, wird er mit Masse verbunden, könnte aber den Rückweg zum Schließen eines Stromkreises bilden.

Im Eingabemodus funktionieren die Dinge etwas anders. Sie könnten annehmen, dass der Messwert des Pins HIGH ist, wenn er mit 3,3 Volt verbunden ist, und LOW, wenn er mit Masse verbunden ist. Es gibt tatsächlich eine Spannungsschwelle das liegt irgendwo zwischen 1,1 bis 1,4 Volt. Unterhalb der Schwelle ist LOW und darüber HIGH; zum Beispiel würde 1,0 Volt LOW anzeigen, obwohl dort tatsächlich etwas Spannung anliegt, während 1,6 Volt HIGH anzeigen würden, obwohl dies viel weniger als 3,3 ist.

Wenn wir einige Widerstände verwenden, um die Ausgangsspannung des Luftqualitätssensors auf knapp darunter zu senken dieser Schwellenwert, dann wird die von einem Furz verursachte Spitze ihn von NIEDRIG auf HOCH umkippen, und wir haben unsere digitale Furzerkennung.

Verkabeln Sie den Luftqualitätssensor

Dies ist die Unteransicht des Luftqualitätssensors. Die Pinnummern haben folgende Funktionen:

  1. Heizung (-)
  2. Sensorelektrode (-)
  3. Sensorelektrode (+)
  4. Heizung (+)

Es gibt also zwei unterschiedliche Schaltkreise, die wir unterbringen müssen. Zuerst die Heizung (Pins 1 und 4), der verwendet wird, um die Luft zu aktivieren, und der andere ist der Sensor selbst (Pins 2 und 3). Auf der Ausgangsseite (-) des Sensors werden wir unsere Widerstände anschließen. Nehmen Sie das Steckbrett und schieben Sie die vier Stifte des Sensors hinein, so dass er den mittleren Spalt wie unten gezeigt überspannt. Möglicherweise müssen Sie die Stifte etwas biegen, aber dies schadet dem Sensor nicht. Stellen Sie sicher, dass die kleine Lasche dieselbe Ausrichtung wie abgebildet hat.

Wichtig bitte lesen
Das obige Diagramm zeigt ein Raspberry Pi Modell B, wenn Sie einen B+ oder den neuen Pi 2 verwenden, sind die ersten 26 GPIO-Pins bei allen gleich. Sie können also die gleichen Pins verwenden, wie in den Diagrammen angegeben.

Der Sensor kann mit 5 Volt betrieben werden, aber wir werden ihn hier mit 3,3 Volt betreiben, da dies für die Verwendung mit einem GPIO-Eingang sicherer ist. Verwenden Sie die Überbrückungsdrähte, um die oben gezeigten orangefarbenen Verbindungen herzustellen; dies liefert 3,3 Volt an die Pins 3 und 4 des Sensors (beide positive Elektroden). Die Farbe des verwendeten Kabels spielt keine Rolle. Verbinden Sie als nächstes den negativen (-) Anschluss der Heizung direkt mit Masse, wie oben durch die schwarzen Drähte gezeigt.

Wir müssen noch etwas mit der negativen Seite des Sensors machen, Reihe 1 in der oberen rechten Ecke des Steckbretts.

Den Auslösestift verdrahten

Fahren Sie den Raspberry Pi herunter, falls er noch nicht ausgeschaltet ist, indem Sie Folgendes eingeben:

sudo halt 

Trennen Sie vorerst den Strom; wir schließen es später wieder an.

Als nächstes verbinden wir den Ausgang des Sensors mit einem der GPIO-Pins:Dies ist der Trigger-Pin, den wir in unserem Code überwachen werden, um zu sehen, ob ein Furz aufgetreten ist. Verwenden Sie dazu GPIO 4. Nehmen Sie ein Überbrückungskabel und stellen Sie die unten gezeigte weiße Verbindung her.

Als nächstes nehmen Sie einen 47kΩ Widerstand (Widerstände sind farbcodiert, damit Sie sie leichter identifizieren können) und verbinden Sie ihn wie oben gezeigt zwischen dem Sensorausgang und Masse. Dadurch wird ein Teil der vom Sensorausgang kommenden Spannung abgesaugt, um sie auf den Bereich von 1,1 bis 1,4 Volt des GPIO-Schwellenwerts für unseren Trigger-Pin zu senken. Dieser einzelne Widerstand wird jedoch nicht ausreichen, um die Arbeit zu erledigen, also lesen Sie weiter.

Bauen Sie einen Widerstandsleiter-DAC auf

Das Problem, das wir jetzt haben, ist, dass der Luftqualitätssensor trotz des hinzugefügten 47kΩ-Widerstands einen ziemlich großen Ausgangsspannungsbereich hat. 0 Volt wären das, was wir in einem Vakuum finden würden, während das Maximum von 3,3 das wäre, was wir von einem schrecklichen, Augen tränenden, leisen, aber tödlichen Furz sehen würden. Abhängig von der Hintergrundqualität der Luft kann die Ausgangsspannung des Sensors irgendwo innerhalb dieses Bereichs liegen. Daher brauchen wir einen zuverlässigen Weg, um diese Spannung bei unterschiedlichen Luftqualitätsbedingungen immer auf knapp unter den GPIO-Schwellenwert zu senken.

Dazu brauchen wir einen anderen variabler Widerstand, so dass wir die Spannung variieren können, die wir an Masse absaugen. Wir könnten dafür ein Potentiometer verwenden, aber Sie müssen es immer manuell auf die Hintergrundluft einstellen, bevor Sie es verwenden können. Dies ist nicht ideal, wenn Sie die Falle stellen und auf ein ahnungsloses Opfer warten möchten. Die Hintergrundluftqualität kann sich in der Zwischenzeit natürlich ändern und den Alarm ohne Furz auslösen. Umständlich.

Es wäre viel besser, dies von unserem Code aus zu kontrollieren. Dann können wir ihn so programmieren, dass er sich ständig an die Hintergrundluftqualität anpasst, und die Falle muss nicht manuell eingegriffen werden, wenn sich die Luftqualität ändert.

Ein cleverer Trick, den wir hier anwenden können, ist die Widerstandsleiter. Hier haben wir einen Satz sich wiederholender Widerstände, die wir in unserem Code unabhängig voneinander ein- und ausschalten können. Wenn jeder Widerstand einen anderen Wert in Ohm hat, können wir verschiedene Kombinationen davon verwenden, um ungefähr das Verhalten eines variablen Widerstands/Potentiometers zu erreichen.

Die Theorie

Dieser nächste Abschnitt mag ein wenig langweilig erscheinen, aber die behandelten Themen werden Ihrem Verständnis des Projekts enorm helfen, daher rate ich Ihnen, ihn nicht zu überspringen!

Das Diagramm unten schematisch zeigt, wie eine Widerstandsleiter an den Luftqualitätssensor TGS2600 angeschlossen wird. Die Ausgangsspannung des Sensors kommt aus der Pinnummer 2 , und dieser ist mit GPIO 4 verbunden. Dazwischen haben wir jedoch mehrere Stellen, an denen wir die Spannung absaugen können, um die Spannung nach Bedarf auf den GPIO-Pin-Schwellenwert zu senken.

Bisher nur die 47kΩ R0 ist auf Ihrem Steckbrett vorhanden, das direkt mit Masse verdrahtet ist. Die anderen Widerstände (R1 zu R4 ) sind jeweils parallel an einen anderen GPIO-Pin. Dies gibt uns digitale Kontrolle darüber, ob jeder Widerstand ein- oder ausgeschaltet ist. Wenn wir den GPIO-Pin so konfigurieren, dass er INPUT verwendet Modus schaltet dies den Widerstand aus, da der GPIO-Pin intern mit nichts verbunden ist. Wenn wir jedoch die Verwendung von OUTPUT . einstellen, Modus und treiben Sie dann den Pin LOW an, dies verbindet den Widerstand mit Masse und etwas Spannung wird durch ihn abgeschöpft.

Ein Hinweis zu Parallelwiderständen. Der Gesamtwiderstand der Leiter beträgt nicht die Summe aller eingeschalteten Widerstände. Es wäre jedoch, wenn Sie die Widerstände in Reihe schalten würden; Das liegt daran, dass die Spannung nacheinander durch jeden Widerstand fließen müsste. Parallel verteilt sich der Spannungsfluss gleichmäßig auf jeden Widerstand und der Gesamtwiderstand ist weniger . Je mehr Widerstände wir also einschalten, desto niedriger wird der Gesamtwiderstand und desto mehr Spannung wird an Masse abgeleitet.

Da die Leiter digital durch Ein- und Ausschalten von Widerständen gesteuert wird, aber eine analoge Spannung vom Sensor beeinflusst, kann die Schaltung als Digital-Analog-Wandler oder kurz DAC bezeichnet werden. Dies ist das Gegenteil des zuvor erwähnten ADC.

Idealerweise müssen wir den Widerstand linear variieren und eine gute Anzahl möglicher Ein/Aus-Kombinationen haben, die den Bereich der Ausgangsspannung des Luftqualitätssensors berücksichtigen. Überlegen Sie, was passieren würde, wenn alle Widerstände den gleichen Wert in Ohm hätten; wie viele mögliche einmalige Könnte es Kombinationen von Widerstandswerten geben?

Für weitere Details:Schließen Sie einen Sensor an Ihren Raspberry Pi an, um Sie zu warnen, wenn schädliche Gase vorhanden sind!


Herstellungsprozess

  1. Himbeer-Pi-Temperaturlogger
  2. Raspberry Pi Wetterstation
  3. Ultraschallsensor (HC-SR04) + Raspberry Pi
  4. Bewegungssensor mit Raspberry Pi
  5. Raspberry Pi Bodenfeuchtigkeitssensor
  6. Verwandeln Sie Ihren Raspberry Pi in einen Hamster-Fitness-Tracker
  7. Raspberry Pi Temperatur- und Lichtsensor
  8. Raspberry Pi Sensor- und Aktuatorsteuerung
  9. Anschließen eines Lego Mindstorms NXT Ultraschallsensors an den Raspberry Pi
  10. Erstellen Sie Ihr erstes IOT mit einem Raspberry Pi, einem DHT11-Sensor und Thingspeak.