Autor Thema: Fensterdrehgriffkontakt selber bauen  (Gelesen 214640 mal)

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1764
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1395 am: 19 November 2019, 14:32:20 »
Hab ich auch schon mal drüber nachgedacht. Das wäre eine komplett neue Battery-Monitor-Implementierung. Diese muss dann über einen Interrupt angebunden werden und es muss öfters gemessen werden. Außerdem ist (mir) nicht klar, ob die kurze Laufzeit "Kontakt checken -> Nachricht senden" überhaupt ausreicht, um eine ordentliche Spannung zu messen.
Für die interne Messung habe ich das schon mal ausprobiert. Ein Sketch, der die Spannungmessung mit Interrupt (10x) erledigt sieht z.B. so aus.
#define EI_NOTEXTERNAL
#include <EnableInterrupt.h>
#include <AskSinPP.h>

using namespace as;

uint16_t vc=0;

//The setup function is called once at startup of the sketch
void setup() {
  DINIT(57600, ASKSIN_PLUS_PLUS_IDENTIFIER);

  ADMUX &= ~(ADMUX_REFMASK | ADMUX_ADCMASK);
  ADMUX |= ADMUX_REF_AVCC;      // select AVCC as reference
  ADMUX |= ADMUX_ADC_VBG;       // measure bandgap reference voltage
  ADCSRA |= (1 << ADIE);        // enable interrupt
  ADCSRA |= (1 << ADSC);        // start conversion
}

int num = 0;
volatile int done = 0;
// The loop function is called in an endless loop
void loop() {
  if( done != 0 ) {
    done = 0;
    DDECLN(vc);
    if( num++ < 10 )
      ADCSRA |= (1 << ADSC);        // start conversion
  }
}

ISR(ADC_vect) {
  done = 1;
  uint16_t v = 1100UL * 1024 / ADC;
  vc = vc == 0 ? v : (vc + v) / 2;
}

Aber das Ganze müsste mal in einer richtigen Anwendung eingebaut und getestet werden.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline toensi

  • Jr. Member
  • **
  • Beiträge: 71
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1396 am: 20 November 2019, 15:31:38 »
Hallo zusammen,

ich suche HM-Fensterdrehgriffkontakt selber bauen, jedoch hätte ich gerne 6 fertig aufgebaute inklusive Gehäuse, bitte um Preisvorschlag, Danke vorab....
LG  :)

Offline Tom Major

  • Sr. Member
  • ****
  • Beiträge: 532
    • TomMajor@github
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1397 am: 23 November 2019, 13:58:06 »
Hab ich auch schon mal drüber nachgedacht. Das wäre eine komplett neue Battery-Monitor-Implementierung. Diese muss dann über einen Interrupt angebunden werden und es muss öfters gemessen werden. Außerdem ist (mir) nicht klar, ob die kurze Laufzeit "Kontakt checken -> Nachricht senden" überhaupt ausreicht, um eine ordentliche Spannung zu messen.

