Ik gebruik deze stroom sensor, maar krijg niet de juiste waarden.
Ik heb de ingang van de Arduino Nano getest en deze kan tot 30A displayen. Echter met de Sensor aangesloten wordt bijv ipv 13.4A weergegeven: 11.2A. Bij 15.5A wordt er 11.4A weergegeven.
De correctie factor voor deze sensor is correct ingevoerd. Het lijkt wel dat de sensor in verzadiging komt?
Welkom
Je vraag is verhuisd naar de Nederlandstalige sectie van het forum.
In het Engelstalige deel van het forum dienen vragen in het Engels gesteld te worden.
Lees verder dit: Hoe haal je het meeste uit het forum.
Hoi PAOPLY, welkom !
Je spreekt van een sensor, heb je alleen de sensor chip, of is die op een module gemonteerd ?
Ik neem aan dat je gebruikersnaam je radio roepnaam is.
Ik raad aan de manual van de fabrikant (kik !) van die chip te raadplegen wanneer je alleen de chip hebt, maar eigenlijk ga ik er van uit dat je dat al hebt gedaan wanneer je inderdaad een radio roepnaam hebt.
Wanneer je een module hebt, dan zou daar al de noodzakelijke condensator en weerstand op moeten zitten die in de manual genoemd worden.
Mis je dat, dan ga je fouten krijgen.
Vertel eens wat meer over wat je hebt (misschien ook waar vandaan), en welke Arduino sketch je gebruikt.
Het is ook een goed idee om exact te vertellen welke Arduino variant je gebruikt, want Arduino heeft zich de zeer slechte gewoonte aangenomen om namen zoals Arduino Nano te hergebruiken en daar dan ook af en toe geen toevoegingen aan te geven, zodat er heel verschillende producten zijn met dezelfde naam.
De sensor is een 5 volt type, is jouw Arduino ook een 5 volt Arduino, of een 3.3 volt of wie weet nog wel lager ?
Want ook dat zou jouw metingen kunnen verstoren.
Hi Mas3, bedankt voor je reactie.
Ik heb een ASC712-30 aangesloten op een Arduino Nano. Deze heb ik gekocht bij AZ-delivery in DL. Eigenlijk heb ik er twee, maar beide hebben hetzelfde gedrag, helaas. De voedingsspanning is 5Vdc. En ik heb de ingang van de Arduino getest met een losse spanning. Om een aanwijzing van 0Amp te krijgen heb ik 2.5Vdc nodig, dat klopt met de gegevens. Om een aanwijzing van 30Amp te krijgen heb ik ongeveer 4.5Vdc nodig.
Sluit ik de stroomsensors aan en 13Amp laat lopen, krijg ik een aanwijzing van 11.2A. Verhoog ik de stroom naar 15Amp dan wordt de aanwijzing 11.5A. Het vreemde is dat bij de eerste testen met 1A en 3A wel de juiste waarde aangeeft.
Het lijkt mij dat er iets met de modules is? Maar ja ik ben een “hardware” man.
Het complete ontwerp komt van een bevriende radioamateur uit DL.
Misschien kun je hier wat mee?
Heb je de voedingsspanning gemeten? Als die bijv. 4.7V is wordt het voor de module wel een uitdaging om 4.5V op de uitgang te krijgen...
Gebruik je een USB adapter?
We weten nu nog steeds niet welke nano je hebt.
Maak anders een foto...
Hi. Probleem: als nieuwe gebruiker kan ik nog geen bijlagen uploaden. Er wordt een Arduino NANO gebruikt. Deze zit op een print waar ook de andere inputs worden gemaakt. O.a. voor het uitlezen van voedingsspanningen; RF detectie etc.
Het geheel wordt via RS485 gekoppeld aan een uitlees unit met een Arduino UNO. De voedingsspanning is echt 5Volt.
amp_50 = ((analogRead(IN_50_I) - 512)/1023.0) * 5.0 / ACS_sensivity; if(amp_50 < 0) amp_50 = 0;
ACS_sensitivity = 0.066
Plaatjes kun je in een antwoord slepen (of je kunt copy/paste gebruiken).
Is the asc connected in the left upper corner (designated as acs)?
If so, what does the diode do?
Very difficult to see, but solder joints might be bad (especially orange one).
Dus het schema dat je in je recentste post hebt bijgevoegd, is door deze Duitse persoon gemaakt ?
(De kop van de tekening laat inderdaad een Duitse roepnaam en ook Duitse tekst zien).
De foto laat zien dat het om een module gaat, waar naast de noodzakelijke condensatoren, ook een extra weerstandje en een LED zit, die laatste 2 natuurlijk als terugkoppeling dat de voeding aanwezig is.
Wat ik meen te zien aan de foto van je sensor en aan het schema, is dat je je stroommetingen voedt uit je DUT (Device Under Test).
[edit]Het schema zelf toont overigens niet dat je dat moet doen, maar zo zit het op de foto wel aangesloten.
Ik weet niet of dit dus onderdeel is van het originele ontwerp.[/edit]
Ik weet niet of dat een goed idee is.
Daarom raad ik je aan om nog eens te testen, maar dan de voeding van je ACS712 en je Arduino, separaat te houden van je DUT.
Dus dat betekent 2 keer een aparte 5 volt voeding.
Ik zou sowieso de voeding van je sensor, als het per se zo moet als nu gebouwd, nog extra voorzien van ontkoppeling (dus filtering van de voeding met minstens een stevige condensator).
Hi all,
The Currentsensor is indeed connected to the upper left input. The diode is a zenerdiode of 4.3V to avoid damage to the Arduino in case of overvoltage input. I did check the input to be sure it will give me an indication of 30A.
.De foto laat de sensor zien die is geplaatst tussen de twee rode banaanbussen.
De grote multipole connector aan de voorzijde is de verbinding naar de PCB.
Hier is aangesloten:
De voeding voor de stroomsensor board: +5Vdc
De sensor output naar J3 vd PCB
De massa en een rode draad voor de spanningsmeting op J5 van de PCB
PS: de voeding van de PCB is separaat. Op de PCB zit een regulator die zorgt voor de 5Vdc die ook de stroomsensor voedt. De DUT spanning komt van een afzonderlijke voeding danwel 28Vdc of 48Vdc afhankelijk van de toepassing op dat moment.
Met een zener van 4,3 volt, ga je nooit 4,5 volt bereiken.
Want dan wordt de 0,2 volt die er overheen gaat door je zener afgevoerd.
Dat gaat direct naar GND, geen idee hoe leuk je ACS712 dat zal vinden.
Maar je zegt dat je deze ingang hebt getest met 4,5 volt en 30A weergave.
Dan verbaast het mij dat dat gewerkt heeft en dat je daarmee de zener niet hebt gesloopt (een zener kan vaak niet veel stroom wegwerken).
Ik vermoed dat deze zeners er ook in een 4,7 volt variant zijn, en ik zou dan daarvoor gekozen hebben.
Dat is een vermoeden, omdat de teksten uit het plaatje van het schema niet erg leesbaar is, BZXB4C wordt niet gevonden en in plaats daarvoor wordt naar BZX84C verwezen.
Alle gebruikte analoge ingangen zijn op dezelfde wijze beschermd in dit schema.
Je kunt ook R20 vervangen door 10k.
Dan kunnen de protection diodes in de arduino hun werk doen en kan de zener weg.
Als je de inwendige diodes niet vertrouwt kun je ook 2 diodes gebruiken. 1 in plaats van de zener en 1 naar 5V...
Als je met meer zekerheid wil weten dat de zener roet in het eten gooit, kun je ook nog een grafiek maken van het verloop van de metingen.
Ik weet niet hoe uitgebreid je werkbank / laboratorium is, maar wanneer je langzaam of stapsgewijs de stroom kunt opvoeren, kun je het verloop in een grafiekje zetten.
Wanneer dat ineens op een bepaald punt plat loopt (dus niet meer oploopt), dan is het toch wel zeer waarschijnlijk dat de zener je probleem is.
Het is ook interessant hoe dat grafiekje verloopt als het niet zo'n punt heeft.
Hi Mas3,
Bedankt voor je bericht. ik heb de ingang vd print getest met een aparte voedingsspanning en kan dus daar met 4.5Vdc een uitlezing krijgen van 30A.
Met andere woorden het probleem dat ik heb zit volgens mij dan wel bij de ACS module. Ik heb 2 van deze modules in gebruik en die hebben allebij dezelfde “makke”.
Het zou ook nog kunnen dat bij hogere stromen er teveel ruis op het signaal zit waardoor er een meet fout optreedt. Ik kan dit niet 1,2,3 meten omdat deze unit achter mijn schotel gemonteerd zit. Ff buiten meten met een scoop is niet handig.
Ik heb ergens gezien dat de sketch een soort van filter ingebouwd had om de effecten van mogelijke ruis opheft.
Heb je dan nu je 4.3V zener opgeblazen?
Van een sensor kun je niet verwachten dat er even 1A signaal wordt geleverd. Van een labvoeding wel...
Dat zou idd kunnen, maar dat doet niets af aan het probleem dat ik heb met de stroomsensor.
Ik hoop dat iemand hier eenzelfde ervaring mee had en een oplossing heeft.
Ik ken dat, met een scope of een spectrum analyser even het dak op klimmen is vaak niet heel handig.
Zit dat kastje met de ACS712 buiten gemonteerd ?
En hoeveel kabel zit er tussen de ACS en je Arduino print ?
Kabel kan wel roet in het eten gooien.
Voor kortere ruis zit er op je print nog de 100 nano Farad C10.
Ik weet niet of dat je meting nog beĂŻnvloedt.
Aangezien we je sketch niet kennen, is het ook onbekend of daar iets gefilterd wordt.
Zo'n filter neemt meestal een aantal samples, gooit de hoogste en de laagste waarde weg (want die zullen vast fout zijn), en pakt dan het gemiddelde.
Wanneer je niet weet of dit gedaan wordt, dan kun je ook proberen een korte sketch te schrijven die alleen dat doet, en de resultaten naar serieel stuurt.
Maar dan moet je je mogelijk wel wat verder in het programmeren verdiepen (als hardware man).
[edit]Oh, nog een ander dingetje waar je wel rekening mee moet houden.
Een Arduino heeft wel meerdere analoge ingangen, maar in de processor zit er maar 1 die telkens wordt omgeschakeld.
Dat is zo ongeveer een weerstand, een condensator en een timer in je controller.
De condensator wordt opgeladen door de analoge spanning terwijl de timer loopt, en wanneer deze condensator "vol" zit, wordt de timer gestopt.
De waarde van de timer bepaalt nu het resultaat.
Wanneer je veel analoge waardes achter elkaar binnenhaalt, kan het zijn dat de condensator nog niet helemaal ontladen is.
Dan krijg je dus ook meetfouten.
Dat kan voorkomen worden door na elke meting, een analoge meting te doen aan een ingang die aan GND ligt, maar dan moet je daar wel de ingang voor over hebben.
Ik weet niet of jouw sketch alle ingangen die op de print verwerkt zijn, continu uitleest.[/edit]
In een vroeger bericht in deze thread, geef je aan dat er bij lagere stromen wel correct gemeten wordt.
Dan kan het ook nog zijn dat er afrondingsfouten optreden in je sketch, en dat kan meerdere oorzaken hebben.
Sommige van die oorzaken zouden door de IDE moeten worden opgemerkt en die zou er dan over gaan klagen, maar niet allemaal.
Aangezien je ook niets doet met een correctiefactor, is het ook interessant te kijken wat daar gecorrigeerd wordt, en of die factor wel aan vaste waarde moet zijn.
Dat betekent dus moet die waarde niet per ACS712 (of batch) worden vastgesteld ?
Hi MAS3,
In post #6 staat een deel vd sketch voor het uitlezen vd ASC. Eigenlijk heel simpel en zeker geen filter of averaging. De correctiefactor voor de 712-30 ( 66 mV/A) wordt daarin gebruikt.
De sensor box zit 20cm van de Slave unit; de PCB met Arduino.
Ik heb inmiddels twee andere stroomsensors; ASC712-20A besteld. Dit om uit te sluiten dat het toch in de sensor ligt. Ik moet de sketch hiervoor aanpassen ( 100mV/A ). Misschien dan ook maar gelijk een filter erin bouwen?

