Arduino Uno liest analoges 24-V-DC-Signal

Haftungsausschluss: Bitte seien Sie sanft - ich bin ein Neuling mit Elektronik.

Überblick

Ich habe ein proprietäres analoges 24-V-DC-Sensorsignal, das ich mit einem Arduino-basierten Mikrocontroller verbinden möchte. Der Sensor hat nur zwei Anschlüsse, die sowohl für die Stromversorgung als auch für die Signalisierung verwendet werden.

Ansatz

Ich habe verschiedene Beiträge und Websites bezüglich der Umwandlung des 0-24-V-Analogsignals in den Bereich 0-5 V durchsucht, den der ADC auf dem Arduino Uno (eigentlich Freetronics Eleven mit ATmega328P) interpretieren kann.

Aus dem was ich zusammengebastelt habe:

  • Der ADC ist ein 10-Bit für 0-5 V, also habe ich ungefähr 4,88 mV pro Schritt (insgesamt 1023 Schritte). Die Auflösung reicht für meine Zwecke aus.
  • Ich kann eine einfache Spannungsteilerschaltung verwenden, um auf den Bereich von 0 bis 5 V "zu verkleinern".
  • Ich sollte meine Widerstandswerte nicht nur so wählen, dass sie die gewünschte geteilte Spannung erreichen, sondern auch der Impedanz des ADC entsprechen. Ich bin immer noch mit der ganzen Impedanzsache verloren, daher bin ich mir immer noch nicht sicher, ob ich R1 und R2 mit einer Größe von beispielsweise 4,7 kOhm und 1,2 kOhm oder um eine oder zwei Größenordnungen größer verwenden soll.
  • Spannungspuffer / Operationsverstärker: Ich habe Hinweise darauf gesehen, dies als Teil der Schaltung aufzunehmen, aber auch hier macht mich meine Unwissenheit nur an dieser Stelle gefährlich. Ich bin mir nicht sicher, warum dies nützlich ist oder was es erreicht, aber ich denke, es scheint zu helfen, die Fehlanpassung der Impedanz zwischen dem 24-V-Signal und dem des ADC zu beheben. Aber ich könnte mich irren.

Eine besondere Frage, die ich habe, betrifft die Tatsache, dass der ADC und das 24-V-Sensorsignal, das ich verbinden möchte, unterschiedliche Stromquellen haben, und anscheinend ist dies ein Problem, da sie nicht dieselbe GND teilen. Aus meiner Tiefe, also wäre ein Einblick nützlich. Der Arduino läuft mit 5V DC.

Mir ist klar, dass SE Q&A-Posts bevorzugt, aber für mich ist das Obige ein Kontext, der für die größere Schaltung zusammenpasst - zumindest denke ich das.

Ich würde es wirklich schätzen, wenn diejenigen mit mehr Verständnis und Wissen ihre Einsichten anbieten und meine obigen Gedanken geltend machen und sogar darauf eingehen könnten, um mein Verständnis zu erweitern und einige meiner Missverständnisse auszuräumen.

Vielen Dank!

Zumindest müssen wir mehr über diesen mysteriösen "proprietären 24-V-Gleichstrom-Analogsensor" wissen und wissen, wie oft Sie ihn testen müssen, um Ratschläge geben zu können.
@Techydude Entschuldigung für die begrenzten Informationen. Ich selbst habe nicht viel mehr. Es ist ein drahtloser Regen- und ET-Sensor von Hunter, den ich für ein Projekt "neu aneignen" möchte. Was ich vom Sensor erwarte, wird wahrscheinlich ein PWM-ähnliches Signal sein, aber ich kann es nicht bestätigen. Irgendwie, worum es hier geht - damit ich sehen kann, ob ich einen Weg finden kann, seine Daten zu verwenden. Leider habe ich keinen Zugang zu teuren Geräten wie Oszilloskopen oder Logikanalysatoren, aber ich würde gerne versuchen, was ich mit dem verfügbaren grundlegenden ADC usw. tun kann. Weiß nicht, ob das Ihnen bei Fragen hilft?
yup - die kabellose Version des Solar Sync. Insbesondere das Empfängermodul (WSS-SEN). Als Referenz: hunterindustries.com/sites/default/files/OM_WirelessSS_em.pdf
Hier herrscht viel Verwirrung. Der „Wireless Solar Sync Receiver“ scheint ein batteriebetriebenes Add-On für einige Hunter-Produkte zu sein, das über 2 Kabel mit entweder X-Core- oder ACC-Controllern verbunden ist, und einige andere Hunter-Produkte benötigen ein zusätzliches zwischengeschaltetes „Solar Sync-Modul“ ( in diesem Fall ist ihre Verbindung zum SSModule ebenfalls drahtlos). Ich nehme an, Sie möchten einen "Wireless Solar Sync Receiver" an Ihren Arduino anschließen? Wenn ja, dann bezweifle ich, dass Sie ein 24-V-Gleichstromsignal davon erhalten.
Mit anderen Worten, Sie haben eine Reihe von Annahmen getroffen, von denen ich glaube, dass sie nicht der Fall sind (24 V (keine Erwähnung von Gleichstrom in der Doku), Sensor mit analogem Ausgang?, PWM?). Ich bin nicht davon überzeugt, dass irgendetwas davon zutrifft. Ich vermute, dass der batteriebetriebene Solar Sync-Empfänger einfach seine 2-Draht-Kontakte schließt (kurzschließt), was der Controller dann als "Es regnet!" interpretiert und entsprechend handelt (Bewässerung ausschalten usw.). Wenn ich das richtig gelesen habe, wird ein einzelner digitaler Eingang an Ihrem Arduino mit einem 10-kOhm-Pullup wahrscheinlich ausreichen, um Ihrem Arduino dasselbe zu sagen: "Es regnet!" Signal.
Mit anderen Worten, der Solar Sync ist kein Regenmesser, er gibt Ihnen kein analoges Signal, wie viel es regnet – er schaut auf die Verdunstung und sagt dann einfach zum Controller: „Es regnet – gehen Sie und verhalten Sie sich angemessen mit diese neuen Informationen"; eine binäre Ausgabe.
Sie sollten in der Lage sein, die meisten dieser Hypothesen mit einem Multimeter zu testen. Je nachdem, welche richtig ist, könnte Ihre Schnittstellenlösung sogar noch einfacher sein, als Sie erwartet haben.
@Techydude Es ist nicht batteriebetrieben. Ich habe ein Multimeter, das 24 V DC bei einer Versorgung von ~ 10 mA anzeigt, wenn es von einem X-Core-Controller angesteuert wird. Verwendet kein "Solar Sync Module" - hätte es gesagt, wenn es so wäre. Es empfängt Daten vom Fernsensor für Regen und ET. Ja, ich vermute nach bestem Wissen – es ist immerhin proprietär und ich habe erklärt, dass es darum geht, zu experimentieren, mit Hilfe und Ideen von anderen Enthusiasten zu lernen – irgendwie der Sinn meines Posts, meinst du nicht? Fazit, wie man das 24-V-DC-Signal mit dem Arduino 10-Bit-ADC abtastet und sieht, was ich bekomme. Vielleicht ist es PWM oder lineare Spannung oder codiert oder nicht.
Danke @NickJohnson - ich hoffe es. MM liefert eine 24-V-DC-Versorgung bei 10 mA, wenn es an den originalen X-Core-Controller angeschlossen ist.
Beruhigen Sie sich - ich wollte Sie nicht angreifen (beabsichtigen), obwohl ich beschuldigt werden könnte, meine Worte nicht mit Zucker zu überziehen :). Wenn Sie dieses PDF weiter lesen, denke ich, dass, wenn der X-Core-Controller 24 V DC an den SSReceiver liefert, ich bezweifle, dass die vor Ihnen liegende Aufgabe darin besteht, ein 0-zu-24-V-DC-Signal zu lesen - andernfalls hat der SSReceiver keine Stromversorgung wenn es eine niedrige Spannung ausgibt (Huhn & Ei). Wie ich oben sagte, denke ich, dass es die Aufgabe ist, ein binäres Signal auszugeben - ob es regnet oder nicht.
Meine Vermutung ist also, dass dieses 2-Draht-Schema entweder durch Anlegen einer Last an die 24-V-Gleichstromversorgung kommuniziert, die vom Controller erfasst wird, oder dass eine Art SPS-Schema verwendet wird (Power Line Comms). Wenn dieses 2-Draht-Schema bei anderen Sensoren verwendet wird, die einen „analogen“ Signalbereich liefern (im Unterschied zu einem binären Zustand), dann würde ich darauf wetten, dass es sich um ein SPS-Schema handelt.
Das Handbuch sagt, dass das Modul, das Sie haben, 24 VAC und nicht Gleichstrom verwendet. Können Sie überprüfen, ob es sich tatsächlich um Gleichstrom handelt?
@Techydude Danke für die Eingabe - ein weiterer Weg zum Erkunden. Ich glaube auch nicht, dass es unbedingt ein 0-bis-24-VDC-Signal ist - wahrscheinlich binär. Ich werde versuchen, mehr über PLC zu erfahren. Vielleicht ist dies eine dumme Frage, aber unter der Annahme, dass es sich um ein analoges (möglicherweise ein kleinerer Spannungsbereich über einem bestimmten Leistungspegel) oder ein PWM- oder binäres Signal handelt, wie würde ich überhaupt ein Signal von den 2 Drähten lesen? ? Da der Arduino den Sensor nicht mit Strom versorgt - wie würde ein Analog- / PWM-Pin angeschlossen (z. B. nach dem Spannungsteiler)? Oder brauche ich zuerst eine separate Schaltung auf der Sensorseite?
@NickJohnson Ja ... Das ist mir aufgefallen, aber die Stromversorgung des Sensors ist definitiv Gleichstrom. Der Controller verwendet 24 VAC, aber vielleicht ist der Sensoranschluss DC, um die Signalisierung zu ermöglichen?
@NickJohnson Ich denke, die 24 V AC, auf die in der Dokumentation verwiesen wird, versorgen das Solar Sync-Modul mit Strom (für Controller, die es als Vermittler verwenden müssen).

Antworten (3)

Es scheint, als würde Ihre erste Aufgabe darin bestehen, festzustellen, welche Art von Signalisierung verwendet wird. Was Sie also zunächst benötigen, ist ein "Oszilloskop des armen Mannes" in Form eines Mikrocontrollers mit ADC. Sie werden es verwenden wollen, um sowohl die Spannung über den Sensordrähten als auch den Strom durch sie zu messen; Wenn die Drähte sowohl für die Stromversorgung als auch für die Kommunikation verwendet werden, ist es wahrscheinlich, dass die Art der Kommunikation darin besteht, die verbrauchte Strommenge zu erhöhen und zu verringern. In diesem Fall erhalten Sie die nützlichsten Informationen durch Messen der Stromwellenform.

Wie Sie beobachtet haben, kann der Arduino an seinen analogen Ports Spannungen zwischen 0 und 5 Volt messen. Um einen größeren Bereich bis zu 24 Volt zu messen, benötigen wir einen Spannungsteiler wie diesen:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Die grundlegende Funktionsweise eines Widerstandsteilers ist einfach. Ignorieren Sie 'Radc' für einen Moment und gehen Sie davon aus, dass 'IN' an eine Spannungsquelle angeschlossen ist. Strom fließt von IN durch Ra und Rb zur Erde; Die Höhe dieses Stroms hängt von der Spannung an IN ab. Wir können dies mit berechnen i = Vin / (Ra + Rb). Die Spannung, an der sich Ra und Rb treffen, hängt vom fließenden Strom und dem Wert von Rb ab - es ist Vdiv = i * Rb.

Wenn wir dies wissen, können wir einen Teiler für jedes gewünschte Verhältnis konstruieren, indem wir einfach die relativen Werte von Ra und Rb bestimmen. Aber was ist mit den absoluten Werten? Im Prinzip können wir jede gewünschte Größenordnung wählen, aber in der Praxis gibt es einige wichtige Überlegungen:

  1. Es ist wahrscheinlich, dass „In“ keine echte Spannungsquelle ist, die unbegrenzt Strom liefern kann, sondern stattdessen einen eigenen Innenwiderstand hat, den wir als Ausgangsimpedanz bezeichnen. Wenn wir genug Strom daraus ziehen, wird der Eingang durchhängen, was zu ungenauen Ergebnissen führt und möglicherweise den Rest der Schaltung beeinträchtigt.
  2. Das Ableiten von viel Strom durch unseren Teiler durch die Verwendung kleiner Widerstände verschwendet auch viel Strom und erzeugt viel unerwünschte Wärme.
  3. Wahrscheinlich ist auch unser Messgerät nicht perfekt. Unsere obigen Gleichungen gehen davon aus, dass der ADC den Widerstandsteiler nicht belastet, aber das ist nicht korrekt. Verschiedene Arten von Eingaben laden das, was sie messen, in unterschiedlichem Maße; Hier kommt Radc ins Spiel: Es ist eine Darstellung der Last, die der ADC auf die Schaltung ausübt, keine physische, diskrete Komponente. Bei einem Arduino können wir davon ausgehen, dass er im Bereich von 10 Kiloohm bis 100 Kiloohm liegt, abhängig von Dingen wie der Abtastrate.

Punkt 1 oben bedeutet, dass wir die Impedanz unseres Widerstandsteilers - die Summe beider Widerstandswerte - viel höher machen wollen als die Ausgangsimpedanz der Schaltung, die wir messen, damit wir unsere Messungen nicht beeinflussen. Punkt 3 oben bedeutet, dass wir den Widerstand, den unser ADC sieht – in diesem Fall Ra – viel kleiner als seine eigene Eingangsimpedanz machen wollen, damit die Impedanz des ADC die Messungen nicht beeinflusst. Wenn möglich, möchten wir dann einen Wert dazwischen wählen - einen Widerstand für Ra + Rb, der mehr als beispielsweise das 100-fache der Ausgangsimpedanz der Eingangsschaltung beträgt, und einen Widerstand für Ra, der weniger als beispielsweise 1/100 des ADC beträgt Eingangsimpedanz.

Was aber, wenn diese beiden Anforderungen miteinander in Konflikt stehen? Hier kommt ein Operationsverstärker ins Spiel.

Ein idealer Opamp (Operationsverstärker) hat eine unendliche Eingangsimpedanz – er stört das gemessene Signal überhaupt nicht – und eine Ausgangsimpedanz von Null – sein Ausgang ist eine perfekte Spannungsquelle. Reale Opamps weichen mehr oder weniger von diesem Ideal ab, aber für unsere Zwecke ist es nah genug an der Wahrheit.

Wir können diese Eigenschaften nutzen, um unsere Messschaltung zu verbessern, indem wir den Operationsverstärker wie folgt zwischen den Widerstandsteiler und den ADC-Eingang schalten:

schematisch

Simulieren Sie diese Schaltung

Jetzt "sieht" unser Widerstandsteiler eine sehr hohe Ausgangsimpedanz vom Eingang des Operationsverstärkers, und unser ADC "sieht" eine sehr niedrige Eingangsimpedanz vom Ausgang des Operationsverstärkers - das Beste aus beiden Welten!

Auswahl eines Operationsverstärkers

Aber welchen Operationsverstärker brauchen wir? Nun, wir haben ein paar Anforderungen:

  1. Wir wollen es von der 5-V-Versorgung unseres Arduino mit Strom versorgen können
  2. Es sollte in einem einfach zu lötenden Gehäuse sein
  3. Ein- und Ausgang sollten von Masse bis zur Versorgungsspannung gehen - dies wird als "Rail-to-Rail-IO" bezeichnet.
  4. Es sollte leicht verfügbar und erschwinglich sein
  5. Es sollte in der Lage sein, Signale bis zur maximalen Geschwindigkeit unseres ADC zu verarbeiten - etwa 10-20 kHz.
  6. Seine Eingangsimpedanz sollte ziemlich hoch sein

Eine schnelle Suche auf Digi-Key zeigt den MCP6241 , der Eingangsspannungen von nur 0,3 Volt unter der negativen Schiene und bis zu 0,3 Volt über der positiven Schiene (5 V) und Ausgangsspannungen innerhalb von 35 Millivolt der negativen und positiven Schiene unterstützt , was für unsere Zwecke locker ausreicht. Die Power-Pins dieses Operationsverstärkers können direkt mit GND und VCC auf dem Arduino verbunden werden, wobei der Rest wie im obigen Diagramm gezeigt verdrahtet wird.

Was ist mit dem Widerstandsteiler? Nun, das Datenblatt des MCP6241 sagt, dass seine Eingangsimpedanz 10 13 Ohm beträgt – absurde 100 Teraohm oder 100 Millionen Megaohm. Dies ist selbst für einen Operationsverstärker hoch und bedeutet, dass wir einen Widerstandsteiler verwenden können, der ungefähr so ​​groß ist, wie Sie möchten - oder so denken Sie.

Ein letztes Problem bei der Auswahl unseres Widerstandsteilerwerts ist, dass wir auch beim Aufbau unserer Schaltung nicht in einer idealen Welt leben. PCBs sind keine perfekten Isolatoren und Steckbretter auch nicht; Oberflächenverunreinigungen wirken sich ebenfalls auf den Widerstand aus, und wenn Sie Ihren Schaltkreis berühren, können Sie garantieren, dass der Widerstand durch Ihre Haut viel niedriger als ein Teraohm ist. All dies bedeutet, dass wir einen Widerstandsteilerwert wählen sollten, der viel niedriger als das theoretische Maximum ist - eine gute Faustregel ist etwas im Bereich von 100 Kiloohm bis 1 Megaohm.

Wir möchten unseren Eingang so aufteilen, dass 24 Volt Eingang ungefähr 5 Volt Ausgang sind, was bedeutet, dass wir ein Verhältnis von 5/24 = ~ 20% benötigen. Angenommen, wir setzen Rb auf 100 Kiloohm; Das bedeutet, dass Ra 4-mal größer sein sollte oder etwa 400 Kiloohm. 402 Kiloohm ist ein leicht verfügbarer Wert, der uns ein endgültiges Teilungsverhältnis von 100/(100+402) = 19,9 % gibt, was bedeutet, dass 24 Volt Eingang als 4,78 Volt Ausgang gemessen werden.

Strom messen

All dies zielt darauf ab, dass Sie auf einfache Weise ein 24-Volt-Signal an Ihrem Mikrocontroller messen können, ohne den Eingang stark zu stören. Wenn Sie stattdessen einen Strom messen möchten, ist Ihr Leben viel einfacher: Bestimmen Sie den wahrscheinlichen Bereich der Ströme, die Sie messen möchten, und wählen Sie einen Widerstand, der bei diesen Pegeln einen kleinen, aber messbaren Spannungsabfall erzeugt. Bei Ihrem 24-Volt-System kann alles bis zu 1 Volt akzeptabel sein. Platzieren Sie dann diesen Widerstand zwischen Masse und dem negativen Draht Ihres Sensors und messen Sie die Spannung direkt mit Ihrem ADC oder über den Operationsverstärker ohne den Widerstandsteiler, wenn Sie dies wünschen.

Was für eine Antwort!! Nick, danke, dass du so geduldig erklärt hast und für die Details und relevanten Argumente. Ich habe aus Ihrer Antwort (zugegebenermaßen nachdem ich sie langsam wieder 5 oder 6 Mal gelesen habe) ein Verständnis gewonnen, das sehr praktisch ist. Die Impedanz in Bezug auf das Signal, über den Spannungsteiler und was für den ADC ideal ist, macht jetzt viel mehr Sinn, ebenso wie die Rolle des Operationsverstärkers. Auch wenn nichts dabei herauskommt, lerne ich :) Ich werde mir den MCP6241 bestellen und ausprobieren.
Was das Stromsignal betrifft, da das Multimeter etwa 10 mA anzeigte, sollte ein Bereich von 5-50 mA ein ungefährer Ausgangspunkt sein. Zugegebenermaßen bin ich etwas unsicher mit diesem Aspekt, den Strom als Signal zu messen. Angenommen, ich verwende einen 2,4-kOhm-Widerstand auf die von Ihnen vorgeschlagene Weise, messe ich nur mit dem ADC über diesen Widerstand? oder von der GND-Seite des Widerstands und der positiven Seite des 24-V-Signals? Danke nochmal für deine Hilfe.
Um Strom zu messen, schalten Sie den Widerstand in Reihe mit dem Signal, das Sie messen. In diesem Fall zwischen dem Rückleiter des Sensors und Ihrer (gemeinsamen) Masse. Die Spannung über dem Widerstand, die der Stromfluss erzeugt, ist das, was Sie messen, und wird als "Lastspannung" bezeichnet. Auch hier handelt es sich um Kompromisse. Sie möchten die Lastspannung aufgrund ihrer Auswirkungen auf das zu messende Gerät minimieren. aber maximieren Sie es für die Messgenauigkeit.
50 Milliampere durch 2,4 Kiloohm sind 120 Volt - offensichtlich viel zu hoch! Sie möchten etwas näher an 20 Ohm, wodurch Sie eine Lastspannung von 1 Volt bei 50 Milliampere erhalten.

Der ADC ist mit einer Quellenimpedanz von < 10 K zufrieden. Wenn Sie einen Spannungsteiler R1 R2 an eine Spannungsquelle angeschlossen haben, beträgt die Quellenimpedanz 1/(1/R1 + 1/R2).

Das Verhältnis sollte für die Anwendung nahe bei 3,8:1 liegen.

Sie können also R1 = 38,3 K 1 % und R2 = 10,0 K 1 % (von Standard- E96 -Werten) auswählen.

Die Quellenimpedanz (vom ADC gesehen) beträgt 7,9 K, das Verhältnis ist so, dass 24 V -> 4,98 V.

Vorausgesetzt, eine Last von 48 K (10 K + 38,3 K) beeinflusst Ihr 24-V-Signal nicht übermäßig, sollte es Ihnen gut gehen.

Danke für das Feedback - ich werde es versuchen. Gibt es ein Problem damit, dass der Sensor eine separate Stromversorgung hat, die GND nicht mit dem ADC teilt?
Irgendwo muss es eine (einzige) Gemeinsamkeit geben. Ohne einen Schaltplan kann ich mir nicht vorstellen, wie die Dinge falsch sein könnten und die wenigen, wie sie richtig sein könnten.
OK, vermerkt, danke. Werde die von @jim-fischer vorgeschlagene Option für Trennverstärker prüfen.

Eine besondere Frage, die ich habe, betrifft die Tatsache, dass der ADC und das 24-V-Sensorsignal, das ich verbinden möchte, unterschiedliche Stromquellen haben, und anscheinend ist dies ein Problem, da sie nicht dieselbe GND teilen.

Ja, das ist definitiv ein Problem. Wenn die Massen für die 24-VDC- und 5-VDC-Systeme galvanisch voneinander getrennt sind und dies aus Sicherheitsgründen bleiben müssen, müssen Sie (z. B.) eine Trennverstärkerschaltung verwenden, um die bereitgestellte herunterskalierte Spannung sicher zu verbinden den Ausgang des ohmschen Spannungsteilers auf der 24-VDC-Seite mit dem ADC-Eingang auf der 5-VDC-Seite.

Sampled 24V out -> [IA] -> ADC in (5V side)

Für weitere Informationen führen Sie beispielsweise eine Internetsuche auf galvanic isolationund durch.isolation amplifier IC

Großartig - danke dafür Jim! Ich werde diese untersuchen. Um dies zu überprüfen, glaube ich, dass ich kein gemeinsames GND habe, weil: ADC auf ATMega328P ist, das Teil einer benutzerdefinierten Schaltung ist, die von einem 24-V-Wechselstrom-Transformator gespeist wird (unter Verwendung von TRIACs zum Schalten von 24-V-Wechselstrom-Ausgängen). Offensichtlich wandelt diese Schaltung die 24 V Wechselspannung in 5 V Gleichspannung für den Mikrocontroller um, aber es stehen keine 24 V Gleichspannung zum Anzapfen zur Verfügung. Um also 24 V DC zu erhalten, verwende ich denselben Transformator, wende Gleichrichter, Filterkappen und Spannungsregler an. Sicherlich teilen sie GND nicht, da die MCU und die 24-V-Gleichstromquelle des Sensors am 24-V-Wechselstromausgang des Transformators getrennt sind? Entschuldigen Sie meine Unwissenheit, falls das falsch ist.
Ich verstehe die Topologie Ihrer Schaltung nicht allein aus Ihren verbalen Beschreibungen. Es heißt, "Ein Bild sagt mehr als tausend Worte". Können Sie also ein schematisches Diagramm zur Verfügung stellen, das die grundlegende Schaltungstopologie zeigt, die Sie beschreiben? Zeichnen Sie vielleicht von Hand eine einfache Version der Schaltungstopologie, machen Sie ein Foto des Schaltplans mit Ihrem Smartphone, laden Sie das Bild von Ihrem Smartphone ins Internet hoch (z. B. auf imgur.com) und geben Sie uns einen Link zu der hochgeladenen Bilddatei damit wir uns das anschauen können.
Ich hoffe aufrichtig, dass dieses Mock-up das Verständnis nicht erschwert. Unter diesem Link finden Sie ein schematisches Diagramm, in dem sich jede "Schaltung" unter einem eigenen "Block" befindet. (Notiz an mich selbst: Arbeite daran, die richtige Balance von zu vielen oder zu wenigen Details zu lernen, aber ich schweife ab :)
Block 1 (rot) ist die Netzstromversorgung und der Transformator. Block 2 (blau) ist ein Gleichrichter und Spannungsregler, um den Ausgang von Block 1 in Gleichstrom umzuwandeln. Block 3 (braun) ist ein Mikrocontroller, der 24-V-AC-Ausgänge basierend auf Programmierung und Eingängen von seinen E / A-Pins "schaltet". Block 4 (grün) ist der 2-Draht-Sensor, an den ich versuche, einige Spannungs- / Stromsignale anzuschließen und abzulesen. Block 5 (schwarz) hat zwei Versionen, eine, um die Sensorspannung zu erhalten, oder die andere, um ein Stromsignal als Eingänge zu den I/O-Pins für den Mikrocontroller (Block 3) zu erhalten. Ob die verschiedenen GNDs gemeinsam sein können, ist die Frage, denke ich.
Hoppla! Hier ist der Link: i.imgur.com/PmAMQM1.png
Ohne die Topologie der Stromversorgungsschaltung von Baugruppe 3 (A3) "Arduino-basierte benutzerdefinierte Schaltung mit ATmega328P" zu kennen, kann ich Ihnen keine zuverlässige Empfehlung geben. Wenn A3 über einen Vollwellen-Brückengleichrichter-Stromversorgungskreis verfügt, der gleiche Typ wie für Baugruppe 2 (A2) "Brückengleichrichter und -regler - 24 VAC bis 24 VDC"), dann neige ich dazu zu sagen, ja, Sie können sicher miteinander verbinden A2.ERDE und A3.ERDE. ::HINWEIS:: Wenn die Stromversorgung von A3 eine Halbwellengleichrichterschaltungstopologie ist, dürfen Sie A2.GROUND und A3.GROUND NICHT miteinander verbinden; ein katastrophaler Ausfall ist wahrscheinlich, wenn sie verbunden sind.
Vorbehalt: Für das Protokoll empfehle ich NICHT, zwei Gleichstromversorgungskreise auf dieselbe (nicht angezapfte) Sekundärwicklung des Netztransformators zu "huckepack" (parallel zu verbinden), wie dies hier in Betracht gezogen / durchgeführt wird. Ich halte dies nicht für ein "Best Practice" -WRT-Elektronikdesign.
Danke dafür Jim. Ich habe die Leiterplatte von Baugruppe 3 (ATmega328p-Schaltung) untersucht und festgestellt, dass die Stromversorgungs-Unterschaltung davon einen MC34063 und einen 1117-33 verwendet. Aus dem Internet ist ersterer ein Schaltregler und letzterer ein 1117-33 3,3-V-Regler. Es ist schwer, mehr Details von PCB zu machen. Hinweis zur Verwendung von Transformatoren - liegt es an der Rückkopplung von einem zum anderen oder daran, dass einer die Stromzufuhr zum anderen (Strom oder Volt) beeinflussen könnte?
Ich frage mich, ob ich das "Power and Measure" des Sensors anders angehen sollte. Ich habe herumgespielt und festgestellt, dass ich den Sensor mit 12 V und 15 mA versorgen kann (bei etwa 8-9 V funktioniert er nicht mehr, aber ich habe kein digitales Netzteil, um es genau zu wissen). Könnte ich möglicherweise eine Erhöhung der auf A3 verfügbaren 5 VDC erreichen, um den Sensor mit Strom zu versorgen, und daher dieselbe Masse teilen und sie über einen E / A-Pin lesen können?