Multimeter zo zvukovej karty

Obnovené v decembri 2008; program naposledy obnovený 28.12.2008.

Obsah:

Úvod

Zvukový adaptér, v dnešnej dobe štandardná súčasť osobných počítačov, pozostáva, prinajmenšom, z dvoch častí:

  • mixéra a
  • A/D prevodníka

Tieto zariadenia sú obvykle zdvojené, pretože zvukové adaptéry sú dvojkanálové - t. j. stereo zariadenia. Môžu obsahovať aj iné komponenty, ale z pohľadu prevodu analógového signálu na digitálny (A/D prevodu) nie sú podstatné.

Mixér je zariadenie, ktoré zlučuje (zmiešava, "mixuje") signály z rôznych zdrojov do jedného výstupu, ktorý postupuje na A/D konverziu. Dôležitou vlastnosťou súčasných mixérov je možnosť plného programového riadenia zosilnenia a vyváženia kanálov.

A/D prevodník je obvykle presný 16-bitový analógovo-digitálny prevodník s maximálnou vzorkovacou frekvenciou 44.1 alebo 48 kHz.

Všetky (štyri ;-) zvukové karty, ktoré sme testovali a analyzovali mali rovnakú vlastnosť - všetky ich linkový (ale aj ostatné) vstupy, majú na vstupe izolačný kondenzátor. Dôvodom je, zjavne, zabezpečiť stabilnú nulovú úroveň vstupného signálu a optimálnu konverziu. To však je značným obmedzením pre prípadné ďalšie použitie, predovšetkým pre jednosmerné merania.

Situácia, našťastie, nie je taká zlá, ako sa zdá...

Výsledky analýzy zvukových kariet

Pomocou lupy a ohmmetra sme analyzovali linkový vstupy štyroch rôznych zvukových kariet - troch od Creative Labs, jednej od Manli:

  • SB16 (PCI), model CT4810(?),
  • AWE-64 (IDE), model 4520,
  • Audio PCI 5000 (PCI), s čipom ES1371,
  • Manli CMI8738SX (PCI)

Vstupy SB16, Audio PCI5000, AWE-64 a CMI8738SX sú na obr. 1.

SB inputs

Obr. 1: SB16, Audio PCI5000, AWE-64 a CMI8738SX linkový vstupy.

Vidno, že vstupné obvody troch kariet sú veľmi jednoduché. Vstup AWE-64 je trochu zložitejší. Obsahuje štvorkanálový JFET operačný zosilňovač, avšak žiadny oddeľovací kondenzátor. Ten je na výstupe...

Všetky štyri zvukové karty majú základnú jednosmernú úroveň na vstupe mixéra pomerne vysokú. Hodnoty na obrázku celkom nezodpovedajú realite. Bolo zistené, že sú v skutočnosti blízke 2.5V. Priame pripojenie vonkajšieho napätia je vylúčené. Existuje nejaké riešenie?

Možnosti riešenia

Existuje jedno známe zapojenie s operačným zosilňovačom - rozdielový zosilňovač. Jeho schéma (obr. 2) je pomerne jednoduchá.

differential amplifier

Obr. 2: Rozdielový zosilňovač.

Vzťah výstupného a vstupných napätí je daný rovnicou:

Formula No. 1

Z rozboru rovnice vyplýva, že na výstupe zosilňovača môže byť určité jednosmerné napätie aj v prípade, že U2 je nulové - a to vtedy, keď bude mať vhodnú veľkosť napätie U1.

Ako vidno na obr. 1, AWE-64 operačný zosilňovač už má, netreba teda skoro nič pridávať.

Výsledky

Čo treba urobiť:

  • odpojiť neinvertujúce vstupy od zeme,
  • pridať nastaviteľný zdroj U1, stačí jeden pre obidva kanály,
  • kúskom drôtu alebo kvapkou cínu skratovať vývody oddeľovacích kondenzátorov,
  • priamo v počítači pomocou vhodného programu nastaviť U1 tak, aby sa pri nulovom vstupnom napätí U2 dosiahla správna (pôvodná) úroveň napätia na výstupe.
Urobiť doštičku s operačným zosilňovačom a niekoľkými súčiastkami možno, samozrejme, tiež. Nakoniec je to aj jediná možnosť v prípade, že zvuková karta nemá operačný zosilňovač.

Výsledná schéma je na obr. 3.

AWE-64 input modification

Obr. 3: Úprava vstupu AWE-64.

Uvedené zapojenie pracuje výborne. Vykonali sme s ním niekoľko základných meraní. Zistili sme, že vstupný rozsah pri maximálnom zisku je asi +/- 100mV. S ohľadom na napájacie napätie operačného zosilňovača a posun jednosmernej úrovne možno odhadnúť maximálny rozkmit vstupného napätie na +/- 2.5V. Vyššie napätia bude potrebné znížiť vstupným deličom.

S operačným zosilňovačom na kúsku univerzálnej dosky s plošnými spojmi sme vyskúšali aj SB16 a CMI8738SX. Konečná verzia bola nakoniec urobená s Manli CMI8738SX. Jediným dôvodom bolo, že je veľmi lacná a dostupná. Oproti obrázku však bolo potrebné pridať zdroj -5V, ktorý táto karta nemá.
Ostatné karty sú staršieho dáta a asi už nebudú dostupné. Výsledky všetkých kariet boli veľmi dobre porovnateľné.

Riešenie, ako vidno, nie je obmedzené len na AWE-64 a podobné zvukové karty. Zdá sa, že takto možno upraviť ľubovolnú zvukovú kartu, ak sa pridá doštička s operačným zosilňovačom. Pre prvé experimenty bol vybraný AWE-64, pretože už mal operačný zosilňovať. Možno by bolo pri ňom aj ostalo, medzitým sa však vymenila v počítači matičná doska a stratil sa ISA slot. AWE-64 už nebolo kam zastrčiť...

Konečné riešenie

Na testovanie a predovšetkým na použitie upravenej zvukovej karty treba vhodný program. Prvá voľba padla na Winscope Konstantina Zeldovicha. Je kompletný, premyslený... a je zadarmo. Napriek tomu sa pre serióznejšiu prácu nehodí, pretože neobsahuje možnosť kalibrácie a, čo je najpodstatnejšie, nemá číselný výstup výsledkov meraní.

Na splnenie našich predstáv o vlastnostiach programu sme vytvorili náš vlastný program. Výsledkom je dvojkanálový:

  • osciloskop,
  • jednosmerný a striedavý V/A meter,
  • merač frekvencie,
  • VU-meter (indikátor špičiek)
s možnosťou ukladať dáta v podobe štandardného WAV súboru alebo dátového súboru v štandardnom CSV formáte, ktorý sa dá ľahko spracovávať väčšinou súčasných tabuľkových programov.

Hardvér

Aby sa zariadenie stalo skutočným multimetrom, doplnili sme ho dvojkanálovým ručným prepínačom. Jeho schéma je veľmi jednoduchá:

range switch

Obr. 4: Schéma ručného prepínača (jeden kanál).

Použité rezistory sú štandardné, t. j. netreba robiť žiadny výber na presnosť hodnôt - výsledná presnosť sa zabezpečí kalibráciou. Rezistor 1M je obyčajný 0.1W rezistor, 11M je 0.5W rezistor zo starých zásob. V dnešnej dobe, ďaleko od doby elektrónok, môže niekomu jeho zohnanie robiť problémy. Kto však má zásoby... Napriek tomu situácia nie je taká zlá, stačí nájsť rezistor, presnejšie dva, v rozsahu 5 - 15M, alebo poskladať potrebnú hodnotu z miniatúrnych rezistorov 1M. Rezistor 0.1Ohm je kúsok odporového drôtu neznámeho pôvodu, (pravdepodobne niekde z auta) z tých istých zásob.

