Forum: Mikrocontroller und Digitale Elektronik Kleines Projekt mit µC und Strom-Spannung In- und Outout


von Jakob (Gast)


Lesenswert?

Moin moin,

ich habe ein kleines Projekt vor mir und bin am überlegen wie ich es am 
besten realisiere. Und evtl. hat jemand paar Einfälle zu meinen Ideen.

Ich habe einen µC ( vorzugsweise einen Atmega weil ich da schon was 
KnowHow habe ). Arduino fällt weg für mich.

Im Grunde habe ich erstmal "nur" folgende Schritte vor mir:
0-10V DC Output und Input
0 (4) - 20mA Output und Input

Bei den 0-10V würde ich soweit entweder PWM plus ein RC-Glied nehmen 
damit es geglättet ist und und andere Teilnehme es verarbeiten können. 
Oder ich nehme ein MCP4725 als DAC und Steuer den über i2C an ( da habe 
ich auch schon ne lib. für gefunden ). Input würde ich über nen 
einfachen Spannungsteiler machen und mir 0-5V generieren. Evtl. noch 
einen Impedanzwandler oder Schutzbeschaltung dazwischen ? Ist dies 
ratsam ? Müsste mich dazu aber dann mehr informieren damit ich nicht 
irgendwas wildes mit dem µC einlese :D

beim 0 (4) bis 20ma Eingang würde ich das mit bspw. einem 250Ohm 
Widerstand zu GND machen und dem ADC Eingang.

Mein Problem wo ich am wenigsten weiterkomme ist der Stromausgang. Ich 
verstehe nicht so ganz wie ich diesen realisieren kann. Hab zwar schon 
mal nen XTR Ic beim googlen gefunden aber wie ich das zum laufen 
bekomme, da fehlt mir derzeit das Verständnis.
Und einfach ein mit PWM und einem RC-Glied auf 24VDC ist glaube ich sehr 
falsch, um die Annahme zu machen das alle Geräte sich die 4-20mA über 
ein Widerstand generieren ?

Evtl. kann mir jemand paar Tipps geben.

von Wolfgang (Gast)


Lesenswert?

Jakob schrieb:
> Ich habe einen µC ( vorzugsweise einen Atmega weil ich da schon was
> KnowHow habe ). Arduino fällt weg für mich.

Arduino verwendet ATmega (z.B. ATmega328).
Was genau meinst du also.

von Wolfgang (Gast)


Lesenswert?

Jakob schrieb:
> Ich verstehe nicht so ganz wie ich diesen realisieren kann.

Du suchst eine spannungsgesteuerte Stromquelle.
https://www.elektroniktutor.de/analogverstaerker/ui_konv.html

von Jakob N. (jakob_leeeee)


Lesenswert?

Wolfgang schrieb:
> Was genau meinst du also.

Ich meine das ich bspw. Atmel Studio benutze und nicht auf die Arduino 
IDE zurückgreifen kann. Geht dann darum, dass wenn alles klappt mehr als 
eine Platine gebaut werden. Das ist dann mit Arduino und Bootloader etc. 
wahrscheinlich blöd.

von Heiner (Gast)


Lesenswert?

Hallo
Habe vor einiger Zeit mit einem Atmega und einem PCF8591 einen (4x) 
0-10V und 0-20mA Eingang aufgebaut und zusätzlich mit Ausgang 0-10V und 
0-20mA. In der Anzeige konntest du alles einstellen und auslesen. Falls 
du intresse hast muss ich es mal raussuchen. Alles mit Programm und 
Hardware und in I2C Bus.
LG Heiner

von Jakob N. (jakob_leeeee)


Lesenswert?

Heiner schrieb:
> Hallo
> Habe vor einiger Zeit mit einem Atmega und einem PCF8591 einen (4x)
> 0-10V und 0-20mA Eingang aufgebaut und zusätzlich mit Ausgang 0-10V und
> 0-20mA. In der Anzeige konntest du alles einstellen und auslesen. Falls
> du intresse hast muss ich es mal raussuchen. Alles mit Programm und
> Hardware und in I2C Bus.
> LG Heiner

Das wäre super lieb und für mich eine super Inspiration.

von Jakob N. (jakob_leeeee)


