Vraagje over wisseltroom meten via Stroomtransfo TA12-100 (Itead.com)

Hi,
graag wil ik een verduidelijking over het gebruik van de TA12-100 module met een Arduino Uno. Het gaat over een stroommeting welk ik wil doen voor mijn modelspoorbaan , meten in de voedingstransfo kring van 17V naar de boostervoeding. Het principe van deze stroommeting is het gebruik van een stroomtransfo (1000:1) welke een spanning aflevert over een shuntweerstand van 200 ohm.
Volgens de specs van Arduino mag je enkel 0-5V aansluiten aan de analoge ingang van een Arduino (A0,A1..), zeker geen negatieve spanning.
Ik heb 2 informatiebronnen geraadpleegd voor deze wisselstroommeting met een stroomtransfo, namelijk openergymonitor.com en Itead.com , fabrikant van de Sensor.
Bij Itead sluit men de ene kant van de shunt aan de GND van de Uno, de bovenzijde direct aan de Analoge ingang (bv A0) (Electricity Meter(Analog) - ITEAD Wiki) .
Bij openenerymonitor.com sluit men de onderkant van de shuntweerstand aan een spanningsdeler (2 weerstanden) en deze aan resp de gnd en 5 volt van de arduino. (CT Sensors - Interfacing with an Arduino — OpenEnergyMonitor 0.0.1 documentation)
Ik meen te begrijpen dat openenery.com deze constructie gebruikt om de basislijn van de sinus op +2.5V te leggen, en daarmee te zorgen dat de negative piek van de sinus niet onder 0V komt.

Concrete vraag : komt bij de Itead oplossing de negative piek niet beneden de 0 V aangezien men direct aan de GND van de arduino aansluit. (negatieve spanning mag niet volgens de Arduino ) ?
Alvast dank voor de eventuele verduidelijking / bijbrengen van het inzicht in deze problematiek.

Dirk

Hoi HOCOMPFAN.

Als eerste een beetje geneuzel van mij, zodat ik daar vanaf ben.

Itead is niet de fabrikant van de sensor, maar van de module waar die sensor op zit.
Het andere ding is ook een andere sensor, maar wel eentje die vergelijkbaar is.

Er is geen groot verschil tussen de twee metingen.
De meting van Itead hangt aan GND met 1 zijde, en aan de andere kant is die vrij maar word de spanning wel begrensd door de belasting van 200 Ohm.
Je meet dan wat de spanning is die boven op de GND gekoppeld word.
Dit betekent dat de laagste spanning die je hier krijgt, niet lager kan worden dan GND.
En de hoogste spanning die je krijgt kun je beïnvloeden door de belasting.
Het best voorkom je dan dat die spanning te hoog oploopt, en daar zijn een aantal technieken voor.
Maar die technieken zijn ook al in de Arduino ingebouwd (clamping diodes).
Binnen grenzen kunnen die voorkomen dat te hoge of te lage spanningen iets kapot maken.

De meting van openenergy werkt anders, want die gebruikt meer elektronica.
Inderdaad voegen die een spanningsdeler toe, en het resultaat van de meting word aan de spanning bij de gedeelde spanning opgeteld (als 'ie negatief is, leidt een optelling dus tot een verkleining).
Alleen is daar wezenlijk niets anders.
Je dwingt min of meer dat de spanning word opgehangen aan het middenpunt tussen nul volt en vijf volt.
Das dus 2.5 volt.
Verder zit er een condensator bij.
Die heeft als effect dat dat middenpunt gestabiliseerd word en daarmee dus wat netter blijft.
Zij doen wel goed hun best om uit te leggen wat er daar gebeurt.
Maar dat kan ook tot misverstanden leiden.
Als je naar het grafiekje kijkt, dan is de oranje waarde de stroom die de trafo genereert.
En de blauwe is de spanning die over de weerstand valt (vanwege de stroom die er door heen gaat).
Denk dus niet dat de oranje waarde laat zien dat de spanning onder nul (GND) kan uitkomen bij de andere aanpak, want dat is niet het geval.

Verder weet ik niet wat de sketch van openenergy doet, want dat voorbeeld hangt zwaar aan een eigen library.
Die roept ie op en het resultaat word dan via de seriële poort getoond.

Het Itead voorbeeld meet steeds weer opnieuw gedurende een seconde, en laat uiteindelijk de hoogst gemeten waarde plus en berekening voor de daarbij behorende stroom zien.
Het enige wat daarop volgens mij te zeggen is, is dat de Itead oplossing de interne beveiliging van de Arduino min of meer misbruiken zou (kunnen).

Beide oplossingen lijken mij niet tot een probleem te kunnen voeren.
Je moet wel goed lezen in de beide artikelen en sketches.
Daar staat vermeld dat je wel de stroom van een mooie sinus spanning moet meten die ook van de juiste waarde is (240 volt).
En bij de oplossing van openenergy staan nog wat andere disclaimers, die je er op wijzen dat je wel binnen de grenzen van de hardware en de door hen toegepaste berekeningen moet blijven.

Beste MAS3

Hartelijk dank voor de uitgebreide uitleg die je gegeven hebt.

Ik leid uit je antwoord dus af dat ik de eenvoudige methode kan gebruiken voor mijn toepassing
waarbij de inkomende stroom begrensd is door een zekering op 5A, en we dus maximaal 1V afleveren op de Arduino Analoge poort.
Ik ben hier reeds tijdje hiermee bezig geweest en heb een programma geschreven gebaseerd op de Itlead oplossing. Hierdoor heb ik wat ervaring opgedaan met programmatie op Arduino/LCD/Sensors.

Er is mij bij de proefopstellingen nog iets raar op gevallen , wellicht omdat het niet een zuivere ohmse belasting is. De data van mijn testopstellingsprogramma vergelijk ik met 2 multimeters (primaire stroom en spanning op de analoge arduinopoort en vergelijk dat met de waarden op een eenvoudige scope.
Vooraleer ik je daarmee lastig val zal ik alles nog eens dubbelchecken.

mvg ,

Dirk

De multimeter(s) doen een sample en een vrij trage update.
De Scope pretendeert real-time te zijn (doet heel veel samples per seconde).
De sketch doet meerdere samples per seconde, maar laat alleen het hoogste resultaat zien.

Dat zijn dus 3 verschillende manieren van meten.

Allereerst is de vorm belangrijk, en die scope geeft je dus wel het correcte beeld, maar zeker niet de juiste waarde. dat heeft te maken met de golfvorm en de spanningsgolfvorm.

De simpele oplossing van Itead, werkt alleen maar omdat er in de arduino een diode zit, en eigenlijk is de oplossing van openenergy alleen maar geschikt voor een sinus. Maar ach het is een begin.
De stroomtrafo heeft ook behoorlijke afwijkingen bij gelijkstroom en mengvormen.
Dus ijken is de simpelste oplossing, waarbij ik gelijk moet zeggen dat een simpele stroommeter met een wijzer beter is dan welk digitaal ding ook.
5 Ampere op 17 Volt is erg veel,en daar hoort dan een spanning bij van 1 Volt. Je zult dus wel merken dat de resolutie erg klein wordt rond de 1% wellicht.

Hallo

eerst en vooral dank voor de feedbeck en suggesties.

Zoals eerder gemeld , wou ik nog eens grondig testen vooraleer terug te komen met vragen/opmerkingen.
Dit is ondertussen gebeurd en ik meen dat ik nu wel beter begrijp waarom ik nogal onverwachte resultaten kreeg : de toch wel ver afwijkende belasting van de boosters welke ik wil monitoren. Deze belasting levert
een ver van sinusoisdale belasting op zodat de eerder vermelde testprogramma's een "verkeerd" resultaat afgaven. Dit had ik onderschat en mijn testing met zuivere ohmse weerstanden gaf dit niet aan.
Ik meen dat ik nu een aanvaardbare formule heb gevonden welke aan de hand van de gemeten sensorwaarde (bit waarde 0..1024 op de analoge input) een berekende stroom bepaald voor de booster kring (= load kring). Heb dit gedaan aan de hand van een aantal testmetingen en excel/regressie.
in bijlage ( indien attachement lukt) , geef ik mijn relaas weer van de speurtocht en de gevolgde weg.
Misschien heeft iemand er iets aan.
Indien er mensen zijn die opmerkingen willen geven op de tot stand gekomen methode , of alternatieven, ze zijn welkom. Ook al ben in met pensioen, je bent nooit te oud om te leren !.
En dat is dan ook een van de redenen van mijn aktiviteiten met Arduino.

Groeten
Dirk

TestOpstelling_netjes_mini.pdf (667 KB)

ik zou na de trafo een diodebrug erin zetten, dan kun je zowel de negatieve als de positieve golf meten, Verder heb je nu wel de stroom, maar nog niet het voltage en dus heb je eigenlijk geen idee wat het vermogen is door faseverschuiving enzo
Je kunt er wel vanuit gaan dat het gelijk blijft dus calibreren zoals je gedaan hebt zal voldoende zijn.
In de booster zit overigens ook een gelijkrichter en wellicht kun je daar beter meten, want dat is gewoon DC

Beste Paul,

Hartelijk dank voor je aandacht en suggesties.

Tot nu toe heb ik inderdaad gepoogd de stroom te meten in de aanvoerzijde van de booster omwille van :

  • het is een 50 Hz signaal van een (oorspronkelijk) min of meer sinusoidaal signaal
  • er van uitgaande dat we weinig verlies hebben , zou het opgenomen vermogen voor en na de booster
    ongeveer gelijk moeten zijn
  • mijn multimeters kan ik gebruiken op de normale veronderstelde standen
  • op internet wel wat te vinden over AC metingen op normale netten ( 130 / 220 V 50/60 hz).
    Het meeste was/ben ik geinteresseerd in de stroom (booster max 4A autofuse , glaszekering in voedingstransfo 4A), voor de vermogensaanduiding nam ik me aan van geen faseverschuiving te hebben/de spanning als een constante 16V Ac te gebruiken).

Als ik nu de spanning bekijk NA de booster , dan heb ik een digitaal signaal (scope zegt Vpp 44.8 V / Vtrms 18.3V) en met mijn multimeter op stand AC : 12.66 VTrms , op stand DC -12,1V.
in bijlage screenshot van het boosteruitgangssignaal.

Ik wil graag in de boosterkant gaan meten, maar weet niet goed weg met volgende problemen :

  • 14 Khz booster signaal , probleem voor de CT12-100 current signaal ?
  • kan de arduino voldoende snel/voldoende freqeunt de sensor scannen om de stroom te meten ?
  • Brugcel bij sinus is uitgangsspanning DC = 1.4*Ingangsspanning ACTrms. Effect bloksignaal 14K hz als
    je een brugcel bij zet ?
  • welke spanning neem ik als controle ( multimeter op AC, multimeter op DC , scope ?)

Misschien weet je raad/ kan je me advies geven om dit aan te pakken zodat we ook deze testopstelling eens kunnen maken/vergelijken met de momentele meetmethode in de voedingskring.

Groeten,
Dirk

BoosterUitgangssignaal.pdf (114 KB)

Ik denk dat de stroomtrafo geen kHz kan meten, dus of dat gaat zul je moeten onderzoekn met je scoop.
Het meten is alleen maar mogelijk met je scoop, dus trein aanzetten en de golfvorm op een paar plekken meten, alle meters kunnen sinus, maar er zijn maar weinig die een blokgolf ook juist meten, en al helemaal bij hogere frequenties.

Een betere is met een hallsensor die zijn wel snel en accuraat, en kunnen ook DC meten.
De arduino laat je dan gewoon heel veel meten en een gemiddelde uitrekenen.
een brugcel meet de piekspanning en die kun je dus al op de scoop zien en dus is de RMS iets heel anders.
die verhouding is dus afhankelijk van de puls/pauze breedte.