Kohina lyijyakun mittauksessa

Olen tehnyt AVR-pohjaisen systeemin, jossa on 24-bittinen Sigma-Delta ADC, jolla mitataan virtoja akkukaapeleiden jännitehäviöistä. Muuntimen kohina (RMS) on alle 1 uV ja kaapelin vastus n. 3 mohm, joten alle 10 mA resoluutioon pääsee maksimivirran ollessa n. 500 A. Systeemi saa käyttöjännitteensä samasta akusta.

Homma toimii hiensti, kunnes samassa systeemissä oleva GPS-hiiri laitetaan päälle. Sen jälkeen kohina tuossa virtamittauksessa kasvaa 100 uV paikkeille ja resoluutio lähelle 1 A. Mittailin systeemiä Fluken kunnollisella yleismittarilla 200 mV AC-asteikolla ja havaitsin, että GPS aiheuttaa kohinaa aina 180 Ah lyijyakun navoille saakka. Akun navoilta mitattuna GPS sammutettu (mutta AVR käynnissä) AC-jännite oli 0,03 mV. GPS päällä se oli 6-8 mV, vaikka akulta lähtee 3 m kaapeli piirilevylle, jossa on 4,7 uF keraaminen, 5 V lineaariregu, 10 uF keraaminne ja 5 m kaapeli GPS:lle. Piirilevyllä 12 V tulossa kohinaa oli peräti 200 mV.

Selvästikin tarvitaan lisää konkkia ja/tai ferriittejä. Miten suuria ja minne?

Systeemi vie 2-8 mA GPS sammutettuna ja lähes 60 mA GPS päällä. Suoraan 5 V regun takana on vain GPS ja kaksi 3.3 V regua, joista toinen syöttää vain ADC:tä (toimii myös referenssinä) ja toinen kaiken muun (AVR, GLCD, SD-kortti jne)

Oletko varma että häiriö kytketyy käyttöjännitten kautta? Koitappa käyttää laitettasi eri virtalähteellä kuin GPS:ää. Luultavasti EMC häiriö näkyy silloin. Muuraa siis mittarisi peltilaatikkoon ja lyhennä mittajohtoja (antenneja).

Olen varma, että akulta yleismittarilla mittaamani kohina tulee käyttöjännitteestä. Akkukaapelin jännitehäviötä laite mittaa mittaamalla miinusnavan ja kaapelin toisen pään jännite-eroa, joten on aika selvää, että akkun navoilla oleva kohina häiritsee mittausta.

Saattaa tietysti olla, että vielä merkitsevämpää on koko PCB:n käyttöjännitten ja maan heilunta.

Kotona verkkovirtajännitelähteellä syötettynä kohinaongelmaa ei ollut GPS päälläkään. Silloin en tietysti voinut mitata akkukaapelia vaan laitoin johdonpätkällä oikosulun ADC:n tuloon. Tuolloin ei ollut kohinaa, joten epäilen vahvasti, että kohina tulee juuri siitä, että mitataan samaa lähdettä, jota käytetään virtalähteenä.

Kuten sanoin, kannattaa pois sulkea mahdollisuus ilmateitse kytkeytyvästä häiriöstä kokeilemalla erillistä virtalähdettä GPS:lle. GPS:n kanssa on ennenkin havaittu häiriöitä, johtuen sen sekoittimen lähettämästä radiohäiriöstä.

Tein vähän lisää testejä tänään ja tuli uusia melko mystisiä havaintoja, jotka kuitenkin kai selkeyttivät ja rajaavat ongelmaa.

  1. Normaalikytkennällä GPS pois päältä kohina on olematonta, enintään 1 uV RMS
  2. Normaalikytkennällä GPS päällä kohinaa oli hyvin runsaasti (~300 uV RMS) ja myöskin keskiarvo oli selkeästi pielessä (~1000 uV)
  3. Laittamalla 12 V ±johtoon parin metrin lenkin 0,75 mm2 kaapelia kohina putosi huomattavasti tasolle ~60 uV RMS ja keskiarvo oli jo muutaman uV:n tarkkuudella sama kuin GPS poissa.
  4. Laittamalla 5 V lineaariregun tilalle 5 V hakkuri (hakkuri syöttää siis suoraan GPS:ää ja 3,3 V lineaariregujen kautta ADC:tä ja AVR:ää) GPS pois päältä kohina oli melko pientä ~3 uV.
  5. Laittamalla 5 V lineaariregun tilalle 5 V hakkuri (hakkuri syöttää siis suoraan GPS:ää ja 3,3 V lineaariregujen kautta ADC:tä ja AVR:ää) GPS päällä kohina oli selkeästi pienempää kuin lineaariregulla, suuruusluokkaa 30 uV. Keskiarvo täysin sama kuin kohdissa 1) ja 4).
  6. Laittamalla hakkurin ottamaan käyttövirran 9 V patterista, kohina aleni GPS pois päältä ~1 uV tasolle ja GPS päällä selkeästi alemmaksi kuin 5) (en mitannut tarkemmin)
  7. Irroittamalla ADC:n sisääntulon akusta ja kytkemällä sen oikosulkuun 0,5 m kaapelilla kohina oli alle 1 uV kaikilla edellämainituilla virransyötöillä oli GPS päällä tai ei.
  8. GPS anturin tai sen kaapelin sijainnilla muihin kaapeleihin tai piirilevyyn nähden ei ollut mitään vaikutusta kohinaan.
  9. Laittamalla 470 uF low-ESR elkon GPS:n, 12 V tai 5 V rinnalle ei muuttanut oleellisesti kohinaa.

Uskoisin, että edelläolevat havainnot tarkoittavat sitä, että ongelma on käyttöjännitteen aiheuttamat häiriot ADC:n sisääntuloon. Kaikki johdot tulevat akulta kahdessa 4+vaippa johtimisessa kaapelissa, joissa voisi tapahtua kytkentä käyttöjännittee ja mittauspiuhojen välilä. Koska käyttövirran tuominen täysin eri reittiä samalta akulta ei vähentänyt kohinaa, uskoisin kohinan tulevan aina akulta asti.

Eniten jäin ihmettelemään sitä, miksi kaapelin lisääminen vähensi kohinaa. Kokeilin myös laittaa kaapelin kiepille ruuvarin ympärille, mutta se ei muuttanut kaapelin vaikutusta mitenkään. Onko kyse vain lisävastusksesta? Induktanssi kai nyt sentään merkittävästi muuttui kiepittämällä? Akulta yleismittarilla kohinan mittauksessa kaapeli näkyi selvästi AC-jännite tippui ~8 mV -> 2 mV. Tosin kiepitys pudotti AC-jännitettä vielä lisää, jopa alle 1 mV:n.

Ihmettelin myös tuon hakkurin positiivista vaikutusta GPS päällä. Se tietysti “eristää” kuorman paremmin akusta. Vai mikä muu voi tuon selittää? Akulta mitattuna AC-jännite oli 0,5 mV luokkaa.

Pitäisikö siis 12 V kaapeliin lisätä vastus???

Korjaus antamiini tietoihin. Virtamittauksessa käyttämäni kaapelin vastus on 0,3 mohm ei 3 mohm, kuten kirjoitin aiemmin. Softassa tuo oli oikein, joten kaikki kohinat jne. ovat oikein.

Olen havainnut että lineaarireguilla (LM78XX) on taipumuksena lähteä värähtelemään, kun ympäröivät (decoupling) kondensaattorit ovat poissa tai väärän kokoisia. Voisiko tässä olla kyse samasta ilmiöstä? Lisätessäsi johtoa, resistanssi seä virta hiukan muuttui ja ehkä siirryttiin pois regulaattorin kannalta ongelmalliselta alueelta?

Tuossa on 5 V lineaarireguna LT1761, joka on low noise (20 uV RMS) low dropout regulaattori. Datasheetin mukaan on stabiili 1 uF ja suuremmilla ulostulokonkilla ja konkiksi kelpaa kaikki tyypit. Mulla on tuossa 10 uF keraaminen esimerkkikytkennän mukaisesti. Sisääntulossa on 4,7 uF keraaminen. Spekseissa suositellaan 1-10 uF ja esimerkkikytkennässä on 1 uF. Datasheetissä stabiilisuudesta puhutaan vain ulostulokonkan kohdalla. Sisääntulossa ei konkkaa edes välttämättä vaadita, jos virtalähteenä on patteri tai virtalähteen konkka on alle 15 cm päässä.

Mitäs tuollainen GPS ja kontrolleri haukkaa virtaa? Tuon LT1761:n 100mA maksimi virta tulee varmasti nopeasti vastaan? Vika kuitenkin tuntuu olevan lineaariregussa, kun sait sen toisella (hakkuri)regulla pois.

Jos et muuta keksi, niin tee alipäästösuodatus ADC tuloon. Softalla tai raudalla. Ei olisi huono idea, vaikka häiriöt kuriin saisitkin.

Koko systeemi vie vajaat 60 mA ko. testikytkennässä ja GPS:n osuus tuosta on n. 50 mA. LT1761 alkaa rajoittaa virtaa vasta 200 mA kohdalla tai ylikuumentuessaan. Kaikki ominaisuudet ja ulostulot käytössä virta on ~100 mA, josta tuo alkaa jo kuumenemaan aika paljon yli 12 V jännitteillä. Tuossa toinen syy vaihtaa hakkuriin. Tuli aikanaan alimitoitettua tuo regu, kun en tajunnut RS232-muuntimen vievän niin paljoa, varsinkin kun joissain ulostuloissa on aika suuria virtoja ja tuo pumppaa 3,3 V:sta RS232-jännitteet.

Ko. ADC:hen (LTC2492) ei voi oikein laittaa alipäästösuodatusta. Vastukset ja varsinkin konkat aiheuttavat virhettä tuolla. Toisaalta tuossa sigma-deltassa on sisäänrakennettuna jo varsin tehokas alipäästösuodatus.

Softalla voi tietysti keskiarvottaa, mutta reagointinopeuden kustannuksella. Sama ADC mittaa neljää kanavaa ja omaa lämpötilaansa, joten jokainen kavana mitataan vain hiukan yli 1 Hz taajuudella. Kovin kummoista vaimennusta en tuohon halua.

Jos näytteenottotaajuus on sen 1Hz, niin ei kai 2-5Hz alipäästö enää haittaa mitään? Tuolla näytteenottotaajudella kuitenki kaikki yli 0,5Hz jää havaitsematta.

Koita mitata shuntin yli (shuntti ennen reguja), josko siellä olisi lyhyitä ylivirtapiikkejä.

Ps. Miksi sigma-delta muuntimessa ei voisi alipäästöä käyttää tai miksi se virhettä aiheuttaisi?

Jos softalle tekee keskiarvotusta, pitää ottaa useita näytteitä. 4:llä näytteellä RMS puolittuu, mutta samalla 1 s viiveestä tulee 4 s viive. Ja RMS:n puolitus ei vielä juuri luhduta, pitäisi saada ainakin dekadilla alas, jolloin tarvittaisiin 100 näytettä ja seurauksena olisi yli minuutin viive.

Sigma delta ottaa koko muunnoksen ajan näytteitä sekä referenssistä että molemmista sisääntuloista (differentiaalinen). Kaikkien kolmen pitää olla pieni-impedanssisia, jotta näyte vastaa mitattavaa jännitettä. Erityisesti kapasitanssi + suuri impedanssi aiheuttaa virhettä eli normaalia RC-suodatusta ei voi käyttää. Tuossa 2492:ssa on tosin Easy Drive, joka osin korjaa ongelman. Edelleen ongelmia on silloin kun common mode ei ole puolet referenssistä. Tällöin aiheutuu offset-virhettä.

Minähän mittaan maakaapelista, joten common mode on nolla eli mahdollisimman kaukana tuosta referenssin puolikkaasta. Lisäksi offset on todella tärkeä, jotta virran nollakohta menee oikein. Tuo offsetin tarkkuusvaatimus on parin uV:n luokkaa. Datasheetissä annetaan esimerkki, jossa 1% ero tuloimpedanssissa aiheuttaa 74 uV offset-virheen, jos tuloimpedanssi on 1 kohm.

Koska toi systeemi toimii niin erinomaisesti GPS sammutettuna, uskon, että sen saa kuntoon tuohon GPS:ään keskittymällä. Tarkoitus on kokeilla seuraavaksi laittaa ferriittejä GPS:n syöttöön ja hakkurin molemmin puolin.

Muuten oletko vilkassut skoopilla ettei tuo ole oikeaa. MCU ja GPS voi kuormitella kohtuu jännästi jos jatkuva on 50 mA.

Edit:
Oikein minkälaista kaapelia käytät tuohon signaalin siirtoon AD muuntimelle? Jos jännite taso on uV luokkaa niin erikseen suojattu kaapeli ja mieluiten vielä terminointi päähän.
Instumentti vahvistimet käytössä?

Esim:
223 uV on about -60 dBm (1nW) teho 50 ohmin kuormaan. Jos tuossa AD muuntimessa ei ole sisäistä terminointia inputille, niin helposti tulee häiriöitä ympäristöstä. Suosittelisin melkeen tuon mittasignaalin siirtoon jotain kunnollista 50 Ohm kaapelia ja oikeaoppista muunninta tuon perään.

Edit2:
Hakkurin parempi toiminta varmaan liittyy siihen, että 12V linjasta ei revitä niin paljoa virtaa piikkunä, kun vertaa lineaari regu tapaukseen. Mutta ne mittakaapelit oikeanlaiseksi, kun puhutaan uV luokan mitattavista signaaleista.

Skoopilla katsottuna 12 V piuhasta 1,5 ohm vastuksen yli mitattuna lineaariregulla näkyy “valkoista kohinaa” 28-100 mA ja hakkurilla selkeitä piikkejä 15 kHz taajuudella -8 - + 120 mA. Hakkurilla piikkien välissä on hyvin vähäkohinaiset pienivirtaiset alueet, lineaariregulla taas kohina on jatkuvaa.

Kaapelille ei kai ole hirveitä vaatimuksia ko. tapauksessa, koska tuota uV-tason signaalia mitataan maasta ja 35 mm2 kaapelista. Lähtöimpedanssi mittaukselle on mohm-luokkaa, joten ei tuohon helpolla ympäristöstä tule. “Shuntista” signaali tulee 1,5 mm2 kaapelilla ADC:lle eli edelleen on olematon impedanssi. ADC:n päässä on piirilevyllä 3kohm vastukset suojaamassa ADC:tä mahdollisilta virtapiikeiltä tai virhekytkennöiltä. Tuolla viimeisellä kahden sentin matkalla voisi siis jotain tapahtua, mutta ko. vastukset ja ne viimeiset kaksi senttiä on maatason ympäröimiä ja toisella puolella piirilevyä on täysin ehjä maataso.

Viemällä soivan kännykän parin sentin päähän ADC:stä saa kyllä jotain näkyviin, mutta silläkin kohina jää selkeästo alle 100 uV:n

Kyllä tuo ADC on juuri tällaiseen tehty. Sillä voi hyvin mitata termoparia, venymäliuskaa tms. ilman minkäänlaista suodatusta tai vahvistusta. Samanlaista, tosin vain 20 bittistä käytetään myös Fluken kalliimman pään yleismittareissa.

Käytettäessä esimerkiksi Kalman-suodinta, ei viive ole ihan noin suoraviivaista - eikä noin suurta. Voisiko sitten esimerkiksi nostaa näytteistystaajuutta? Ottaa näytepurskeita?

Suuri impedanssi voi kyllä häiritä sigma-delta tyyppistä muunninta, se on totta, mutta ei se estä siltikään alipäästön tekemistä. Jos RC ei kelpaa, niin oparistahan äkkiä rakentaa aktiivisen suotimen.

Tuon ADC:n käytön koko idea on ollut, ettei tarvita vahvistusta eikä suodatusta. Oparilla offset-virhe on helposti suurempi, tosin onhan noita erittäin tarkkoja opareitakin.

