Spanning/stroom digitaal meten op twee afzonderlijke voedingsrails

Ik ontwerp een dual-rail gelijkstroomvoeding, met de twee rails volledig gescheiden (behalve het delen van een dual-secondary transformator). Het hoofdontwerp zou moeten werken zoals het is, alleen door een zekering + netschakelaar toe te voegen, maar ik wil een voltmeter en een ampèremeter toevoegen aan elke uitgang (en bij voorkeur ook een voltmeter voor de spanningsregelaars).
Het probleem hierbij is dat de "meters" de ADC-ingangen van een microcontroller zijn (of externe ADC's), en dat de microcontroller alleen aarde deelt met EEN van de twee rails. Ik heb een manier nodig om de μC veilig op beide rails aan te sluiten, misschien opto-isolatie of iets dergelijks, terwijl de rails gescheiden blijven.

Kijk echter niet te nauwkeurig naar het exacte schema (hieronder), omdat het niet 100% correct is: ik kon geen dual-secondary transformator vinden in MultiSim; het LM317-pakket is onjuist en de μC is gebaseerd op AVR.
Dit is alleen maar om het algemene beeld te geven.


Full size image

Nu, het probleem: ik wil uitgangsspanning en uitgangsstroom meten voor beide rails, van de gedeelde microcontroller, die wordt aangedreven door een van de twee rails.
Het zou ook geweldig zijn om ook vlak voor de LM317's een voltagesonde te hebben; Op die manier kan ik zowel de ingangsspanning controleren, als de geschatte warmtedissipatie van LM317 berekenen en weergeven.

De spanningsmeting zou gemakkelijk zijn, als het niet voor de zwevende rails was ... Een spanningsdeler, misschien gevolgd door een opampvoltevolger om voor eventuele impedantieproblemen te zorgen, verbonden met een analoge ingang op de μC.

Wat betreft de huidige ben ik er niet helemaal zeker van. Een opamp zou zeker nodig zijn om de kleine spanning over de 68 mOhm shunts (68 μV - 102 mV voor 1 mA - 1,5 A) te versterken, maar ik weet niet zeker hoe ik het moet aansluiten, omdat geen van beide zijden van de shunt is geslepen . Er is ook de kwestie van offsetspanning, om nog maar te zwijgen van het probleem van galvanische isolatie.

Prioriteiten zijn eenvoud en kosten, maar uiteraard is ook enige nauwkeurigheid vereist. Het zou geweldig zijn om een ​​resolutie van 10 mV/1 mA te hebben, hoewel iets als 25 mV/5 mA misschien ook in orde is.

Any advice on how to solve this? I'm unsure about much of it. I've considered external ADCs (shunt -> opamp -> ADC -> optoisolator -> µC), or shunt -> opamp -> optoisolator -> µC, but that doesn't appear to be a good idea since the optoisolator might muck with the analog reading. Frankly, I don't quite know what I'm doing (though I do feel safe about my knowledge about the PSU in itself), but I'm certainly willing to read up a little to learn.

EDIT: related to a previous question "Dual polarity vs dual rail power supply"

5
Lost het isolatiekwestie niet op, maar zie deze Maxim app-opmerking voor concepten (of chipkeuzes) over hoe de spanning over de shuntweerstand te meten: maxim-ic.com/app-notes/index.mvp/id/746
toegevoegd de auteur The Photon, de bron

3 antwoord

The optoisolator -> \$\mu\$C is a viable path if you pick the right optoisolator. The IL300 is an analog optocoupler which, thanks to a servo mechanism, achieves a 0.01% servo linearity.

enter image description here

6
toegevoegd
@kenny - In mijn oplossing kunt u de on-chip ADC van de \ $ \ mu \ $ C gebruiken; je hebt geen externe nodig.
toegevoegd de auteur lillq, de bron
@exscape - De tweede opamp is gewoon een spanningsvolger, dus je hebt hem misschien niet nodig als je impedantie hoog is. De spanning van de LED heeft daar niets mee te maken, de opamp zal er zoveel stroom door pompen als nodig is om de spanning over R1 gelijk te maken aan de ingangsspanning.
toegevoegd de auteur lillq, de bron
Hmm leuk, maar het lijkt nogal complex - drie IC's (IL300 + 2 opamps?) Voor de stroommeting, om maar te zwijgen van de koppeling voor de spanning. Ik ben ook een beetje onzeker, maar gebruikt dit echt het volledige bereik van 0-5 V? Ik heb begrepen dat de maximale spanning de spanning van de LED's is, maar dat kan verkeerd zijn.
toegevoegd de auteur jb., de bron
Een leuk product.
toegevoegd de auteur rthsyjh, de bron
+1 een andere optie is om een ​​seriële ADC aan de hete kant te zetten en op de seriële lijnen te zetten die mogelijk goedkoper zijn.
toegevoegd de auteur kenny, de bron

Naast het antwoord van stevenh , wil ik nog 2 alternatieven voorstellen:

  1. U kunt een afzonderlijke ADC gebruiken in elk van de zwevende kanalen. De ADC's zouden via een seriële bus (zoals SPI) aan de PIC zijn gekoppeld. De bus gaat naar het zwevende kanaal via digitale optocouplers, die goedkoper zijn dan analoge optocouplers. Als u eenmaal een ADC in het kanaal hebt, kunt u net zoveel metingen uitvoeren als de ADC kanalen heeft zonder dat er aanvullende optocouplers nodig zijn. Deze benadering werd al genoemd in de opmerking van kenny.
  2. Elk kanaal kan een speciale PIC hebben. Elk kanaal met zijn PIC (en zijn display, als er displays zijn) zou allemaal samen zweven, en onafhankelijk van het andere kanaal. U hoeft geen analoge optocoupler te installeren voor elk signaal dat u wilt meten. Bovendien konden de zuivere intercommunales met elkaar communiceren via seriële link (bijvoorbeeld UART). De seriële link zou door digitale optocouplers gaan.
2
toegevoegd
Ik heb dit nog niet geïmplementeerd, maar tenzij er iets verandert, heb ik besloten om met de afzonderlijke ADC + digitale isolatorroute te gaan. 12-bits ADC's zijn behoorlijk goedkoop, net als de 150 Mbps (!) Isolatoren die eenvoudig 5 V in beslag nemen en 5 V geven, geen extra componenten nodig. Ze zijn ook beschikbaar in 3/1 kanaalversies, wat SPI als een handschoen past.
toegevoegd de auteur jb., de bron

In lijn met het antwoord van stevenh is een andere keuze een isolatieversterker, zoals de HCPL-7840-000E . Het is een beetje duurder rond de $ 6, maar ik denk dat je uiteindelijk minder onderdelen zult hebben, omdat je de extra op-amps niet nodig hebt. Het is beschikbaar in een 8-DIP-pakket. De invoer- en uitvoerzijde zijn ontworpen om van afzonderlijke benodigdheden te worden uitgeschakeld. Het is ontworpen om kleine spanningen te meten, dus u zou een spanningsdeler nodig hebben om de uitgangsspanning van de PSU te meten.

1
toegevoegd