V prepínači nie sú použité žiadne špeciálne súčiastky. Obidva prepínače sme dali do malej plechovej škatuľky so vstupnými banánikovými dierkami a škatuľku sme prepojili s linkový vstupom obyčajným tieneným stereokáblikom. Škatuľka zaberá na stole málo miesta, počítač ďalej leží pod stolom, žiadna reorganizácia nábytku nebola potrebná.

Softvér

Na využitie všetkej dostupnej informácie sme vytvorili program. Je pomerne komplexný. Ako možno vidieť na obrázku 5, je to zariadenie podobné dvojkanálovému osciloskopu kombinovanému s dvojkanálovým multimetrom a meračom frekvencie.

soundscope

Obr. 5: Hlavná obrazovka soundskopu.

Obrazovka má nasledovné časti:
  1. obrazovka osciloskopu,
  2. panel s ovládacími prvkami,
  3. multimeter,
  4. ovládacie tlačidlá.

Okno osciloskopu má:

  • šírku 11,6 ms alebo 92,9 ms v závislosti na rýchlosti rozmietania (viď nižšie),
  • výšku +/- 3 podľa prepínača rozsahov (viď nižšie)
Kliknutie na obrazovku osciloskopu vyvolá dialóg na uloženie súboru = umožňuje uložiť obrazovku ako obrázok vo formáte GIF, BMP alebo JPG.

Pod obrazovkou osciloskopu je riadok statových hlásení, ktorý niekedy aj niečo ukazuje.

Na panel ovládacích prvkov napravo sa nachádzajú (zľava doprava):

  • nulová úroveň,
  • zisk, a pod ním
  • úroveň synchronizácie
Všetky tri nastavovacie prvky ovplyvňujú len zobrazovanie na osciloskope. Kalibrácia sa vzťahuje na maximálnu úroveň zisku.

Panel multimetra a riadiacich prvkov obsahuje (zhora, nadol):

  • multimetre
  • výber zvukového zariadenia,
  • riadenie spúšťania
  • prepínanie časovej základne
  • riadiace tlačidlá

Okno multimetra obsahuje po dva displeje - väčší zobrazuje napätie, prúd alebo hrubé dáta, v závislosti od toho, či bola vykonaná kalibrácia a stavu tlačidla "Raw data/Calibrated". Menší displej zobrazuje frekvenciu v Hz.

Na pravej strane sú tlačítka rozsahov. Sú aktívne len keď je soundskop skalibrovaný.

Meranie striedavého signálu je aktivované tlačidlami "Hz". Keď nie sú stlačené multimeter ukazuje jednosmerné napätie a merač frekvencie nič.

Pod multimetrami je ovládací prvok pre výber zvukového zariadenia.

Blok spúšťania obsahuje:

  • aktivácia synchronizácie
  • výber kanálu A alebo B
  • a indikátor aktívnej synchronizácie (žltý = aktívny)

Časová základňa obsahuje 2 spriahnuté tlačidlá pre rozmietanie:

  • rýchle - 1 ms/div
  • pomalé - 10 ms/div

Tlačidlo Saving definition otvára definíciu parametrov ukladania dát - otvára okienko:

saving definition

Obr. 6: Parametre ukladania dát.

Možno zvoliť priebežné zaznamenávanie do štandardného WAV súboru alebo ukladanie údajov v určitých časových intervaloch do špeciálneho textového súboru (CSV). Vzorkovací interval aj dobu záznamu možno tiež určiť.

V pravom dolnom rohu sa nachádzajú tlačidlá:

  • tlačidlo režimu merania kaliborované/hrubé dáta,
  • tlačidlo štart/stop,
  • tlačidlo zastavenia,
  • tlačidlo štart/stop pre ukladanie údajov,
  • o programe,
  • tlačidlo pomoci,
  • ukončovacie tlačidlo.

