Beste forum,
Over de laatste weken ontwierp en simuleerde ik onderstaande schakeling. Ik post ze hier om feedback van jullie te verzamelen. Misschien zijn niet al mijn keuzes even goed of doordacht en dan hoor ik dat graag op constructieve wijze.
Alvast bedankt voor uw reactie.

De schakeling is bedoeld voor een true RMS netspanningsmeter. Ik wil tot 7.5kHz meenemen in mijn RMS berekening.

Q: is een 3dB bandbreedte van 7.5kHz redelijk voor een true RMS netspanningsmeting?

De schakeling maakt gebruik van een IL300 Linear Optocoupler. Deze optocoupler U1/U2 geeft een gedeelde netspanning door naar de ADC van een microcontroller (galvanisch gescheiden van het net). Om dit te doen wordt de optocoupler geservo’ed (taalgebruik uit de IL300 datasheet) met opamp X1. Het galvanisch gescheiden signaal wordt gebufferd met X2. In het schema staan de beide fotodiodes van de IL300 als twee afzonderlijke gewone optocouplers gemodelleerd.

De schakeling besteed extra aandacht aan inkoppeling van ruis of stappen op de voedingsspanningen.

De schakeling besteed extra aandacht aan het maximaliseren van het dynamisch bereik van de ADC. De ADC is deze van een ESP32 en heeft een ingangsbereik van 0.15 .. 3.1V. De niet-lineariteit van deze ADC wordt in SW gecompenseerd.
De ruis op deze ADC wordt in deze schakeling (low pass filters) en in SW aangepakt (oversampling+averaging).

De schakeling dient galvanisch van het net gescheiden te zijn omdat andere delen van de schakeling (niet getekend) in contact staan met een regenwatersysteem.

Nauwkeurigheid: ik hoop binnen de 1% te geraken voor een omgevingstemperatuur 0 tot 30C.

Alle potentiometers, uitgezonderd VR1, zijn 10 turn PCB trimmers.
Over de schakeling:

Het net
- V5 stelt het net voor. 355Vp = 251Vrms -- dit is de hoogste netspanning die ik wil kunnen meten. 283Vp = 200Vrms -- dit is de laagste netspanning die ik wil kunnen meten. Ik reken met een nominale netspanning van 240V.
Transformerless 12Vdc voeding
- R20, C7, D3, D13, C8, D9, R21 en D11 vormen een transformerless 12Vdc voeding om X1 en de IL300 te voeden.
- R20 = 20Ohm wordt uitgevoerd als 2 x 10Ohm weerstanden in serie. Twee in serie geeft me meer veiligheid tegen overslag.
- C7 = 1uF 250V foliecondensator.
- De stroom in D3/D13 is netspanning / serieschakeling van R20 en 1uF reactantie = 240/sqrt(20^2+(1/(2*3.14*50*1e-6))^2) = 75mA.
- Een halve periode van de netspanning laad C8 op, dus het stroom budget op de Vp12_non (staat voor V positief; 12V; non-isolated) rail is 75mA/2 = 37mA
- Het stroombudget van 37mA heeft een factor x3 marge ten opzichte van het gesimuleerde stroomverbruik van de gepresenteerde schakeling (ongeveer 10mA, afhankelijk van de K-waarden van U1/U2). Voldoende marge voor tolerantie en veroudering van C7 en C8.
- In de uitvoering krijgt C7 nog een 1Meg weerstand in parallel en een 250mA zekering in serie.

Deling net
- R1, VR1, R4 vormen een spanningsdeler
- R1 = 440kOhm wordt uitgevoerd als 2 x 220kOhm weerstanden in serie. Twee in serie geeft me meer veiligheid tegen overslag.
- De maximale stroom in de deler is netspanning / totale weerstand = 240/(440e3+10e3) = 0.533mA. De gehele deler dissipeert maximaal 128mW.
- De potentiometer VR1 laat me toe de amplitude van de gedeelde netspanning te corrigeren voor de toleranties van R1 en R4.

Opamp X1
- De opamp staat geschakeld als niet inverterende; sommerende opamp
- R7 en VR2 voorzien de gedeelde netspanning van een positieve offset. Dit omdat X1 asymmetrisch gevoed is. VR2 laat toe deze offset te regelen gegeven de toleranties op R3 en R5.
- R2, D1, C1 vormen een low pass filter en 10V zener referentie voor de basis van de offset spanning. Dit om rimpel op Vp12_non te onderdrukken. De zener is ingesteld op (net geen) 5mA. DC: 10V referentie. AC: kantelfrequentie op 1/(2*3.14*470*470e-6) = 0,72 Hz.
Q: Klopt de berekening van de kantelfrequentie nog wel door de aanwezigheid van zener D1?
- D1 is noodzakelijk om te voorkomen dat de (ongeveer) 1V rimpel op Vp12_non niet in het signaal-path gebracht wordt via VR2 en R7.
- D2 en D8 vormen clamping diodes om de ingang van X1 te beschermen op het moment dat de netspanning aanwezig is, maar Vp12_non nog aan het opkomen is. (rail ramping). Deze diodes staan in principe in parallel met de ESD diodes van X1. De stroom door deze diodes is beperkt door de deler R1, VR1, R4, R3 en R5. Uit simulatie blijkt dat deze stroom beperkt is tot enkele uA tijdens rail ramping.
Q: Hoort er een weerstand tussen de anode van D2/kathode van D8 en de niet-inverterende ingang van X1 te staan? Theoretisch wel, maar met deze stroomwaardes komt het wel goed???
- R3, C9, R5 en C10 vormen een low pass filter met 3dB punt op ~7.5kHz.
- R10 (en R13) voegen een lineair element toe aan de belasting van X1. Hiermee is het spanningsbereik dat Vled bestrijkt een stuk groter dan de spannings-stroom karakteristiek van de LED’s in de optocoupler.
- De stroom in de LED’s in de optocoupler varieert tussen de 2 en 10mA. De transfer gain linearity bedraagt 0.5% voor 1 .. 10mA 0 .. 75C volgens de IL300 datasheet.
- VR3 en R9 vormen de belasting van de optocoupler. Het bereik van VR3 laat toe Vsum_fb onder de volledige productievariantie K1 van de optocoupler te laten variëren met dezelfde amplitude als Vsum. Dit zonder dat Vled tegen de voeding van X1 loopt of dat de uitgangsstroom van X1 in begrenzing gaat.
- De IL300 datasheet suggereert een 20pF condensator in figuur22.
Q: Kan iemand een nauwkeurigere/correctere beschrijving van het doel van deze condensator geven? Ik “lees” 20pF als een high-pass traject van de uitgang van X1, direct naar de inverterende ingang. Dit zorgt voor unity-gain op hoge frequenties. Deze frequenties komen immers niet door de optocoupler en zouden zonder 20pF open-loop blijven.

Opamp X2
- De opamp staat geschakeld als niet inverterende; sommerende opamp.
- VR4, R11 vormen de belasting van de optocoupler. Het bereik van VR4 laat toe Vsum_cpy onder de volledige productievariantie K2 van de optocoupler te laten variëren met een amplitude die groot genoeg is om de volledige ADC range te benutten.
- VR5 en R17 voorzien de uitgang van de optocoupler schakeling van een positieve offset. Dit omdat het bereik van de ADC niet rond GND gecentreerd is.
Q: VR4+R11 en VR5+R17 staan voor AC in parallel. De spanning versterking van de optocoupler wordt dus door beide bepaald. Op dezelfde manier wordt ook de offset door beide bepaald. Is er een beter circuit waar de versterking- en offset-instelling onafhankelijk zijn? Ik kon enkel iets bedenken met een tweede opamp.
- R6, D5, C2 en R8, D6, C6 vormen low pass filters en +10V / -10V zener referenties voor de basis van de offset spanning. Dit om rimpel op Vp12 en Vn12 te onderdrukken. De zeners zijn ingesteld op (net geen) 5mA. DC: +10V / -10V referentie. AC: kantelfrequentie op 1/(2*3.14*470*470e-6) = 0,72 Hz.
Q: Deze referenties komen na Vp12 en Vn12 die met 7812 en 7912 gerealiseerd worden (niet getekend). Deze lineaire regelaars voeden ook andere circuit delen met nog meer opamp schakelingen (niet getekend). De zeners D5, D6 zorgen voor een extra onderdrukking van stappen in de Vp12 en Vn12 voeding onder de belasting van de ongerelateerde delen van de schakeling. Feedback? Overkill?
- Voor zowel opamp X1 als X2 plan ik TL081. Beide krijgen de offset potentiometer bestukt in de uitvoering.