Angehängte Dateien:

Lesenswert?

Wolfgang schrieb:
> Du suchst eine spannungsgesteuerte Stromquelle.

Mit der Schaltung ( bspw. LM358 ) + eine pwm bzw. dac Ansteuerung wäre 
dies somit möglich ?

Rechnerisch kann ich dann für den gewünschten Strom eine Spannung 
erzeugen ?

von MaWin (Gast)


Lesenswert?

Jakob schrieb:
> Mein Problem wo ich am wenigsten weiterkomme ist der Stromausgang

Tja, eigentlich ist der einfach, man muss an einem (z.B. 0-10V Ausgang) 
eine so hohe Spannung erzeugen, dass der Strom durch die Last über einen 
an Masse liegenden Widerstand an ihm zu genau dem gewünschten 
Spannungsabfall führt, nicht 0-10V sondern z.B. 0-1V bei einem 50 Ohm 
Widerstand.

Das kann ein OpAmp so regeln.
1
      +24V
2
        |
3
0-1V --|+\ OpAmp wie LM321
4
       |  >--+
5
    +--|-/   |
6
    |   |   4-20mA Messeingang
7
    |   |    |
8
    +---(----+
9
        |    |
10
        |  50 Ohm
11
        |    |
12
GND ----+----+

ABER: damit ist der Stromausgang nicht potentialfrei, sondern darauf 
angewiesen, dass der Verbraucher jedes Potential akzeptiert, also ein 
eigenes Netzteil hat und spätestens wenn mehrere Ausgänge deiner 
Schaltung in mehrere Eingänge desselben Verbrauchers gehen sind sie 
nicht mehr potentialfrei sondern stören sich gegenseitig.

Es klappt dann also nicht.

Um es richtig (universell verwendbar) zu machen bräuchtest du FÜR JEDEN 
Stromausgang eine eigene Spannungsversorgung (gerne 24V), dort einen 
eigenen OpAmp mit Strommesswiderstand dran, und musst diesen OpAmp mit 
einem Sollwert aus einem für ihn reservierten DAC versorgen. Diesen DAC 
musst du elektrisch isoliert aus deinem ATmega die Werte übertragen, 
also ein Optokoppler oder ADUM.

Du siehst, hoher Aufwand.

Es gibt statt dem DAC auch Digitalpotis deren Schleifer nicht exakt 
dieselbe Massebezug haben muss wie die Ansteuerung, sondern z.B. +/-15V 
erlauben. Damit kann man das ohne elektrische Isolation bauen, aber eben 
der Einschränkung das nichts um mehr als 15V abweicht.

Es gibt auch elektrisch isolierte OpAmps wie ADUM3190 oder lineare 
Optokoppler wie IL300 http://www.vishay.com/docs/83710/appn54.pdf

Alles eine Frage der benötigten Genauigkeit, eigentlich sollten 
4-20mA/0-10V ja auf besser als 0.1% arbeiten aber da dir PWM reicht muss 
es bei dir wohl nicht genau werden, besser als +/-5% wird es damit auf 
Grund der Schwankung von VCC sowieso nicht.

von Jakob N. (jakob_leeeee)


Lesenswert?

MaWin schrieb:
> Alles eine Frage der benötigten Genauigkeit, eigentlich sollten
> 4-20mA/0-10V ja auf besser als 0.1% arbeiten aber da dir PWM reicht muss
> es bei dir wohl nicht genau werden, besser als +/-5% wird es damit auf
> Grund der Schwankung von VCC sowieso nicht.

Danke für einen Input. Beim Thema Genauigkeit war ich noch nicht soweit. 
Aber eine Genauigkeit die in die Richtung 0.1% geht wäre am Ende 
wünschenswert :/

Wie erreiche ich den solche Genauigkeiten ?

von Stefan F. (Gast)


Lesenswert?

Jakob schrieb:
> Evtl. noch ... Schutzbeschaltung dazwischen ? Ist dies ratsam ?

Wir wissen nicht, was du wovor beschützen willst. So können wir nicht 
einschätzen, ob sich das finanziell oder aus anderen Gründen lohnt.

Ein universeller Schutz gegen alles ist jedenfalls immer irrsinnig 
aufwändig, teuer und macht potentiell mehr Probleme als er nützt.

Ich gebe dir mal ein Paradebeispiel: Vor einigen Jahren stattete ich in 
einem Rechenzentrum von Vodafone etwas mehr als 100 alte Server mit 
einer (über Ethernet) fernsteuerbaren Steckdose aus, damit ich sie im 
Fehlerfall schneller neustarten konnte. Leider hatte ich danach viel 
mehr ausfälle als vorher, weil diese Steckdosen schlecht waren.

Ich jemand anderen, der ganz ähnliche Erfahrungen mit USV gemacht hatte, 
die er eigentlich zum Schutz vor Sputzen und Ausfällen der Netzspannung 
einbaue.

Ich empfehle dir daher, aufwändige Schutzschaltungen nur dann 
einzubauen, wenn dafür wirklich Bedarf besteht. Ein simpler Widerstand 
oder eine Schutzdiode haben allerdings wohl noch keinem Sorgen bereitet.

von Stefan F. (Gast)


Lesenswert?

Jakob schrieb:
> beim 0 (4) bis 20ma Eingang würde ich das mit bspw. einem 250Ohm
> Widerstand zu GND machen und dem ADC Eingang.

Potentialfrei wäre universeller, z.B. mit einem Optokoppler. Der wäre 
zwar nicht ganz linear, aber vielleicht brauchst du das auch gar nicht. 
Da kann man ja viel mit Software ausgleichen.

> Mein Problem wo ich am wenigsten weiterkomme ist der Stromausgang.

Schau dir das an: 
https://elektronikbasteln.pl7.de/wp-content/uploads/2015/03/Schaltbild-Konstantstromquelle-npn.png

Die Spannung an der Basis bestimmt, wie viel Last-Strom fließen kann. In 
dieser Schaltung her der Autor dafür eine Z-Diode genommen, aber du 
könntest die Spannung genau so gut mit PWM vorgeben.

Stromstärke = (Basis-Spannung - 0,7V) / Re

Strom-Ausgänge sind allerdings in der Regel anders herum gepolt (hängen 
am Plus-Pol), deswegen müsstest du das mit einem PNP aufbauen.

von Jakob N. (jakob_leeeee)


Lesenswert?

Stefan ⛄ F. schrieb:
> Wir wissen nicht, was du wovor beschützen willst. So können wir nicht
> einschätzen, ob sich das finanziell oder aus anderen Gründen lohnt.

Am Ende soll der Atmega eine Stellungsrückmeldung an eine SPS senden.

von Stefan F. (Gast)


Lesenswert?

Jakob N. schrieb:
>> Wir wissen nicht, was du wovor beschützen willst. So können wir nicht
>> einschätzen, ob sich das finanziell oder aus anderen Gründen lohnt.

> Am Ende soll der Atmega eine Stellungsrückmeldung an eine SPS senden.

Gut. Was sagt dir das zum Schutzbedarf? Mir nichts.

von Jakob N. (jakob_leeeee)


Lesenswert?

Stefan ⛄ F. schrieb:
> Gut. Was sagt dir das zum Schutzbedarf? Mir nichts.

Da hast du recht. Hab´s grade mit meiner Aussage verwechselt. Am Ende 
ist es ja egal, da man nur eine Spannung auswertet.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Ich hänge dir mal 2 erprobte Schaltungen für Stromschleife an. Das eine 
ist ein fremdgespeister Wandler von 0-5V auf 4-20mA, das andere ein 
2-Draht Sensor, der aus der Schleife gespeist wird.

: Bearbeitet durch User
von Max M. (Gast)


Lesenswert?

Jakob schrieb:
> XTR Ic beim googlen gefunden aber wie ich das zum laufen
> bekomme, da fehlt mir derzeit das Verständnis.

XTR111 und DB lesen

von Jakob N. (jakob_leeeee)


Angehängte Dateien:

Lesenswert?

Max M. schrieb:
> Jakob schrieb:
>> XTR Ic beim googlen gefunden aber wie ich das zum laufen
>> bekomme, da fehlt mir derzeit das Verständnis.
>
> XTR111 und DB lesen

Der XTR110 macht anscheint das gleich ( Lieferbarkeit sei dank.. )

Um das ganz zu testen reicht am Eingang in simples Poti was ich zwischen 
0-10V bzw. 0-5V hoch und runter drehe ?

Anschließend dann mit dem MCP DAC die Spannung dann vorgeben ? Aber 
dazwischen am besten einen Isolator / Optokoppler wie oben schon eins 
erwähnt ?

Es ist für mich zwar kein neues Thema aber wirklich damit zutun hatte 
ich vorher noch nicht, daher die unbeholfen Fragen. Aber mache es ja 
auch zum lernen :)

