Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Moderator: Co-Administratoren
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Das mit dem extra Interrupt beim Senden kommt mir bekannt vor. Ein FHEM Kollege hatte da mal umfangreiche Test mit dem HB-UNI-Sensor1 und AS312 gemacht.
https://github.com/TomMajor/SmartHome/t ... en-eingang
ist schon länger her, aber ich glaube deswegen ist bei mir Code drin, der den motion Interrupt erst etwas später nach dem Senden wieder freigibt.
Und der Transistor half auch bei der Sache.
Bilder und Tests sind von fhemfreund.
https://github.com/TomMajor/SmartHome/t ... en-eingang
ist schon länger her, aber ich glaube deswegen ist bei mir Code drin, der den motion Interrupt erst etwas später nach dem Senden wieder freigibt.
Und der Transistor half auch bei der Sache.
Bilder und Tests sind von fhemfreund.
Viele Grüße,
Tom
Tom
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Hallo Tom
Mit diesem Thema bin ich auch bereits länger beschäftigt. Die ganzen Aski++ Bibliotheken sind für meine begrenzten C++ Kenntnisse sehr komplex.
Im Moment verfolge ich den Input von pa-pa mit der Verzögerten Einschaltung des Interrupts. Da bin ich aber noch am Testen. Ich werde mich in den nächsten Tagen mit diesem Thema auseinander setzen.
Gruss Ivo
Die Transistor Schaltung habe ich bei mir nach deinem Beispiel umgesetzt. Das funktioniert auch sehr gut, ich habe es mit einem 3-fach Taster Sketch getestet. Dort geht das einwandfrei.TomMajor hat geschrieben: ↑15.12.2020, 23:55Das mit dem extra Interrupt beim Senden kommt mir bekannt vor. Ein FHEM Kollege hatte da mal umfangreiche Test mit dem HB-UNI-Sensor1 und AS312 gemacht.
https://github.com/TomMajor/SmartHome/t ... en-eingang
ist schon länger her, aber ich glaube deswegen ist bei mir Code drin, der den motion Interrupt erst etwas später nach dem Senden wieder freigibt.
Und der Transistor half auch bei der Sache.
Bilder und Tests sind von fhemfreund.
Mit diesem Thema bin ich auch bereits länger beschäftigt. Die ganzen Aski++ Bibliotheken sind für meine begrenzten C++ Kenntnisse sehr komplex.
Im Moment verfolge ich den Input von pa-pa mit der Verzögerten Einschaltung des Interrupts. Da bin ich aber noch am Testen. Ich werde mich in den nächsten Tagen mit diesem Thema auseinander setzen.
Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Ich habe ein Delay mit verschiedenen Werten bis zu 10s eingefügt.
Code: Alles auswählen
void pirInterruptOn () {
// -------------------
delay(10000);
// -------------------
isrenabled=true;
}
Code: Alles auswählen
// -------------------
pload[0] = random(1, 99999);
// -------------------
Code: Alles auswählen
// send the brightness every 5 minutes to the master
#define LIGHTCYCLE seconds2ticks(2*60)
Hast du noch eine weitere Idee?
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
-
- Beiträge: 199
- Registriert: 29.05.2019, 12:51
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 65 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Ich habe mir gerade mal das Datenblatt angeschaut, eigentlich dürfte der Transistor nicht notwendig sein.Das mit dem extra Interrupt beim Senden kommt mir bekannt vor. Ein FHEM Kollege hatte da mal umfangreiche Test mit dem HB-UNI-Sensor1 und AS312 gemacht.
https://github.com/TomMajor/SmartHome/t ... en-eingang
Der AM312 wie auch der AM612 geben für den Schaltausgang folgendes an:
Das heißt ein low wird signalisiert als <1V, ein high wird signalisiert als >2V
Das sollte der AVR gut erkennen, ist zwar etwas außerhalb der Spec aber nur knapp
Schaul mal in der motion.h und setz dort ein DPRINTWas mir jetzt aber aufgefallen ist, dass die Helligkeit vor dem Senden auf 0 geht. Mit dem Delay wird sie auch nicht mehr gesendet.
Code: Alles auswählen
uint8_t status () {
brightsens.measure();
uint32_t bright = brightsens.brightness();
if( bright > maxbright ) {
maxbright = bright;
}
DPRINT(F("brightsens: ")); DPRINTLN(bright);
// scale to value between 0 - 255s
return (uint8_t)(bright * 255UL / maxbright);
}
Ich habe meinen PIR jetzt mal gegen eine Wand gerichtet, das Interval auf 5 Sekunden gestellt und eine Stunde getestet.
Bei mir hat der PIR nicht einmal ausgelöst.
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Das Problem ist nicht der Pir, der auslöst. Immer wenn der Helligkeitswert gesendet wird löst dies eine Flankentriggerung aus, siehe Bild. Wenn ich das Zyklische senden der Helligkeit ausschalt geschieht das nicht.
Dann frage ich mich schon aus welchem Grund du das Zyklische Senden/Triggern nicht hast? Hast du am Sketch Änderungen vorgenommen?
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Soweit ich mich erinnere und auch auf github dokumentiert habe war der Transistor bei fhemfreund nicht wegen der Pegel sondern wegen a) Ruhestrom b) weniger falsche motion interrupts durch CC1101 Senden.Horbi hat geschrieben: ↑17.12.2020, 17:43Ich habe mir gerade mal das Datenblatt angeschaut, eigentlich dürfte der Transistor nicht notwendig sein.Das mit dem extra Interrupt beim Senden kommt mir bekannt vor. Ein FHEM Kollege hatte da mal umfangreiche Test mit dem HB-UNI-Sensor1 und AS312 gemacht.
https://github.com/TomMajor/SmartHome/t ... en-eingang
Der AM312 wie auch der AM612 geben für den Schaltausgang folgendes an:
Bild1.png
Das heißt ein low wird signalisiert als <1V, ein high wird signalisiert als >2V
Das sollte der AVR gut erkennen, ist zwar etwas außerhalb der Spec aber nur knapp
Viele Grüße,
Tom
Tom
-
- Beiträge: 199
- Registriert: 29.05.2019, 12:51
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 65 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Ich bin kein Elektroniker, aber für Ruhestrom sitzt der Transistor am falschen Pin - so wie die Schaltung aufgebaut ist, verstärkt er ja nur den Schaltausgang vom AM312. Der eigentliche Stromverbrauch kommt aber doch über den Betrieb des AM312 und natürlich über den Linearregler auf der kleinen Platine.Soweit ich mich erinnere und auch auf github dokumentiert habe war der Transistor bei fhemfreund nicht wegen der Pegel sondern wegen a) Ruhestrom b) weniger falsche motion interrupts durch CC1101 Senden.
Nein, ich habe nichts am code geändert.Dann frage ich mich schon aus welchem Grund du das Zyklische Senden/Triggern nicht hast? Hast du am Sketch Änderungen vorgenommen?
Könnte es sein das die Kabellänge eine Rolle spielt, also das das Funkmodul einstrahlt und weil wir knapp außerhalb der Specs für high/low am AVR sind, das die ungewollten Interrupts produziert?
Hast Du mal ohne PIR getestet? Also den PIR Eingang an einen Taster und mit Widerstand gegen High schalten?
An der Asksin kann es ja nicht liegen - Es wird ja bei jedem Sketch irgendwo ein Satus gesendet und zumindest der Gerätetaster ist immer als Eingang definiert und es kommt nie zu ungewollten Interrupts. Scheint ja ein Phänomen vom PIR zu sein...
-
- Beiträge: 301
- Registriert: 13.04.2020, 08:55
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 16 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Darf ich dich bitte ein paar Seiten weiter vorne meine bereits getestetes zu lesen?
Das Brigness Senden kann auch nicht ausgeschalten werden. Damit wird das "Lebenszeichen" des Pir in der CCU überwacht.
Ich werde mich nochmals auf das von papa vorgeschlagene Delay kümmern und das nochmals ausgiebig testen.
Die Schaltung ist korrekt, das kann ich mit guten gewissen bestätigen. Dieser soll etwas ganz anderes Bewirken, ist aber auch in der verlinkten Beschreibung aufgeführt. Das hat Tom geschrieben, dass das den Ruhestrom betrifft.Horbi hat geschrieben: ↑18.12.2020, 08:45Ich bin kein Elektroniker, aber für Ruhestrom sitzt der Transistor am falschen Pin - so wie die Schaltung aufgebaut ist, verstärkt er ja nur den Schaltausgang vom AM312. Der eigentliche Stromverbrauch kommt aber doch über den Betrieb des AM312 und natürlich über den Linearregler auf der kleinen Platine.
Somit kann das ausgeschlossen werden.Nein, ich habe nichts am code geändert.
Hier habe ich bereits viel probiert. Nur mit 10k Widerstand und verschiedene Pir, Anschaltungen. Eben, nur mit Taster geht nicht. Dann fehlt das Bezugspotential. Einige schreiben dass das ohne Probleme geht. Bei mir senden alle getesteten AVR-Varianten ca. im 2s Takt.Hast Du mal ohne PIR getestet? Also den PIR Eingang an einen Taster und mit Widerstand gegen High schalten?
Und hier irrst du dich. Du musst dir einmal die Motion.h Datei ansehen. Dort wird der Interrupt für das Senden kurz ausgeschaltet. Sieh Kommentar von papaAn der Asksin kann es ja nicht liegen - Es wird ja bei jedem Sketch irgendwo ein Satus gesendet und zumindest der Gerätetaster ist immer als Eingang definiert und es kommt nie zu ungewollten Interrupts.
Das Brigness Senden kann auch nicht ausgeschalten werden. Damit wird das "Lebenszeichen" des Pir in der CCU überwacht.
Ich werde mich nochmals auf das von papa vorgeschlagene Delay kümmern und das nochmals ausgiebig testen.
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi
-
- Beiträge: 199
- Registriert: 29.05.2019, 12:51
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 65 Mal
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Vielleicht kommt das falsch rüber, aber ich versuche Dir gerade zu helfen.
Allerdings wird in der motion.h der Interrupt nicht ausgeschaltet sondern die Bearbeitung blockiert.
Da wird ein Flag gesetzt
Und in der Interrupt Routine wird es abgefragt
Probiere es mal so, ich wüsste nicht warum das nicht gehen soll.Hier habe ich bereits viel probiert. Nur mit 10k Widerstand und verschiedene Pir, Anschaltungen. Eben, nur mit Taster geht nicht. Dann fehlt das Bezugspotential. Einige schreiben dass das ohne Probleme geht. Bei mir senden alle getesteten AVR-Varianten ca. im 2s Takt.
Ein Interrupt wird nicht ausgelöst weil er an- oder ausgeschaltet wird, ein Interrupt wird ausgelöst weil sich ein Pin Zustand geändert hat.Und hier irrst du dich. Du musst dir einmal die Motion.h Datei ansehen. Dort wird der Interrupt für das Senden kurz ausgeschaltet. Sieh Kommentar von papa
Allerdings wird in der motion.h der Interrupt nicht ausgeschaltet sondern die Bearbeitung blockiert.
Da wird ein Flag gesetzt
Code: Alles auswählen
void pirInterruptOn () {
isrenabled=true;
}
Code: Alles auswählen
// runs in interrupt
void motionDetected () {
if( isrenabled==true ) {
// cancel may not needed but anyway
sysclock.cancel(*this);
// activate motion message handler
sysclock.add(*this);
DPRINTLN(F("motion detected"));
}
}
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: Anleitung Nachbau Bewegungsmelder innen HM-SEC-MDIR-2
Eventuell würde es dann helfen, die Ratschläge von Elektronikern anzunehmen.Horbi hat geschrieben: ↑18.12.2020, 08:45Ich bin kein Elektroniker, aber für Ruhestrom sitzt der Transistor am falschen Pin - so wie die Schaltung aufgebaut ist, verstärkt er ja nur den Schaltausgang vom AM312. Der eigentliche Stromverbrauch kommt aber doch über den Betrieb des AM312 und natürlich über den Linearregler auf der kleinen Platine.
Es geht hier nicht um Verstärkung sondern um statische Pegel, pull-ups und daraus resultierende Ruheströme der ganzen Kette Sensor bis AVR input für den Fall "keine Bewegung".
fhemfreund ist Elektroniker, meine Wenigkeit auch, und er hat damals eine Kleinserie UniSensor1 + AM312 aufgelegt und sich sehr intensiv mit dem Thema beschäftigt, das weiß ich auch der umfangreichen Kommunikation mit ihm.
Viele Grüße,
Tom
Tom