Microcontroller interface
- R15, R14 delen de spanning tot een wisselspanning + offset gelijkvormig met de netspanning. R15, R14 en C3 vormen een netwerk dat voldoende laag impedant moet zijn voor de ADC ingang. 100nF is per ESP32 documentatie https://docs.espressif.com/projects/esp-idf/en/v4.2.3/esp32/api-refere…
- R15, R14 en C3 vormen een low-pass filter. Uit de simultie blijkt dat dit filter niet sneller afvalt dan R3, C9, R5 en C10.
- D4 en D7 beschermen het bereik van de ingang van de ADC onafhankelijk van wat er allemaal in de opamp schakelingen zou kunnen gebeuren.

Jouw schakeling doet volgens mij niets anders dan AC schalen. Je doet het TRMS deel in je ADC ?

Zijn die optos op deze manier nog galvanisch gescheiden ? Edit, ja dus, de IL300 is een ander soort opto dan die in de sim. Ik gebruik een IL200

Ik gebruik ook optos in een AC+DC TRMS powermeter maar het RMS deel doe ik met een TRMS converter gebouwd met 5 opamps. Ik haalde iets van 500 kHz omdat ik meer dan netspanning wilde kunnen meten. De jouwe ziet alleen 230V dan zal 1 kHz al meer dan genoeg zijn. Als je alleen de netspanning wil monitoren zou ik gewoon met een diode aan de gang gaan ipv deze hele opzet. Beetje overkill. Je ziet altijd 50 Hz en ongeveer 230V. Je kunt ook een trafotje gebruiken, dan heb je scheiding en een lagere spanning

Mijn Powermeter

De schakeling schaalt inderdaad AC en de TRMS berekening komt in een ESP32 controller.

Wat bedoel je met "gewoon met een diode aan de gang gaan"? Een detector van de aanwezigheid van netspanning, of diens nuldoorgangen is niet voldoende voor mij.

Ik weet niet wat het doel van de meting is maar als het alleen om de hoogte van de netspanning gaat dan is het een 50 Hz sinus. Dat kun je prima met een diode detector. TRMS is pas nodig als het geen sinus is.

Daar zit hem de kneep. Met al die schakelende voedingen en niet-lineaire verbruikers is de netspanning nog zelden een sinus.

[Bericht gewijzigd door KlaasZ op (13%)]

Even door een filter trekken. Als ik met een oude AVO8 de netspanning meet klopt dat nog prima. Zo beroerd is de netspanning nu ook weer niet. Het gros van de hobbyisten heeft geen TRMS multimeter en al die meters kunnen prima de netspanning meten. Heb je er wel eens een scoop aangehangen ?

Maar als de TS het leuk vind dit te bouwen moet hij het vooral doen.

Diode D9 is overbodig.
Is het niet handiger om de twee ledjes van de optokoppelaar gewoon in serie te zetten? Dan weet je zeker dat de stroom door de led van de ene optokoppelaar altijd gelijk is aan de stroom door de led van de andere optokoppelaar.
(En het spaart je een weerstand van 1kΩ en nog een paar mW energieverbruik)
Schakeling staat of valt met de kwaliteit van de gebruikte optokoppelaars.
De transferrate van de optokoppelaars moeten in het gebruiksgebied gelijk aan elkaar zijn, of als dat niet zo is moet de verhouding van de transferrate van beide optokoppelaars in het gehele gebruiksgebied constant zijn.

Op 21 december 2022 16:37:06 schreef fred101:
Even door een filter trekken. Als ik met een oude AVO8 de netspanning meet klopt dat nog prima. Zo beroerd is de netspanning nu ook weer niet. Het gros van de hobbyisten heeft geen TRMS multimeter en al die meters kunnen prima de netspanning meten. Heb je er wel eens een scoop aangehangen ?

Ik hang er inderdaad wel eens een scoop aan. En meestal zie ik dan een sinus met een afgeplatte top. Ik heb ook meerdere meters waar ik de netspanning mee kan meten, maar de vraag is of die dan de echte RMS weergeven. Denk het niet.

Op 21 december 2022 22:41:04 schreef KlaasZ:
En meestal zie ik dan een sinus met een afgeplatte top.

Dan mis je over een klein deel van de sinusperiode een paar volt. Uitgesmeerd over de gehele (virtuele) sinus zal je daar weinig van terugvinden.

Op 22 december 2022 18:37:06 schreef ohm pi:
[...]. Uitgesmeerd over de gehele (virtuele) sinus zal je daar weinig van terugvinden.

dat uitsmeren mag je hier niet doen, het gaat om de RMS waarde, en die gaat met U². Dus net in dat topje wordt het meeste vermogen omgezet. Plat je die top af, gaat het vermogen toch beduidend naar beneden.

Nu, voor spanningsmeting (das wat anders dan vermogen meting) gaat het met een klassieke analoge meter toch vaak vrij goed in de aanduiding, omdat die piek detectie toepassen. Daarmee ziet die voltmeter wat minder spanning, zonder daarbij een echte RMS meter te zijn.

Op 21 december 2022 18:40:59 schreef ohm pi:
Diode D9 is overbodig.

D9 is in de schakeling gekomen nadat ik de volgende observatie maakte in het frequentiegedrag van de schakeling:

Zonder D9 is er ongeveer 3dB meer gain bij frequenties onder ~1Hz:

Met D9 is dit effect afgezwakt:

Ik snap dit effect niet volledig, maar ik vermoed dat het een RC filter is door R7, VR2, C1 en C8. Met D9 kom ik dit effect grotendeels teniet doen. Neemt niet weg dat D9 een effect aanpakt in de schakeling die bedoeld is voor 50Hz en zijn harminischen.

Op 21 december 2022 18:40:59 schreef ohm pi:
Is het niet handiger om de twee ledjes van de optokoppelaar gewoon in serie te zetten? Dan weet je zeker dat de stroom door de led van de ene optokoppelaar altijd gelijk is aan de stroom door de led van de andere optokoppelaar.
(En het spaart je een weerstand van 1kΩ en nog een paar mW energieverbruik)
Schakeling staat of valt met de kwaliteit van de gebruikte optokoppelaars.
De transferrate van de optokoppelaars moeten in het gebruiksgebied gelijk aan elkaar zijn, of als dat niet zo is moet de verhouding van de transferrate van beide optokoppelaars in het gehele gebruiksgebied constant zijn.

De simulator heeft geen model voor een IL300. Ter modellering van de IL300 heeft de getekende schakeling dus twee afzonderlijke gewone optocouplers. Dit heeft ook het voordeel dat de transferwaarden voor de twee foto-diodes afzonderlijk ingesteld kunnen worden. De twee optocoupler LED's staan in parallel omdat de spanningszwaai op de uitgang van X1 dan representatief is.

Ter info het blokdiagrama van een IL300:

Het gedoe met D9 lijkt mij te gaan om het testen van de voeding op harmonische, wat praktisch niet zo relevant lijkt ? R21 lijkt zonder er aan te rekenen zeer klein.

Verder zou ik de boel liever eenvoudig vast instellen en waar nodig AC koppelen dan al die instellingen te gebruiken, of wilt u daadwerkelijk tot aan DC meten? Merk op dat het een keuze is DC mee te nemen bij de RMS berekening of niet.

Nu zit de secundaire kant van je opamp in de feedback loop. Bij de L300 gaat dat niet (daarnaast lijkt me dat niet verstandig ivm galvanische scheiding)

Op 21 december 2022 16:37:06 schreef fred101:
Even door een filter trekken. Als ik met een oude AVO8 de netspanning meet klopt dat nog prima. Zo beroerd is de netspanning nu ook weer niet. Het gros van de hobbyisten heeft geen TRMS multimeter en al die meters kunnen prima de netspanning meten. Heb je er wel eens een scoop aangehangen ?

Maar als de TS het leuk vind dit te bouwen moet hij het vooral doen.

Ik ben akkoord dat de netspanning voor de meeste toepassingen perfect gemeten kan worden met een niet-TRMS meter of zonder galvanische scheiding. Deze schakeling is echter deel van een groter project waar ik ook stroom met een stroomtransfo ga meten, reel/schijnbaar vermogen ga berekenen, en regenwater-standen ga meten. Vanaf dan heb ik fase info nodig, moet ik rekening houden met niet sinusvormige stromen, en wil ik om evidente redenen galvanische scheiding tussen net en regenwatersysteem :-).

Maar terug naar de schakeling review-vraag...

Wat vinden jullie van de constructie VR4/VR5. Persoonlijk stoor ik me wat aan het feit dat gain en DC offset door beide potentiometers worden beïnvloed, en gekoppeld is aan de transfer gain van de optocoupler. Dat maakt de instelling van beide potentiometers niet eenvoudiger.

Onderstaande schakeling koppelt deze instelling los van de transfer gain van de optocouplers. Hierdoor is het benodigde regelbereik van VR4/VR5 een pak kleiner. Andere ideeën?

Hi,

Mr Soldeer :)

Kijk eens naar dit topic van mij, daar wordt gemeten met serie werstanden en een kleine meettrafo die weinig kost.
De RMS waarde berekening kan je dan alsnog in je processor doen.

Mijn doel was zo breedbandig mogelijk te meten, voro jou niet echt nodig begrijp ik, dus de passieve schakeling is ruim voldoende voor jouw meting.
Het beste resultaat krijg je echter wel met de opamp schakeling.

https://www.circuitsonline.net/forum/view/156578#highlight=zmpt101b

Groet,
Bram

PS
Negeer niet de opmerkingen bij de weerstaden en de condensatoren aan de 230V kant, die hoge spanningen bij de condensatoren houden het heel bij nare pieken op het 230V net.
Een goede leverancier heeft die lage capaciteits waarden van de condensatoren gewoon op voorraad in 2 en 3KV.
De 100K weerstanden moet ook geschikt zijn voor hoge spanningen, dat mogen niet je standaard typen zijn, ook dat is weer geen probleem bij de goede groothandel.

Ik zie het nu hoe je de optos doet, dat is ivm de sim. Die ene parallel led vervalt straks. Zo gebruik ik ze ook.

Ik gebruik instelpotmeters zodanig ze een zo klein mogelijk bereik hebben. Vaste weerstanden brengen het signaal zo dicht mogelijk bij de juiste waarde, de instelpot is voor het laatste stukje. Dus als er bv 5k nodig is dan doe ik 4,7k met een weerstand en de rest met een 500 ohm instelpot.

Op 21 december 2022 22:41:04 schreef KlaasZ:
[...]Ik hang er inderdaad wel eens een scoop aan. En meestal zie ik dan een sinus met een afgeplatte top. Ik heb ook meerdere meters waar ik de netspanning mee kan meten, maar de vraag is of die dan de echte RMS weergeven. Denk het niet.

In de betere van oa. Fluke zal dat wel het geval zijn ook Analog Device maakte(?) een mooi IC wat dat heel nauwkeurig deed. In principe moet de opgewekte warmte in een weerstand hetzelfde zijn of je er nu DC of AC in sinus, puls, driehoek, blok ect opzet, moet niet uitmaken. Hier ook iets afgeplatte sinus 50Hz bij directe 230V meting. Ik zou ook zo geen plek weten waar nog een schone sinus voorhanden is.

234.2V met Keysight TRMS meter, scoop geeft wat afplatting. Analoge Philips geeft 227V, Fluke 1587 (1%, geen TRMS) geeft 233, AVO geeft 228 Maar ik weet niet hoe goed die oude analoge meters kloppen in die range voor een pure sinus. Als je dus voor simpel zou gaan kun je in de software corrigeren. Als je met opamps verder gaat zul je ook moeten corrigeren (de instel pots)

Persoonlijk hou ik van over de top dus ik heb ook nog een TRMS AC+DC detector gemaakt en meet met een 26 bit ADC

[Bericht gewijzigd door fred101 op (36%)]

Op 23 december 2022 12:35:21 schreef fred101:
234.2V met Keysight TRMS meter, scoop geeft wat afplatting. Analoge Philips geeft 227V, Fluke 1587 (1%, geen TRMS) geeft 233, AVO geeft 228 Maar ik weet niet hoe goed die oude analoge meters kloppen in die range voor een pure sinus.

Oeps, o ja Ik heb er ook nog een staan en die heeft wat TLC nodig. Goed dat je me er aan herinnerd!

mr soldeer, wat voor Vref ga je gebruiken ?

Raaf, die is ouder dan de mijne, ik heb de laatste versie. Ik heb er ook een uit de jaren 50 maar daar begint de lak/bedrukking van de schaalverdeling uit elkaar te vallen. Heel vreemd.

Blijkbaar geen vernislaag erover? Die van mij komt van de markt in Beetsterzwaag dit jaar. Misschien kan je een schaal overzetten van een 'sloper'?

Mr Soldeer, als je voor de stroom meting een trafo gebruikt dan kun je voor de spanning ook een trafo gebruiken.

Op 23 december 2022 09:43:07 schreef Mr Soldeer:
D9 is in de schakeling gekomen nadat ik de volgende observatie maakte in het frequentiegedrag van de schakeling:

Klopt dat wel, 120 dB demping? Dat is - in spanning - één op een miljoen. Maar in je grafieken gaat dezelfde spanning tussen zo'n 0 en 3 V op en neer, dus 3 Vpp. Ten opzichte van 710 Vpp (355 Vp) aan de ingang is dat een veel kleinere verzwakking: minder dan 50 dB.

Op 22 december 2022 18:37:06 schreef ohm pi:
[...]Dan mis je over een klein deel van de sinusperiode een paar volt. Uitgesmeerd over de gehele (virtuele) sinus zal je daar weinig van terugvinden.

Voor sommige belastingen zit juist daar het stroomverbruik. Dat is ook de reden dat die sinus afgeplat is.

De reden dat je de spanning wil weten is omdat je het vermogen wil bepalen. En dat doe je om het vermogen te meten en te loggen. Dan is een 10% afwijking niet acceptabel. ('t is meer dan "een paar volt").

Voor een niet TRMS Fluke multimneter is de afplatting niet genoeg om er naast te zitten (Tenminste hier bij mij). De TS is tevreden met +/- 2,3V daar hoef je geen TRMS voor te doen.

Ik zou niet te veel blindstaren op de sim aangezien je een totaal ander soort opto gebruikt. Zet het eerst eens op een breadboard en test het met een functie generator of trafo (even met een simpele weerstand deler)
Je kunt je definitieve versie ook met een trafotje doen. Galvanische scheiding en omlaag transformatie in een. Scheelt ook de dubbele voedingen en een Vref. Dan heb je maar 1 opamp nodig en het zou ook nog wel eens stabieler kunnen zijn.

In jou huidige setup mis ik Vrefs (1 voor en 1 na de opamp voor de DC offset zodat de ADC geen negatieve spanning ziet) Zonder die moet je vertrouwen op de voeding en denk ik dat de boel dan te veel gaat driften. Dat kun je in ieder geval testen op een breadboard. Je vindt 1% voldoende, dat is +/- 2,3V dus je hebt niet eens cijfers achter de komma nodig, dat komt heel veel minder nauw dan mijn 5,5 digits versie en zou ik het eenvoudig houden.