Idee'n gesucht: Schalten zweier 64A Schütze nebst Rückmeldung

Begonnen von M_I_B, 27 Oktober 2016, 16:00:18

Vorheriges Thema - Nächstes Thema

M_I_B

... ah, ok ...
Dann werde ich heute Abend mal schauen, was da auf meinen WR's steht. Zumindest mit konstanter Last hat das funktioniert. Wie sich das bei wechselnder Last und somit Frequenzschwankungen verhält, kann ich nicht sagen, da in Unkenntnis nicht überprüft.
Das werde ich aber nachholen, sobald die WR vom Dachboden neben den Zählerschrank verlegt wurden; die produzieren mir da oben zu viel QRM...

M_I_B

... ich bin noch nicht zum Schauen gekommen; zu viele andere Baustellen. Aber einen Hinweis auf die Schütz-mit-Gleichspannung-Nummer aus dem Initial:
Trotz 12V Eingang und Kühlkörper werden die Regler doch ordentlich warm... Geht, aber ist nicht schön... Daher ein Update...
Ich habe heute aus ChinaLand eine Tüte voll kleiner 2A Schaltregler bekommen, die sich per Poti einstellen oder per Lötbrücke auf bestimmte Spannungen "programmieren" lassen. Das hat mich dann gejuckt, ob man die nicht für diesen Trick verwenden kann... Man kann, und das richtig gut ;)
Benötigt wird ein BC848, ein 10µ/6V (beides SMD) und der Einfachheit halber einen klassischen 680k Widerstand. der BC wird mit C an den Programmieranschluss 9V, mit E an die dazu gehörende Sammelschiene gelötet. Die Basis dann hochbiegen, den 10µ (+ zur Basis) dran und andere Seite auf die Massefläche löten (vorher freikratzen und verzinnen). Von der Basis dann noch den Widerstand an den Ausgang des Reglers... fertig is dat.... Mit dem Poti kann man dann von ca. 9V herunter auf bis zu 1V Haltespannung einstellen; perfekt.
Wird auch bei Dauerbetrieb nicht warm, passt mit seinem 2.54 Raster direkt und hat zudem einen EN- Eingang, der sich direkt per µC OC schalten lässt. Somit entfällt auch eine Treiberstufe oder Relais zum Schalten des Schütz.


Pf@nne

#32
Moin Micha,

ich mal was zusammenkopiert.....schicke mir mal deine Adresse per Mail oder PN.
Ich habe es auf einen WEMOS mini geflasht. Der ist schon mit USB-versorgung, also Plug&Play. 8)
https://www.wemos.cc/product/d1-mini.html

Die beiden Rückmeldungen der Hilfskontakte werden auf:

  • Relais_01 -> D5 -> MQTT-publish ESP8266_1033320/Switch/Status/Relais_01 "on" / "off"
  • Relais_02 -> D6 -> MQTT-publish ESP8266_1033320/Switch/Status/Relais_02 "on" / "off"
HIGH-Aktiv eingekoppelt (Pull-Up nicht vergessen).

Die Schütze steuerst du auf:

  • Relais_01 -> D7 -> MQTT-subscribe ESP8266_1033320/Switch/CMD/Relais_01 "on" / "off
  • Relais_01 -> D8 -> MQTT-subscribe ESP8266_1033320/Switch/CMD/Relais_02 "on" / "off

Beim ersten Start spannt der ESP8266 einen Accesspoint auf, das WebIF für die konfiguration deines WLANs und des MQTT-Brokers findest du dann auf der IP 192.168.4.1.

  • SSID: ESP8266_1033320
  • Pass: ESP8266config

Sonst auch hier nochmal nachlesen:
https://forum.fhem.de/index.php/topic,50238.msg419846.html#msg419846
https://forum.fhem.de/index.php/topic,50238.msg431833.html#msg431833

Viel Spaß damit.....
Pf@nne

FHEM auf: DS415+ (Master), Raspberry Pi 2

Muschelpuster

Das Ganze müsste doch auch ohne MQTT und SW-Eingriff mit dem ESPeasy-Projekt gehen, oder?
https://forum.fhem.de/index.php/topic,55728.0.html

nachfragende Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

M_I_B

Zitat von: Pf@nne am 29 Oktober 2016, 17:35:01ich mal was zusammenkopiert.....schicke mir mal deine Adresse per Mail oder PN.

Hey! Is ja super! Das WE hat ja noch nicht mal richtig angefangen!

Ich melde mich gleich per PN...

Ganz offiziell allerbesten Dank für deine Mühe!

Pf@nne

#35
Moin Micha,

ZitatJetzt bin ich so weit, das ich mich mal an den Code wagen möchte, den du da für mich verbrochen und in das Ding geflasht hast. Ich würde gerne ein paar Kleinigkeiten ändern, wie z.B. den Zustand der OUT's umdrehen, da z.Z. invertiert...
Kann ich den mit der Arduino- Software auslesen? Oder bekomme ich da nur HEX? Wenn nicht, schiebst du mir bitte mal den Quellcode rüber?

