Spannungen am GPIO

  • Liebes Forum,

    ich möchte das Spannungssignal des Buzzers eines Rauchmelders abgreifen und an einem Eingang des Raspberry Pi auswerten um so Alarmzustände zu erkennen und im Alarmfall eine SMS zu verschicken.

    Ich habe das Signal am Buzzer per Oszi ausgelesen und festgestellt, dass dort Spannungsspitzen bis 36 V entstehen. Zwar nur sehr kurz (ns-Bereich), aber das ist wohl mehr als die 3,3 V die der Raspberry Pi verträgt. Oder sind solche kurzen Spannungsimpulse verkraftbar? Am Multimeter (das sicher viel zu träge ist und nur Mittelwerte anzeigt) werden ca. 2,5 V angezeigt.

    Hat jemand Ideen wie ich damit umgehen kann? Spannungsteiler, Transistor o.ä.


    Viele Grüße!

  • Moinsen,

    Das ist natürlich eine Aufgabe ;)
    Direkt kannst du das Signal nicht auf das PI schicken.
    Erste Weg wäre über einen entsprechenden Vorwiderstand einen Optokoppler anzusteuern, der nicht nur eine Potentialtrennung vornimmt, sondern auch für das Übersetzungsverhältnis sorgt. Allerdings alles was Kürzer als resultierender High Impuls von ca. 80 nSek am PI ankommt wird Modell 3 bzw Zero so als dieses nicht mehr erkannt !!
    Da du ja auch den EIngangsteil des Optokopplers nicht zu sehr überreizen darfst, muss der Vorwiderstand eingangsseitig so hoch sein, das die üblichen 1,2-1,8 V UForward nicht nennenswert überschritten werden.
    Hier das richtige Verhältnis Vorwiderstand zur Impulslänge am Ausgang zu finden, ist in dem Falle nicht ganz so einfach, wenn du keine genaueren Werte für eine Berechnungsgrundlage hast.

    Hier bieten sich verschiedene Möglichkeiten an, das Ausgangssignal soweit zu verlängern das es vom PI sicher getriggert werden kann, und es somit auf diesen Event reagieren kann.

    Einfachste Lösung wäre einen Timer ( NE555 ) zu starten, der Ausgangsseitig dann einen Impuls ausgibt, der sicher erkannt wird, zB. für eine Dauer von mind. 10 mSek.

    Oder du nimmst einen weiteren kleinen µC der einen anderen Ausgang so lange auf High schaltet, sobald ein Impuls erkannt wird, damit das Pi sicher einen HIGH Impuls erkennen kann.

    Einfach eine Z-Diode dazwischenschalten, um die Spannungsspitzen abzumildern, würde ich so nicht machen, denn das kann auch die Elektronik im Rauchmelder beeinflussen. Solche µC / AVR wie die ATTinys sind relativ tolerant wenn die Eingangsspannung kurzzeitig mal um einiges der Vc überschritten wird. Trotzdem würde ich auch hier nicht auf den Optokoppler verzichten wollen.

    [Zum Beispiel so - Materialkosten unter 2 € ]
    Dem TINY würde eine Impullszeit von 20 nSek reichen um diesen sicher erkenne zu können, und dann den Ausgang entsprechend länger auf HIGH zu schalten. Damit musst du die LED im Optokoppler nicht derart überreizen, und das Signal käme sicher am PI an, und du kannst zudem bestimmen, wie lange das High Siganl am PI anliegen soll.
    Die Arduino IDE sollte wahrscheinlich schon bekannt sein, und UPDI als modernere Alternative zu ISP ist auch kein Geheimnis.

    Franky

  • Moinsen

    Insofern tut eine 3,3V Zenerdiode + Vorwiderstand (100-330 Ohm) zur Strombegrenzung hier einen ausreichenden Schutz aufbauen.

    Sofern dieser Buzzer kein "passiver" Buzzer ist, also diesem eine Gleichspannung ausreicht um selber anzuschwingen. Bei aktiven Buzzern, die mit einer Signalmodulation gestartet werden, funktioniert dann diese Schaltung nur mit einer Z-Diode auch nicht mehr. Dann zerschiesst du bewusst den Ausgang des Controllers welcher den Buzzer ansteuert.
    Leider fehlt diese Angabe seitens des TO.

    Franky

  • Evtl eine Auswertung über den Schall/Ton/Lautstärke?

    Eine Möglichkeit wäre z.B. so etwas: https://www.ebay.com/itm/266377410230? hier kann man einen Schwellwert einstellen und es gibt einen digitalen Ausgang. Viele Rauchmelder haben eine Status LED die man ggf. auswerten kann. Aber einen direkten Eingriff in das Gerät würde ich, wie schon angemerkt wurde, auch vermeiden, zumindest wenn es nur einen Rauchmelder an dieser Stelle geben sollte.

  • Für meinen 3D Drucker hatte ich mir damals diesen Rauchmelder und das zugehörige Relais gekauft, da ich auch das Signal weiter verarbeiten wollte (Abschaltung des Druckers und ebenfalls Benachrichtigung)

    PROTECTOR K 9 V Lithium | ER10018930
    Die Serie Protector bietet umfassenden Schutz vor typischen Gefahren in Gebäuden. Warnmelder in verschiedenen Varianten ermöglichen eine Überwachung einzelner…
    www.esylux.de

    Nur hat der damals noch 26€ gekostet =O

  • Hallo zusammen,

    vielen Dank für die Antworten und die Ideen!

    Also ich bin Hauseigentümer und der Rauchmelder ist nur einer von vielen, die über Funk miteinander vernetzt sind. Der für das Projekt geplante Rauchmelder wird nicht aktiv zur Überwachung eingesetzt sondern ist nur Empfänger.

    Ob es ein aktiver oder passiver Buzzer ist kann ich nicht sagen. Vielleicht hilft die Bezeichnung des Rauchmelders: "Cordes CC-80". Enthalten ist ein EEPROM "Holtek HT45F23A". An diesen möchte ich aber nicht ran, da die Struktur zu klein ist bzw. ich zu ungeübt bin. ;)

  • Moinsen,

    Ob es ein aktiver oder passiver Buzzer ist kann ich nicht sagen. Vielleicht hilft die Bezeichnung des Rauchmelders: "Cordes CC-80". Enthalten ist ein EEPROM "Holtek HT45F23A". An diesen möchte ich aber nicht ran, da die Struktur zu klein ist bzw. ich zu ungeübt bin. ;)

    Du musst ja nur schauen, wenn du ohnehin schon mit dem OSZI sondiert hast, was da wirklich an dem dazugehörigen Beinchen des µC herauskommt. Wenn neben dem Einschaltimpuls selber, auch noch eine kurze Folge von Rechteckflanken zu erkennen sind, also ein ca. 50 % Duty PWM Signal, dann ist es ein passiver, wo du mit der Z-Diode nicht rangehen kannst. Wenn das Signal sich dann fast sofort auf einen Gleichspannungspegel einstellt, dann ist es ein aktiver Buzzer der selber anschwingt, dann ist auch diese Zentris Methode anwendbar.

    Franky

  • Hier mal ein Auszug aus dem Signalbild. Den Spannungswert habe ich mit einem anderen Oszi ermittelt. Dieses hier bzw. der Tastkopf geht nur bis 20 V.

    Lässt sich anhand des Bildes schon was sagen? Ist nur der Ausschnitt bei dem der Buzzer tatsächlich piept (über Prüftaste). Ich kann auch nochmal eine Aufnahme machen wenn er nicht piept.

  • Lässt sich anhand des Bildes schon was sagen? Ist nur der Ausschnitt bei dem der Buzzer tatsächlich piept (über Prüftaste). Ich kann auch nochmal eine Aufnahme machen wenn er nicht piept.

    So wie ich das sehe sind das Impuls von ca. 3 mSek, was ungefähr eine Tonfrequenz von 330Hz entsprechen würde. Also eher ein tiefer Ton. Aber das ist dann ein passiver Buzzer, der auf diese Anschwindimpulse angewiesen ist. Da kannst du mit einer Z-Diode oder einen Glättungskondensator nicht viel machen, bzw gar nichts, wenn auch noch ein Ton erhalten bleiben soll.

    Ich würde hier zur Methode Sub-Controller mit Optokoppler greifen, und dann den µC so lange warten lassen bis das gepiepe aufhört. Das heist mit der ersten Feststellung einen mind. 20 mSek Impuls an den PI rausgeben, und dann aber solange warten bis keine Impulsfolger mehr festgestellt werden kann, bevor er den nächsten Auslöseimpuls an den PI senden kann, oder darf.

    Franky

  • Hallo mal wieder,

    ich habe meine Idee leicht modifiziert. Ich würde vielleicht lieber statt an den Buzzer, mich an die Status-LED dranhängen. Diese ändert auch ihre Blinkfrequenz in Abhängigkeit des Gerätezustands (also Alarm, Bereitschaft...). Das beigefügte Bild zeigt die Blinkfrequenz beim Alarm. Die LED wird dabei ca. 5 ms angeschalten und blinkt im Intervall von 955 ms. Die Spannung liegt auch bei nur 2 V, sodass der RasPi direkt damit was anfangen könnte. Trotzdem würde ich vielleicht aufgrund der unterschiedlichen Spannungsquellen der Geräte einen Optokoppler einsetzen.
    Was meint ihr? Reicht dieser kurze Impuls aus, damit der RasPi etwas damit anfangen kann? Welchen Optokoppler bräuchte ich (wenn möglich konkrete Vorschläge, da ich mit den Kenndaten solcher Bauteile nicht vertraut bin)?

  • Moinsen,

    Wenn dann noch ein paar Zentimeter Kabel dazu kommen ist dann mit der Spannungskompatibilität Pegelspannung auch nichts mehr zu wollen. Sinnvoller Weise sollte der Pegel mind. 2,1 Volt betragen, damit das TTL 3,3 Volt Signal / Pegel sicher als HIGH erkannt wird.
    Aber wie wäre es mit einer Photo-Pin Diode, und einem Comparator, welcher auf diese Blinksignale triggert ?

    Franky

  • Photo-Pin Diode, und einem Comparator

    Ein Optokoppler ist nichts anderes (fast) und einfacher zu nutzen. Durch den OC-Ausgang problemlos mit dem RP kompatibel.

    Aber mal so gefragt: Was genau soll eine "Photo-Pin Diode" sein?

    Ich "kenne" PIN-Photodioden... hab aber bisher noch keine "in freier Wildbahn" zu kaufen gesehen. Klär mal!

  • Moinsen,

    Ein Optokoppler ist nichts anderes (fast) und einfacher zu nutzen. Durch den OC-Ausgang problemlos mit dem RP kompatibel.

    Bedeutet aber ein Eingriff in den Rauchmelder, der ja schon in dem Beitrag #5   als unvertretbar eingestuft wurde.

    Aber mal so gefragt: Was genau soll eine "Photo-Pin Diode" sein?

    Falls du nicht alle Bauteile aller Halbleiterhersteller kennst, hier mal ein Datasheet wo diese Namensbezeichnung explizit vom Hersteller gewählt wurde. Hier geht es um besonders kurze Schalt- und Reaktionszeiten. Du wirst mir im Gegenzug sicherlich eine anderes optoelektronisches Bauelement benennen können, was ebenfalls auf derart kurz und geringe Helligkeitsänderungen reagieren kann.

    Beschwerden somit bitte direkt an OSRAM richten.

    Franky

  • Falls du nicht alle Bauteile aller Halbleiterhersteller kennst, hier mal ein Datasheet wo diese Namensbezeichnung explizit vom Hersteller gewählt wurde. Hier geht es um besonders kurze Schalt- und Reaktionszeiten. Du wirst mir im Gegenzug sicherlich eine anderes optoelektronisches Bauelement benennen können, was ebenfalls auf derart kurz und geringe Helligkeitsänderungen reagieren kann.

    Kennst DU ALLE Bauteile ALLER Halbleiterhersteller oder was soll die Bemerkung oben?
    Und nein: Der Hersteller bezeichnet sein Bauteil als "Silizium-PIN-Fotodiode" und nicht wie du als "Photo-Pin Diode"...

    Und nein: Es geht nicht um besonders kurze Schaltzeiten (Woher dieses Wissen?):
    Der TO kann ja mal die Dauer des Lichtimpulses vermessen: SO kurz ist die sicherlich nicht, da sie ja vom Menschen gesehen werden soll. Und gering in der Helligkeit ebenfalls nicht aus dem gleichen Grund. Insofern ist der Lichtempfänger unkritisch.

    Und ja, ich kann dir mindestens ein weiteres optoelektronisches Bauelement nennen: "Fototransistor".

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!