Hier mal eine kommerzielle Lösung:
Anbinden eines Ferrariszählers per Kamera und OCR:
EnergyCam
Soll ca. 100€ kosten...
Muss man dann nur noch auf den Bus bekommen.
Wobei mir die dort genannte Abtastrate von ein mal alle 15min zu niedrig ist, ob sich das ändern läßt, habe ich noch nicht herausgefunden.
Ankündigung
Einklappen
Keine Ankündigung bisher.
ARDUINO am KNX
Einklappen
X
-
Am einfachsten einzubinden sind Zaehler mit S0 Schnittstelle - einfach per PullUp (entweder per Hardware oder ueber den internen PullUp des Arduino) an einen DI haengen, dann brauchts auch keine Lesekoepfe mehr - und S0 haben eigentlich alle Zaehler die auch optische Ausgaenge haben.Zitat von rel Beitrag anzeigenFür welche Stromzähler wäre das denn möglich?
Ich habe einige davon (sowohl 3- als auch 1-phasig) an einer Wago haengen, das wird aber am Arduino aehnlich schmerzfrei funktionieren.
Die Abfrage dann wenn moeglich per Interrupt machen damit auch nix verloren geht. Damit bekommt man zwar nicht den aktuellen Zaehlerstand (dazu braucht es halt SML und eben eine serielle Schnittstelle) aber entsprechend Impulse pro kWh - im Regelfall sollte das ausreichend sein, denn der Arduino kann ja zaehlen
Spannung, Frequenz und so geben die meisten einfachen Zaehler ohnehin nicht raus, auch nicht per SML und letzteres macht IMHO nur Sinn wenn man den Zaehler der Stadtwerke auslesen moechte - fuer eigene Einbauten ist S0 eigentlich am pfiffigsten.
gruesse :: Michael
Einen Kommentar schreiben:
-
Nein hab ich nicht, aber dafür hab ich noch ganz andere Phänomene entdeckt ... Ich bin bislang noch nicht dazu gekommen meinen KNX-Testkoffer auf en Schreibtisch zu stellen bzw. fehlt mir da momentan ne passende Schnittstelle. Momentan ist es beruflich und rund ums Haus+Familie etwas knirsch mit der Zeit.Zitat von ThorstenGehrig Beitrag anzeigen@JuMi2006: hast du eigentlich das Problem mit Busmonitor 15.15.17 gelöst bekommen? Ich habe da keine Antwort mehr gesehen...
Einen Kommentar schreiben:
-
Theoretisch für alle mit optischer Schnittstelle. Manche sprechen ein Klartextprotokoll (welches sehr einfach zu lesen/parsen ist), manche (z.B. unser Iskra MT681) sprechen SML, ein binäres Protokoll, welches deutlich schwerer zu parsen ist.
Hab die drei Iskra-Zähler meiner Eltern über einen IR-Kopf von co-met per USB mit Linux und einem Kommandozeilentool ausgelesen. Zwei Zähler via Raspberry PI, den dritten mit einem kleinen Linux-Server mit mehr Power (der macht noch mehr als nur Zähler auslesen).
Mit dem Arduino geht sicher beides. Wobei glaub noch keiner das SML Protokoll auf den Arduino portiert hat.
Einen Kommentar schreiben:
-
@ Thorsten
Für welche Stromzähler wäre das denn möglich?
Ari
Einen Kommentar schreiben:
-
Hi
dank Lapheus hab ich ne neue spannende Arduino-Idee:
Anbinden des Smartmeter per Leseauge:
volkszaehler.org - wiki - TTL-IR-Schreib-Lesekopf
Einige der Smartmeter scheinen ja recht einfach per Serial (TTL, s.o.) die relevanten Werte herzugeben.
Damit wäre man bei 25€ Lesekopf, 30€ BCU und 10€ Arduino bei 65€ für eine direkte Auslesung auf den KNX. Wenn man 2 Zähler hat (so wie ich) sogar nur 90€ für beide...
Ich denke ich werde das mal zusammenbasteln :-)
@JuMi2006: hast du eigentlich das Problem mit Busmonitor 15.15.17 gelöst bekommen? Ich habe da keine Antwort mehr gesehen...
Gruß
Thorsten
Einen Kommentar schreiben:
-
Ich habe bei mir grade mal im Busmonitor nachgeschaut. Wenn der KNX-Multisensor zwei Frames direkt nacheinander schickt (was über einen Puffer geschieht, so dass die Verzögerung und der Einfluss auf den Programmablauf minimal sind), dann ist der Abstand zwischen zwei Frames rund 50ms. Passt also.Zitat von wintermute Beitrag anzeigenAbgesehen davon: ich denke die 50ms nach jedem gesendeten Paket bremsen die Sache nicht wirklich aus. Aber ich machs im Header-File konfigurierbar, dann kann es jeder so anpassen wie er mag
Max
Einen Kommentar schreiben:
-
Hallo
Wenn Du diesen Thread durchgelesenen hättest, gleich im 1. Beitrag steht schon was dazu.@Catter
Interressant wäre auch die Belegung der AST von Jung Busankopplern.
So wäre es möglich fast jeden Busankoppler für den Arduino zu verwenden
Die AST Schnitstelle mit dem Rechner zu verbinden ist ein alter Hut.
Siehe auch hier.my EIB projects
Gruß NetFritz
Einen Kommentar schreiben:
-
Fze1065
Hallo Leute,
Ich bin sehr interressiert an diesem Projekt und bin selbst schon beim rumbasteln.
Habe heute einen Jung Busankoppler zerlegt um zu sehen welcher Chip verwendet wird.
Hat sich schon mal jemand mit dem FZE1065 bzw FZE1066 beschäftigt?
In der Beschreibung HIER steht, dass er ein bit-Interface zum KNX-Bus hat.
Kann mir jemand erleutern was genau das bedeutet? und gibt es vielleicht eine Möglichkeit den Arduino mit ihm sprechen zu lassen?
Interressant wäre auch die Belegung der AST von Jung Busankopplern.
So wäre es möglich fast jeden Busankoppler für den Arduino zu verwenden
Einen Kommentar schreiben:
-
Interrupts werden waehrend eines delay weiterhin verarbeitet - allerdings wird zB die serielle nicht mehr gepollt...Zitat von dreamy1 Beitrag anzeigenDas schaue ich mir auch nochmal an. Ein reines "delay" in Arduino-Sprache darf das aber keinesfalls sein, da der Kleine in der Zeit einfach pennt und gar nix mehr macht...ich glaube sogar, das da auch keine Interrupts mehr verarbeitet werden.
...
Dein Schnipsel macht Sinn innerhalb der loop-Routine, aber hier geht es eher darum, dass innerhalb der Lib nach dem Senden auf den seriellen Bus kurz gewartet wird. Sowas ohne delay zu realisieren wird extremst aufwaendig und fuehrt vermutlich dazu, dass die ganze Lib umgebastelt werden muss.
Ausgehend davon, dass es eher fuer "kleinere Basteleien" Gebrauch findet, wuerde ich es persoenlich schon sinnreich finden den delay zu verbasteln. Wer eine "Echtzeit-Anwendung" braucht wird mit der aktuellen Loesung eh nicht gluecklich und muss ohnehin was eigenes bauen; der Gedanke dahinter ist eher der - wie bei Arduinos ueblich
- schnell was laufendes zu bekommen ohne sich viel Gedanken ueber den Background machen zu muessen.
Abgesehen davon: ich denke die 50ms nach jedem gesendeten Paket bremsen die Sache nicht wirklich aus. Aber ich machs im Header-File konfigurierbar, dann kann es jeder so anpassen wie er mag
beste Gruesse :: Michael
Einen Kommentar schreiben:
-
Das schaue ich mir auch nochmal an. Ein reines "delay" in Arduino-Sprache darf das aber keinesfalls sein, da der Kleine in der Zeit einfach pennt und gar nix mehr macht...ich glaube sogar, das da auch keine Interrupts mehr verarbeitet werden.Zitat von wintermute Beitrag anzeigenWas das delay angeht: haelst du es fuer sinnvoll ein delay(50) (oder vllt etwas mehr) nach dem Senden eines Paketes fest in der Lib zu vercoden?
Ich arbeite dazu immer mit folgenden Programmschnipseln, die ohne Pennphasen auskommen:
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
...und jetzt kommt die auszuführende Aktion
}
Einen Kommentar schreiben:
-
Zitat von wintermute Beitrag anzeigenWas das delay angeht: haelst du es fuer sinnvoll ein delay(50) (oder vllt etwas mehr) nach dem Senden eines Paketes fest in der Lib zu vercoden?
gruesse :: Michael
Sicherlich, da besteht noch einiger Optimierungsbedarf um später einfachen Code damit zu schreiben. Gerade der Umgang mit den GAs ist nicht glücklich gelöst und ein anständiges mapping von Datentypen und Funktionen wäre durchaus hilfreich ... Zeit müsste man haben
.
Einen Kommentar schreiben:
-
Hallo
Im Photovoltaik Forum hat jemand den SDM630M-DC 3Phasen Messgerät/Stromzähler mit dem Arduino verbunden.
Wenn man den Arduino dann mit KNX verbindet hat man einen günstigen KNX-Stromzähler.
SDM630M-DC - 3 Phasen Messgerät/Stromzähler? Photovoltaikforum
Gruß NetFritz
Einen Kommentar schreiben:
-
Noe, das macht auch nicht wirklich einen Unterschied, in die Telegramme reingucken muss man ja eh (irgendwann zumindest).Zitat von JuMi2006 Beitrag anzeigenAlso beim kurzen überfliegen des Codes macht es m.M.n. keinen Unterschied ob man die Telegramme in der Library oder im Programm filtert.
Was aber übrigens nicht klappt ist mehrere Telegramme ohne ein delay (oder ähnliches) hintereinander zu versenden. Ich glaube bei 50ms war da die Grenze was dann 20 Telegrammen pro Sekunde entspricht ... sollte ausreichen.
Im uebrigen ist die Einschraenkung momentan scheinbar nur "soda" - das einzige was sie macht ist das Hoeren auf weitere GAs zu unterbinden und in dem Fall eine Debug-Meldung auszugeben. Es spricht also erstmal nix dagegen - wie geschrieben - das einfach auf 200 zu setzen und zu schauen ob die Ressourcen reichen...
Was das delay angeht: haelst du es fuer sinnvoll ein delay(50) (oder vllt etwas mehr) nach dem Senden eines Paketes fest in der Lib zu vercoden?
gruesse :: Michael
Einen Kommentar schreiben:
-
Danke Euch für Eure Einschätzung!
Hintergrund meiner Frage: ich möchte gerne ein kleines Interface bauen, um mein Multiroom-Equipment direkt an KNX anzubinden...also ein intelligentes RS232-KNX-Interface. Da kommt einiges an GAs zusammen, wobei 200 vielleicht am Ende etwas hoch gegriffen ist.
Einen Kommentar schreiben:


Einen Kommentar schreiben: