Inhaltsverzeichnis:

Intelligentes Kissen: 3 Schritte
Intelligentes Kissen: 3 Schritte

Video: Intelligentes Kissen: 3 Schritte

Video: Intelligentes Kissen: 3 Schritte
Video: SOFORT BEWEGLICHER werden in 3 Schritten (Funktioniert!) 2024, Juli
Anonim
Intelligentes Kissen
Intelligentes Kissen

Dieses Instructable beschreibt, wie man ein intelligentes Kissen herstellt, das empfindlich auf Schnarchen reagiert!

Das intelligente Kissen nutzt Vibrationen, um dem Schläfer anzuzeigen, wenn er beim Schlafen schnarcht. Es funktioniert automatisch, wenn eine Person den Kopf auf das Kissen legt.

Schnarchen ist ein unglücklicher Zustand, da es nicht nur auf die schnarchende Person, sondern auch auf die Menschen, die um sie herum schlafen, auswirkt. Schnarchen wurde in den USA als wichtigster medizinischer Scheidungsgrund gewählt. Darüber hinaus kann Schlafapnoe eine Vielzahl von Gesundheitsproblemen verursachen, die gemildert werden können, indem sichergestellt wird, dass ein Schläfer keine Position wählt, die zum Schnarchen führt.

In diesem Instructable bauen wir ein System, das Geräusche erkennen und analysieren kann. Wenn es ein Schnarchgeräusch analysiert, schaltet es einen Vibrationsmotor ein, damit der Schläfer aufwacht. Wenn die schlafende Person den Kopf vom Kissen hebt, stoppt der Vibrationsmotor. Wenn ein Schläfer seine Schlafposition ändert, ist es wahrscheinlicher, dass er eine andere Position einnimmt, die das Schnarchen verhindert.

Schritt 1: Kissenaufgaben:

Kissen Aufgaben
Kissen Aufgaben
  • Das Kissen verfügt über einen Berührungssensor, sodass das System automatisch aktiviert wird, wenn die Person ihren Kopf auf das Kissen legt, und im Ruhezustand ist, wenn sie den Kopf anhebt.
  • Wenn das System ein Schnarchgeräusch oder ein anderes kakophonisches Geräusch erkennt, wird ein Vibrator eingeschaltet, um den Schläfer aufzuwecken.
  • Verfügt über 2 vom Benutzer einstellbare Vibrationsmodi: kontinuierlich oder gepulst. Das System ist nützlich für Menschen, die unter Schnarchen leiden. Aus Sicherheitsgründen können auch Personen mit sehr tiefem Schlaf das System nutzen, da es Türklingeln, klingelnde Telefone oder weinende Babys erkennen kann.

Dieses Projekt haben wir mit einem Silego SLG46620V CMIC, einem Schallsensor, einem Vibrationsmotor, einem Kraftmesswiderstand und einigen passiven Komponenten umgesetzt.

Die Gesamtzahl der Komponenten für dieses Design ist recht minimal, obwohl kein Mikrocontroller verwendet wird. Da GreenPAK CMICs kostengünstig sind und einen geringen Stromverbrauch haben, sind sie eine ideale Komponente für diese Lösung. Ihre geringe Größe würde es auch ermöglichen, sie ohne Herstellungsbedenken leicht in das Kissen zu integrieren.

Die meisten Projekte, die auf eine Schallerkennung angewiesen sind, haben eine "falsche Triggerrate", die aufgrund der Fehlermöglichkeiten bei einer Vielzahl von Sensoren erforderlich ist. Die mit diesem Projekt verbundenen Sensoren erfassen lediglich einen Schallpegel; sie erkennen weder die Art des Schalls noch die Art seiner Entstehung. Folglich kann ein falscher Auslöser durch eine Handlung wie Klatschen, Klopfen oder andere Geräusche verursacht werden, die nichts mit dem Schnarchen zu tun haben und die von dem Sensor erfasst werden können.

In diesem Projekt ignoriert das System die kurzen Töne, die eine falsche Triggerrate verursachen, also bauen wir einen digitalen Filter, der ein Tonsegment wie das Schnarchen erkennen kann.