von MaWin (Gast)


Lesenswert?

Jakob N. schrieb:
> Aber eine Genauigkeit die in die Richtung 0.1% geht wäre am Ende
> wünschenswert :/
> Wie erreiche ich den solche Genauigkeiten ?

Nur durch eine vernünftige Schaltung und vernünftigen Aufbau mit 
vernünftigen Bauteilen..
Schon ein LM358 ist zu ungenau. PWM sowieso. Ein TL431 reicht nicht als 
Referenzspannung. Und 1% Widerstände auch nicht.

Du begibst durch also in die Messzechnik.

Jakob N. schrieb:
> Am Ende soll der Atmega eine Stellungsrückmeldung an eine SPS senden.

Sollte man wohl besser digital lösen.

von Max M. (Gast)


Lesenswert?

Jakob N. schrieb:
> Lieferbarkeit sei dank
Krass, gestern waren noch 6000 XTR111 im TI Lager.
Jetzt ausverkauft bis 1.2023
Schei..e hab grad das Design damit fertig und darf schon ein redesign 
machen.
Ich baue nämlich gerade das was Du vorhast für einen VIP Flieger mit 
umschaltbaren U/I Schnittstellen.
Auch mit dem ATmega328. Die Welt ist klein 😂

Jakob N. schrieb:
> Um das ganz zu testen reicht am Eingang in simples Poti was ich zwischen
> 0-10V bzw. 0-5V hoch und runter drehe ?
Was gefällt Dir an S.6 im DB nicht, das Du mir diese Frage stellst?

