Forum: Mikrocontroller und Digitale Elektronik Erfahrungen mit AMC 1200 oder ähnlich


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von volker (Gast)


Lesenswert?

Hallo,

hat jemand schon Erfahrungen sammel können mit dem AMC 1200?

Ich möchte gerne eine Messspannung die zwischen 0 - 3.3 Volt DC liegt 
mit einen AD-Wandler abgreifen zur weiteren Verarbeitung. Die Spannung 
möchte ich galvanisch Trennen zwischen der Messteil und Auswerteteil der 
Schaltung.

Laut Forum soll der oben gennate Baustein (Trennverstärker?) dafür 
gegeignet sein.

Kann diese Aufgabe ein AMC 1200 übernehmen? die Eingangsspannung sollte 
1:1 durchgereicht werden aber halt galavnisch getrennt.

Gibt es noch andere Bausteine mit denen man sowas machen kann? Gerne 
können auch mehrere in einen Gehäuse sein.

Hier noch das Datenblatt.
https://cdn-reichelt.de/documents/datenblatt/A200/AMC1200-TI.pdf

Gruß Volker

von Volker M. (varta1078)


Lesenswert?

Ich sehe gerade dass das Teil einer Verstärung hat von 8. Also nicht das 
was ich suche....

Gibt es sowas auch mit einer Verstärung von 1?

Gruß Volker

von Frank K. (fchk)


Lesenswert?

Falscher Ansatz:

Analoge Trennverstärker sind komplex und teuer, wenn sie gut sind. Es 
ist viel einfacher und billiger, den AD-Wandler an der digitalen 
Schnittstelle zu trennen als am analogen Eingang, und digitale Signale 
werden nicht "schlechter", wenn man sie durch einen Isolator leitet.

Was sind Deine Anforderungen bezüglich Abtastrate und Auflösung?

fchk

von Varta1078 (Gast)


Lesenswert?

Eine interessante Idee ...
Ich lade nachher mal meine Skizze vom Schaltplan hoch vielleicht gibt es 
eine einfache Lösung für mein Problem. Abgetastet werden soll alle 30 
Sekunden mit einen MCP 3008 /10bit

Gruß Volker

von Frank K. (fchk)


Lesenswert?

Also dann einen ADUM1401 ins SPI, und gut ists.

Statt des MCP3008 kann es auch ein MCP3208 mit 12 Bit sein, wenn Dein 
Aufbau es hergibt und DU es brauchst.

fchk

von Volker M. (varta1078)


Angehängte Dateien:

Lesenswert?

ich habe mir mal den Schaltplan angeschaut und bin der Meinung das eine 
Trennung am SPI-BUS mich nicht weiter bringt....

Meiner Meinung nach müssen die einzelnen Messkreise vom AD-Wandler 
galvanisch getrennt werden da die mit einer gemeinsamen Massen arbeiten 
und so das Messergenbiss verfälscht wird.

Grundsätlich zur Schaltung möchte ich einen Isolationtester bauen mit 
mehrern Eingängen und eine einen Raspberry zur Ausgabe/Speicherung der 
Werte.

Dafür habe ich den Isotest 6a genommen 
http://www.radio-ghe.com/neuetechnik/isotest6.funktion.htm
und das analoge Anzeige Instrument gegen einen Widerstand mit 33kOhm 
ausgewechselt. An diesen Wiederstand fallen jetzt zwischen 0-3,3 Volt ab 
welche ich mit dem AD-Wandler prima auswerten kann.

Jetzt hätte ich gerne mehrere Messkreise die parallel funktionieren und 
dazu habe ich den Teil der Schaltung mit dem Messverstärker drei mal 
nebeneinader aufgebaut.

Wenn ich jetzt zwei mal die Spannung am Widerstand abgreifen will dann 
mache ich einen Massschhleife von einen Messkreis auf den anderen und 
dann passt das Messergebniss nicht mehr...

Meine Idee wäre jetzt die Einganänge vom AD-Wandler und die Masse 
galvanisch zu trennen zwischen den Messkreisen so das es hoffetlich 
keine beeinflussung untereinander mehr gibt.

Vielleicht denke ich aber auch viel zu kompliziert und es gibt eine ganz 
einfache Lösung ;-)

Gruß Volker

von Frank K. (fchk)


Lesenswert?

Nochmal:
Grundsätzlich ist die galvanische Trennung eines analogen Signals 
schwierig und teuer. Klar, es gibt sowas als Chip:

https://www.analog.com/en/products/ad210.html