ich bin da leicht skeptisch, der Strom beim Senden könnte zu klein und die Zeit zu kurz sein.
Beweisen könnte man das mit einer Messung des Spannungseinbruchs von relativ leeren Batterien mit der Interrupt Implementierung, ähnlich meiner Messung der Batt.spannungsmessung unter Last Schaltung.
https://github.com/TomMajor/SmartHome/blob/master/HB-UNI-Sensor1/Images/BatterySensorLoad.png
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Offline Johnnyflash

  • Jr. Member
  • **
  • Beiträge: 95
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1398 am: 23 November 2019, 21:11:23 »
ich bin da leicht skeptisch, der Strom beim Senden könnte zu klein und die Zeit zu kurz sein.
Der Spannungseinbruch ist selbst bei frischen Varta Zellen sogar mit einem trägen Multimeter deutlich messbar (Von 3.1V auf 2.2V, LEDs nach Schaltplan bestückt mit 1k5 Vorwiderstand) Fraglich bleibt allerdings, welche Grenzen bei dieser Messmethode sinnvoll wären.

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1764
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1399 am: 23 November 2019, 23:14:47 »
Ich habe da mal was in den HM-SEC-RHS Sketch eingebaut. Bitte mal das
#define BATTERY_IRQeinschalten. Dann wird die Batteriespannung immer im Hintergrund gemessen. Mit den voreingestellten 2,2V sollen dann ja sofort Battery-Low-Meldungen kommen. Da das CC1101 und AVR bis 1,8V funktionieren sollten, müsste ein Battery-Low-Wert von 1,9 gut funktionieren. Battery-Critical sollte dann 1,7 sein.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline Tom Major

  • Sr. Member
  • ****
  • Beiträge: 532
    • TomMajor@github
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1400 am: 24 November 2019, 00:33:30 »
Der Spannungseinbruch ist selbst bei frischen Varta Zellen sogar mit einem trägen Multimeter deutlich messbar (Von 3.1V auf 2.2V, LEDs nach Schaltplan bestückt mit 1k5 Vorwiderstand) Fraglich bleibt allerdings, welche Grenzen bei dieser Messmethode sinnvoll wären.
Das wäre sehr erstaunlich.
35mA Last (cc1101 TX) für den Bruchteil einer Sekunde können nicht frische Zellen auf 2,2V einbrechen lassen. Und ein normales Multimeter kann sowas auch nicht zeitlich auflösen.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1764
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1401 am: 24 November 2019, 09:39:27 »
Ich glaube mit dem neuen Code geht er nicht mehr richtig in den Sleep-Mode  :-\
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline Johnnyflash

  • Jr. Member
  • **
  • Beiträge: 95
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1402 am: 24 November 2019, 21:43:03 »
Das wäre sehr erstaunlich.
35mA Last (cc1101 TX) für den Bruchteil einer Sekunde können nicht frische Zellen auf 2,2V einbrechen lassen. Und ein normales Multimeter kann sowas auch nicht zeitlich auflösen.
Es ist aber ganz bestimmt so, getestet an zwei unterschiedlichen Fenstern mit zwei unterschiedlichen Zellen (1x Varta, frisch eingesetzt, 1x NoName, ein paar Wochen in Gebrauch). Das wird daran liegen, dass dieser Strom deutlich außerhalb der Spezifikation einer CR2032 liegt, dadurch ist der Spannungseinbruch besonders groß und relativ lange messbar. Es darf aber auch gerne jemand eine Vergleichsmessung machen.
« Letzte Änderung: 24 November 2019, 21:44:49 von Johnnyflash »

Offline Tom Major

  • Sr. Member
  • ****
  • Beiträge: 532
    • TomMajor@github
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1403 am: 25 November 2019, 00:17:06 »
Es ist aber ganz bestimmt so, getestet an zwei unterschiedlichen Fenstern mit zwei unterschiedlichen Zellen (1x Varta, frisch eingesetzt, 1x NoName, ein paar Wochen in Gebrauch). Das wird daran liegen, dass dieser Strom deutlich außerhalb der Spezifikation einer CR2032 liegt, dadurch ist der Spannungseinbruch besonders groß und relativ lange messbar. Es darf aber auch gerne jemand eine Vergleichsmessung machen.

sorry  ::) , hatte nicht das gesamte Bild vor Augen, dachte an AA Zellen.
Bei CR2032 mag das sein wegen dem höheren Innenwiderstand, obwohl mir auch da der Einbuch auf 2,2V etwas heftig vorkommt  :o.
Da würde ein Elko helfen um beim Senden zu puffern.
Dass man den Einbruch beim Senden für den Bruchteil einer Sekunde nicht gescheit mit dem Multimeter messen kann, dabei bleib ich aber  ;)
Außer die Batterie braucht sehr lange zum Erholen, am besten mal mit Oszi prüfen.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1764
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1404 am: 25 November 2019, 08:19:24 »
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline Johnnyflash

  • Jr. Member
  • **
  • Beiträge: 95
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1405 am: 25 November 2019, 12:20:42 »
sorry  ::) , hatte nicht das gesamte Bild vor Augen, dachte an AA Zellen.
Bei CR2032 mag das sein wegen dem höheren Innenwiderstand, obwohl mir auch da der Einbuch auf 2,2V etwas heftig vorkommt  :o.
Da würde ein Elko helfen um beim Senden zu puffern.
Dass man den Einbruch beim Senden für den Bruchteil einer Sekunde nicht gescheit mit dem Multimeter messen kann, dabei bleib ich aber  ;)
Außer die Batterie braucht sehr lange zum Erholen, am besten mal mit Oszi prüfen.
Den Sendevorgang kann das Multimeter zeitlich natürlich nicht auflösen, das ist klar. Aber das spielt ja hier auch keine Rolle, da dieser Spannungseinbruch durch den relativ langsamen "Erhohlungseffekt" eben noch deutlich länger sichtbar bleibt.
Hatte hier ähnliche Effekte: https://forum.fhem.de/index.php/topic,67746.msg594962.html#msg594962

