Node-Red Reboot erforderlich auf Grund von Analogkarte am I²C

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen.

    Ich betreibe mehrere Karten von Horter&Kalb am I²C diverser Pi Zero2.

    Ein-/Ausgangskarten laufen problemlos, nur die Analogkarten machen Probleme.

    In unterschiedlichen Intervallen frieren die Analogwerte ein.

    Die Busteilnehmer sind alle erreichbar im Fehlerfall. I²C Kernel-Tracing ergab keinen Grund, genauso wie die Node-Red Logs.

    Ich habe dann irgendwann herausgefunden, dass ich Node-Red neu starten muss, um den Fehler zu beheben.

    Es handelt sich um 3 genutzte analoge Eingänge, einer via 0-10V, zwei via 4-20mA. Es frieren alle ein.

    An dem besagten Bus hängen eine Eingangs-, eine Analog- und zwei Ausgangskarten:

    Die digitalen Signale frieren nicht ein, dass habe ich getestet.

    In der Konfigdatei steht der Bustakt auf 400.000.

    Die 0-10V kommen von einem Ultraschallsensor, die 4-20mA von Lichtsensoren.

    Ich habe keine Idee mehr, woran es liegen könnte. War schon am überlegen für die Analogkarte den zweiten I²C mal zu nutzen. Aber es sind halt nur 4 Teilnehmer.

    Hätte jemand eine Idee, wo ich noch suchen könnte ? Danke.

    Gruß Thorsten

    Gruß Thorsten

  • Node-Red Reboot erforderlich auf Grund von Analogkarte am I²C? Schau mal ob du hier fündig wirst!

  • Moinsen,

    du nutzt die PCF8574 als Digitale Eingänge ?
    Mal darüber nachgedacht, weil du keine Aussage machst, das diese auch den INT PIN 13 (DIP16 / SOIC-16) bzw 1 ( SSOP20 ) bedienen, und danach nur eine Abfrageintervall von 20ms zur Verfügung steht !?
    Weiterhin ohne Herstellerangaben des PCF8574 würde ich diese nicht mit 400.000 Hz ( 400kHz ) via Clock betreiben, zudem wenn die Gesamtlänge der Busschleife von dir nicht genannt wird, und somit auch außerhalb der Spezifikation liegen könnte.
    Ich vermute hier eine Vermischung aus 2 Fehlern, einmal das das ausgelöste INT des PCF8574 diesen blockiert, und dann die Software selber eine Signalüberschneidung bei der Ansprache der anderen Komponenten verursacht.
    Für eine andere Programmierung bzw Programmiersprache ausgedrückt, wenn der PCF8574 ein LOW-to-HIGH registriert, fällt der Pegel am INT-PIN auf LOW ab, und man hat 20 ms Zeit diesen abzufragen. Falls man diese INT Controller Benachrichtigung nicht nutzt, muss man auch diese Zeit abwarten, und dann die Verbindung seitens des Hosts ( I²C Master = PI ) wieder beenden, und den Bus freigeben.
    In dieser Zeit darf durch keinen anderen Thread auf, oder über den Bus auf andere Slaves zugegriffen werden.
    Hier halte ich ein Trennung der HOSTs, und eine korrekte Einstellung der Clock Frequenz für diese PCF8574 für die Methode die nach meiner Ansicht am ehesten eine Erfolgsaussicht hat.

    Franky

  • Danke, für die schnelle Antwort.

    Ja, ich benutze den PCF8574 als digitale Eingänge, Es handelt sich um diese Karte:

    https://www.horter-shop.de/de/i2c-hutschi…0404260851.html

    Die 4 Karten sind per Repeater an den Pi Zero angeschlossen.

    Der Bus ist keine 20cm lang, da die Karten direkt neben dem Pi sind.

    Der INT-Pin vom Repeater bzw. I²C ist nicht am Pi angeschlossen.

    Der Bustakt wird in allen möglichen Anleitungen für I²C erwähnt. Welcher wäre denn der richtige Takt ?

    Gruß Thorsten

    Gruß Thorsten

  • Node-RedMoinsen,

    Die 4 Karten sind per Repeater an den Pi Zero angeschlossen.

    Was ist bei dir eine Repeater am I²C Bus ? Doch nicht etwas ein Extender basierend auf dem P82B715, den es auch als Karte von der gleichen Firma Horter & Kalb gibt ?

    Der Bus ist keine 20cm lang, da die Karten direkt neben dem Pi sind.

    Naja das macht die Sache im oder vom Aufbau noch komischer ;) Bei unter 20 cm brauchst keinen Extender. Aber du kannst mal bitte ein paar Detailangaben zum verwendeten Kabel / Leitungen preisgeben, die für den I²C Bus genutzt werden. Danke.

    Der INT-Pin vom Repeater bzw. I²C ist nicht am Pi angeschlossen.

    wird aber laut Schaltplan mit nach außen geführt !? Und dann kommt es auf die Programmbbliothek selber drauf an, die über Node-Red für den PCF8574 genutzt wird. Keine Ahnung was da bei dir abgeht um ehrlich zu sein.

    Der Bustakt wird in allen möglichen Anleitungen für I²C erwähnt. Welcher wäre denn der richtige Takt ?

    Da hilft nur ein Blick mit der Lupe auf den PCF8574-Chip selber, und man sucht nach dem Hersteller Logo. Es gibt nur zwei mir bekannte Hersteller, dazu zählt aber weder Ti ( Texas Instruments ) noch NXP ( früher Philips ) die diesen Chip für 400.00 Hz freigeben haben. Hier hilft nur die Suche über das Herstellerlogo und das Datasheet um an die genauen Informationen zu kommen. Meistens sind es nur die schon erwähnten 100 kHz.
    Dann entweder einen zweiten BUS aufmachen ( eigentlich Host ), und diesen mit nur 100kHz Clocksignal betreiben, oder du hast innerhalb von Node-Red die Möglichkeit während der Laufzeit den Bus umzutakten.

    Wenn du mal auf einer kleinen Handskizze nur die Verkablung des I²C Bus mit den Leitungen SDA / SCL als eine Verbindungslinie in der aufgebauten Zusammenstellung mit PI, Repeatern, Analog- und Digitalkarten darstellen könntest, könnte man vielleicht auch einen Fehler bei der Verwendung der Repeater ( falls basierend auf dem P82B715 ) erahnen.
    Handskizze, abfotografieren und fertig werden ;)

    Franky

  • Repeater ist vielleicht die falsch gewählte Bezeichnung, da dort lediglich eine Pegelanpassung stattfindet:

    https://www.horter-shop.de/de/i2c-hutschi…0404261162.html

    Verwendet wird der PCA9517.

    Die genutzte Eingangskarte habe ich ja schon erwähnt, die Ausgangskarte nutzt denselben Chip.

    Zum Aufbau: der "Repeater" steckt auf dem Pi. Von dort aus gehen die mitgelieferten Kabel zur Eingangskarte, dann zur Analogkarte und von da aus zu den Ausgangskarten.

    Welcher Hersteller die PCF8574 sind erkennt man auf den Fotos leider nicht und ich bin gerade 800km von daheim entfernt.

    Der INT wird von den Karten nicht weitergeführt, existiert nur am "Repeater". Die genutzten Bibliotheken in NR sind die RedPLC.

    Gruß Thorsten

  • Moinsen,

    Dieser was hier fälschlicher Weise als Repeater bezeichnet wird, ist eigentlich in der Funktion ein Levelshifter.
    OK, kann man verwenden, wenn man die Slaves mit einer anderen Vc > 3,3 V betreibt.
    Nun ist die Frage welche Versorgungsspannung du für die Analoge wie auch die Digitale Karte nutzt. Das hört sich im ersten Eindruck sehr abenteuerlich an, was du hier zusammengefrickelt hast.

    Ich habe leider kein Verständnis warum sich ohne Grundwissen über das Busssystem einfach so einer Firma mit irgendwelchen Fertig-Platinchen anvertraut, und dann vor oder mit dem bösen erwachen alleine dasteht.
    Grundsätzlich !
    Wenn die Slaves ( analoge wie auch digitale Karte ) mit einer Vc abweichend 3,3 V betrieben wieder braucht man einen solchen Levelshifter um wieder Pegelspannungskompatibel zu werden. Wenn ich allerdings diese Platinen und diese Schraubklemmbuchsen sehe dann bekomme ich ein Schleudertrauma !
    Und wenn du sagst der INT wäre nicht durchgeschleift dann schau dir mal bitte die Schaltpläne an !
    Levelshifter und Digitale I2C-Eingabekarte, wenn die Brücke / Jumper gesetzt wird, wird das INT Signal dann auf GPIO 17 geleitet !
    Das heist wenn alles richtig verdrahtet ist, muss die LED V9 kurz angehen, wenn ein Eingabeevent aufgetreten ist. Und das Signal am Ausgang dieser Karte muss in dem Momnet von LOW auf HIGH abfallen. Gleichzeitig müsste die V1 LED auf dem "Repeater-Board" genauso mit aufleuchten, egal ob der Jumper gesetzt ist oder nicht !
    Und das ist dann Ausgangsgrundlage für die Auswerung. Wenn der INT HIGH-To-LOW Impuls kommt, hat die Auswertesoftware genau 20ms Zeit das Portregister des PCF8574 mit der entspeechenden Adresse abzufragen. Was aber hier Unsinnig ist, weil bei der Mehrfachnutzung vieler dieser Digitalen I/O Karten nicht bestimmt werden kann, von welcher Karte dieser Event gemeldet wurde.
    Es macht aus Design- und Software Handlingsgründen keinen Sinn dieses INT Signal auf einen GPIO zusammenzufassen. Weil dann muss man erst alle vorhandenen PCF8574 durchklingen und abfragen woher diese Eventmeldung gekommen ist. Und ob das deine Software richtig umsetzt ? Keine Ahnung !

    Egal wie Node-Red diese PCF8574 abfragt, entsteht hier ein massives Polling, wenn der INT nicht genutzt werden kann, oder wird. Und das erzeugt verdammt viel Traffic auf dem I²C Bus, ohne das wirklich etwas passiert. Ständig im Kreis zu laufen, und irgendwelchen Pfeffer abzufragen nur das man eventuell mitbekommt ob sich an den Eingängen etwas geändert hat, dass erinnert sehr stark an die Loop() geilen Arduino Jünger. Zumal das PI selber gar nicht echtzeitfähig ist.

    Entschuldige bitte, wenn ich das so ausdrücken muss, frage den Hersteller dieser Platinen wie der sich das vorgetsellt hat, und ob er mit seinem Platinendesign überhaupt die Auswertung mehrerer dieser I/o Platinen über Node-RED supportet ?
    Ich behaupte, wenn ich diese Schaltpläne betrachte es wird niemals funktionieren, und es wird immer Komplikationen geben, wenn du den INT nicht nutzen oder einbinden kannst.
    Und wenn du dann mal irgendwann einmal ;) Herausgefunden hast was die richtige Clock Frequenz / Takt ist dann lasse diese digitalen Karten mit dem möglicher Weise langsameren Takt auf den GPIOs 3 +5 und verwende den zweiten I²C Bus für die analogen Karten, den du über die /boot/config.txt erstellen musst. -> https://www.laub-home.de/wiki/Raspberry_Pi_multiple_I2C_bus

    Franky

  • Franky07

    Danke für die ausführliche Erklärung.

    Ich habe mir ehrlich gesagt bei der Umstellung von Beckhoff auf Pi mit I²C kaum Gedanken gemacht. Ich hatte gesehen, dass es fertige I/O-Karten gibt und die dann bestellt und genutzt.

    Die Auswertung der Analogsignale ging ja lange Zeit auch gut, ist aber zunehmend schlimmer geworden, was sich darin geäußert hat, dass der Abwassertank immer voller wurde, weil der Ultraschallsensor nicht mehr reagiert hat.

    Interessanterweise musste ich aber, wie oben bereits erwähnt, nur Node-Red neu starten und nicht den ganzen Pi.

    Ob es am Pollen oder an Node-Red liegt, kann ich leider nicht sagen.

    Aktuell ist die Brücke für INT nicht vorhanden, die LED´s kommen aber bei Events.

    Macht wohl keinen Sinn INT zu nutzen und stattdessen besser gleich auf den zweiten Bus zu gehen, oder ?

    Gruß Thorsten

    Einmal editiert, zuletzt von Thor_Sten (5. Januar 2023 um 19:32)

  • Moinsen,

    Die INT Nutzung macht nur Sinn, wenn diese von der Node-Red Treibersoftware für den PCF8574 auch supportet wird.
    Dazu gibt es einen ähnlichen Thread der das Thema PCF8574 und die Nutzung des INT Ports sehr ausführlich, wenn auch in einer anderen Programmierung mehr als eindeutig erklärt.
    Übersetzt auf das PI heist das nichts anderes, als das der Treiber den PCF abfragt, aber ein GPIO als IRQ Event hier übertragen auf das PI z.B. mit RPI.GPIO auf einen "Falling" Event benötigt, um die Abfragefunktion auszulösen.
    Wenn ich das jetzt so aus der Ferne richtig betrachte weil INT von dir nicht angeschlossen ist, müsste ein Core immer am Anschlag laufen, weil er ständig auf dem I²C Bus herumquirlt. Dann liegt hier Polling vor. Wie du das dann innerhalb von Node-RED abändern kannst, keine Ahnung, weil ich bevorzuge die direkte Ansprache bzw. Abfrage über eine reale Programmiersprache, auch der Scripspraceh Python, weil dann habe ich die Kontrolle über den tatsächlichen Programmablauf.
    Das heißt übersetzt, wenn du in deiner Zuordnung zu dem Symbol des PCF8574 in deinem BUS-Diagramm keine Möglichkeit hast, oder dir angeboten wird, einen zusätzlichen GPIO zu benennen, der als Trigger auf einen "fallenden Pegel" an diesem PIN mit der eigentlichen Port Register Abfrage reagiert, dann kannst du bei der Mehrfach- oder Parallelnutzung dieser Karten davon ausgehen, das diese nicht für Node-Red gemacht sind, denn auch in dem Falle mit INT weil nur ein GPIO für beide Karten zuständig ist, und somit du Node-Red erklären müsstest das er trotzdem beide Karten abfragen muss, um zu ermitteln an welchem PORT welches erst einmal noch unbekannten PCF8574 eine INPUT Event stattgefunden hat. Und dann müsstest du LAST_Register mit Actual_Register vergleichen, um eine Aussage zu treffen an welcher Karte und dann an welchen Port der Event eingetreten ist. Nur wenn das Hintergrundprogramm pollt wie bekloppt, dann kann es durchaus passieren, dass dir innerhalb dieser 20 ms ab des INT Events mal ein solcher INPUT-Event durch die Lappen geht. Mit Polling und der Vielzahl der Input Ports sind die 20 ms sehr schnell erreicht, dass der Event dann am PCF8574 nicht mehr in geschalteter Form an diesem Inut-Pin des PCF8574 anliegt, und du keine Information darüber erhältst, weil das Portregister inzwischen wieder seinen Status geändert hat. Es ist mit Node-RED eigentlich Böldsinn eine solche Aufgabe dann über ein PI machen zu wollen. Entschuldige, das ist eine Aufgabe für einen µC der hier viel schneller reagieren kann, der zudem auf solche GPIo Events wie die INT Abfrage wirklich auch innerhalb kürzester Zeit reagieren kann. Im Datenblatt zum MCP4324 ist auch beschrieben wie die Abfrage über I²C stattzufinden hat.
    eigentlich musst du dich überhaupt nicht wundern, weil der 4324 ein Differenzieller ADC ist, der eine Wertbildung immer aus der kombinierten Abfrage Channel . und Channel + zu einer Masse-bezogenen 4 Kanalabfrage macht. Auf deutsch gesagt der Treiber muss 2 Eingänge abfragen, um daraus mathematisch einen Wert zu bilden. Vollkommen falsche Produktauswahl. Du hast allein durch diese Bauart aus einem Differenziellen ADC mit 8 Eingangspotentialen einen 4 Channel ADC zu machen immer die doppelte Traffic auf dem I²C Bus.
    Ich weiss ja aktuell nicht was an diesen beiden Analogen Input Karten in Wirklichkeit dran hängt, ob es wirklich notwendig ist eine negatives Spannungspotential messen zu können ? Aber diese Aufgabe und auch wieder mit der Betrachtung ist diese hohe Auflösung von 18 Bit wirklich an das Auswerteergebnis angepasst ist, ob die Fähigkeit +/-10 V messen zu können wirklich der Aufgabenstellung entspricht ? Aber das kann ein MCP3208 via SPI bei 12 Bit genauso erledigen. Zumal der Aufbau auf dieser Analog Platine mit seinen Schraubanschlüssen, mit seinen vielen Jumpern nicht wirklich zu einer genaueren Meßwerterfassung beiträgt. Diese offenen Potentiale sind Einfallstore für Fremdeinstreuung von elektromagnetischen Wellen.
    Am besten wäre es wenn du mal die ganzen Sensoren näher beschreibst, die an diesen beiden Analog Input-Karten angeschlossen sind.

    Franky

  • Ich hatte es erst mit einem PCF8591 versucht, der ließ sich aber leider nicht per Node-Red auslesen, deswegen bin ich beim MCP3424 gelandet. Auch der Tatsache geschuldet, dass es unterschiedliche Sensoren sind (0-10V und 5-20mA).

    Würde das jetzt mit dem 100er Takt oder dem zweiten Bus nicht funktionieren käme statt dem Ultraschallsensor 0-10V ein Tauchrohrgeber 0-190Ohm zum Einsatz. Der wäre auch weniger anfällig.

    Aber bis jetzt läuft noch alles nur mit geändertem Takt.

    Und wegen der Frage, ob dies die richtige Karte sei.

    Mit dem Ultraschallsensor 0-10V frage ich den Pegelstand der Abwasserpumpe ab und schalte sie damit ein/aus.

    Das andere sind zwei Helligkeitssensoren mit denen ich Licht ein-/ausschalte und Rollläden bei starker Sonneneinstrahlung runterfahre.

    Wenn die letztgenannten Werte einfrieren ist es nicht ganz so dramatisch, aber bei der Abwasserpumpe fällt es halt auf. Die muss zuverlässig laufen.

    Gruß Thorsten

  • Moinsen,

    Also dröseln wir das ganze mal auf ;)
    Die Spannungen die ein Sensor ausgibt sind erst einmal bei analoger Abfrage vollkommen egal. Wer glaubt einen ADC zu benötigen, der eine besonders hohe Eingangsspannung zulässt, der hat sich mit dem Thema ADC Messungen noch nicht ausreichend beschäftigt.
    Aber auf meine Frage wie viele Sensoren an den beiden analogen Karten wirklich angeschlossen sind, hast du auch noch nicht beantwortet.
    Die Spannungen sind wie du selber sagtest irgendwas zwischen 0 und 10 V .
    Jetzt weiss ich nicht wie deine Fähigkeiten sind mal eine kleine Lötarbeit selber auszuführen, und ob du noch ausreichend frei GPIO Kapazitäten für den SPI Bus hättest.
    Ich habe nachgesehen, dass der schon genannte MCP3208 von Node-Red Supportet wird.
    Damit wärst du diese analoge Abfrage über den I²C Bus schon einmal los. Falls dir bei einer maximalen Eingangsspannung von 10 Volt eine mögliche Auflösung von 2,4mV nicht ausreichen sollte, wäre noch der MCP3304 mit 13 bit eine Option, wovon du dann allerdings zwei dieser ADCs benötigen würdest.
    Dazu sollte man folgende Grundsätze beachten, die meisten ADCs können mit einer höheren Vc betrieben werden als das PI als Eingangspegel verträgt. Deswegen gibt es auch sg. Levelshifter. Bei ADCs mit externer Bereitstellung der für eine Messung unerläßliche VRef muss die eingespeiste VRef kleiner gleich der Vc sein.

    Der Aufwand bei Verwendung einer vorgefertigten LevelShifter-Platine ist relativ überschaubar.
    Auch hier kannst du Spannungen von 0-10V messen. Der ADC wird über eine externe Referenzspannungsquelle Typ MCP1541 versorgt. Die Vc wird direkt dem PI entnommen.

    Franky

  • Doch, die Frage nach Anzahl der Sensoren habe ich beantwortet und ich habe auch geschrieben, dass ich nur eine Analogkarte in Gebrauch habe.

    Drei Sensoren á 24V Spannungsversorgung mit 1x analoger Ausgangsspannung von 0-10V bzw. 2x Ausgangsstrom von 5-20mA für die Auswertung.

    Löten ist kein Thema, da bin ich kein Anfänger. Der SPI wäre wieder frei, da ich inzwischen PoE nutze.

    Direkt für den MCP3208 gibt´s keinen Node, aber der vom MCP3008 kann genutzt werden.

    Aber ein 8-kanaliger MCP wäre schon ziemlich übertrieben, bei nur maximal drei benötigten.

    Achja, heute kam es zweimal zum Einfrieren, diesmal half aber kein Restart von NR. Die Verringerung des Taktes von 400 auf 100kHz hat´s sogar schlimmer gemacht. Ich musste den Pi rebooten.

    Werde es also mal mit dem zweiten I²C probieren.

    Finde es aber erstaunlich, dass es mit den Karten von Horter&Kalb dermaßen Probleme gibt.

    Die zweite Analogkarte, die ich von denen im Einsatz habe, teilt sich an einem anderen Zero den Bus mit den gleichen I/O-Karten und da gibt´s keine Probleme. Vielleicht liegt es auch nur am Ultraschallsensor.

    Gruß Thorsten

  • Moinsen

    Drei Sensoren á 24V Spannungsversorgung mit 1x analoger Ausgangsspannung von 0-10V bzw. 2x Ausgangsstrom von 5-20mA für die Auswertung.

    bzw ist wieder Gummi.
    Wennn du drei Spannungen und zweimal Strom messen willst, dann sind das bei mir 5 Eingänge. Also 3 zur Spannungsmessung und 2 zur Strommmessung ! Das dürfte dann schwierig werden diese Aufgabe mit einem 4 Channel ADC zu machen.

    Direkt für den MCP3208 gibt´s keinen Node,

    Deswegen hatte ich den LINK gesetzt.

    MCP3008 kann genutzt werden.

    Das ist allerdings nur ein 10Bit ADC , ob das deiner Auflösungsanforderung noch gerecht wird keine Ahnung.

    Was mir allerdings bei der analogen Input-Schaltung aufgefallen ist, dass diese nur für oder mit einer VREF von 2 Volt ausgelegt ist. Deswegen werden die bei diesem Spannungsteiler von 10V auf 2 V auch so hoch mit der Auflösung reingehen, weil man sonst nicht mehr so detailliert in diesem zusammengestauchten Bereich etwas erfassen kann. Hinzu kommt das dieser MCP4324 nur eine Abfrage- bzw Sampling Rate von max. 240 pro Sekunde aufweist. Bezogen auf alle acht Eingänge bei differenzieller Messung sind das nur noch 30 Messungen insgesamt verteilt auf alle INPUTs. Das dann in Verbindung mit dem PCF8574 ist schon eine sportliche Herausforderung.

    Das Hauptproblem bei deiner Kombination ist dieser, dass du zwei Systeme / Slaves an einem Bus verwenden willst, welche laut Spezifikation der Hersteller mit unterschiedlichen CLOCK Frequenzen arbeiten. Die Aufteilung auf zwei getrennt ansprechbare I²C Hosts wäre hier, wenn der schneller nicht mit der langsameren Clockrate klarkommt, der einfachste Weg. Zumal man auch nicht wirklich herausbekommt, was Node-RED im Hintergrund treibt.
    Bei einer klassischen Programmierung via einer Hochsprache, wäre es kein Problem den Bustakt während der Abfrage der PCF8574 (auch ohne INT Nutzung) herunter zu setzen und ihn dann für die ADC wieder anzuheben.

    Jedoch echte differenzielle Messungen mit einem SPI ADC dieses Herstellers ohne Massebezug sind nur dem MCP3x01 ( x = 0, 1 oder 2 )Modellen möglich. Also einem ADC der nur über einen IN+ und IN- verfügt. Nun weiss ich nicht wie das bei dir mit der Masse aussieht. Die MCP3x08 ( x = 0,1 oder 2 ) können nur Pseudodifferenziell.

    Wenn sich das Problem nicht über einen getrennten BUS lösen läßt, dann wieder das Problem der Unterstützung der MCP3x01 durch Node-RED. Dann wäre pro Strommessung ein MCP3x01 und je nach Anzahl der verbleibenden Spannungsmessungen ein MCP3x02 ( 2 -Channel bei gemeinsamer Masse ) , MCP3x04 ( 4 -Channel bei gemeinsamer Masse ) nötig. Wobei für alle ADCs eine gemeinsame VREF genutzt werden kann.

    In einer Hochsprache auch mit unterschiedlicher Taktfrequenz ist das alles kein Thema. Nur mache ich mir gerade Gedanken, worauf ich keine Antwort finde, wie das innerhalb von Node-Red abläuft. Ich vermute hier wird für jede I/O Karte ein eigener Thread aufgemacht, die an feste Abfragezeiten ( Wiederholraten ) gebunden sind, und dann ist es nur eine Frage der Zeit, wenn der I²C keinen Self-Lock verwendet, dass es hier zu einer Datenkollision auf dem Bus kommt.

    Franky

  • Hi.

    Die Anzahl und Art der Sensoren hast Du immer noch falsch verstanden. Es sind insgesamt drei Sensoren, davon 1x 0-10V und 2x 5-20mA.

    Aber ich bin schon am umplanen, falls ich es nicht zuverlässig zum Laufen bekomme. Habe hier schon D1 mini liegen, die ich dann alternativ zum Ultraschallsensor mit Tauchrohrgeber nutzen möchte. Dann würde ich nämlich nur noch den Wert an NR rausgeben.

    Gruß Thorsten

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!