Schauen Sie sich die grafische Kurve in Abbildung 1 an, die das Schnarchgeräusch darstellt.

Wir können sehen, dass es aus zwei Abschnitten besteht, die wiederholt und zeitkorreliert werden. Der erste Abschnitt erkennt das Schnarchen; es ist eine Folge kurzer Pulse, die 0,5 bis 4 Sekunden dauert, gefolgt von einer Ruheperiode, die 0,4 bis 4 Sekunden dauert und Hintergrundgeräusche enthalten kann.

Um andere Geräusche herauszufiltern, muss das System daher ein Schnarchsegment erkennen, das länger als 0,5 Sekunden dauert, und alle kürzeren Geräuschsegmente ignorieren. Um das System stabiler zu machen, sollte ein Zähler implementiert werden, der die Schnarchsegmente zählt, um nach der Erkennung von zwei aufeinanderfolgenden Schnarchsegmenten den Alarm auszulösen.

Auch wenn ein Ton länger als 0,5 Sekunden dauert, wird er in diesem Fall vom System gefiltert, es sei denn, er wird innerhalb eines bestimmten Zeitrahmens wiederholt. Auf diese Weise können wir die Geräusche filtern, die durch eine Bewegung, Husten oder auch kurze Geräuschsignale verursacht werden können.

Schritt 2: Implementierungsplan

Implementierungsplan
Implementierungsplan

Das Design dieses Projekts besteht aus zwei Abschnitten; Der erste Abschnitt ist für die Erkennung von Geräuschen verantwortlich und analysiert diese, um das Schnarchgeräusch zu erkennen, um den Schläfer zu warnen.

Der zweite Abschnitt ist ein Berührungssensor; es ist dafür verantwortlich, das System automatisch zu aktivieren, wenn eine Person ihren Kopf auf das Kissen legt, und das System zu deaktivieren, wenn die schlafende Person ihren Kopf vom Kissen hebt.

Ein intelligentes Kissen kann sehr einfach mit einem einzigen konfigurierbaren Mixed-Signal-IC (CMIC) von GreenPAK implementiert werden.

Sie können alle Schritte durchlaufen, um zu verstehen, wie der GreenPAK-Chip zur Steuerung des Smart Pillows programmiert wurde. Wenn Sie jedoch einfach nur das Smart Pillow erstellen möchten, ohne alle inneren Schaltkreise zu verstehen, laden Sie die kostenlose GreenPAK-Software herunter, um die bereits fertige Smart Pillow GreenPAK-Designdatei anzuzeigen. Schließen Sie Ihren Computer an das GreenPAK Development Kit an und klicken Sie auf Programm, um den benutzerdefinierten IC zur Steuerung Ihres Smart Pillows zu erstellen. Sobald der IC erstellt wurde, können Sie den nächsten Schritt überspringen. Im nächsten Schritt wird die Logik in der Smart Pillow GreenPAK-Designdatei für diejenigen erläutert, die daran interessiert sind, die Funktionsweise der Schaltung zu verstehen.

Wie es funktioniert?

Immer wenn eine Person ihren Kopf auf das Kissen legt, sendet der Berührungssensor ein Aktivierungssignal von Matrix2 an Matrix1 über P10, um den Schaltkreis zu aktivieren und mit der Probennahme vom Schallsensor zu beginnen.

Das System entnimmt innerhalb eines Zeitrahmens von 5 ms alle 30 ms eine Probe vom Schallsensor. Auf diese Weise wird Energieverbrauch gespart & kurze Schallimpulse werden gefiltert.

Wenn wir 15 aufeinander folgende Soundsamples erkennen (keine Stille dauert länger als 400ms zwischen einem der Samples), wird geschlossen, dass der Sound anhaltend ist. In diesem Fall wird das Tonsegment als Schnarchsegment betrachtet. Wenn sich diese Aktion nach einer Stille wiederholt, die länger als 400 ms und weniger als 6 s dauert, wird das aufgenommene Geräusch als Schnarchen betrachtet und der Schläfer wird durch Vibration gewarnt.