Kalman vaatinee hiukan enemmän koodia? Nyt on AVR:n 36 kB muisti 99,7% täynnä, joten ei onnistune tällä raudalla. Olen tosin jo ostanut 128 kB AVR:n, mutta sitä ei ole tarkoitus vaihtaa tähän projektiin. Alunperinkin oli tarkoitus laittaa 128 kB, mutta XMegaA4:ää ei koskaan saanut lupauksista huolimatta yli 36 kB muistilla (tuli vasta U-sarjaan)

Näytteenottotaajuutta ei voi kasvattaa, koska piirilevyltä puuttuu ulkoisen kellon tuominen ADC:lle. Eikä tuo auttaisikaan, koska datasheetin ja omien testien mukaan kohina kasvaa SQRT(f) sen keskiarvottaminen takaisin laskee kohinaa SQRT(n) eli homma on tasan ± nolla.

Miten muuten tuossa oparissa on noi sisääntulojen terminointi?

Datoista en ihan heti löytänyt asiasta mitään tuohon liittyvää. Tuli mieleen jos tuossa on kohtuu pitkästi kaapelia ennen mittashunttia, niin suosittelisin kunnollista suojattua kaapelia ja terminointia ennen ADC:n inputtia.

Testasikko ton mittakaapeli irti testin niin että ne oli kytketty maihin mittapisteessä vai kellu ilmassa?

Siis ei tuossa ole mitään oparia. ADC:ssä on viisi sisääntuloa: common ja neljä muuta. Käytän tuota common vs. joku toinen sisääntulo differentiaalina. Commonissa ja kahdessa kanavassa on piirilevyllä 3 kohm vastukset suojina, ei muuta. Noi menevät 1,5 mm2 n. 2-3 m johdolla miinusakkukaapeliin eri kohtiin. Common menee pääakun navalle, josta miinuskaapeli lähtee toiselle akulle, jonka navalla on yksi kanava. Toinen kanava tulee sitten toiselta akulta jakorimalle menevään kaapelin päähän, mutta se on vielä kytkemättä.

Ne kaksi muuta kanavaa mittaavat 30 kohm/3.3 kohm jännitejaolla ko. kahden akun plusnavoista akkujännittettä. Jännitejako on tehty piirilevyn maatasoon, johon tulee oma kaapelinsa suoraan akulta. Akkujen plussat eivät ole kytketty toisiinsa, vaan niistä otetaan kuormat eri käyttöön.

Tuo common on siis kytketty piirilevyn maatasoon vain akun kautta ja commonille tulevassa kaapelissa ei siis kulje mitään muita virtoja kuin ADC:n näytteenotto. Vehkeen käyttöjännite tulee samasta pääakusta (taas eri piuhalla kuin napajännitteen mittaus).

Tuo mittakaapelit irti testin tein kytkemällä commonin ja yhden kanavan kaapelilla yhteen (molemmissa edelleen 3 kohm vastukset ADC:hen). Kaapeli oli siis kelluva. Käytännössä ADC vetää tuon kaapelin REF/2 jännitteeseen. Kokeilin eilen kotona myös maattaa tuon kaapelin ja se ehkä hiukan vielä alensi kohinaa. Normaalistihan tuo on siis maapotentiaalissa.

Kotona en saa yli 3 uV kohinaa aikaseksi oikein millään (no soivalla kännykälle se onnistui). Laittamalla oikosulkukaapelin pitkäksi ja suurempivastuksiseksi (esim. yleismittari mA-asteikolla) kohina on aivan sama kuin lyhyellä kaapelilla.

Uskon kyllä vahvasti, että kyse on akun navoilla ja siten akkukaapelissakin olevasta kohinasta eikä signaalin siirrosta ADC:lle tai piirilevyllä olevista häiriöistä johtuvaa. Pitää muistaa tuo akun navoilta yleismittarilla mittaamani muutaman mV:n AC-jännite, joka selkeästi korreloi ADC:n kohinaan. Pitää katsoa tuota vielä skoopilla, kunhan saan 230 V ko. paikkaan.

Jos olen oikeassa, ongelmaksi saattaa tietysti tulla jonkun muun laitteen aiheuttama vastaava häiriö. Muutamaa laitetta jo kokeilinkin laittaa päälle, mutta ne eivät näkyneet kohinassa. Ilmeisesti tuo GPS tai regulaattorini on poikkeuksellinen ikävä kuorma akulle?

Pitää vielä varmistaa, ettei kyse ole keraamisen konkan aiheuttamasta soimisesta (cds.linear.com/docs/Application%20Note/an88f.pdf). Muissa laitteissa tuskin on keraamisia konkkia. Kotona ei tuollaisesta näkynyt merkkiäkään, mutta 180 Ah akku on tietysti erilainen lähde kuin muutaman W verkkolähde.

Ite melkeen tekisin sellaisen testin, että terminoisin tuon inputin kortin päästä enne 3k vastuksia esim 10 Ohm vastuksella. Ehkä joutuuu uusiks kalibroimaan tuota, jos kaapeleissa liikaa resistanssia tuota 10 Ohmia vasten.

Kävin viikonloppuna paikanpäällä oskilloskoopin kanssa, mutta en tiedä opinko mitään uutta. Nyt kokeilin vain hakkurin kanssa. Olin lisännyt hakkurin molemmin puolin ferriitit ja hakkurin tulopuolelle 470 uF konkan.

Tuolla kohina oli varsin pientä “virransäästötilassa”, mutta aktiivisemmassa tilassa oltiin edelleen jossain 30 uV paikeilla ja GPS:n irrottaminen ei nyt juuri vaikuttanut kohinaan.

Akkulaturin käynnistäminen ei näkynyt kohinassa lainkaan (ei edes virransäästötilassa), vaikka se aiheutti melkoista kohinaa akkuun (yli 200 mV p-p napojen välillä) ja myös mitattavaan maakaapeliin. Akkulaturi sammutettuna akkulla ja varsinkaan maakaapelissa ei ollut juuri oskilloskoopilla havaittavaa toimintaa, mutta eihän tuolla pääsekään käsiksi alle 1 mV tasolle.

Sen sijaan piirilevyllä ADC:n sisääntulossa näkyi selkeitä piikkejä (kymmeniä mV) ja 3 kohm vastusten ADC:n puolella vielä selvästi suurempia (~200 mV) hyvin lyhyitä piikkejä, jotka nousevat terävästi ja laskevat takaisin pehmeästi kymmenissä nanosekunneissa. Olettaisin, että ko. piikit ovat ADC:n näytteenottoa. Piikkien välissä kohina oli olematonta, mutta edelleen ei tuolla oskillosskoopilla pääse mihinkään uV tasolle (pienin skaala on 2 mV/div ja sekin on jo rajoitettu 20 MHz normaalin 100 MHz sijaan).

Voisi tietysti kokeilla oikosulkea nuo kohm vastukset. Niiden ainoa funktio on suojata ADC:tä suurilta virroilta, jos jostain syystä sisääntulossa olisi -0.3-+3.6 jänniteauleen ulkopuolella olevia jännitteitä.

Tuo hakkuri tuottaa ~100 mV p-p ulostulon joka on aika siistin kolmiomaista ilman kovin kummoisia piikkejä. 3.3 V lineaariregujen jälkeen tuosta ei näy mitään, mutta kyllä siellä on jotain kohinaa. Varsinkin tuolla AVR:ää syöttävässä.

Alkaa olla jo hiukan epätoivoinen fiilis tuon kohinan selättämisessä, tosin ei tuo nyt oleva 30 uV mikään katastrofi ole.

Testaillessa olen jo onnistunut rikkomaan kaksi micro-SD korttia, yhden transistorin ja yhden XMegan. SD-kortit eivät menneet kokonaan rikki, mutta niiden virrankulutus kasvoi, toisen ~100 uA -> 200 mA ja toisen 10 mA -> 100 mA. Ilmeisesti onnistuin jotenkin saamaan piirilevylle ylijännitteen, varmaankin tuolla 470 uF konkalla.