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
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
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
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
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
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
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
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.
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
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.