Weißt du, ob die CR2450 in den Batteriehalter aus der Stückliste passt?

Offline Psi

  • Jr. Member
  • **
  • Beiträge: 94
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1406 am: 25 November 2019, 12:29:38 »
Weißt du, ob die CR2450 in den Batteriehalter aus der Stückliste passt?

Die Bezeichnung CR<b><h> gibt die Breite und Höhe an: https://de.wikipedia.org/wiki/Knopfzelle
CR2032: 20x3,2 mm
CR2450: 24x5,0 mm
Das wird also eher nicht passen und ob genug Platz im aktuelle RHS-Case ist bezweifle ich auch.

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1592
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1407 am: 25 November 2019, 14:16:33 »
Da würde ein Elko helfen um beim Senden zu puffern.
Der Elko wird in den Pausen die Batterien umso mehr entleeren.

Offline Tom Major

  • Sr. Member
  • ****
  • Beiträge: 532
    • TomMajor@github
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #1408 am: 25 November 2019, 20:50:43 »
Wenn du das sagst  8)
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

Offline maclovlin

  • Jr. Member
  • **
  • Beiträge: 67
Kriege meine Platinen nicht zum laufen
« Antwort #1409 am: 21 Dezember 2019, 11:47:28 »
Hallo,

kann mir jemand Hilfestellung geben, ich kriege meine Platinen HMSensor-CR2032 nicht zum laufen, genauer gesagt bekomme ich den Bootloader nicht programmiert. Es sieht so aus als ob der ATMega sich nicht meldet.

Als Programmer habe ich einen USBasp, flashen der Arduino Pro Mini funktioniert, also würde ich sagen das der Programmer in Ordnung ist.

Mein avrdude aufruf sieht so aus:
avrdude -p m328p -P usb -c usbasp -B 10 -U lfuse:w:0xE2:m -U hfuse:w:0xD2:m -U efuse:w:0xFF:m -U lock:w:0xFF:m
Als Rückmeldung kommt das:
avrdude: set SCK frequency to 93750 Hz
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Die Platine ist minimal bestückt, nur mit C1, C2, R1 und natürlich der ATMega 328p-au.
Signalwege habe ich durchgemessen, also von den Pads bis zu den ATMega Beinchen, alles scheint ok zu sein.

Als Kondensatoren habe ich Kerkos genommen, da ist die Polung glaube ich egal, oder?

Angeschlossen an den Programmer, wird der ATMega auch richtig bestromt...

Stehe total aufm Schlauch...

Nachtrag:
Habe mal folgenden Aufruf versucht, mit option -F
avrdude -p ATmega328P -P usb -c usbasp -B 10 -U lfuse:w:0xE2:m -U hfuse:w:0xD2:m -U efuse:w:0xFF:m -U lock:w:0xFF:m -F

Das bekomme ich dann als Antwort:
avrdude: set SCK frequency to 93750 Hz
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x00790a
avrdude: Expected signature for ATmega328P is 1E 95 0F

avrdude done.  Thank you.

Wie soll ich das deuten? Das der AVR doch irgendwie Einsatzbereit ist?
Vorallem die "Device signature" ändert sich bei jedem Aufruf...
« Letzte Änderung: 21 Dezember 2019, 12:43:36 von maclovlin »