Auslesen zum Bearbeiten geht erstmal nicht...

Den Code habe ich dir angehängt, ist aber alles noch alpha-Stadium.....
Den ZIP mit den Librarys musst du nach /user/dokumente/arduino/libraries kopieren.
Zusätzich musst du noch das ESP8266-Board installieren.
Das findest du unter http://s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266/110-hello-led-das-erste-lebenszeichen
Kann sein, dass noch weitere Libraries fehlen.

Vielleicht solltest du auch erstmal eine LED blinken lassen....
um dann voll einzusteigen......

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

M_I_B

... naja, Alpha- Stadium ist das für mich nicht mehr, da es genau so funktioniert wie es soll. Also aus meiner Sicht schlechtenfalls BETA ;)
Ich habe mir jetzt erst mal ein paar ChinaKracher bestellt, denn an dem von dir Überlassenen will ich so nichts machen. Verschiedene Hutschienengehäuse dafür kommen wohl morgen und dann wird das dort kommende Woche verbaut und in Betrieb genommen. Wenn dann die Teile aus ChinaLand da sind, werde ich mich an denen versuchen und wenn das gut geht, tausche ich einfach. Dann kann ich auch in Ruhe erst mal eine LED blinken lassen und mich dann an das Umschreiben machen, falls ich da denn dran lang blicke...
So oder so eine ziemlich geile Nummer, gerade in Verbindung mit den per EN steuerbaren StepDown's. Ich habe in dem Zusammenhang noch etwas rumprobiert und feststellen können, das diese StepDown sich direkt via Diode vom Port aus steuern lassen. Dazu ist ein PullDown 4k7 gegen Masse geschaltet und der Port steuert über ne schnöde 4148 den EN auf. Damit ist gewährleistet, das die Schütze erst dann aktiv werden, wenn die komplette Peripherie bereit ist; fällt die Stromversorgung und/oder der WeMos aus, fallen die Schütze ab.
Solch ein StepDown macht auch die Stromversorgung für die ganze Geschichte, also aus den 12V für die Schütze die 3v3 für den WeMos (über R-C-R-C - Filter). Auch da könnte man dafür sorgen, das der WeMos erst verzögert seine 3v3 erhält, wenn die 12V einwandfrei stehen; der EN der Stepper scheint eine SchmidtTrigger- Funktionalität zu haben; teste ich noch explizit aus, da Dokumentation bei ChinaKrachern wie üblich Fehlanzeige ist...

Pf@nne

Zitat von: M_I_B am 04 November 2016, 10:51:15
... naja, Alpha- Stadium ist das für mich nicht mehr, da es genau so funktioniert wie es soll. Also aus meiner Sicht schlechtenfalls BETA ;)

Da ist schon noch einiges zu tun, ist alles so gewachsen, da müsste mal aufgeräumt werden.
Vordringlich wollte ich die TopicTrees mal in einen JSON-File im FS auslagern.
Dann können die Topics nachträglich geändert werden.....

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

M_I_B

... au menno  >:(
Jetzt habe ich einige Tage mal was ganz anderes gemacht und schon bin ich vollkommen raus und stehe wie der Ochs vor'm Berg *MeggerSchimpf*

Also... Ich habe heute mal den Prototypen des Hutschienen- Aktors mit dem WeMos auf Lochraster geklebt (siehe unten). Der tut so weit vollkommen schmerzfrei. Dazu habe ich in Fhem ...

define PULL_ESP01 MQTT_DEVICE ESP01
attr PULL_ESP01 IODev MQTT
attr PULL_ESP01 room MQTT
attr PULL_ESP01 stateFormat transmission-state
attr PULL_ESP01 subscribeReading_S1 ESP01/Switch/Status/Relais_01
attr PULL_ESP01 subscribeReading_S2 ESP01/Switch/Status/Relais_02

define PUSH_ESP01 MQTT_BRIDGE ESP01
attr PUSH_ESP01 IODev MQTT
attr PUSH_ESP01 publishReading_R1 ESP01/Switch/CMD/Relais_01
attr PUSH_ESP01 publishReading_R2 ESP01/Switch/CMD/Relais_02
attr PUSH_ESP01 publishReading_state ESP01/state
attr PUSH_ESP01 room MQTT
attr PUSH_ESP01 stateFormat transmission-state

define ESP01 dummy
attr ESP01 readingList R1 R2 S1 S2
attr ESP01 room MQTT
attr ESP01 setList R1:on,off R2:on,off


define set_ESP_1 DOIF ([PULL_ESP01:S1] eq "on") (set ESP01 S1 on) DOELSE (set ESP01 S1 off)
define set_ESP_2 DOIF ([PULL_ESP01:S2] eq "on") (set ESP01 S2 on) DOELSE (set ESP01 S2 off)
#define set_ESP01 notify PULL_ESP01 set ESP01 $EVENT <<< Geht so nicht; schade eigentlich :(


... geschreibselt. Dsa geht so weit eigentlich auch. Aber mich nerven hier zwei Dinge, die ich nicht gesch.. gebacken bekomme:

1.
Ich habe jetzt notgedrungen für das Senden der Befehle zum WeMos ein MQTT- Device und zum Empfangen der Stati eine MQTT- Bridge.
Frage ist, ob man das nicht irgendwie in einem Device/Bridge zusammenfassen kann?

2.
Man beachte bitte die auskommentierte "notify" am Ende. Geht so natürlich nicht, da er dann in "state" z.B. "S1:on" ballert und nicht in die Reading S1 resp. S2
Frage hierzu: Geht das schlauer/besser als mit DOIF irgendwie?


EDIT: Und noch ein schwerwiegenderes Problem...
Nehmen wir an, R1 ist angezogen und R2 abgeworfen (Standard- Einstellung, SOLL auch nach Netzwiederkehr). Nun nehme ich das Netz weg und simuliere einen Netzausfall.
So, und nun kommt zwar R1 bei Netzwiederkehr für einige Sekunden, wird dann aber abgeworfen. R2, falls bei Netzausfall aktiv, wird NICHT wieder aktiv wie R1

Mit dem MQTT-Spy ist festzustellen, das der Status von R2 auf ON bleibt, obwohl definitiv abgeworfen (der Status wird durch einen Hilfskontakt des Schütz an den WeMos gemeldet), der Status von R1 wird nach Netzwiederkehr korrekt angezeigt.
Der Aktor selber steht aber immer noch in beiden Fällen auf ON. der bekommt das gar nicht mit, das zwischenzeitlich ein Netzausfall vorhanden war. Man muss also nun explizit ein OFF senden und ein ON hinterher, damit die Schütze einen definierten Status erhalten.

Um das Problem zu verdeutlichen, habe ich mal ein Video gemacht unter http://steamradio.de/_filez/_FHEM/problem_01.avi (8,5mb)

EDIT 2: Was ich noch machen könnte ist, den WeMos mit einem Elko/GoldCap zumindest so lange am Leben zu lassen, bis er den tatsächlichen Status an Muttern gemeldet hat. ABer das ist im Grunde nur Symptom- Behandlung und klärt auch nicht das ungleiche Verhalten der beiden Kanäle

Pf@nne

FHEM auf: DS415+ (Master), Raspberry Pi 2

M_I_B

... "dein" Code; ich habe da noch nichts dran geändert, da ich mit anderen Dingen etwas überbeschäftigt war ...
Ist also noch dein Okkinol, wobei auch die Ausgangs- und Eingangszuweisung gleich ist (R1/S1 = Schütz 1)

Pf@nne

Dann brauchst du doch aber nur deinen Wunschstatus beim Starten vorgeben und den Status an den Broker publishen....

void setup() { 
  Serial.begin(115200);
  Serial.println("");
 
  espClient.start_WiFi_connections();

  pinMode(R1_OUT, OUTPUT);
  pinMode(R2_OUT, OUTPUT);

  digitalWrite(R1_OUT, HIGH);
  espClient.pub(4,0,0, "on");
  digitalWrite(R2_OUT, LOW); 
  espClient.pub(4,0,1, off);


FHEM auf: DS415+ (Master), Raspberry Pi 2

M_I_B

... bei dir hört sich das immer so einfach an  ::)

Ok, werde ich mich am WE mal dran machen. Mal sehen, ob ich das hin bekomme. Dazu muss ich aber den WeMos wieder ausbauen, damit ich an den USB komme, oder?

und den Status an den Broker publishen....
ja, aber den Status der Eingänge, nicht der Ausgänge. Wichtig bei der ganzen Sache ich halt, das NIE beide Schütze abgefallen sein dürfen (außer bei Netzausfall natürlich) und auch erst Schütz2 sauber geschlossen sein muss, bevor Schütz1 abgeworfen werden kann. Also möglich Stati sind der Reihe nach :

  • R1=0, R2=0 (Netzausfall)
  • R1=1, R2=0 (Standard)
  • R1=1, R2=1 (Sync)
  • R1=0, R2=1 (Autark)
  • R1=1, R2=1 (Sync)
  • R1=1, R2=0 (Standard)
Am liebsten hätte ich für Schütz1 einen 3PNC+1NC+1NO genommen, aber oberhalb 16A sind die Teile jenseits der 200,-€ exorbitant teuer... Noch besser wären zwei motorisch betriebene Spannfeder- Schalter (die sind bistabil), aber an die kommt man erst gar nicht dran ...

Pf@nne

Moin,

Zitat von: M_I_B am 01 Dezember 2016, 10:02:13
Dazu muss ich aber den WeMos wieder ausbauen, damit ich an den USB komme, oder?

Nö, in der FW sind drei verschiedene OTA (Over The Air) implementiert.
Schaust du hier....
http://s6z.de/cms/index.php/homeautomation-homecontrol/hardwareplattformen/esp8266/133-ota-esp8266-over-the-air-flashen

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

M_I_B

... das muss aber erst eingebaut werden? Oder hattest du da zumindest eine Option schon implementiert?
... sorry, bin noch etwas wirr im Kopp  ??? ::)