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
|
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.
|
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í ...
|
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.
|
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 ...
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 ...
|
|
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.
|
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í.
A zde už je několik nasmínamých průběhů.
A malá video demonstrace.
(c) 2011, Stanislav Mašláň - Všechna práva vyhrazena.
|