Treppenstufenbeleuchtung

  • Hallo Zusammen,


    inspiriert von diesem Projekt wollte ich auch meine Treppenstufen zum leuchten bringen. Allerdings wollte ich das Ganze auf meine Weise verwirklichen und habe einen etwas anderen Ansatz verfolgt. Daher eröffne ich einen eigenen Thread, um euch das Ganze vorzustellen.


    Ich habe für die Ansteuerung einen Arduino Nano in Kombination mit einem TI TLC5940 benutzt. Der Arduino ist zum Beispiel für c.a. 25€ aus Amazon erhältlich, Klone bekommt man für c.a. 10-15€. Der TLC5940 ist ein sehr feiner IC mit 16 PWM Ausgängen und 4096 Graustufen pro Kanal. Außerdem ist er kaskadierbar, hat also jemand eine sehr lange Treppe :P oder möchte z.B. einen Korridor mit beleuchten, kann einfach mehrere ICs einsetzen und hat quasi unbegrenzt viele einzeln ansteuerbare viele LED Kanäle. Ich gehe später nochmal in Detail auf dieses Bauteil ein.


    Jede Treppenstufe bekommt ein Stück LED-Streifen spendiert. Die Streifen (und auch die Sensoren) werden über ein Flachbandkabel und Schraubklemmen mit der Platine verbunden. Die Belastbarkeit pro Kanal wird nur durch das eingesetzte Schalt-MOSFET und dessen Abwärme beschränkt. Bei guter Kühlung kann man auch einen ganzen Haufen HP-LEDs schalten.


    Als Steuerzentrale wurde der Arduino gewählt, weil der von jedem sehr einfach zu beflashen ist, einfach USB Stecker ran und den Code uploaden. Über ISP kann man den auch beflashen, wer es klassisch mag. Ein Arduino ist ja nix anderes als ein ATMEGA mit FTDI Chip für den USB Anschluss.


    Zwar befindet sich das Ganze noch in Entwicklung, und ist noch weit von der Perfektion des oben verlinkten Projektes entfernt, aber der Prototyp ist funktionsfähig und der Stand so fortgeschritten, dass ich das doch schon auf das Forum loslassen kann :D


    Ich habe bis jetzt bereits gut eine Woche gebraucht für den Entwurf und Aufbau der Verschaltung und die Software. Von daher kann man davon ausgehen, dass da noch was kommt =)


    Meine Platine sieht im Moment so aus:


    Der Aufbau ist eigentlich ziemlich kompakt. Die Versorgung übernimmt ein 12V Netzteil. Nimmt man statt dem Step-Down Modul (hatte ich einfach übrig gehabt) einen einfachen Spannungsregler wie 7805 oder LM317, und lässt man die Schaltern und Tastern, die nur für Testzwecke aufgelötet sind weg, ist der Aufbau locker auf einer halben Europlatine (100x80) unterzubringen. Die beiden Tastern oben rechts simulieren jeweils eine Lichtschranke (drücken = Lichtschranke überschritten).
    Die Reihe LEDs stellen aufgrund Ihrer Verschaltung eine Vorschau für das Leuchten der Stufen dar.


    Um die Funktion schon mal zu demonstrieren habe ich ein Video bei Youtube hochgeladen. Zur Erklärung für 0:34: Mit dem DIP Schalter kann man in den Helligkeit-Regel-Modus kommen. Mit dem Potentiometer kann man die Helligkeit einstellen und die eingestellte Helligkeit wird wie beim VU-Meter von den LEDs angezeigt. Die Timings, Anzahl der Treppenstufen und benutzten Pins sind bequem in Header vom Quellcode einstellbar.


    RhbeK8eDTr8



    Da es schon spät ist, werde ich euch erstmal mit dem Video allein lassen :) Ich werde morgen genauer auf die Hardware/Schaltung eingehen und vielleicht auch schon den Quellcode posten und ein wenig erklären, wenn Interesse besteht.


    Gute Nacht und viele Grüße,
    iceananas

  • Das ja mal ein geiles Ding !!
    Bin ja mal gespannt ...
    Willst du Lichtschranken nehmen ?

    Ich habe oben zwar von Lichtschranken geschrieben, aber so festgelegt habe ich mich noch nicht.
    Im Moment werde ich wohl diese Module benutzen. Sie haben war nur eine Reichweite von c.a. 30 cm, das reicht mir aber bei meiner Treppe (ich bin Student und wohne im Bungalowdorf in München. Mein Bungalow hat insgesamt 24qm auf 2 Etagen :D von daher ist die Treppe nicht sonderlich breit).
    Wenn das Projekt ausgereift ist, werde ich noch ein Exemplar für das Haus meiner Eltern anfertigen. Dann werde ich entweder "richtige" Infrarotlichtschranken nehmen oder ein Ultraschallsensor.

    Hi, an dem Programm muss ich noch etwas feilen aber der Ablauf wird so ähnlich sein. Interessant wird es bei meinen Eltern, wenn mehrere Personen im Haus sind und gleichzeitig die Treppe betreten. Ich denke ich werde da zwei Sensoren jeweils am Anfang und Ende der Treppe platzieren, um die Richtung erkennen zu können.


    Das mit dem Helligkeitssensor ist eine gute Idee, das werde ich noch implementieren.
    Da beim Arduino nur die SPI Pins für den LED Treiber belegt (4 Stück) sind habe ich noch die anderen 8 digitalen IO Ports sowie 7 analogen Eingängen für Sensoren :D


    Und ja, das läuft alles über einem 12V Netzteil. Die Versorgungsspannung wird für das Arduino und dem IC mit dem Step-down Modul runtergewandelt.

    Genial! Bin schon auf die Details gespannt! :D

    Danke, diese folgen zeitnah :P

  • 1
    Hi, an dem Programm muss ich noch etwas feilen aber der Ablauf wird so ähnlich sein. Interessant wird es bei meinen Eltern, wenn mehrere Personen im Haus sind und gleichzeitig die Treppe betreten. Ich denke ich werde da zwei Sensoren jeweils am Anfang und Ende der Treppe platzieren, um die Richtung erkennen zu können.


    2
    Und ja, das läuft alles über einem 12V Netzteil. Die Versorgungsspannung wird für das Arduino und dem IC mit dem Step-down Modul runtergewandelt.

    1. Wäre doch auch möglich das der Arduino Signale die kurz hintereinander eingehen nicht berücksichtigt. Dann wäre auch das mit rechtem-linkem Bein kein Problem.


    2.
    Wie ist das vom Stromverbrauch, wenn das große Netzteil die ganze Zeit in Betrieb ist?

  • So, alle wartenden muss ich leider auf die nächsten Tage vertrösten. Ich habe heute die LED Streifen angebracht und es war nicht so ganz leicht, da ich ja in einer Wohnanlage wohne und ich nirgends bohren oder geschweige denn die Wand einschlagen kann, um die Kabeln zu verlegen. Zum Glück ist seitlich der Treppe eine Ritze, in der ich das ganze Kabelgedöns reinstopfen kann. Bei der Installation habe ich dann festgestellt, wie dreckig meine Wohnung war - von daher musste ich erstmal Hausputz machen und dann war es schon nach Mitternacht :|


    Wie auch immer, es scheint alles zu funktionieren und ich werde die nächsten Tage etwas ausführlicher über den Aufbau berichten und das ein oder andere Foto und Video machen. Eins kann ich sagen: es sieht verdammt cool aus 8) :D

    1. Wäre doch auch möglich das der Arduino Signale die kurz hintereinander eingehen nicht berücksichtigt. Dann wäre auch das mit rechtem-linkem Bein kein Problem.


    2.
    Wie ist das vom Stromverbrauch, wenn das große Netzteil die ganze Zeit in Betrieb ist?

    1. Das ist nicht das Problem - das lässt sich ja mit einem Delay einfach lösen. Das Problem ist - wenn beispielsweise der Sensor unten zweimal in fünf Sekunden anschlägt - was ist passiert? A. Die Person drehte in der Mitte der Treppe um oder B. eine zweite Person hat die Treppe betreten. Daher würde ich eine Richtungserkennung mit zwei Sensoren bevorzugen. Im Moment habe ich es so gelöst, dass im Zweifelsfall das Licht erst nach einem Maximal-Timeout ausgeht.



    2. Darüber habe ich mir noch nicht so die Gedanken gemacht - zur Zeit ist das alles noch proof-of-concept :P Aber ich nehme mal an, dass die paar Milliampere, die der Arduino und die Sensoren im Leerlauf verbrauchen nicht der Rede wert ist. Ich werde das später nochmal überprüfen.

  • So, jetzt wie verprochen die Details.


    Erstmal möchte ich die Hardware erläutern.
    Es werden folgende Bauteile benötigt:


    - 1x Arduino Nano (auch ein Arduino Uno ist möglich, die Pinbelegung ist gleich). (Bezugsquelle arduino.cc, amazon, ebay...)


    - 1x TI TLC5940 pro 16 Kanäle (Entweder direkt von TI als Sample zuschicken lassen oder bei ebay für 5€ pro Stück)
    Datenblatt: http://www.ti.com/lit/ds/slvs515c/slvs515c.pdf


    - 1x P-Kanal MOSFET
    pro Kanal. Die Wahl ist relativ unkritisch, so lang der MOSFET die Leistung schalten kann. Bei microcontroller.net gibt es eine nette Übersicht (http://www.mikrocontroller.net…9Cbersicht#P-Kanal_MOSFET). Das einzige, worauf man achten kann, ist dass der Drain-Source Widerstand (RDS,on) möglich klein sein soll, um Verlustwärme zu reduzieren. Der IRF4905 beispielsweise ist da eine sehr gute Wahl.


    - LED Streifen, die man verlegen möchte.


    - Diverse Widerstände und optional (Vorschau) LEDs.


    - 1x Potentiometer mit möglichst hohem Gesamtwiderstand, z.B. 470kOhm.


    - 1x Schalter.



    Der Arduino wird wie folgt mit dem TLC5940 verschaltet:



    R2 ist ein Pullup-Widerstand, dessen Wert im kOhm Bereich unkritisch ist. 10kOhm ist ein üblicher Wert. R1 legt den Ausgangsstrom des ICs fest, zur Berechnung komme ich weiter unten. Hierzu muss man folgendes wissen: der TLC5940 hat 16 Konstantstromausgängen. Es sind eher Konstantstromsenken, da der Minuspol auf der Seite des ICs liegt, aber ich sage einfachheitshalber KSQ :). Laut Datenblatt kann der IC jeden Kanal mit bis zu 120mA versorgen, ohne Vorwiderstand. Leider muss man dabei beachten, dass der IC bei hohen Strömen UND viele Kanäle sofort durch Verlustwärme gegrillt wird, der quasi 16 lineare KSQs in dem kleinen Chip integriert sind. Um größere Leistungen schalten zu können habe ich eine Schaltung verwendet, den ich im TI Forum aufgeschnappt habe:



    (exemplarisch für OUT0, das muss für jeden Kanal aufgebaut werden).


    Das funktioniert wie folgt: wenn der IC einen Kanal ausschaltet, z.B. Kanal 0, wird der Ausgang hochohmig. Die Gatespannung VGS wird durch R3 auf -12V hochgezogen. Wenn der IC einen Kanal einschaltet, fließt ein Strom (in physikalischer Richtung) von OUT0 über die Vorschau-LED und R3 zum Pluspol. VGS beträgt dann -12V+VR3+VLED. Zur Auslegung sollte VR3+VLED = 12V sein. 1. wird das MOSFET sicher durchgeschaltet, 2. fällt keine Spannung mehr im IC ab und die Verlustspannung wird minimiert. In der Praxis fällt doch ~0,5V Drop im IC ab, aber bei der Berechnung kann man das ruhig vernachlässigen.


    Ich habe mich für R3=750Ohm entschieden. Bei einer weißen LED fließt ein Strom von 12mA. Jetzt fehlt noch R1 von oben, der Wert wird mit der Formel R=39,06/I berechnet, was bei 12mA c.a. 3,3kOhm ergibt.
    Die LEDs kann man auch weglassen, dann muss gesamte Spannung an R3 abfallen. Mit dem Ohmschen Gesetz R=U/I kann das dann jeder für sich die Werte ausrechnen ;)


    Mit R1=3,3kOhm, R2=10kOhm und R3=750Ohm hat man alle Werte, die man für die Schaltung benötigt.



    Durch die Verwendung des ICs stehen die frei gebliebenen I/O Pins 0,1,2,4,5,6,7,8 und 12 für Sensoren und den Schalter zur Verfügung. An welchem Pin man was anschließt ist erstmal egal, das wird im Quellcode im Header festgelegt.


    Der Schleifkontakt vom Potentiometer wird an einem analogen Eingang von Arduino angeschlossen.


    Die Sensoren machen noch leichte Probleme, deswegen werde ich noch nichts dazu schreiben. Das kommt später.


    Ich hoffe ich habe keine wichtigen Infos vergessen :)


    Zur Software komme ich heute nicht mehr, aber zur Entschädigung ein Demovideo von dem Ding in Betrieb:


    SxjLwD58Ri0
    Zur Erklärung wieso die oberen Stufen dunkler sind: das sind andere Streifen. Bei meiner Treppe kann ich die Streifen nur "nach vorne zeigend" anbringen. Bei normalen Streifen würde man beim hochgehen beblendet werden. Daher habe ich für die oben Stufen Side-LED-Streifen genommen, die zeigen seiten nach unten.
    Bei 0:30 habe ich das Licht mitten beim Ausfaden ausgelöst, um zu zeigen, was das Licht in so einer Situation macht. Es wird praktisch immer die Sensorwerte geprüft, egal was das Licht gerade macht.


    Frohe Ostern!


    Iceananas

  • Kommen wir jetzt zur Software:


    alles was man braucht, um das Programm aufzuspielen, ist


    - einen PC mit USB Anschluss
    - die Arduino Software, die man sich hier herunterladen kann: http://arduino.cc/en/Main/Software
    - sowie diese wunderbare TLC5940 Bibliothek: http://code.google.com/p/tlc5940arduino/


    Diese Bibliothek war auch eine der Gründe, wieso ich zum Arduino gegriffen habe. Die macht die Sache auch für Laien sehr einfach. Die Initialisierung von der SPI Schnittstelle, die Timern einstellen, das Rumschubsen von Registerwerten usw. kann man sich sparen und wurden in simplen Funktionen zusammengefasst.


    Der kommentierte Quellcode an sich ist ein bisschen lang, um den hier reinzukopieren. Ich habe den bei Pastebin hochgeladen und hier ist der link:
    http://pastebin.com/AdGuh5Qm


    Ein kleiner Einstellungsbereich ist markiert, den Rest vom Code muss man im Grunde nicht anfassen :)


    Wer es nachbauen will, einfach Quellcode in die Arduino Software einkopieren und auf das Arduino hochladen - fertig :)


    Schönen Feiertag alle zusammen,


    iceananas

  • Danke. Die Geschwindigkeit kann ja jeder für sich einstellen ;)


    Mir war es auf jeden Fall nur wichtig, dass die Animation flüssig vonstatten geht und nicht abgehackt (eins nach dem anderen). Wenn man genau hinschaut fängt die nächste Stufe schon an zu faden während die Stufe davor noch nicht die volle Helligkeit erreicht hat. Ich plane schon mehr schöne Effekte einzubauen (wie z.B. Highlighting einer Stufe wenn einer draufsteht, bei entsprechende Sensoren versteht sich :P ).

  • Hi!


    Danke für den Hinweis, ein Exemplar von dem von dir besagten Sensor ist unterwegs, der wird sich erstmal zu seinen anderen Freunden gesellen und später getestet :D


    Bezüglich deiner Frage:


    ich habe vor dem posten doch glatt eine Zeile zu viel aus dem Quellcode gelöscht! Ich habe eine eigene Variante zum Testen, worin Programmzeilen zum debuggen verstreut auftauchen, die ich zum Veröffentlichen rausgenommen habe, um keine Verwirrung zu stiften. Daher ist es mir bisher nicht aufgefallen.


    switch1 hängt am Pin 8. Aber ist ja im Grunde egal wo der hängt, hauptsache irgendwo, wo nix besetzt ist :)


    Vielen Dank für den Hinweis, der Quellcode wurde korrigiert.

  • Nun eröffne ich ein Post für die Sensoren.


    Wo soll ich denn nur anfangen? Ich begebe mich gerade auf eine wahre Odysee :) Während das erste Testexemplar gut läuft, hat dieses Projekt das richtig große Spielkind ich mir geweckt.


    Mit einem standard Lichtschrankenbausatz wie in dem anderen Thread wollte ich mich aus mehreren Gründen nicht zufrieden geben. Zuerst besteht bei mir keine Möglichkeit, die Wand durchzuschlagen. Sprich der Sensor muss möglichst klein und unauffällig draußen platziert werden. Auch möchte ich die Erkennung ein Stück vor der Treppe haben, und da ist ein Reflektor nicht anzubringen. Außerdem ist mir so ein Bausatz, im Kontrast zum modern wirkenden LED-Lichtleisten ein wenig zu - oldschool :P Zu guter letzt möchte ich gerne eine günstigere Lösunge finden (ist jetzt bisschen albern, nachdem ich mir Scharen von Sensoren zum spielen geholt habe...).



    Fangen wir mit der Bestandslösung von mir an:



    IR-Sensoren


    Ich habe im ersten Post erwähnt, dass ich für den Anfang diese verwende: http://dx.com/p/ir-infrared-sensor-switch-module-121517


    Die funktionieren im Grunde genau so wie die 0815 Lichtschranken Bausätz, mit dem Unterschied, dass der Sensor nicht den unterbrochenen Lichtstrahl detektiert, sondern das vom Objekt zurückgeworfene Licht. Das hat leider zur Folge, dass die Reichweite erheblich eingeschränkt wird. Aufgrund der Größe ist auch anzunehmen, dass die Leistung ohnehin kleiner ist als beim großen Bausatz. Ich bekomme eine maximale Reichweite von c.a. 30cm (weißes Papier) bis 15cm (schwarze Socken), was bei meiner Treppe schon zu wenig ist. Für eine Treppe mit über 1m Breite ist das definitiv nix.
    Immerhin ist das Licht moduliert, also ist das Modul unempfindlich gegen Tageslicht. Auf der Platine sitzt ein NE555, der die IR Diode auf die richtige Frequenz moduliert. Auch ansonsten ist das ein schönes Modul, das Signal ist absolut nicht zu stören, auch wenn das Kabel zusammen mit wild schwingenden PWM Leitungen zusammen verlegt wird. Ich werden schauen, ob ich die IR Diode ein wenig pimpen kann, um eine höhere Reichweite zu bekommen.
    Low-cost ist das Teil zumindest auch, 1,73€/Stück bei 3 Stück Bestellmenge, da kann man sich nicht beschweren.




    Sehr häufig sind auch diese Sensoren anzutreffen: http://dx.com/p/arduino-infrar…otoelectric-sensor-139741
    sie sollten genauso funktionieren wie die von oben, halt nur in einem Gehäuse verpackt. Mein Exemplar ist noch nicht da, ich werde ein Update einreichen, wenn ich irgendwas signifikantes festestelle.




    Kommen wir zum nächsten Kandidat: Sharp GP2Y0A21YK0F (ich weiß, sehr eingängiger Name).
    Das Ding ist eigentlich ein wenig overkill für meine Zwecke und low-cost ist es auch nicht, aber der ist so schön, dass ich ihn einfach haben will. Eventuell werde ich ihn für anderen Zwecke einsetzen. Beim blauen C kostet der unverschämte 20€, ich habe ihn bei Watterott für 9€ gekauft: http://www.watterott.com/de/Sharp-GP2Y0A21YK0F


    Der Sharp ist ein analoger Distanzsensor. Wird in der Reichweite ein Objekt erfasst, gibt der Sensor eine bestimmte Spannung zurück. Ein Plot vom Spannungsverlauft ist im oben verlinkten Datenblatt zu finden. Dabei ist es dem Sensor wurst. welche Farbe das Objekt hat, denn es wird über den Winkel des zurückgeworfenen Lichtes die Distanz ermittelt.


    Beim Auspacken gleich die erste Stoplerfalle: der von Sharp verwendete Steckerbuchse hat nicht RM2,54 sondern ist geringfügig kleiner. Warum sie das machen ist mir unbekannt geblieben, Platz ist eigentlich genug da. Auf jeden Fall musste ich mit etwas Gefummel eine standard-Pinleiste dranlöten. Danach mit 5V versogt und ans Oszi geklemmt, was seh ich da? Das Ding misst wirklich gut, und gibt sogar außerhalb der angegebenen Reichweite (5cm-100cm) brauchbare Spannungen zurück. Doch dann beobachtete ich einige Auswüchte im Signal, unregelmäßig springt der Messwert impulsartig in die Höhe und geht dann in den ursprünglichen Wert zurück. Dies ist leider auch von µC wahrnehmbar, was auf jeden Fall Fehlauslösungen zur Folge haben würde. Im Datenblatt wird ein Stützkondensator zwischen Vcc und GND von mindestens 10µF empfohlen, ich habe 47µC benutzt und geringfügige Verbesserungen erzielt. Erst mit einem Pufferkondensator von 10µF zwischen Signal und GND beruhigte das Geschehen und die Messwerte wurden geschmeidig glatt. Allerdings führt ein Pufferkondensator auch zur Trägheit, das heißt man muss ein Kompromiss finden. Mit 10µF reagiert der Sensor aber ausreichend schnell, 22µF wirds auch tun.
    Nun der Haken: da der Sensor analog arbeitet und Spannungen zurückgibt, ist er anfällig für Störungen. Bei einer langen Leitung von mehreren Metern sollte man geschirmte Kabeln benutzen und die Signalleitung auf jeden Fall von den Versorungsleitungen der Lichter fernhalten. Ansonsten spielen die Sensorwerte verrückt, sobald die Lichter angehen. Das hätte mir natürlich klar sein können, aber beim Einbau habe ich nicht an analogen Signale gedacht.
    Die eigentliche Aufgabe als Auslöser erfüllt der Sensor zumindest bravorös, aber halt nur bis das Licht angeht :) Der sensor arbeitet übrigens auch moduliert.


    Für 9€ ist der Sensor auf jeden Fall empfehlswert und eine gute Alternative zur Lichtschranke (wenn man nur auf einer Seite Platz hat z.B.). Hier muss man allerdings auch den Code anpassen.



    Sonst habe ich noch einen "nackten" IR Empfänger IS471 bestellt. Mal schauen, ob eine selbst gebastelte Version auch was bringt.

  • Ultraschall


    Irgendwann wollte ich von Infrarotsensoren weg und habe ich in anderen Kategorien rumgeschaut. Die Gründe dafür waren erstens, dass ich die Treppen irgendwann mit Sensoren auf jeder Stufe (oder jeder zweiten Stufe) ausstatten will. Der Stromverbrauch wäre auf Standby da wahrscheinlich ein wenig zu hoch und auch habe ich nicht genug Analogeingänge für eine Horde Sharp-Sensoren. Außerdem wäre das dann doch ein wenig zu teuer. Zweitens dachte ich an Kinder im Haus, die eventuell aus Neugier direkt in den IR Emitter reinglotzen und weil sie ja nichts sehen, auch kein Lidschlussreflex haben. Na klar kann man es den Kindern sagen aber man weiß es ja nie und zur Sicherheit kann man ja Möglichkeiten finden, sowas zu vermeiden. Sind Haustiere eigentlich auch gefährdet? :D


    Auf jeden Fall ist mir da eingefallen, dass ich noch so ein Ultraschall-Distanzsensor habe: http://dx.com/p/hc-sr04-ultras…e-measuring-module-133696


    Dieser und derivate davon sind sehr günstig (c.a. 2€ - 2,50€ pro Stück) und messen Distanzen bis zu 450cm mit einer enormen Genauigkeit. So ein Sensor eröffnet ganz neue Möglichkeiten, in dem man sie z.B. nicht seitlich von der Treppe platziert, sondern direkt unter einer Stufen "nach vorne zeigend". Damit kann man auch gut eine sich nährende Person erkennen und das Licht anschalten, wenn die Person z.B. näher als 1 Meter vor der Treppe steht). Sie funktioniert so: es wird beim Messen eine Welle an 40kHz Rechtecksignal ausgesendet und die Zeit gemessen, bis die Welle wieder zurückkommt. Durch die Schallgeschwindigkeit in derLuft kann man daraus die Entfernung bestimmen. Die Sache hat allerdings auch einen Haken: da der Sensor sensibel genug ist, um bis zu 450cm zu erkennen, muss man zwischen den Abfragen auf jeden Fall die Zeit abwarten, die der Schall braucht, um die 450cm hin- und zurück zu reisen. Ansonsten schickt man mehrere Ultraschall-Wellen und der Sensor weiß nicht, von welcher Welle das zurückgeworfene Signal stammt. Diese "Totzeit" beträgt c.a. 30ms. Das ist für ein Auslöseschalter eigentlich klein genug, aber hier kommt wieder das Problem hinzu, dass bei mehreren Sensoren jede Sensor diese Zeit abwarten muss, da sie sich durch Reflexionen auch gegenseitig stören könnten. Bei einer Anzahl von 8 Sensoren beispielsweise wären es schon 240ms Totzeit pro Sensor, da kann auch schon mal jemand vorbei gehuscht sein, weil der Abstrahlwindel von dem Ding auch nicht wirklich breit ist.


    Außerdem habe ich auch Bedenken bei Haustiere, Hunde und Katzen hören ja bis gut 60-80kHz. Ich weiß jetzt natürlich nicht, ob es für sie störend oder irritierend ist, wenn die Treppe hochfrequenz vor sich in "piept". Ich würde das nervig
    finden :P andererseits verschwinden vielleicht endlich die Krabbelviecher. :D


    Aber lassen wir diese Lösung so stehen, 2€ für einen derart akkuraten Sensor ist mehr als fair und eine gute Lösung, wenn man davon nur 2 als Auslösesensoren einsetzen möchte (und keine Haustiere hat).



    Piezo


    Jetzt wirds exotisch. Ich wurde auf die Idee gebracht, Vibrationen der Stufen zu messen und daran Personen zu erkennen. Das würde meinem Vorhaben, jeden Stufe mit einem Sensor auszustatten sehr entgegen kommen. Ein Piezo
    verbraucht keinen Strom und ist sehr günstig zu haben (für 1-2€). Da ich aber noch nie was damit zu tun hatte bin ich gerade dabei, mich durch Literatur zu wälzen um eine brauchbare Lösung zu entwerfen. Ich wollte eigentlich einen Beschleunigungssensor benutzen, allerdings sind mir diese zu teuer und sie sind auch absolut überdimensioniert für mein Vorhaben. Außerdem müsste ich endgültig auf einen anderen µC umsteigen, da ich keine Bus-Schnittstelle mehr habe.
    Also habe ich mir dieses Piezoelement bestellt und spiele damit rum: http://www.watterott.com/de/Pi…ssensor-gross-mit-Gewicht


    Der Sensor ist ungefähr so aufgebaut: um einen dünnen Film aus einem Piezomaterial sind zwei dünne Metallplätten aufgebracht, die mit jeweils einem Beinchen verbunden sind. Wird das Plättchen belastet, erzeugt das Piezomaterial eine Spannung, die eine Ladungsverschiebung der Metallplättchen zur Folge hat. Der Sensor verhält sich also wie ein Kondensator. Verbindet man beide Beinchen mit einem Widerstand, so fließen die Ladungen über den Widerstand und man misst einen Spannungsabfall. Das Problem an der Sache ist: die erzeugten Ladungen sind so gering (einige Nanocoulomb), dass sie schnell einfach "verschluckt" werden, zum Beispiel einfach durch ein langes Kabel. Steckt man den Sensor direkt ans µC, so sind Ausschläge zu messen. Das Piezoelement erzeugt übrigens gerne mal eine Spitzenspannung von über 100V. Allerdings sind die Ströme wie gesagt so mikrig, dass sie dem µC nicht mal jucken. Zur Sicherheit kann man eine Zenerdiode zwischenklemmen, so wie es manchmal empfohlen wird, aber der Leckstrom der Diode führt am Ende dazu, dass die Ergebnisse noch schlechter sind als ohnehin. Direkt ans µC ist von daher weitestgehend ungefährlich. Der
    ATMEGA hat außerdem eine integrierte Schutzdiode, die mit den paar Elektronen locker fertig wird ;).


    Aber das ist für mein Vorhaben ohnehin nicht von Wichtigkeit, da die Vibrationen durch das Betreten einer Stufe nicht wirklich groß sind. Am Oszi sind es 50V-100mV als Spitzenwert des Ausschlags. Nun bin ich dabei eine geeignete Verstärkerschaltung zu finden, die mir einbrauchbares Signal ans µC liefert. Ein paar Ansätze habe ich schon (OPV mit extrem hochohmigen Eingängen als Spannungs- oder Ladungsverstärkung), ich muss sie alle mal aufbauen und ausprobieren. Cool wäre es natürlich, wenn es klappt, ich halte euch auf dem Laufenden.




    Zu guter Letzt etwas praxisfernes: wer wollte nicht schon immer mal wie im Agentenfilm irgendwas durch das Unterbrechen eines Laserstrahls auslösen? Ich habe hier ein Lasermodul mit 50mW rumliegen, der in Dunkelheit einen gut sichtbaren Strahl auch ohne Nebel abgibt.
    ALLERDINGS habe ich einen riesen Respekt vor dem Ding und warne jedem davor, so ein Ding wirklich einsetzen im Haus zu wollen. Im Dunkel mit aufgeweiteten Pupillen schaut man nur zweimal mit den Augen in solch ein Laser, mit jedem Auge einmal. Aber witzig ist es trotzdem (mit Schutzbrille) und ich baue es wahrscheinlich nur einmal auf und das auf Video festzuhalten (das Licht anschalten, nicht das Auge ausbrennen) :D



    Puh, soweit erstmal dazu.
    Jetzt aber wieder in die Uni :D


    Liebe Grüße,
    iceananas

  • Piezo geht, wenn du allen beibringst, nicht die Treppe heraufzuschleichen.. ;)


    Obwohl, wär dann so ne Agentenfilmaufgabe - geh die Treppe hoch, ohne daß Licht angeht... Für die nächste Party oder so :thumbup:


    Die Piezo Teile in Grußkarten, die gibts auch irgendwo im Haufen für billig. Find ich bloß grad nich.


    Außen mit nem Ring unter die Treppenstufe anpappen, Mitte ein kleines Gewicht, ca. M6 Mutter. Braucht je Piezo einen OP zum Auswerten direkt dabei. Manche Glasbruchsensoren arbeiten so.


    -- Oder du organisierst dir 2 von den Airwick Teilen. Da ist vorn ein PIR drauf und die Verstärkerschaltung is schon mit bei. Dafür gibts tausend Anleitungen im Netz. Läuft gleich mit 5V. Den 'Pfft' mit Blumenanalogem Gestank kannste ja rausnehmen :D

  • -- Oder du organisierst dir 2 von den Airwick Teilen. Da ist vorn ein PIR drauf und die Verstärkerschaltung is schon mit bei.

    PIR weiß ich nicht, sie reagieren ja nur bedingt wenn sie nur Schuhe zu sehen bekommen ^^ außerdem ist der Erfassungswinkel zu groß.
    Aber Piezo funktioniert hervorragend, ich poste gleich Details ;)

    ... habe ich das richtig verstanden? Der Kollege kann 74Ampere vertragen?

    So stehts in Datenblatt :) aber nur für 25°C und 10V. Also schafft das Teil schon paar zig Ampere bei entsprechender Kühlung :P


    Das besondere an dem MOSFET ist ja der extrem niedrige Durchgangswiderstand von 20mOhm, da wird also nicht sonderlich viel Leistung als Abwärme abgegeben. Außerdem verträgt dieses MOSFET bei entsprechender Kühlung 200W Leistungsabgabe 8)


    [ModEdit: völlig nutzlosen Fullquote eingekürzt ...]

  • Also: wie versprochen kommen jetzt Infos zu den Piezosensoren unter jede(!) Stufe:


    ich verwende wie erwähnt diesen Sensor, der für Messungen von Vibrationen, Beschleunigungen usw. gedacht ist. Natürlich ist der etwas teurer als ein Piezobuzzer aus Grußkarten, aber dafür existieren Datenblätter und andere Dokumentationen vom Hersteller, was nicht unwichtig ist. Die 2,55€ verkrafte ich noch :)


    Man verwendet diesen Sensor hängend in der Luft, die einzige Befestigung ist das Einstecken der Kontakte in eine Buchse. Daher verbiegt sich der Streifen bei Belastung und Bewegung aufgrund der Trägheit. Durch das Verbiegen wird durch den piezoelektrischen Effekt eine Spannung an den beiden Kontakten erzeugt, die man mit dem Oszilloskop messen kann. Sie ist sinusförmig, wie die Ausschwingbewegung des Streifens.


    Da das Signal von dem Streifen bei kleinen Bewegungen recht zart und klein ist, muss es verstärkt und ausgewertet werden. Dieses Dokument vom Hersteller MEAS gibt Auskunft darüber, wie und warum für bestimmten Fällen eine Schaltung aufgebaut werden muss. Ein paar anderen PDFs von diesem Hersteller waren ebenfalls sehr hilfreich. Abgekuftert habe ich sicherlich viel von denen, aber hey, den Spannungsverstärker haben sie auch nicht erfunden :P Sonst habe ich im Internet leider kaum brauchbare Schaltungen gefunden (außer solche "Spielzeugschaltungen").


    Rausgekommen ist eine Schaltung, die sowohl digital- aus auch analog das Signal ausgibt. Mit Einschränkungen kann man das Board sogar als Beschleunigungssensor mit Messwerten benutzen!


    Also, hier ist die von mir verwendete Schaltung:



    Es wird dafür ein TLC274, der überall leicht und schnell zu bekommen ist, verwendet. Der TLC274 ist ein Quad-OPV. Also in dem IC sitzen vier Operationsverstärker-Einheiten. Alle vier werden auch benutzt.
    Ein anderer Grund als die Verfügbarkeit zugunsten dieses ICs ist der extrem niedrige Leckstrom von weniger als ein Pikoampere! Diese Eigenschaft ist sehr wichtig, da der Sensor zwar hohe Spannungen erzeugen kann, aber extrem wenige Ladungsträger. Ein OPV mit hohem Leckstrom verschluck einfach das Signal.


    - Die erste Einheit (in der Schaltung IC1A) stellt eine stabile Referenzspannung von c.a. 1,6V zur Verfügung. (OK, ein Spannungsteiler hätte es vielleicht auch getan.) Das ist der Pegel, um den das Signal schwingen wird. Das Piezo erzeugt nämlich Wechselstrom! Und negative Ströme mögen OPV bei 5V Versorgung ja nicht. Außerdem werden so alle Schwingungen korrekt erfasst.


    - Die zweite Einheit (IC1B) greift das Signal vom Piezo ab und fungiert als unitiy-gain-Puffer. Das Signal vom Piezo ist wie gesagt sehr zart und muss erstmal gepuffert werden.


    - Die dritte Einheit (IC1C) verstärkt anschließend das Signal. Dabei ist der OPV als Spannungsverstärker geschaltet mit dem Verstärkungsfaktor n=(1+R3/(R4+R5)). Durch den Trimmer R5 wird die Verstärkung eingestellt. Der Kondensastor C2 bildet mit dem Widerstand R3 einen Tiefpass (Grenzfrequenz c.a. 200Hz), um hochfrequente Störungen herauszufiltern.


    - Die vierte Einheit ist wieder als unity gain Puffer geschaltet und gibt am Ausgang ein Analogsignal der Schwingung aus.



    Hinter IC1C ist noch ein Komparator geschaltet, der bei einer "Schwigungsamplitude" ab 3,3V ein "low", also eine 0 ausgibt. Ansonsten ist der Zustand auf 1. Bei einer 0 wird durch den Transistor eine Niederstrom-LED angeschaltet.



    Die genauen Werte der Widerstände sowie Kondensatoren sind mit Vorsicht zu genießen, ich habe diese Schaltung noch nicht ganz ausprobiert. Eventuell gibts da hier und da Änderungen. Ansonsten funktioniert sie tadellos, siehe auch das kurze Video (man ignoriere Spongebob im Hintergrund):


    Y7oIXUBfqSM



    Wie ihr seht ist das Board recht einfach und ich war nicht sehr geizig mit dem Platz. Wenn alles funktioniert werde ich ein SMD-Prototyp davon bauen :)


    Was ich noch gerne hätte ist, dass das digitale Signal für. sagen wir 20ms gehalten wird, damit der µC das Signal nicht verpasst. Hat jemand einen kostengünstigen Vorschlag (außer NE555)?

  • Als Pulse stretcher kannst 2 Transistoren nehmen + 1 Elko.
    Hatte grad noch nen 4558 aufm Steckbrett + einen Piezo aus ner Grußkarte :D Erstaunlich daß überhaupt was rauskommt, weil ein 4558 OP-AMP besteht aus 2 Stromsenken am Eingang und einem Rauschgenerator am Ausgang :D Jedenfalls damit konnte ich den Puls stretcher testen, und darauf kommts an. Bild: