Sterk flucturerende waarden analoge inputs

Hardware geleverd door Arduino
Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor nicoverduin » 30 Mrt 2018, 22:01

Ik ook niet gezegd dat jij een specialist moet zijn in electronica maar dat je apparatuur nodig hebt en iemand die dat begrijpt. Heb je beide niet heb je een probleem. Nu heb je de uitschieters maar je weet niet of er een rimpel op je voeding staat en/of de sample. En daar heb je een scope voor nodig. De adc is te traag om een goed beeld te maken. Al zou je alles wegschrijven naar een sd kaartje en dan met excel een grafiekje maken van de data. Je hebt gewoon een scope nodig. Zeker als het boven de 15khz zou zijn. Ands zou je nog een kleine geluidsverster erop kunnen zetten gekoppelt via een condensator. Hoor je hum of piep of whatever. Dan zit er een rimpel op (het AC component)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Koepel » 31 Mrt 2018, 00:26

Tjsa, meten is weten en gissen is missen.

@Mai Pensato, wat heb je aan meetapparatuur ? Een goed multimeter is een begin.
Het is best mogelijk dat er een hoge frequenctie op het signaal staat te rondzingen. Zonder scope is het lastig om daar achter te komen.

Kijk ook eens of er een draadbreuk is. Met zoveel variatie kan er een draad geen contact maken. De analoge ingang van de Arduino is zo hoogohmig, die kan een analoge spanning al een beetje ruiken nog voordat de draad echt contact maakt.

Berichten: 15
Geregistreerd: 29 Mrt 2018, 22:48

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Mai Pensato » 31 Mrt 2018, 10:15

Ik heb een Multimeter geleend
Ik meet op de analoge uitgang van het meetapparaat (die voor WG%) dan 2,97-2,98 Volt. Hij blijft op en neer gaan tussen s,97 en 2,98. En dit minuten lang. Ik heb daarbij de -/ground getest voor alle drie de uitgangen (op de foto nr2 10-12-14. Met allemaal hetzelfde resultaat continu 2,97-2,98 Volt. Dit komt overeen met een WG% van 59,4-59,6%. Dus 59,5%.
Vervolgens heb ik 2x 20 metingen via de arduino seriele monitor opgeschreven en het gemiddelde berekend.
Eerste serie van 20 metingen (=3,3 minuten) gemiddelde 58,13% (min 55,62 max 64,71)
Tweede serie van 20 metingen (= 3,3 minuten) gemiddelde 59,34% (min 55,62 max 63,73)
Vervolgens het voltage gemeten aan het uiteinde van de kabeltjes (dus voordat deze de arduino in gaan): wederom op neer flipperen tussen 2,97-2,98 Volt dus zal rond de 2,975 zitten is dus 59,^%.

Is mijn conclusie juist dat het niet aan het meetapparaat/de sensor ligt en ook niet aan de kabeltjes.
Dus het gaat ergens "fout" in de arduino ?

En berekenen van het gemiddelde en daarop sturen is ook niet de oplossing.

Zijn jullie het eens met mijn conclusies ?
En inmiddels iets meer duidelijk van de oorzaak (en hoe ik dit op kan lossen) ? Bijv. stap 4 die Koepel adviseert: en RC filter op de ingang zetten?

Berichten: 15
Geregistreerd: 29 Mrt 2018, 22:48

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Mai Pensato » 31 Mrt 2018, 10:17

O ja, Koepel vroeg ook om de sketch te plaatsen. Dat heb ik gedaan.Zien jullie daar nog gekke dingen in ?

Hebben deze opdrachten zin: pinMode(A1, INPUT_PULLUP); voor ingangen A1-A15 (dit had ik namelijk gevonden op 1 van de engelstalige arduinofora als tip).

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor nicoverduin » 31 Mrt 2018, 10:30

Voor hetzelfde geld zit er een rimpel van 50hz op. Zonder scope weet je niks.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 15
Geregistreerd: 29 Mrt 2018, 22:48

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Mai Pensato » 31 Mrt 2018, 10:44

Stel dat dit het geval zou zijn zo'n rimpel, wat zou dan de oplossing zijn ?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Koepel » 31 Mrt 2018, 12:05

Zonder scope wordt het zo maar een beetje prutsen om het wat beter te maken. Maar de echte oorzaak kom je zo niet te weten. Stel dat het lukt om het te verbeteren met prutsen, maar dat blijkt na een tijdje helemaal niet de juiste oplossing te zijn. Dan heb je alsnog een scope nodig.

De status op dit moment:

De fluctuaties zijn flink.
Een adapter zodat de Arduino een stabiele 5V krijgt maakt geen verschil.
De sketch heeft geen bijzonderheden, maar al die PULLUP is overbodig.

Er zijn nog mogelijkheden om verder te prutsen:

Zet de multimeter eens in de AC stand en kijk of je nog iets van de 50 Hz wisselspanning kunt meten op de signalen. Bijvoorbeeld tussen de GND van de Arduino en het apparaat; op het signaal; kijk of dat hetzelfde is als het signaal uit het apparaat komt en op de pin van de analoge ingang (met de min van de multimeter op de GND van de Arduino); enzovoorts. Probeer maar van alles. Dat signaal mag 10 mV zijn, maar niet bijvoorbeeld 100 mV.
Wat is het merk en type van de multimeter ? Een mooie autoranging Fluke ? of een multimeter van 3 euro ?

Voor hoogfrequente signalen kun je een RC filter toevoegen.
Hier staat een plaatje: http://www.avdweb.nl/arduino/hardware-i ... m-dac.html
De condensator een keramische 100nF, de weerstand kan 1k tot 10k zijn.

Dan het gemiddelde nemen. Het is niet raar om 1000 samples te nemen zonder pauze er tussen. En als dat niet helpt, dan doe je 10000 samples.
Soms is een pauze tussen de samples handig, maar vaak maakt dat niet uit. Maar dat hangt alweer van het type storing af.
Het onderstaande voorbeeld heb ik niet getest, en het geeft een 'float' terug, geen integer.

Code: Alles selecteren
const unsigned int numberSamples = 1000;         // maximum about 60000
float averageRead( int pin)
{
  unsigned long total = 0;
  for( unsigned int i=0; i<numberSamples; i++)
  {
    total += analogRead( pin);
  }
  // De volgende berekening is met float getallen.
  // Dat maakt het mogelijk om meer resolutie te krijgen dan de 10 bit van de ADC.
  average = (float) total / (float) numberSamples;
  return( average);
}


Er zijn nog meer mogelijkheden dan wat wij tot nu toe genoemd hebben. Sommige adapters lekken stroom van 230V naar de uitgang. De computer waar de Arduino mee verbonden is kan ook voor problemen zorgen. Misschien is er zware elektrische apparatuur in de buurt. En zo zijn er nog veel meer mogelijke oorzaken. Dat dit lastig zou worden schreef ik al meteen bij mijn eerste reactie.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor nicoverduin » 31 Mrt 2018, 12:52

Mai Pensato schreef:Stel dat dit het geval zou zijn zo'n rimpel, wat zou dan de oplossing zijn ?

De oorzaak vinden en oplossen. Wederom scope nodig...
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 15
Geregistreerd: 29 Mrt 2018, 22:48

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Mai Pensato » 31 Mrt 2018, 20:36

@koepel,

Bedankt voor je reactie en nieuwe tips
Ik heb dus nog iets verder "geprutst".
Met de multimeter op AC stand en de pinnen op de GND van de Arduino en het apparaat meet ik continu 0 Volt. Het is overigens geen dure Fluke van meer dan 250 EUR maar een Selectplus van 15 EUR.
Ik heb ook jouw sketch geprobeerd om gemiddelde te berekenen maar daar krijg ik een foutmelding op waar ik nog niet uit ben... "exit status 1 a function definition is not allowed here before "{"token.

Ik wil stoppen met "prutsen" en dan maar naar een echte "dokter" gaan maar dan een niet met een stethoscope maar een oscilloscope en een goede multimeter :D Ik kan daarvoor wel terecht bij een kennis van me.
Maar zou wel eerst nog willen weten of een gemiddelde berekening van 1000 of meer metingen wel een stabiele meting oplevert waar ik wat mee kan. Maar dan moet ik eerst die sketch nog werkend krijgen

Ik vind het wel een tegenvaller tot nu toe.... ik las zeer positieve berichten over aansluiten van allerlei analoge sensors op een arduino op het forum van mijn z-wave controller. Via een plugin kan ik dan de metingen binnen krijgen op mijn controller. EN na het inlezen van arduino (o.a. arduino for dummies) en het doen van wat simpele testjes ging het eigenlijk heel vlot inclusief schrijven van een sketch. Tot ik dus de WGM-apparatuur ging aansluiten. Ik vind het nog steeds vreemd dat deze perfect heeft gewerkt op een Fibaro RGBW controller en nu niet op Arduino. Alles is verder hetzelfde gebleven ook de wijze van aansluiten is vergelijkbaar. Dus de storing die ik nu blijkbaar op Arduino heb had ik niet bij de Fibaro.

Maar goed, ben heel blij met je ondersteuning!

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Sterk flucturerende waarden analoge inputs

Berichtdoor Koepel » 31 Mrt 2018, 22:27

Van die multimeter krijg ik spontaan bulten op mijn benen :o :!:
Dat is misschien wel de aller-aller-aller goedkoopste digitale multimeter die er is: https://www.aliexpress.com/item/Digital-Multimeter-DC-AC-Voltmeter-Ammeter-Ohm-Diode-Tester-Meter-Check-and-HFE-Overload-Protection-DT830B/32825995721.html.

Als je een komma anders zet, dan heb ik het liefst dat je meteen de hele sketch weer laat zien.
Zou je code tags rondom de code willen gebruiken ? Boven het tekst-invoer-veld zie je een knop "Code" voor code tags. Je mag ook "Select a Syntax" doen en dan "C++".

Je hebt mijn functie op een verkeerde plek gezet, of er staat iets verkeerd vóór de plek waar je mijn functie toevoegde.

Zodra je de Arduino met andere apparaten gaat verbinden, dan kun je zulke dingen verwachten. Dit hoort er gewoon bij.

VorigeVolgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten