Spa Vest

Aus HRW FabLab MediaWiki
Wechseln zu: Navigation, Suche
Spa Vest

Spavest logo.png

Entwickler

Safeer Ahmad Khan, Ibrahim Yilmaz, Max Popkov

Verw. Programmiersprache

Python

Eingesetzte Hardware

Raspberry Pi Zero W, Vibrationsmotoren, Heizfolie, Relais, Akku, Spannungswandler



Projektidee[Bearbeiten]

Projektposter
Unser Besuch bei den Diakonischen Werken

SpaVest bietet Entspannung für unterwegs. Mit einer Fernbedienung können eine Massage- und Wärmefunktion beliebig ein- und ausgeschaltet werden. Sie verfügt über einen integrierten Akku und kann damit auch fernab von einer Steckdose verwendet werden. Die Verwendung der Weste sorgt für eine Tiefenentspannung und unterstützt den Nutzer z.B. bei einer Meditation. Das Projekt wurde mit Unterstützung unseres Coaches Tanja Lovric und in Zusammenarbeit mit Projektpartnerin Aileen von den Diakonischen Werken Gladbeck-Bottrop-Dorsten umgesetzt.

Projektplan[Bearbeiten]

Nach der Konzeption der Idee wurde ein grober Zeitplan aufgestellt und eine vorläufige Liste von benötigt Teilen angelegt. Anschließend wurden fehlende Teile bestellt und mit der genauen Planung und Umsetzung des Projektes begonnen.

Kostenaufstellung[Bearbeiten]

Materialliste
Beschreibung Kosten pro Stück in € Anzahl
Neopren Grundweste 13,99 1
11,1V 3800 mAh 20c Eco-Line LiPo-AKKU 3-Zellig 30,99 1
LIPO SUMMER (2-4S) 9,99 1
DC-DC Wandler Converter LM2596S Step-down Modul 3,99 1
Vibrationsmotoren â 5 Stück 7,98 2
Niedervolt Heizfolie 12V 12,90 1
Gesamtkosten: 79,84€



Material[Bearbeiten]

Weste[Bearbeiten]

Eine einfache Neoprenweste bildet die Basis der SpaVest. Für die Implementierung der Funktionalität wurde diese an verschiedenen Stellen modifiziert. Der Stoff wurde aufgrund der Elastizität und Wärmeleiteigenschaften gewählt.

Akku[Bearbeiten]

Ein 3-Zellen Lithium-Polymer-Akku beliefert alle elektronischen Komponenten der SpaVest mit Strom. Der Akku verfügt über eine Kapazität von 3800 mAh, eine Entladerate von 20 C und eine Stromstärke von 11.1 Volt.
Besonders für zuverlässiges Betreiben der Wärmefunktionen waren diese technischen Daten ausschlaggebend für die Wahl des Akkus.

Microcontroller[Bearbeiten]

Als Steuergerät wird ein Raspberry Pi Zero W verwendet. Damit werden die Nutzereingaben der Fernbedienung verarbeitet und dementsprechend die Funktionen der SpaVest angesteuert.

Relais[Bearbeiten]

Die Vibrations- und Wärmefunktionen werden mit einem Doppelrelais getrennt ein- und ausgeschaltet.

Spannungswandler[Bearbeiten]

Für die korrekte Stromzufuhr an den Microcontroller wird ein DC-DC Step-Down Modul verwendet. Es erfolgt eine Reduktion von 12V auf 5V.

Sensorik[Bearbeiten]


LiPo Summer[Bearbeiten]

Der LiPo Summer warnt bei zu niedriger Restspannung des Akkus mit einem lauten Ton, um eine Beschädigung zu vermeiden. Erforderlich war ein 2-4S LiPo Summer, welcher auch für 3-zellige Akkus passend ist.

Aktorik[Bearbeiten]


Vibrationsmotoren[Bearbeiten]

Die Weste verfügt über 10 Vibrationsmotoren, wobei einer eine Rotationsgeschwindigkeit von 12000 RPM aufweist. Die Motoren laufen über 3 V und wurden in Reihe geschaltet.

Heizfolie[Bearbeiten]

Die Wärmefunktion wurde mit einer Carbonfaser-Heizfolie implementiert. Diese wird mit 12V angetrieben und hat eine Größe von 50cm x 30cm

Umsetzung[Bearbeiten]

Um die Komponenten der SpaVest effizient & effektiv an die Basis-Weste anzubringen wurden diese an deren jeweilige Positionen vernäht und mit dünnem Stoff abgedeckt.
Zusätzlich dazu wurden Kabelführungen und eine Tasche für die Steuereinheit angebracht. Die Tasche kann frontal mit Reißverschlüssen geöffnet werden und
verfügt über eine seitliche Öffnung für Kabel der Fernbedienung und Heizfolie

3D Modelle & Druck[Bearbeiten]


Steuergerät[Bearbeiten]

Die Komponenten des Steuergeräts sind alle in einer Box befestigt, welche sich in der Tasche auf der rechten Innenseite der SpaVest befindet.
Diese wurde von uns modelliert und im FabLab von einem 3D-Drucker ausgedruckt.

Massagefunktion[Bearbeiten]

Jeweils 5 der Vibrationsmotoren wurden pro Schulter in einer von uns modellierten Haltevorrichtung an der SpaVest angebracht.

Fernbedienung[Bearbeiten]

Das Gehäuse der Fernbedienung wurde ebenfalls von uns modelliert und im FabLab ausgedruckt.
Unter den großen Schaltflächen befinden sich Klickschalter, die über ein modifiziertes USB-Kabel Signale an den Microcontroller senden.

Hardware[Bearbeiten]


SpaVest Schaltdiagramm

Die Funktionen der SpaVest werden von einem LiPo Akku angetrieben, dessen positiver Pol mit allen Komponenten direkt verbunden ist. (Microcontroller indirekt über Spannungswandler)
Der negative Pol ist über das Relais mit der Massage und Wärmefunktion verbunden.
Dieses ist mit dem Microcontroller verbunden, der über die mit diesem verbundene Fernbedienung letzten Endes das Relais ansteuert.


Software[Bearbeiten]



Die Funktionalität der SpaVest wird durch ein Python Script gewährleistet.
Das Script wird automatisch gestartet und kann zusätzlich mit einem Smartphone oder Computer über eine SSH-Verbindung überwacht werden.

Im ersten Schritt werden die benötigten GPIO Pins des Raspberry Pi in den korrekten Modus versetzt und initialisiert:

GPIO.setmode(GPIO.BCM)

GPIO.setup(6, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(12, GPIO.IN, pull_up_down=GPIO.PUD_UP)

GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)

GPIO.output(17, GPIO.HIGH)
GPIO.output(18, GPIO.HIGH)

top_prev = 1
bottom_prev = 1
state_vibration = False
state_heat = False
lasttoggle = time.time()

Anschließend wird einer (endlosen) Schleife auf eine Nutzereingabe über die Fernbedienung gewartet. Dabei wird mit folgender Fallunterscheidung zwischen den 2 Knöpfen unterschieden und die Reaktion auf das Loslassen eines Knopfes ignoriert:

while True:

    top = GPIO.input(6)
    bottom = GPIO.input(12)

    if ((top_prev == 1) and (top == 0)):
         toggleVibration()
         top_prev = top

    if ((top_prev == 0) and (top == 1)):
         top_prev = top

    if ((bottom_prev == 1) and (bottom == 0)):
        toggleHeat()
        bottom_prev = bottom

    if ((bottom_prev == 0) and (bottom == 1)):
         bottom_prev = bottom

Die Funktionen zum Ein- und Ausschalten der Wärme und Vibrationsfunktionen werden dementsprechend aufgerufen:

def toggleVibration():
    global state_vibration
    global lasttoggle
    thistoggle = time.time()
    diff = float(thistoggle - lasttoggle)
    state_vibration = not state_vibration
    print("\nVibration: ")
    print(state_vibration)
    if ((diff>1) and (state_vibration == True)):
        GPIO.output(17, GPIO.LOW)
        lasttoggle = thistoggle

    else:
        GPIO.output(17, GPIO.HIGH)

def toggleHeat():
    global state_heat
    global lasttoggle
    thistoggle = time.time()
    diff = float(thistoggle - lasttoggle)
    state_heat = not state_heat
    print("\nHeat: ")
    print(state_heat)
    if ((diff>1) and (state_heat == True)):
        GPIO.output(18, GPIO.LOW)
        lasttoggle = thistoggle
    else:
        GPIO.output(18, GPIO.HIGH)

Ausblick[Bearbeiten]

Nach der Fertigstellung konnten einige mögliche Verbesserungen und Erweiterungen der SpaVest konzipiert werden.
Folgende Verbesserungen an der SpaVest selbst könnten in einer möglichen zweiten Version durchgeführt werden:

  • Optimierung der Stromversorgung (anderer, kleinerer Akku)
  • Vereinen der einzelnen Steuerkomponenten auf eine Platine
  • Flexibleres Heizelement
  • Größerer Abdeckungsbereich der Massagefunktion


Außerdem könnten folgende Neuerungen die Erfahrung mit SpaVest verbessern:

  • Beleuchtung (zB. Status Informationen zum Zustand der Wärme und Massagefunktionen)
  • Automatisches abschalten nach einstellbarer Zeit
  • Massage "Muster"


Natürlich sind weitere "Produkte" (zB. Anzug, Pullover, Handschuhe...) denkbar.