Kostet aber 100€ pro IC. Glaubst Du nicht?

https://www.digikey.de/product-detail/de/analog-devices-inc/AD210JN/AD210JN-ND/611837

Also nochmal: Analoge Signale zu trennen ist schwierig und teuer. Daher 
trennst Du immer auf der digitalen Seite.

So wie ich das verstanden habe, brauchst Du drei voneinander getrennte 
analoge Eingänge. Dann nimmst Du für jeden Kanal einen digitalen 
Isolator wie ADUM1401 (3 Signale hin, eines zurück) und einen separaten 
SPI-ADC wie z.B. MCP3201.

Eben mal nachgeschaut: SI8641BA-C-IUR Isolator kostet 1.48€ bei DIgikey, 
MCP3201 liegt bei 2.41€, sind also 4€ pro Kanal statt 100€.

MCP3001 hat 10 statt 12 Bit und kostet 1.50€. Dann sinds noch 3€ pro 
Kanal.

Der analoge Eingang ist direkt mit der zur messenden Spannung verbunden, 
und auch die Spannungsversorgung für den ADC mus aus dieser Richtung 
erfolgen (oder über einen isolierenden DCDC-Wandler). Zur SPI-Seite 
sorgt der ADuM für eine glavanische Trennung, die auch GND einschließt.

Jeder ADC braucht natürlich sein eigenes CS-Signal, das auch den Enable 
am ADUM fürs MISO-Signal ansteuern muss. Das ist der vom Verständnis 
einfachste Weg.

Bevor es diese digitalen Isolatoren gab, hat man dieses Problem mit 
V/F-Umsetzern gelöst. z.B. so:

https://www.analog.com/en/products/ltc6990.html

Dieser Chip erzeugt ein Rechtecksignal, dessen Frequenz von der Spannung 
am SET-Pin anhängt. Dieses Rechteck-Signal kann man einfach (weil es nur 
ein einziges ist) über einen Optokoppler geführt werden konnte. Auf der 
anderen Seite muss man dann die Frequenz bestimmen und hat dann den 
Spannungswert. Das kannst Du im Prinzip auch machen, aber mit einen 
Raspberry Pi wirst Du Dich da eher schwer tun.

Andere Möglichkeiten sind Delta-Sigma-Modulatoren. Hier wird eine Art 
PWM-Signal erzeugt, was dann über einen Optokoppler geht und auf der 
anderen Seite in einen numerischen Wert umgesetzt werden kann. Viele der 
AMC-Bausteine, über die Du anfangs gestolpert bist, sind genau dafür 
gedacht. Das ganze ist aber von der Theorie her eher komplex - ich 
glaube nicht, dass Du auf diesem Wege schnelle Erfolge erzielst.

Dann gab es noch den Weg, Optokoppler analog zu betreiben. Such mal nach 
"IL300" in diesem Forum. Das ist ein Optokoppler mit einer LED, die auf 
zwei Fototransistoren scheint. Die Helligkeit der LED in Abhängigkeit 
vom Strom ist ja höchst nichtlinear, und per Rückkpplung über einen der 
beiden Fototransistoren und einer Operationsverstärkerschaltung am 
Eingang versucht man nun, die Kennlinie gerade zu biegen. Wie Du Dir 
denken kannst, ist die Genauigkeit einer solchen Schaltung begrenzt.

Jetzt hast Du einen Überblick über deine Möglichkeiten.

fchk

PS:
Du kannst natürlich auch jeder Messplatine einen kleinen PIC oder ATTINY 
verpassen, der die Spannung mit seinem internen ADC misst und per UART 
und Optokoppler oder Zweikanal-Isolator zum Pi schickt. Am Pi dann per 
USB ein FT4232H-Breakoutboard mit 4 UARTs, der die Messwerte einsammelt. 
Ginge auch.

fchk

: Bearbeitet durch User
von Volker M. (varta1078)


Lesenswert?

Vielen Dank für deine schnelle und ausführliche Antwort Frank.

Die Idee mit mehreren ADC hatte ich auch schon.

Nur wollte ich gerne wenn alles so funktioniert die analogen Eingänge 
auf vier oder besser noch auf acht erhöhen. Deswegen habe ich auch 
gleich einen MCP3008 genommen.

So wie ich es verstanden habe kann ich am Raspberrry nur zwei Geräte an 
den SPI Bus anschließen.

Die Auswertung der Daten machen ich mit Node-RED. Dort kann ich 
auswählen bei den Einstellungen vom ADC:

DEVICE ID = CE0 / CE1

SPI Bus   = 0   / 1

Wieviele von den MCP3001 kann ich an einen Bus vom Raspberry betreiben?


Gruß Volker

von Frank K. (fchk)


Lesenswert?

Volker M. schrieb:

> Nur wollte ich gerne wenn alles so funktioniert die analogen Eingänge
> auf vier oder besser noch auf acht erhöhen. Deswegen habe ich auch
> gleich einen MCP3008 genommen.

Den kannst Du aber nicht nehmen, wenn alle Eingänge, d.h. alle ADCs 
voneinander isoliert sein müssen. Dann gehen nur unabhängige 
Einkanal-ADCs. Punkt.

> So wie ich es verstanden habe kann ich am Raspberrry nur zwei Geräte an
> den SPI Bus anschließen.

DAS ist dann eine Einschränkung vom PI bzw der verwendeten Software. SPI 
selber hat da keine Grenzen, solange jeder Slave seine eigene CS-Leitung 
hat.

Aber da kannst Du ja tricksen. Hänge an CE1 einen SPI-IO-Extender wie 
z.B. einen MCP23S08. Da nimmst Du Dir dann die drei untersten Bits für 
die Kanalnummer. Dann nimmst Du Dir einen 74HC138, um die 3 Bits in 8 
Einzelsignale auszudekodieren. CE0 führst Du an einen Active-Low Enable 
Eingang des HC138 (Pin 4 und 5), und schon hast Du 8 einzelne 
Chip-Selects (Pin 15 bis 9 und Pin 7).

Du musst erst über Deine SPI-Bibliothek über CE1 die Nummer des 
Bausteins in den MCP23S08 hineinschreiben und kannst dann per CE0 mit 
dem jeweiligen ADC reden. Jeder ADC hat natürlich seinen eigenen 
Isolator - ist ja klar. Und der HC138 verhindert, dass mehr als ein ADC 
zur Zeit angesprochen wird.

> Wieviele von den MCP3001 kann ich an einen Bus vom Raspberry betreiben?

Indem Du das oben aufgezeigte Prinzip erweiterst, deutlich mehr als Du 
wahrscheinlich brauchst. Rein logisch wären mit 8 Bits 256 CS-Leitungen 
drin, wobei Du dann aber auch schon Bustreiber im SPI brauchen würdest.

fchk

PS: Wenn Du wirklich viele Geräte ansteuern wollen wolltest, würde ich 
das wie im letzten Posting eher so realisieren, dass in jedes Messgerät 
ein kleiner PIC hineinkommt, der über seinen eingebauten ADC den 
Messwert aufnimmt und über einen galvanisch getrennten seriellen Bus wie 
RS485 oder CAN an den zentralen Rechner schickt. Jedes Messgerät braucht 
dann natürlich seine eigene Stromversorgung, und der serielle Bus muss 
dann auch den Isolator speisen. So eine isolierte Schnittstelle baust Du 
Dir mit einem der oben genannten ADuM und einem RS485-Transceiver.

: Bearbeitet durch User
von Volker M. (varta1078)


Lesenswert?

Puh so sollte das eigentlich nicht ausarten ;-)

Ich denke ich versuche es erstmal mit 2 X AMC1200 und 2 X 5V DC-DC 
Wandler. So halten ich die Kosten noch in Grenzen.
Ich würde da ich eine Verstärkung von 8 habe die Eingangsspannung von 
3,3 Volt mit einen kleinen Widerstand auf 0,4125 bringen. Dann hätte ich 
am Ausgang vom AMC1200 wieder meine 3,3 Volt.

Kann ich den AMC1200 mit einer Eingangsspannung von 412,5 mV betreiben?

Im Datenblatt steht:


Maximum input voltage before clipping VINP– VINN TYP ±320 mV

Differential input voltage            VINP– VINN Min –250 mV Max 250mV

http://www.ti.com/lit/ds/symlink/amc1200.pdf

Gruß Volker

von Frank K. (fchk)


Lesenswert?

Volker M. schrieb:

> Kann ich den AMC1200 mit einer Eingangsspannung von 412,5 mV betreiben?

Nein.

> Im Datenblatt steht:
> Maximum input voltage before clipping VINP– VINN TYP ±320 mV

Und da bist Du drüber. Eigentlich darf die Eingangs-Spannungsdifferenz 
nur 250mV betragen.

> Differential input voltage            VINP– VINN Min –250 mV Max 250mV

Da stehts. Ganz klar und deutlich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.