Můj první stand-alone DSO

Funkce:          1 kanál, 8 vstupů pro log. analyzátor         
Synchronizace:   INT, EXT, ONCE, HOLD
Vzorkování:      jednorázové děje do 32MS/s, 256 vzorků            
Šířka pásma:     cca 10MHz pro -3dB 
Časová základna: 20ms/div - 500ns/div, (16pix/div)
Citlivost:       50mV/div - 20V/div (16pix/div)
Rozlišení:       x=8div, y=4div
Vstupní díl:     operáky AD8066->AD8066, A/D převodník TDA8703
                 vstupní Z včetně předděliče 1M/~25pF
LCD:             PG12864 (128x64)
MCU:             3x AT89C2051 @ 24.567MHz, 1x AT90S2313 @ 6.4MHz
Ovládání:        12 tlačítek a klasické ovládací prvky
   
Provizorní čelní panel

   Jedná se o můj první DSO navržený jako samostatný přístroj. Vzhledem k tomu, že jsem ho realizoval už někdy okolo 2004, kdy jsem tak akorát zvládl C51 jednočipy od Atmelu, je jeho konstrukce poněkud komplikovaná. Měl jsem tehdy po ruce programátor pouze pro AT89Cx051, takže jsem musel celý přístroj realizovat jako více-procesorový, coč se překvapivě ukázalo jako celkem dobré řešení, z hlediska vývoje programu.

Provizorní čelní panel

   První jednočip posloužil čistě k práci s tlačitky a jejich konfiguraci (každému lze přiřadit funkci). Další pak sloužil jako grafický procesor, tj. vykresloval data z třetího, hlavního jenočipu a v reálném čase přidával titulky, mřízku apod. Všechny komunikují po synchronní sériové sběrnici na maximálním taktu. Abych ušetřil trochu sypané logiky ve funkci generátoru vzorkovacího kmitočtu, přidal jsem ještě čtvrtý jednočip, tentokrát už AVR 90S2313, který jednak generuje potřebné frekvence, ovládá trochu HW a navíc nahrazuje původní externí EEPROM pro uložení konfigurace. Z dnešního pohledu je to trochu krkolomné řešení, zvládl by to bez problému jeden ATmega32 a sypaná logika by šla nahradit jedním hradlovým polem za pár šušňů, ale o tom jsem tehdy jaksi neměl ani zdání ...

Provizorní čelní panel

   Každopádně jsem onehdá jsem potřeboval nějaký ten samostaný osciloskop (ten novější je stále volně ložený v krabici od bot :-) ), takže jsem se pustil do jeho rekonstrukce. Po doplnění pár obvodů, které z něj "někdo" sebral a po opravení řady poruch i chyb v obvodovém návrhu to kupodivu poslušně naskočilo. Dokonce ani EEPROM v AVRku, která je jinak pověstná občasným samovolným poškozením dat při nevhodném náběhu napájení zůstala po těch letech nezměněná. Pak už jsem "jen" přídrátoval cca 7 dalších kapacitních trimrů na přepínač vstupního děliče. Tehdy jsem totiž nějak opomenul kompenzovat operační zesilovač s proměnným zesílením, takže to mělo na každé citlivosti jinou přenosovou charakteristiku. Ne že by to teď bylo optimální (to s těmi centimetry koaxu a ne zrovna optimálním přepínačem ani nejde), ale vypadá to alespoň přibližně stejně na všech rozsazích. Část trimrů také posloužila pro srovnání vstupní kapacity na stejnou hodnotu pro všechny předděliče, což je nezbytné pro použití sondy s děličkou.

   Následující obrázek ukazuje střeva mého DSO. Vpravo nahoře ultra bezpečný napájecí zdroj, pod ním usměrňovače. Vlevo dole vstupní děliče, a konečně uprostřed jednostranná deska s veškerou elektronikou. Zhruba dole uprostřed jsem kus DPS,který tam původně nebyl. Jedná se o vstupní díl, který jsem původně řešil celotranzistorově. Ani nevím, co mě tehdy k takovému zbytečnému kroku přimělo. Ne že by to nefungovalo, ale stačilo na to dýchnout a stopa letěla kamsi pryč. Než bych zjišťoval, jak to v tom osciloskopu, ze kterého jsem to opálil konkrétně vyřešili, tak jsem to vyřízl a navrhl DPS odpovídajících rozměrů s J-FET operáky AD8066, kde už žádný problém nebyl. Vyšlo to snad i levněji, než ta původní verze.

Střeva

   Další obrázky ukazují odborně provedenou kompenzaci vstupního děliče. ;-) První sada trimrů kompenzuje samotné děličky 1:1, 1:10, 1:100 a 1:1000, další sada trimrů pak dolaďuje vstupní kapacitu na cca 25pF pro všechny děličky. A končně třetí a čtvrtá sada trimrů nastavuje zesílení vstupního dílu v poměru 1:2:5 a jejich frekvenční kompenzaci (aby to mělo na všech zesíleních zhruba stejný přenos). Holt kompenzace musí být. :-) Tímto principem je dosaženo vstupních poměrů 1:1 až 1:5000 s krokem 1:2:5:10 ...

Kompenzace muss sein! :-O Kompenzace muss sein! :-O Kompenzace muss sein! :-O

   A zde je ultra bezpečný napájecí zdroj. Pokud se vám zdá, že PE svorka nikam nevede, tak vězte, že to není jen pocit. Holt zeměný DSO je mi momentálně k ničemu ...

Bezpečnost předevšim Bezpečnost předevšim


   27.6.2011 - vstupní díl v minulé konfiguraci se ukázal být nevykompenzovatelným, takže jsem ho opět kompletně předělal. Proměnlivost přenosu na jednotlivých rozsazích byla způsobena především proměnlivou impedancí připojenou na vstup prvního AD8066. Ta se měnila od 1MΩ do 1kΩ, což je dost, ale nečekal jsem, že by to mohlo mít až tak velký vliv.
   Řešit to použitím T-článků je nesmysl, protože by to znamenalo další kapacitní kompenzace sériových odporů, takže jsem to pořešil zařazením pevné 1MΩ děličky 1:4 přímo na vstup operáku AD8066. Tím jsem sice snížil citlivost z 10 na 50mV/div, ale odpor na vstupu operáku se pohybuje už jen v rozmezí cca 180 až 250kΩ a to už přenos nijak výrazně nemění. Předděličky Jinak zůstaly stejné. Jen jsem vyřadil tu nejvyšší 1:1000, protože ta stejně se sondou 1/10 postrádá smysl (navíc není na čem ji vykompenzovat - obdélník s amplitudou 100V se mi opravdu vyrábět nechce). Schéma vstupního dílu ukazuje následující obrázek.

Schéma vstupního dílu

   Seřízení se tentokrát ukázalo být až podezřele snadné, protože časové konstanty jednotlivých kompenzačních obvodů "padly" do různých frekvencí, takže bylo celkem jasné, s čím "kroutit" pro vykompenzování obdélníku na různých frekvencích.
   Pro začátek jsem nastavil citlivosti zesilovače trimry R21 až R23 na stejnosměrném napětí na požadovaných 50, 100 a 200mV/div (odpovídá zesílením cca 7.2, 3.6 a 1.8).
   Déle jsem nastavil citlivost 1:1, sondu přepl rovněž na 1:1 a při obdélníku frekvence 10kHz jsem klasicky vykopenzoval průběh na čistý obdélník trimrem C2 (pouze hrubá kompenzace, páč sonda dost zatěžovala generátor, tak to kmitalo samo o sobě). Pak jsem sondu přepnul na 1:10, trimr C110 hodil na minimum a na 1kHz trimrem na sondě nakroutil obdélník. Pak opět 10kHz a opět trimr C2 a ještě parkrát dokola, protože C2 ovlivňuje vstupní kapacitu osciloskopu stejně jako C110. Tím byla pořešená NF kompenzace. Ten větší problém ovšem byla VF kompenzace.
   Tu jsem prováděl na frekvenci 300kHz. Nejdříve na nejcitlivějším rozsahu 50mV/div, kde je zesílení operáku nejvyšší a šířka pásma nejnižší. Trimr C3 jsem hodil asi na 16pF, jinak se tam oběvovaly nějaké pochybné zákmity v řádu jednotek MHz (asi díky indukčnosti káblíku k přepínači). Trimrem C111 jsem nakroutil něco, co vypadalo jako obdélník bez viditelného překmitu. Na obdobně strmý průběh jsem pak nastavil i další dvě citlivosti, které by jinak mohly být i strmější (větší šířka pásma). Na vstup jsem pak připojil 1MHz a trimrem u konektoru mojí sondy jsem tak nějak přiměřeně poladil VF kompenzaci - tentokrát padlo optimum cca doprostřed rozsahu trimru a ne nadoraz, jako u minulé verze (ještě že tak). Následně jsem opět na 300kHz zopakoval celý proces s trimry C111 až C113, páč jejich vliv se trochu kryl se VF kompenzací sondy.
   Těď už stačilo klasicky doladit předděličky se sondou 1:1 trimry C104 až C106 (na asi 20kHz) a následně vstupní kapacity se sondou na 1:10 trimry C107 až C109 (na 1kHz). Job complete. Kupodivu to teď opravdu vypadá na všech rozsazích stejně.

   A a abych zamezil nemalému rušení z digitální části DSO, rozhodl jsem se to oplechovat. A po mnoha hodinách činorodé práce ... (řekl tu někdo práce?) to konečně všechno zapadlo na místo. Jen to chtělo párkrát rýpnout pilníkem do DPS tvořící dvojitý čelní panel kvůli přerušení nežádoucího kontaktu s digitální zemí.

Plechařina na vstupním děliči
Plechařina na vstupním děliči Plechařina na vstupním děliči

   A zde už je několik nasmínamých průběhů.

Sinus 50Hz
Obdélník 400kHz
Trojúhelník 400kHz
Obdélník 2MHz
Obdélník 3MHz
Obdélník 6MHz

   A malá video demonstrace.



(c) 2011, Stanislav Mašláň - Všechna práva vyhrazena.