Popis

Program bol napísaný v Borland Delphi 6. Neboli použité žiadne šervérové ani komerčné knižnice a komponenty. Na riadenie mixéra bol použitý perfektný fríverový komponent od Víta Kovalčíka. Na zobrazovanie na číselných displejoch bol do systému Microsoft Windows nainštalovaný font imitujúce LED segmentovky - NI7SEF.TTF nájdený niekde na Internete.

Všetky autorské práva k programu sú vlastníctvom autorov. Nekomerčné použitie programu je bezplatné. Akékoľvek iné použitie je potrebné konzultovať s autormi.

Program beží pod operačným systémom Microsoft Windows 2000, XP a 98. Uspokojivo beží na AMD K6-2 333MHz/64MB RAM (na horšom počítači sme to neskúšali). Na starších počítačoch však môže mať problémy.

Program používa linkový vstupy zvukovej karty. Je nastavený tak, aby používal dvojkanálovú 16-bitovú konverziu pri vzorkovacej frekvencii 44.1kHz.

Veľkosť zásobníka pre vstupné vzorkovanie je 4096 vzoriek, t. j. frekvencia merania je asi 10.7 meraní za sekundu.

V dôsledku veľmi nízkej vzorkovacej frekvencie zvukovej karty je najvyššia frekvencia, ktorá je ešte uspokojivo spracovaná, asi 10kHz. Aj vyššie frekvencie sa spracovávajú, výsledok však nie je zaručený.

Napriek tomu jednosmerné merania môžu byť pomerne presné, v závislosti od presnosti kalibrácie, samozrejme.

Hlavnou oblasťou použitia zariadenia by mohlo byť, okrem použitia ako štandardného multimetra, dlhodobé jednosmerné alebo nízkofrekvenčné merania.

Amplitúda striedavého napätia sa meria pomocou programového prevodu na absolútnu hodnotu - zobrazený údaj by mal zodpovedať efektívnej hodnote striedavého signálu.

Frekvencia sa meria ako meranie počtu a dĺžky periód. Vzhľadom na to, že meracou jednotkou je jedna perióda vzorkovacieho signálu 44.1kHz, je tým daná aj presnosť merania. Najnižšia spracovateľná frekvencia je asi 20Hz.

Synchronizácia osciloskopu sa odvodzuje od kanálu A alebo B, nedá sa súčasne podľa obidvoch. Synchronizačnú úroveň možno nastaviť. Nie je ovplyvnená nastavením nulovej úrovne. Momentálne možno nastavovať len kladnú úroveň.
Pretože meraný signál je nespojitý v dôsledku vzorkovania, nie je synchronizácia celkom dokonalá. Zobrazený priebeh niekedy trochu poskakuje.

Uspokojivé použitie programu predpokladá správne nastavenie zvukovej karty. Možno sa k nemu dostať cez Ovládacie panely -> Multimédiá -> Zvuk -> Nahrávanie. Detaily si treba prečítať v príručke k Microsoft Windows.

sound setup

Príklad parametrov záznamu zvuku, ktoré sa zapíšu do INI súboru.

Pretože osobné počítače môžu mať aj viac ako jednu zvukovú kartu, treba vybrať a nastaviť tú správnu kartu, najlepšie však všetky.

Modifikácia hardvéru, ktorá je popísaná v tomto článku, ak je správne nastavená, neovplyvňuje štandardné vlastnosti zvukovej karty žiadnym spôsobom. Karta sa môže naďalej normálne používať.

Kalibrácia

Hoci soundskop možno používať aj nekalibrovaný, nebolo to cieľom jeho vývoja. Jeho použitie ako meracieho prístroja vyžaduje kalibráciu.

Pred samotnou kalibráciou je vhodné zmerať aspoň orientačne rozsah linearity a citlivosť linkových vstupov. Dá sa to ľahko urobiť pomocou kalibračného obvodu popísaného nižšie.

Na kalibráciu soundskopu treba:

  • regulovateľný zdroj napätia a prúdu 1 až 15V/1A
  • kvalitný potenciometer
  • dobrý multimeter, najlepšie digitálny
  • manuálny prepínač správne nastavený a pripojený k linkovému vstupu zvukovej karty

Kalibrácia je trojstupňový proces. Pozostáva zo zistenia nulovej úrovne, zmerania vstupnej citlivodsti a kalibrácie meracích rozsahov, ktorá pozostíva z troch rovnakých krokov kalibrácie napäťových rozsahov a jedného kroku na kalibráciu prúdového rozsahu.

Kalibrácia začína zmeraním nulovej úrovne vstupov. Na to treba odpojiť od vstupov akékoľvek napätie a spojiť ich so zemou. Osciloskop treba prepnúť do režimu priameho merania (Raw). Hodnoty obidvoch kanálov treba zapísať do INI súboru.

Druhý krok je zmeranie vstupnej citlivosti. Obidva vstupy sa pripoja na potenciometer, osciloskop sa prepne do režimu priameho merania (Raw). Porenciometrom sa postupne zvyšuje napätie až kým nedosiahne úroveň hornej (alebo dolnej) červenej čiary. Potrebné napätie a priemerná hodnota multimetrov sa zapíšu do INI súboru. Pre obidva kanály je len jedna hodnota. Citlivosť kanálov by sa nemala líšiť.

Na kalibráciu napäťových rozsahov je vhodné použiť zapojenie podľa obr. 7. Použitie regulovateľného zdroja je veľmi vhodné, napriek tomu možno kalibráciu úspešne vykonať aj pomocou vhodných batérií. V takom prípade však bude vhodné použiť na limitáciu prúdu pri kalibrácii prúdového rozsahu malú žiarovku.

Prúdový rozsah sa dá skalibrovať pomocou zapojenia na obr.8. Treba upozorniť, že zemniaca dierka nie je použitá. Je to možné len v prípade, že zdroj je izolovaný od spoločnej zeme. Ak taký zdroj nie je k dispozícii, treba použiť batériu so žiarovkou.

voltage calibration

Obr. 7: Zapojenie na kalibráciu napäťových rozsahov.

current calibration

Obr. 8: Zapojenie na kalibráciu prúdového rozsahu.

Proces kalibrácie rozsahov predpokladá prepnúť osciloskop do režimu Calibrated a mať CalFactorR, CalFactorL v INI súbore v sekciách [Range1].. [Range4] na hodnote "1". Proces kalibrácie pozostáva z nasledovných krokov:

  1. na obidvoch kanáloch nastaviť rovnaký rozsah
  2. na rovnaký rozsah prepnúť mechanický prepínač rozsahov
  3. priviesť na vstupy napätie (prúd)
  4. nastaviť jeho hodnotu na hodnotu rozsahu
  5. odčítať hodnoty z obidvoch displejov
  6. vypočítať CalFactorR, CalFactorL a zapísať ich do INI súboru
    Príklad:
    Vstupné napätie: 0.2V
    Displej A: 0.192V
    Displej B: 0.211V
     
    CalFactorR = 0.2/0.192 = 1.0416666667
    CalFactorL = 0.2/0.211 = 0,9478672986

Program INI file

Program doesn't write anything to the MS Windows registry anymore. All required information is now stored in the INI file. It is standard ASCII text file. To change values in the INI file it is expected to use ASCII editor, Windows Notepad is good enough. Use of Winword may produce non-ASCII file and program will crash. Program v tejto verzii nič nezapisuje do Windows registrov. Všetky potrebné údaje sa nachádzajú v INI súbore. Je to štandardný ASCII textový súbor. Na zmenu hodnôt v INI súbore treba použiť ASCII textový editor, napr. Notepad. Použitie Wordu môže spôsobiť, že sa text neuloží ako ASCII a program nenaštartuje.

Názov INI súboru je soundscope.ini a nachádza sa v tom istom adresári, ako program. Má nasledovnú štruktúru:

[Program]  
Debug = 0 Ak má hodnotu "1", aktivuje sa zápis do logu.
XPlook = 0 pre "klasické" Windows treba nastaviť "0", pre papagájovité XP treba nastaviť "1"
[Devices]  
Device Name = C-Media USB Headphone Set Názov zvukového zariadenia. Ak sa nenájde, použije sa prvé nájdené.
LineIn Name = Microphone Presné meno vstupného kaníla. Dá sa nájsť v zvukových nastaveniach Windows. Treba ho nastaviť presne, lebo program nemusí vôbec naštartovať.
[Calibration]  
Zero left = 0
Zero right = 0
Stredné hodnoty pre každý kanál.
MaxLevel = 12480  
MaxVoltage = 0,117  
[Range1]..[Range4]  
LabelL = 0.2V,
LabelR = 0.2V
Rozsah pre kanál A a B. Je to jednak nápis na tlačidle, jednak vnútorný kalkulačný parameter.
CalFactorR = 1
CalFactorL = 1
Korekčné kalibračné faktory. Pred kalibráciou ich treba nastaviť na "1". Po kalibrácii sa ich hodnoty zmenia. Nikdy nenastavte "0", lebo program zhavaruje.
[Capture] Do tejto sekcie si hodnoty zapisuje program. Needitujte ich.
NameOfFile =captured.csv  
SamplingType = CSV  
CaptureTime =60  
SamplingPeriod =1  
TimeMeasure = min  
[Visible] Táto sekcia obsahuje názvy pre zobrazenie. Preložením hodnôt na pravej strane sa preloží zobrazovaný interfejs..

Poznámky ku konštrukcii

Neboli použité žiadne špeciálne súčiastky, okrem 11M rezistora v prepínači. Ochranné diódy na vstupe by mali byť rýchle a mali by mať vysoký odpor. 1k rezistor, ktorý privádza signál zo vstupu, by mal byť čo najmenší - má aj funkciu poistky. Mal by zhorieť a tak ochrániť vstup pred poškodením. Diódy, samozrejme, musia "prepaľovací" prúd zniesť.

Na spájkovanie treba používať odporovú spájkovačku s dobrým hrotom. Transformátorová spájkovačka neprichádza vôbec do úvahy. Okrem toho treba lupa, prípadne okuliare, ohmmeter a istá ruka.

Pri odpájaní vývodov SMD súčiastok na zvukovej karte treba byť opatrný. Sú pomerne krehké.

Prototyp predzosilňovača na malom kúsku univerzálnej dosky s plošnými spojmi bol prilepený v blízkosti linkového vstupu.

Celkový pohľad na prototyp je na obr. 9.

prototype

Obr. 9: Prototyp.

Tabuľka vlastností

vzorkovacia frekvencia 44.100 Hz
frekvencia meraní asi 10.7/s
meracie rozsahy 0.3, 3, 30V a 3A
presnosť lepšia ako 1%*)
druh merania jednosmerné a
nízkofrekvenčné striedavé
maximálna vstupná frekvencia 22 kHz
rozsah pracovných frekvencií 20Hz - 10kHz
vstupný odpor na napäťových rozsahoch 333kOhm/V
(100k, 1.1M, 12.1M)
vstupný odpor na prúdovom rozsahu 0.1Ohm
formát ukladaných dát WAV alebo CSV
vzorkovacií interval priebežne,
1/4, 1/2, 1, 15s,
1, 5, 15, 60min
doba záznamu 1s - 9999min**)
*) závisí od kalibrácie
**) 1s zaznamenávaný WAV súbor má veľkosť 176kB, 1 hod. zaznamenávaný WAV súbor má veľkosť 635MB!!, pokus zaznamenávať 9999 min. ako WAV súbor celkom iste zaplní pevný disk...