Jakob N. schrieb:
> Isolator / Optokoppler wie oben schon eins
> erwähnt ?
Da wurde Quark erzählt.
Die Stromschnittstellen nimmt man ja weil der Strom auf einer Leitung am 
Ende zu 100% so ist wie am Anfang.
Realschulphysik Grundlagen. In der Reihenschaltung sind die Ströme 
gleich, in der Parallelschaltung sind die Spannungen gleich.

Da der XTR den Strom Hgh Side misst und nachregelt und in der Gegenseite 
nach Norm mit max. 300R Low Side gemessen wird, kommt der sehr gut mit 
den Störungen auf der GND Leitung zurecht die weiter entfernt liegende 
Geräte oft haben.
Selbst wenn der GND zwischen den Geräten um mehrere Volt wackelt und ein 
paar Volt über die I Leitung abfallen, macht dem das nichts. Der wird 
nach Norm mit 24V (20-30)betrieben und muss max 6V am 300R machen 
können. Der Rest ist sein Regelbereich für 1km klingeldraht, der quer 
durch drei Industriehallen über 5 Klemmstellen geht und neben fetten 
Motorzuleitungen liegt.
Daher ist auch die Ansage mit den getrennten Spannungen natürlich auch 
Quatsch. Alle bekommen die gleichen 24V. Solange Du am Empfänger immer 
noch den 300R treiben kannst (meist 200-250R) kannst Du auch weniger 
Spannung nehmen. Ist dann eben nicht normkonform.

Es gibt den Fall das Sender und Empfänger nicht das gleiche 
Bezugspotential haben, also das das sehr weit auseinanderliegt weil z.B. 
der interne GND in einem Netzteil hinterm Gleichtrichter um Netzspannung 
wackelt. DANN braucht man einen Isolator, aber da kümmert sich in der 
Realität das Gerät drum das einen irgendwo auf High Side schwebenden 
Bezugsgnd hat.
Niemand der noch alle Latten am Zaun hat führt sowas als Bezugsgnd für 
die Messung nach draussen. Die zugänglichen Bezugsgnds liegen immer auf 
PE oder nahe dran oder schweben frei und können von dir auf GND gezogen 
werden.