Sie können die Warnung für mehr als 2 Schnarchsegmente verzögern, um die Genauigkeit der pipedelay0-Konfiguration im Design zu erhöhen, aber dies kann die Reaktionszeit verlängern. 6sec Frame müsste ebenfalls erhöht werden.

Schritt 3: GreenPAK-Design

GreenPAK-Design
GreenPAK-Design
GreenPAK-Design
GreenPAK-Design
GreenPAK-Design
GreenPAK-Design

Erster Abschnitt: Erkennung von Schnarchen

Der Ausgang des Schallsensors wird mit Pin6 verbunden, der als analoger Eingang konfiguriert ist. Das Signal wird vom Pin zum Eingang von ACMP0 gebracht. Der andere Eingang von ACMP0 ist als 300mv-Referenz konfiguriert.

Der Ausgang von ACMP0 wird invertiert und dann mit CNT/DLY0 verbunden, der als Anstiegsflankenverzögerung mit einer Verzögerung von 400 ms eingestellt ist. Der Ausgang von CNT0 ist hoch, wenn die Erkennung von Stille länger als 400 ms dauert. Sein Ausgang ist mit einem Anstiegsflankendetektor verbunden, der nach Erkennen von Stille einen kurzen Reset-Impuls erzeugt.

CNT5 & CNT6 sind dafür verantwortlich, ein Zeitfenster zu öffnen, das alle 30 ms 5 ms dauert, um Soundsamples aufzunehmen; Während dieser 5 ms gibt der Ausgang von DFF0 einen Impuls an den Zähler CNT9, wenn ein Tonsignal erkannt wird. CNT9 wird zurückgesetzt, wenn eine Stille-Erkennung länger als 400 ms andauert, woraufhin es die Zählung der Sound-Samples neu startet.

Der Ausgang von CNT9 ist mit DFF2 verbunden, das als Punkt verwendet wird, um ein Schnarchsegment zu erkennen. Wenn ein Schnarchsegment erkannt wird, schaltet der Ausgang von DFF2 auf HI, um CNT2/Dly2 zu aktivieren, das so konfiguriert ist, dass es als "fallende Flankenverzögerung" mit einer Verzögerung von 6 Sekunden arbeitet.

DFF2 wird nach einer Stilleerkennung zurückgesetzt, die länger als 400 ms dauert. Es beginnt dann erneut mit der Erkennung eines Schnarchsegments.

Der Ausgang von DFF2 durchläuft Pipedelay, das über LUT1 mit Pin9 verbunden ist. Pin9 wird mit dem Vibrationsmotor verbunden.

Die Ausgabe von Pipedelay wechselt von Low zu High, wenn zwei aufeinanderfolgende Schnarchsegmente innerhalb des Zeitfensters für CNT2 (6 Sek.) erkannt werden.

LUT3 wird verwendet, um das Pipedelay zurückzusetzen, sodass seine Ausgabe niedrig ist, wenn die schlafende Person ihren Kopf vom Kissen hebt. In diesem Fall wird das Zeitfenster von CNT2 beendet, bevor zwei aufeinanderfolgende Schnarchsegmente erkannt werden.

Pin3 ist als Eingang konfiguriert & ist mit einem "Vibrationsmodus-Taster" verbunden. Das von Pin3 kommende Signal durchläuft DFF4 und DFF5 konfiguriert das Vibrationsmuster auf eines von zwei Mustern: Modus1 und Modus2. Bei Modus1: Bei erkanntem Schnarchen wird ein Dauersignal an den Vibrationsmotor gesendet, was bedeutet, dass der Motor kontinuierlich läuft.

Im Fall von Modus2: Wenn Schnarchen erkannt wird, wird der Vibrationsmotor mit dem Timing des CNT6-Ausgangs gepulst.

Wenn der Ausgang von DFF5 also hoch ist, wird Modus1 aktiviert. Wenn es niedrig ist (Modus 2), ist der Ausgang von DFF4 hoch und der Ausgang von CNT6 erscheint an Pin9 bis LUT1.

Die Empfindlichkeit des Schallsensors wird durch ein im Modul eingestelltes Potentiometer gesteuert. Der Sensor sollte zum ersten Mal manuell initialisiert werden, um die erforderliche Empfindlichkeit zu erreichen.

PIN10 ist mit dem Ausgang von ACMP0 verbunden, der extern mit einer LED verbunden ist. Wenn der Schallsensor kalibriert ist, sollte der Ausgang von Pin10 ziemlich niedrig sein, was bedeutet, dass die externe LED, die an Pin10 angeschlossen ist, nicht flackert. Auf diese Weise können wir garantieren, dass die vom Schallsensor erzeugte Spannung die 300mv ACMP0 Schwelle nicht überschreitet.

Wenn Sie zusätzlich zur Vibration einen weiteren Alarm benötigen, können Sie an Pin9 einen Summer anschließen, damit auch ein akustischer Alarm aktiviert wird.

Zweiter Abschnitt: Berührungssensor

Der von uns gebaute Berührungssensor verwendet einen Force-Sensing-Widerstand (FSR). Kraftmesswiderstände bestehen aus einem leitfähigen Polymer, das bei Krafteinwirkung auf seine Oberfläche den Widerstand vorhersagbar ändert. Der Sensorfilm besteht sowohl aus elektrisch leitenden als auch aus nichtleitenden Partikeln, die in einer Matrix suspendiert sind. Das Aufbringen einer Kraft auf die Oberfläche des Sensorfilms bewirkt, dass Partikel die leitenden Elektroden berühren, wodurch sich der Widerstand des Films ändert. FSR gibt es in verschiedenen Größen und Formen (Kreis & Quadrat).

Der Widerstand überstieg 1 MΩ ohne angelegten Druck und reichte von etwa 100 kΩ bis zu einigen hundert Ohm, wenn der Druck von leicht bis schwer variierte. In unserem Projekt wird FSR als Kopfberührungssensor verwendet und befindet sich im Kissen. Das durchschnittliche Kopfgewicht eines Menschen liegt zwischen 4,5 und 5 kg. Wenn der Benutzer seinen Kopf auf das Kissen legt, wird eine Kraft auf den FSR ausgeübt und sein Widerstand ändert sich. GPAK erkennt diese Änderung und das System wird aktiviert.

Der Anschluss eines Widerstandssensors besteht darin, ein Ende an die Stromversorgung und das andere an einen Pull-Down-Widerstand an Masse anzuschließen. Dann wird der Punkt zwischen dem festen Pulldown-Widerstand und dem variablen FSR-Widerstand mit dem analogen Eingang eines GPAK (Pin12) verbunden, wie in Abbildung 7 gezeigt. Das Signal wird vom Pin zum Eingang von ACMP1 gebracht. Der andere Eingang von ACMP1 ist mit einer 1200-mv-Referenzeinstellung verbunden. Das Vergleichsergebnis wird in DFF6 gespeichert. Wenn eine Kopfberührung erkannt wird, schaltet der Ausgang von DFF2 auf HI, um CNT2/Dly2 zu aktivieren, das so konfiguriert ist, dass es als "fallende Flankenverzögerung" mit einer Verzögerung von 1,5 Sekunden arbeitet. In diesem Fall, wenn sich der Schläfer von einer Seite zur anderen bewegt oder dreht und der FSR weniger als 1,5 Sekunden unterbrochen wird, ist das System immer noch aktiviert und es erfolgt kein Reset. CNT7 und CNT8 werden verwendet, um FSR und ACMP1 für 50 ms alle 1 Sek. zu aktivieren, um den Stromverbrauch zu reduzieren.

Abschluss

In diesem Projekt haben wir ein intelligentes Kissen entwickelt, das zur Schnarcherkennung verwendet wird, um die schlafende Person durch Vibration zu alarmieren.

Wir haben auch einen Berührungssensor mit FSR entwickelt, um das System bei der Verwendung des Kissens automatisch zu aktivieren. Eine weitere Verbesserungsoption könnte darin bestehen, FSRs parallel zu entwerfen, um größere Kissen aufzunehmen. Wir haben auch digitale Filter entwickelt, um das Auftreten von Fehlalarmen zu minimieren.

Empfohlen: