Forum: Haus & Smart Home Viele Taster im Haus abfragen: Modus geeignet?


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Stefan L. (space5514)


Lesenswert?

Moin Moin,

Im Zuge unserer Altbausanierung möchte ich alle 
Installations-Doppel-Taster (NYM, quer durchs Haus, Bestand und neu) per 
24V abfragen. Dazu benötige ich um die 100 Eingänge. Die Auswertung 
(entstellen, Zustand erkennen etc) soll ein AVR erledigen (Arduino).

Für die Eingangserfassung habe ich nach fertigen Optokoppler-Modulen 
gesucht, die viele Eingänge bieten und 24V vertragen. Nicht leicht und 
günstig zu finden. Nun bin ich auf dieses günstige 32 Kanal DI Interface 
gestolpert, allerdings leider nur als Modbus verfügbar:

https://de.aliexpress.com/item/1005003228345582.html

Ich bräuchte 4 solcher Interface am Modbus. Leider gibt habe ich keine 
näheren Spezifikationen zum Board gefunden. Der Verkäufer hat mir das 
Manual geschickt - vorrangig die Modbus Codes. Zum Board selbst und dem 
verwendeten uC gibt es keine Infos.

Auf ähnliche Relais-Hardware bin ich hier im Forum schon gestoßen, der 
uC könnte identisch sein: 
Beitrag "Re: Modbus RS485 RTU - China Relais Board"

Modbus hatte ich eigentlich nicht geplant. Daher folgende Fragen:

1. Ist Modbus überhaupt geeignet, um so viele Inputs (Taster) per Poll 
abzufragen? Der AVR müsste schließlich ständig alle Taster abfragen, 
auswerten und das Ergebnis weitersenden, bsp per I2C. Ist das Timing 
machbar?

2. Wäre es eventuell sinnvoller, eine eigene Firmware für die Boards zu 
schreiben und auf Modbus zu verzichten?

Viele Grüße & herzlichen Dank,
Stefan

von MaWin (Gast)


Lesenswert?

Stefan L. schrieb:
> Ist Modbus überhaupt geeignet,

Ja.

Stefan L. schrieb:
> Wäre es eventuell sinnvoller

Nicht 100 Leitungen und 100 Eingänge zu planen. Es drücken ja nicht in 
Sekundenbruchteilen hunderte Leute alle Taster. Es gibt 
leitungssparsamere Topologien. Und selbst wenn die Leitungen schon 
liegen: Eingangssparsamere Auswertungen. Man sollte jedoch an die von 
den Tastern benötigten Mindeststron/Mindestspannung achten.

von wendelsberg (Gast)


Lesenswert?

Stefan L. schrieb:
> Ergebnis weitersenden

An wen?

wendelsberg

von Stefan L. (space5514)


Lesenswert?

wendelsberg schrieb:
> Stefan L. schrieb:
>> Ergebnis weitersenden
>
> An wen?
>
> wendelsberg

...an den Controller, der letztendlich für die Automatisierung zuständig 
ist. Das soll hier aber offenbleiben. Die Hardware für Ein- / Ausgabe 
soll in jedem Fall autark sein.

Voraussichtlich ein ARM (PI o.ä.) mit MQTT  NodeRed  OpenHab Stack.

von Stefan L. (space5514)


Lesenswert?

MaWin schrieb:
> Und selbst wenn die Leitungen schon liegen
ja, alle Leitungen sind bereits verlegt. Die Hälfte davon Bestand 
Altbau, daher einheitlich NYM.

> Man sollte jedoch an die von
> den Tastern benötigten Mindeststron/Mindestspannung achten.
Das Problem ist mir bewusst. Und ich weiß, daß Installationstaster 
solche Spannungen eigentlich nicht mögen. Nach endloser Googelei und 
positiven Erfahrungsberichten anderer Anwender möchte ich mich nun aber 
auf die 24V Variante einschießen.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Stefan L. schrieb:
> Nach endloser Googelei und
> positiven Erfahrungsberichten anderer Anwender möchte ich mich nun aber
> auf die 24V Variante einschießen.

Moin,
ich nutze seit vielen Jahren normale Serienschalter und vierfach 
Schalter(Gira), um über einen 4k7 Ohm Widerstand 24V auf Optokoppler zu 
schalten. Bisher hatte ich keinerlei Probleme damit.
Gruß Carsten

: Bearbeitet durch User
von Sven L. (sven_rvbg)


Lesenswert?

Stefan L. schrieb:
> Das Problem ist mir bewusst. Und ich weiß, daß Installationstaster
> solche Spannungen eigentlich nicht mögen.
Ich würde mir deswegen auch nicht die großen Sorgen machen,
ich nutze auch normale Taster von Jung für Smarthome, bei mir sind es 
nur 12V.

In jedem MFH sind die Klingeltaster vor der Tür, normale Taster, das 
funktioniert auch.

von MaWin (Gast)


Lesenswert?

Sven L. schrieb:
> In jedem MFH sind die Klingeltaster vor der Tür, normale Taster, das
> funktioniert auch.

Also die wenigsten Klingeltaster sind normale 230V Schalter, meist sind 
es spezielle (billigere) Kleinspannungstaster.

Aber auch wenn es ein 230V Schalter ist: es wird einer sein, der nie 
hohe Ströme und Abreissfunken schalten musste, also noch eine gute 
Kontaktoberfläche hat und keine oxidierte Kraterlandschaft wie sie nach 
robuster Benutzung entsteht.

Allerdings sind die Kontakte meist versilbert, und Silber bildet übel 
isolierende Korrosionsschichten.

von Andi (Gast)


Lesenswert?

Stefan L. schrieb:
> 1. Ist Modbus überhaupt geeignet, um so viele Inputs (Taster) per Poll
> abzufragen?

Klar, bei deinem oben verlinkten Board kommen ja auch 32 Kanäle in einem 
Rutsch rein.

> 2. Wäre es eventuell sinnvoller, eine eigene Firmware für die Boards zu
> schreiben und auf Modbus zu verzichten?

Es gibt gut funktionierende Modbustreiber für den Arduino.
Du willst ein gutes und bewährtes Protokoll durch etwas 
selbstgebasteltes ersetzen?
Tu es nicht!

von Bauform B. (bauformb)


Lesenswert?

Stefan L. schrieb:
> Das Problem ist mir bewusst. Und ich weiß, daß Installationstaster
> solche Spannungen eigentlich nicht mögen.

24V sind knapp, aber mit genug Strom wird's schon gehen. Dafür wäre es 
praktisch, wenn die vielen Eingänge so niederohmig wären, dass 10 bis 
20mA fließen. Mit Tastern kostet das ja nichts.

Und es ist auch nicht so kritisch: Wenn die Reaktion auf einen 
Tastendruck normalerweise in weniger als 42ms erfolgt, merkt der 
Benutzer garnicht, falls mal es Kontaktprobleme gibt. Man drückt 
instinktiv ein zweites Mal.

Die 42ms sind geschätzt, die maximal akzeptable Reaktionszeit kann man 
irgendwo nachlesen, 142ms erscheinen mir schon zu langsam. Das wäre auch 
die Zykluszeit, wenn man pollen muss. Deshalb würde ich versuchen, ohne 
Bus auszukommen.

Z.B. könnten diese Eingangsboxen Ethernet statt Modbus haben. Innerhalb 
der Box werden die 32 Eingänge zwar gepollt, aber das geht parallel und 
beliebig schnell. Entscheidend ist, dass "weiter oben" genau dann genau 
ein Datenpaket übertragen wird, wenn ein Taster gedrückt wird.

Ethernet hätte auch den Vorteil, dass man das sowieso vorhandene 
"Heimnetz" mit nutzen könnte. Den Mehraufwand für Ethernet kann man 
leicht wieder einsparen, wenn man die 32 Optokoppler weg lässt.

von Sven L. (sven_rvbg)


Lesenswert?

MaWin schrieb:
> Also die wenigsten Klingeltaster sind normale 230V Schalter, meist sind
> es spezielle (billigere) Kleinspannungstaster.
ich meine spezielle 
https://m.jung.de/at/online-katalog/62516409/62516410/
>
> Aber auch wenn es ein 230V Schalter ist: es wird einer sein, der nie
> hohe Ströme und Abreissfunken schalten musste, also noch eine gute
> Kontaktoberfläche hat und keine oxidierte Kraterlandschaft wie sie nach
> robuster Benutzung entsteht.
ja da gebe ich Dir natürlich recht, das ist ein guter Punkt.
>
> Allerdings sind die Kontakte meist versilbert, und Silber bildet übel
> isolierende Korrosionsschichten.
Habe mir nicht wirklich angeschaut, welches Kontaktmaterial verwendet 
wird, ich weiß es gibt bei Jung auch welche, mit vergoldeten Kontakten.

von MaWin (Gast)


Lesenswert?

Sven L. schrieb:
> es gibt bei Jung auch welche, mit vergoldeten Kontakten.

Die sind sicher nicht für 250V~/10A.

Immer übrigens dieser 10A Billigramsch bei Licht, obwohl meistens mit 
16A abgesichert.

Das spart 0.5ct in der Herstellung ind bringt dem Sesselfurzer der es 
eingespart hat auf Grund der Stückzahl Millionen ein.

von Stefan L. (space5514)


Lesenswert?

Wenn ich derzeit alle Antworten zusammenfasse bleibt bezüglich des 
genannten Boards stehen:

Ja, Modbus funktioniert hierfür - es stellt sich allerdings für mich die 
Frage nach den Modbus Zykluszeiten.

Frage: Kann man im Voraus abschätzen, wie viele Polls pro Sekunde man 
bei 4 abzufragenden Boards durchführen kann oder benötigt man dafür 
genauere Spezifikationen des Boards?

Das ist natürlich sowohl für Entprellen als auch Feststellen des 
Klick-Typs (einfach, doppelt, long press) wichtig.

: Bearbeitet durch User
von Clemens S. (zoggl)


Lesenswert?

Stefan L. schrieb:
> Ja, Modbus funktioniert hierfür - es stellt sich allerdings für mich die
> Frage nach den Modbus Zykluszeiten.

stell mal die Busbeschreibung rein, dann kann man (besser) schätzen.

Ich habe eine ähnliche Platine in Betrieb:

https://www.banggood.com/de/R4D1C32-12V-32-Channel-DIN-Rail-RS485-Controller-Modbus-RTU-Protocol-Remote-PLC-Expansion-Board-p-1726783.html?cur_warehouse=CN&ID=6293134

Da ist ein Nuvoton ARM drauf. Ich wollte eigentlich eine neue FW 
schreiben, habe dann aber den µC gegen einen Atmega ausgetauscht.

die Auswertung Doppeltippen Lang tippen usw macht der µC direkt am Modul 
und gibt die Werte über Modus raus.

Ich schaffe Rundenzeiten von 25ms (habe aber auch noch andere 
Busteilnehmer)

Ich habe den Modbus Code etwas angepasst:

Anfrage:
Adresse:Code:Register(Immer1):Länge(0=dynamisch):CRC
Antwort:
Adresse:Code:Länge:D16|H5:CRC

D16=Doppeltippen an Pin 16 H5=High von Pin 5

Das Problem ist dass du so Scherze wie Doppeltippen erst erkennen kannst 
wenn es vorbei ist.

Die Sequenz sieht bei mir also so aus:

H16 wird erkannt
(16 geht wieder auf Low)
T16 wird erkannt (Tippen auf Pin 16)
H16 wird erkannt
(16 geht wieder auf Low)
D16 wird erkannt (Doppeltippen)

Wenn ich nur auf das High Low signal reagiere, dann ist die 
Benutzerführung extrem träge. Jetzt reagiere ich mit einem 
Entscheidungsbaum:

High wird erkannt => Analoges Hochdimmen
Tippen wird erkannt => Statuswechsel Ein / Aus
Doppeltippen wird erkannt => Zusatzfunktion starten (im Falle von 
Treppenlicht zb 1h Zeitschaltuhr)

ganz sauber ist es nicht, aber es funktioniert gut genug, um es jetzt 
mal so zu lassen.

sg & schönes Wochenende.

von Stefan L. (space5514)


Lesenswert?

Clemens S. schrieb:
> stell mal die Busbeschreibung rein, dann kann man (besser) schätzen.
>
> Ich habe eine ähnliche Platine in Betrieb:
>
> 
https://www.banggood.com/de/R4D1C32-12V-32-Channel-DIN-Rail-RS485-Controller-Modbus-RTU-Protocol-Remote-PLC-Expansion-Board-p-1726783.html?cur_warehouse=CN&ID=6293134

super, herzlichen Dank!

Die Dokumente zum Board wurden mir hier zur Verfügung gestellt:

https://1drv.ms/u/s!AjrAGEbCBLlsgZFlkq5L2CTgtBPA1A?spm=a2g0s.imconversation.0.0.24563e5fYq81VS&e=LQ0aZ4

Und der Vollständigkeit halber:

Die Boards tragen die Bezeichnung N4DIH32 (PNP in) und N4DIM32 (NPN in) 
und sind vom Hersteller electechsup.

von Jobst Q. (joquis)


Lesenswert?

Stefan L. schrieb:
> Im Zuge unserer Altbausanierung möchte ich alle
> Installations-Doppel-Taster (NYM, quer durchs Haus, Bestand und neu) per
> 24V abfragen.

Das ist schon ein grober Konzeptfehler. Ein intelligentes 
Steuerungskonzept fragt nicht die Taster ab, sondern bedient mit den 
Tastern Stromstoßrelais und lässt die Steuerung deren Zustand abfragen. 
Sonst ist mit einem Ausfall der Steuerung die gesamte Beleuchtung 
lahmgelegt.

Abgesehen davon, wie willst du dann schalten? Mit normalen Relais hast 
du einen dauerhaften zusätzlichen Stromverbrauch. Mit Stromstoßrelais 
brauchst du nur einen kurzen Impuls zum Umschalten, wenn der Sollzustand 
vom Istzustand abweicht.

Da meist mehrere Taster für eine Leuchte zuständig sind, braucht die 
Steuerung auch deutlich weniger Eingänge.

von wendelsberg (Gast)


Lesenswert?

Stefan L. schrieb:
> wendelsberg schrieb:
>> Stefan L. schrieb:
>>> Ergebnis weitersenden
>>
>> An wen?
>>
>> wendelsberg
>
> ...an den Controller, der letztendlich für die Automatisierung zuständig
> ist.

Dann solltest Du einen benutzen, der Modbus spricht.

wendelsberg

von Sven L. (sven_rvbg)


Lesenswert?

MaWin schrieb:
> Die sind sicher nicht für 250V~/10A.
Nein, aber für solche Spezialanwendungen eben.

> Immer übrigens dieser 10A Billigramsch bei Licht, obwohl meistens mit
> 16A abgesichert.
Ja und, solange man keine 16A drüber laufen lässt, ist doch alles okay.
An eine Steckdose kann ich auch eine Stehlampe mit 0,75mm² und 
Euroflachstecker anstecken, obwohl die Steckdose mit 16A abgesichert 
ist.

von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Hallo,
vielleicht ist ja eine Matrix eine Möglichkeit.
Die Zeichnung dient nur der Orientierung und ist weder vollständig noch 
irgendwie getestet.
Die OK dienen zur Trennung und Pegelwandlung.
Gruß Carsten

von Sven L. (sven_rvbg)


Lesenswert?

Am Ende haben Modbuseingäge aber immer das Problem, das diese nicht bei 
Statusänderung bei der Steuerung bescheid sagen, sondern ständig gepollt 
werden müssen. Je nach Steuerung hat man dann erhebliche Verzögerungen.

Ich habe bei mir am Loxone bspw. auch eine Siemenslogo über ModbusTCP 
hängen, für Lichttaster ist das zu langsam, für irgendwelche 
Statusmeldungen reicht die Geschwindigkeit.

Modbus für Ausgänge ist hingegen problemlos.

von MaWin (Gast)


Lesenswert?

Sven L. schrieb:
> Am Ende haben Modbuseingäge aber immer das Problem, das diese nicht bei
> Statusänderung bei der Steuerung bescheid sagen, sondern ständig gepollt
> werden müssen. Je nach Steuerung hat man dann erhebliche Verzögerungen.

Ja nun, aber USB findest du gut und schliesst deine Tastatur dran an ?

von Sven L. (sven_rvbg)


Lesenswert?

Vergleichen wir gerade Äpfel mit Birnen?

von MaWin (Gast)


Lesenswert?

Sven L. schrieb:
> Vergleichen wir gerade Äpfel mit Birnen?

Du weisst offenkundig nicht, wie USB funktioniert.

Man muss bei Modbus nicht die niedrigste baudrate und ASCII Übertragung 
wählen.

von Stefan L. (space5514)


Lesenswert?

Clemens S. schrieb:
> Da ist ein Nuvoton ARM drauf. Ich wollte eigentlich eine neue FW
> schreiben, habe dann aber den µC gegen einen Atmega ausgetauscht.

@Clemens S: gibt es einen tatsächlich einen pinkompatiblen ATmega?

Um das Forum nicht unnötig zu überfluten, hatte ich bereits versucht, 
Dich per Nachricht zu erreichen. Leider hat dies wohl nicht geklappt :(

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Modbus ist voll ok, hab in meinem Haus ca. 500 digitale Eingänge, davon 
ca. 50 normale Taster, aber auch 230V Taster und eben so viele Ausgänge, 
allerdings Modbus over Ethernet, kein Benutzer merkt auch nur irgendwie 
eine Verzögerung beim Drücken eines Tasters; nur so nebenbei: es gibt 
noch Lonbus, einen KNX-Bus und einen selbstprogrammierten Arduino, der 
via LAN auch Modbus emuliert und 6 Codeschlösser via Wiegand-Codierung 
abfragt. Dort wäre in der Tat der Modbus überfordert... alles machbar, 
aber womit die ganze Modbus-Steuerung völlig reibungslos funktioniert 
verrat ich lieber nicht, sonst lachen alle...

von Harald (Gast)


Lesenswert?

Stefan L. schrieb:

> Die Auswertung
> (entstellen, Zustand erkennen etc) soll ein AVR erledigen (Arduino).

Etwas Offtopic: Überleg nochmal, ob Du Dir das wirklich antun willst. 
Durch das Arduino-Geraffel wirst nicht einmal Du selbst in 10 Jahren 
durchsteigen, schon garnicht deine evtl. Hinterbliebenen.

Im Gegensatz dazu kann nahezu jeder halbwegs gescheite Elektrobetrieb 
eine vernünftige SPS mit z.B. CoDeSys warten. Selbst Portierung auf neue 
HW ist da ein Klacks. Auch in 10+ Jahren noch, versprochen. 
Entsprechende Controller von z.B. Wago sind günstiger als man meint. 
Natürlich nicht Siemens, das ist definitiv zu teuer.

Nur so ein Gedankengang, kannst natürlich gerne machen was Du willst.

von Sven L. (sven_rvbg)


Lesenswert?

Manfred S. schrieb:
> Modbus ist voll ok, hab in meinem Haus ca. 500 digitale Eingänge, davon
> ca. 50 normale Taster, aber auch 230V Taster und eben so viele Ausgänge,
Was macht der Mensch im Haus mit 500 digitalen Eingängen?

> allerdings Modbus over Ethernet, kein Benutzer merkt auch nur irgendwie
> eine Verzögerung beim Drücken eines Tasters;
Welche Hardware verwendetsu Du zum erfassen und zum verarbeiten?

>nur so nebenbei: es gibt
> noch Lonbus, einen KNX-Bus und einen selbstprogrammierten Arduino, der
> via LAN auch Modbus emuliert und 6 Codeschlösser via Wiegand-Codierung
> abfragt.
Das mit den Codeschlössern klingt auch interessat.

> Dort wäre in der Tat der Modbus überfordert... alles machbar,
> aber womit die ganze Modbus-Steuerung völlig reibungslos funktioniert
> verrat ich lieber nicht, sonst lachen alle...
Doch sag mal.

von Trili (Gast)


Lesenswert?

Ich verwende diese Module.
https://de.aliexpress.com/item/32735641541.html
Die haben sich bestens bewährt.

von Manfred S. (Firma: Manfred) (xfred343)


Angehängte Dateien:

Lesenswert?

Hab selbst schon die eine oder andere Steuerung vorzugsweise
Codeschlosssteuerung programmiert mit Arduino und einmal mit Homematic,
hab jetzt ein Haus in dem eben die mehr als 500 Schaltpunkte verbaut
sind (fast jeder Lichtkreis, Heizungsfreigabe, Heizungspumpen,
Sprechanlage sind angesteuert) - ursprünglich wollte ich alles auf
Arduino umstellen (weil das kennt man ja...) hab dann allerdings die
verbauten Beckhoff-SPS lieb gewonnen und mittlerweile einen eigenen
Linienverteiler damit selbst aufgebaut (sh. Foto), folgende Komponenten
sind in dem Schaltkasten verbaut:

Beckhoff
BK9100, Ethernet-Buskoppler
1xKL1408, 8x Digital in
3xKL2722, jeweils 2x 230V Schaltkontakt in (statt 230V Relais, damit
konnte ich die normalen Lichtschalter gegen Taster tauschen und das 230V
Tastsignal einfach abfangen, musste daher in der bestehenden
Installation Stark- und Schwachstrom nicht mischen)
3xKL2408, 8x Digital out (davon gehen 4 an den Arduino)
Arduino - 10x PWM out, davon 7 mit Leistungstreiber (sh. Foto) für eine
individuelle Lichtersteuerung, programmiert über Arduino C++ und von der
SPS über 4x AD-Wandler ansteuerbar.

Tja und wer lachen will soll lachen, gesteuert wird der Beckhoff-Modbus
über die Office-Anwendung Excel, nutze einfach die winsock-DLL und das
ist sogar fehlertoleranter programmiert als so manche fertig erhältliche
Komponente (z.B. Ab- und wieder Anstecken des LAN-Kabels und das Ding
läuft wieder weiter). Vor allem geht damit super tabellengesteuertes
Prototyping, viel einfacher als am Arduino und wenns dann fertig ist,
portier ich ins Web.  Im Übrigen bin ich der Meinung, dass Haussteuerung
nur dann Spaß (und Sinn) macht, wenn man es selbst beherrscht

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.