Überbrückt man eine Strecke zwischen zwei Gebäuden deren PE Potential 
unterschiedlich ist (jedes hat seinen eigenen Erder) verwendet man 
Isolatoren. Aber das braucht Dich hier nicht zu kümmern.

Deswegen werden 0-10V Schnittstellen nur für dicht beieinanderliegende 
Geräte verwendet und 0(4)-20mA für alles was genauer sein muß oder 
weiter weg liegt.

Du hattest nach der 0-10V Schnittstelle gefragt.
Die ist so wie Du das machen willst sehr anfällig für Spannungsabfälle 
in der GND Zuleitung zwischen Sender und Empfänger, weil damit der GND 
Spannungshub auf der Leitung sich zum Messwert addiert.
Ich verwende da da einen Differenzverstärker und führe BEIDE Leitungen 
zum Sender. So kann ich ein paar Volt Hub ausgleichen.
https://www.elektronik-kompendium.de/sites/slt/0210153.htm
Im Flieger oder einer Industriehalle hat man harsche Bedingungen.
Keine Ahnung wie da Deine Ansprüche sind.

Der braucht aber eine pos UND neg Versorgung weil der OP sonst abzickt 
wenn der Bezugspunkt nahe oder unter Null geht.
Auch ein r2r OP kommt nicht ganz auf Null.

von Jakob N. (jakob_leeeee)


Lesenswert?

Max M. schrieb:
> Jetzt ausverkauft bis 1.2023
> Schei..e hab grad das Design damit fertig und darf schon ein redesign
> machen.

Das ist mittlerweile überall so, vor allem sobald man iwas mit IC oder 
so haben will. Netzwerktechnik ist dann auch super nervig...

Max M. schrieb:
> Was gefällt Dir an S.6 im DB nicht, das Du mir diese Frage stellst?

Jap...die Frage war "dumm". Ist mir auch relativ schnell aufgefallen.

Aber ich danke dir. Du hast mir auf jedenfall guten Input gegeben :)

Max M. schrieb:
> Der braucht aber eine pos UND neg Versorgung weil der OP sonst abzickt
> wenn der Bezugspunkt nahe oder unter Null geht.
> Auch ein r2r OP kommt nicht ganz auf Null.

Zu regeln mit eine bspw. LM7805 und 7905 wobei die 5V dann eher nicht 5V 
zum Einsatz kommen sondern um die 12V ?

von Max M. (Gast)


Lesenswert?

Hängt vom OP ab, aber 12V ist ganz kompfortabel.
Ich habe +-12V und nutze das Brot und Butter Arbeitstier TL071.

Der L790x kann nur negative Spannungen regeln, sie aber nicht erzeugen.
Bau Dir einen Spannungsinverter mit dem NE555.
Der ist wenigstens gut verfügbar.
https://colourtvservicebbsr.blogspot.com/2016/04/nagative-voltage-generation-using-555.html
Die brauchst Du weiter nicht zu regeln, wenn Du die aus einer geregelten 
Spannung erzeugst. Ist etwas kleiner als die pos Spannung aus der die 
erzeugt wird und rippelt etwas, aber das steckt der OP ganz gut weg.
Wir arbeiten ja nicht mit mV und nA, so das offset oder CMRR allzu 
kritisch wären.

Für den PWM DAC (0-10V) nehme ich einen 2nd Order Sallen Key Filter mit 
Bessel Characteristik und Verstärkung.
https://www.beis.de/Elektronik/Filter/ActiveLPFilter.html

Ich kann Dir nur LTspice ans Herz legen.
Damit schau ich mir an was da wirklich passiert wenn der SK mit 50/50 
PWM Sollwert betrieben wird und wie die Eingänge des Dif Verstärkers auf 
CM Schwankungen (Ripple auf GND der das komplette Signal anhebt / 
absenkt) reagiert.

TL071 Modell und manch anderes findest Du hier:
http://ltwiki.org/?title=Components_Library_and_Circuits

LTspice ist nicht der Weisheit letzter Schluss und keine Garantie das im 
realen Aufbau auch alles funzt, aber vieles kann man da vorab testen und 
mit den Werten spielen die man sonst nur über Rechenorgien ermitteln 
könnte.

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.