de Smeerpijp-11 - PA0WV

Mijn destijds gebouwde exemplaar van de smeerpijp
heeft de tand des tijds nauwelijks doorstaan, zie foto
1.
de Smeerpijp-11
Die vraagt dus nodig om een update, en dat gaat dan
gebeuren op de digitale toer, vandaar de naam van
de nieuwe boreling: "Smeerpijp-11".
Een wobbulator voor 50 Hz tot
70 MHz
Dit is een nabouwartikel, maar tevens neemt het u
mee op de ontdekkingsreis van het realiseren van
deze schakeling, een spannende en veel plezier
gevende reis, die U wellicht stimuleert om ook eens
aan echte zelfbouw te doen, wat een combinatie is
van denken, ontwerpen, veranderen, verwonderen,
meten en bouwen, zoveel mogelijk met aanwezig
junkbox-spul, mits de kwaliteit van je boreling daar
niet onder lijdt.
PAoWV
Inleiding
Destijds, lang geleden rond 1956, publiceerde
PAoCX in Electron het "orgaan" van de Veron een
artikel waarin "de Smeerpijp" werd beschreven. Een
lang nalichtend kathodestraalbuisje met een P-11
fosfor werd via buizenversterkers horizontaal afgebogen met een handbediende potmeter die op een as
zat gemonteerd samen met een afstemcondensator.
Het concept ontwerp
De opzet maakt gebruik van een digitaal instelbare
sinus- oscillator van Analog Devices, de AD9851
met een samplefrequentie fs van 180 MHz. Die DDS
(digital direct synthesizer) moet gevolgd door een
laagdoorlatend filter om stoorfrequenties op (180-fc)
MHz te verwijderen, waarbij fc de gewenste uitgangsfrequentie is. Om op 50 ohm uit te komen en
om de filtercurve en de natuurlijke afval van het
signaal bij toenemende frequentie fc volgens Si
(pi*fc/fs) te compenseren is een in verzwakking
regelbare versterker erachter vereist, waarvoor het
Analog Devices type AD8321 geschikt is. Die is
zelfs regelbaar over 53 dB, in 71 stapjes van ongeveer 0,75 dB en in doorlaatkarakteristiek recht van
DC tot 100 MHz. De AD9851 draait op een sample
frequentie van 180 MHz, zodat filters die we met de
wobbulator willen meten, tot ruim 70 MHz bemeten
kunnen worden, zonder hoge eisen aan het laagdoorlatende filter achter de AD9851 te hoeven stellen.
Die afstem-C varieerde de frequentie van een oscillator rond de 455 kHz, zeg maar + en - 20 kHz. Het
oscillatorsignaal werd in een cascade dubbel lattice
filter gestopt, dat opgebouwd was uit toen vlot in de
dump verkrijgbare FT243 kristallen, en de uitgang
van dat filter werd middels een piekgelijkrichter de
amplitude van bepaald. Die amplitude zorgde voor
de verticale afbuiging van de kathodestraal.
Aldus kon je een middenfrequentfilter, in casu dat
lattice filter, trachten af te regelen, omdat de doorlaatcurve op de smeerpijp kwam te staan als je een
zwengel aan de potmeter gaf. Wel lastig want er was
geen logaritmische versterker voor de verticale afbuiging, dus dieper dan pakweg 30 dB kon je niet
meten.
Dat alles zit reeds in een in Elektuur door PE1GIC
gepubliceerde uit twee delen bestaande signaalgenerator.(nr 10 2003) Het analoge ingeblikte deel is
hier als bouwdoosje aangeschaft en in elkaar
gesoldeerd, om er een wobbulator mee te maken met
een instelbare centraalfrequentie en instelbare
sweep. De print is heden nog leverbaar bij Elektor
onder nummer 020299-1 en benodigd omdat SMD
IC's zonder print uiterst moeilijk zijn aan te sluiten.
Detectie van het uitgangssignaal na het te meten
filter, oftewel het DUT (=device under test), gebeurt
door eveneens een IC van Analog Devices, AD8307,
1
Dit bedrag hebben we nodig om bij elke op de display ingestelde frequentie fc de instelling van de
AD9851 te berekenen, door die ingestelde frequentie
met 10 maal dat bedrag te vermenigvuldigen. Dat
bedrag is met een ad hoc geschreven Cprogrammaatje bepaald als binair getal: dat in hexadecimale notatie luidt: 2,62D6FCB00F. Nu is het
vanzelfsprekend zo, dat we liefst zo weinig mogelijk
binaire decimalen (beter: binimalen) meenemen om
rekentijden te bekorten en daarom is met een ander
programmaatje vastgesteld hoeveel groepjes van 8
binimalen (bytes) je mee moet nemen, om bij een
instelling van 90 MHz, het theoretische maximum,
niet meer dan 0,1 Hz instelfout te hebben tengevolge
van de afronding. Dat blijken dan 4 bytes te zijn.
Een en ander is ook wel op zijn Jan-Boeren-Fluitjes
oftewel JBF te bepalen door te beredeneren dat je bij
vermenigvuldiging van 90 MHz met een fout van
0,1 Hz op 1/(9E8) = 1.1E-9 nauwkeurig moet
rekenen en binair zijn dat 3,32 maal zoveel binimalen, dus 30, zodat we, omdat we met hele bytes
werken, op 4 bytes mantisse uitkomen. Het bewuste
getal waarmee we zullen werken is aldus in hex notatie bepaald op 2,62D6FCB.
die een log versterker en detectiefunctie heeft over
ruim 90 dB. Je kunt daardoor een verticale schaal op
de display hebben die logaritmisch over 90 dB de
filtercurve laat zien, dus 10 dB/div verticaal, en horizontaal lineair de frequentie.
Voor de display kan het makkelijkste gebruik
worden gemaakt van een scope met XY inputmogelijkheid. De bandbreedte van de laagfrequentsignalen die aangeboden worden aan de scope is
maar een paar honderd Hz, dus vrijwel elk exemplaar, hoe simpel ook, volstaat, mits de X en Y afbuiging extern aanstuurbaar zijn. Je kunt er natuurlijk ook een apart 7 cm kathodestraalbuisje met elektrostatische afbuiging uit de junkbox voor gebruiken,
van het type dat foto 1 toont, dat je aanstuurt met
een paar torren in long tailed pair, (buizen mogen
ook...) die een paar honderd volt op de collector
kunnen hebben. X en Y positie en de X en Y versterking moeten regelbaar zijn om het beeldscherm
te kunnen calibreren. De ingangsimpedantie van de
versterkers moet hoog (> 1Mohm), en de
gevoeligheid van X en Y ingang moet minimaal
0,25V/div zijn.
De AD9851 heeft een samplefrequentie van 180
MHz, inwendig is een 12 bits DAC aanwezig, die
voor een sinusvormige omhullende van de monsterpulsen zorgt, de frequentie kan worden ingesteld met
5 bytes die serieel of parallel kunnen worden ingeklokt, waarvan er 4 stuks = 32 bits de frequentie bepalen. Het eerste byte is altijd een voorloper voor
instelling van een eventuele faseverschuiving, en
nog wat mode-instellingen.
Het aantal binimalen n dat nodig is om een decimaal
getal D te representeren is te berekenen uit n=log
(D)/log(2). Kom je dan uit op, laten we zeggen, 31,1
dan niet naar beneden afronden tot 31, maar naar 32
benodigde binimalen. Als je immers volgens
berekening 31,1 levende apen in een telefooncel kan
proppen, gaan er 31 levend in geen 32.
Je kunt als je langzaam je frequentie wilt wijzigen,
wat belangrijk is bij erg scherpe filters, de smeerpijp
geheugenfunctie van een nalichtende fosfor ook
digitaal bereiken door de scope om te transformeren
tot een geheugenscope. Dat gebeurt dan door de
meetwaarden uit de logaritmische detector AD8307
voor ten hoogste 256 frequenties, waarin de sweep
in de X richting verdeeld kan worden, te digitaliseren met een 8 bits ADC en op te slaan in het
SRAM van de gebruikte Atmel processor
AT90S8515 die met 512 bytes SRAM daar ruim
voldoende gelegenheid voor biedt, en die dan periodiek ongeveer 50 keer per seconde dat plaatje afspeelt, vergezeld van een zaagtandoutput. Daar
wordt verderop nog nader op ingegaan.
Het increment in afgegeven frequentie als het aangeboden 32 bits frequentiedeel van het digitale woord
met 1 verhoogd wordt, is dus 180 MHz/2^32 en dat
is ongeveer 0,04191 Hz, om precies te zijn:
9*5^7/2^24 Hz. (zie artikel synthesizer CQ-PA 2008
nr 3 van mijn hand voor uitleg, dat is te vinden op
http://pa0wv.home.xs4all.nl/zelfbouw.html onder de
link DDS)
We willen het increment bepalen voor de verhoging
van de frequentie met 0,1 Hz voor de ingestelde centraalfrequentie fc van de wobbelaar, omdat we dat
bedrag als kleinste instelincrement willen hebben.
Zoiets is namelijk nodig als je kwartskristallen als
DUT gaat bemeten. Dat increment is dan het reciproque van het berekende bedrag gedeeld door 10.
Dus 2^23/(3^2*5^8).
Een 2 regelig 16 karakter/regel LCD display op uitgangsport-B van de processor toont de benodigde
instelgegevens, de bediening gebeurt door een met
een MC14490 debounced actuator - een ordinair
C'tje werkt wellicht ook als debouncer- en voorts
2
dBm optimaal kunnen trachten te gebruiken, en een
veld op de display dat aangeeft of de frequentieaanduiding op de LCD de sweep-grootte per schaaldeel
of de centraalfrequentie fc is en, later in het ontwerpproces aangebracht, de meettijd per sweep is.
Onder de meettijd per sweep wordt de totale tijd
verstaan die gemoeid is met het opnieuw meten van
de frequentieresponse van het DUT over de volle op
de scopebuis getoonde sweep. Door scherpe filters
kun je namelijk niet zomaar met een noodgang raak
sweepen, want dan klopt de output niet meer. Uitleg
volgt verderop.
met een drukknop die de mode bepaalt, zoals die
ook in mijn opgemelde synthesizerontwerp zijn
toegepast. Bourne, de fabrikant van de actuator, adviseert dit IC als debouncer, inclusief de grootte van
de C voor de intern opgewekte klok.
Ik had het IC'tje liggen, maar de debouncing zou ook
met de processor moeten kunnen gebeuren. Een
wachtloop in de interrupt is geen tijd voor, omdat de
display op de scope dan hapert, maar als een volgende (bounce) interrupt te snel optreedt blijkens de
stand van een in de processor aanwezige teller_1 die
bij elke interrupt gereset wordt, wordt die interrupt
gewoon genegeerd en dus na het resetten van de
teller direct weer uit de interrupt gesprongen zonder
verdere actie. Bovendien worden eventuele pending
interrupts, vlak voor de interruptafhandelingsroutine
verlaten wordt, gereset, omdat die gelet op de korte
duur van de afhandeling sowieso geklassificeerd
dienen te worden als resultaat van bounce. Omdat
het debouncer IC prima werkt, is dat alternatief
verder niet onderzocht.
Kiezen we daar sweep (S), dan verandert het veld
dat de centrale frequentie aangeeft dus in de sweep
in Hz/div op de scopebuis, of als je T kiest, de totale
meettijd per sweep, die alle met de actuator gewijzigd kunnen worden in andere waarden van het geboden palet.
Het is niet zinvol voor de sweep elke willekeurige
waarde in te kunnen stellen, daarom heb ik aanvankelijk gekozen voor sweeps bij 256 metingen per
10 schaaldelen op de horizontale as van de oscillograaf, dat geeft echter een vreemde waarde van
2,56 Hz per schaaldeel op het ksb-scherm (ksb is
kathodestraalbuis) tot 25,6 MHz per schaaldeel in
stappen van 10. Horizontaal zijn er over de breedte
(10 schaaldelen) van het scopebeeld dan altijd 256
metingen, die samen dan een continue lijn kunnen
vormen, die de gemeten filtercurve representeert. Na
enig gereken blijkt dat als je minder dan 256 metingen namelijk 239 stuks over de horizontale as neemt,
je uitkomt op hele waarden voor de sweep namelijk
1 Hz/div tot 10 MHz/div op de KSB, als je van de
minimale stapgrootte van de frequentie (0,04191 Hz)
van de DDS chip gebruik gaat maken.
Een met de modedrukknop naar 4 verschillende
posities verplaatsbare * (ster) op de display geeft
dan aan welke parameter op dat moment door de
draaiknop van de actuator bediend wordt. Wat betreft de bounce gelden daar dezelfde overwegingen
en tegenmaatregelen voor. De MC14440 kan 5
kanalen gelijktijdig debouncen, twee voor de actuator en nu de derde voor de modeknop, dus dat vergt
verder geen moeite. We hebben dan (zie fig 6 met
Door ook een 0 sweep toe te laten, is het apparaat
tevens als signaalgenerator te gebruiken. Er hoeft
dan niet gesweept te worden en de zaagtand hoeft
dan ook niet te worden afgegeven. Oppassen dat je
KSB dan niet inbrandt, oudere kathodestraalbuizen
kun je daar makkelijk mee vernielen. Dat is de reden
dat ik bij de 0 sweep toch een zaagtand afgeef maar
alle metingen op dezelfde frequentie fc gebeuren.
Dat is dus 0 Hz/div op de buis. Het beveiligen van
de buis zou overigens automatisch kunnen gebeuren,
als de X zaagtandamplitude 0 is, dat gegeven dan
gebruikt wordt om het negatief op de wehnelt op te
voeren.
een indeling van de display) een frequentieaanduiding van fc met 0,1 Hz resolutie, een frequentieincrement delta van fc tussen 0,1 Hz en 10 MHz per actuatorklik, een frequentie-increment van de sweep in
stappen van een factor 10, over de breedte van 10
schaaldelen op de kathodestraalbuis, tussen 1Hz en
10 MHz per schaaldeel; een dB outputlevel van de
signaalgenerator, zodat we het dynamische bereik
van de logaritmische detector van +17 dBm tot -80
Als de ingestelde sweep tijdens het sweepen beneden de minimale instelling van de oscillator komt,
3
die 50 Hz is gekozen in verband met de scheidingscondensatoren, of boven de 72 MHz, dan wordt,
om misinterpretatie van het beeld te vermijden, de
functielijn op de beeldbuis geforceerd langs de nullijn op de beeldbuis gehouden. Dat kan door in die
gebieden de oscillator uit te schakelen. Daar is geen
voorziening voor op de Elektuurdoos maar 0 Hz
instelling van de DDS heeft ook het gewenste resultaat, omdat de oscillator dan fasecontinu overgaat in
het afgeven van een gelijkspanning die niet door de
koppelelco's heen kan. Er is ook een powerdown bit
in de digitale sturing en verder is het ook mogelijk
om als je buiten die meetgrenzen komt de meting op
slag in het displaygeheugen 0 te maken onafhankelijk van wat de signaaloutput is van het te bemeten
filter. Dat laatste heb ik gedaan, met het gewenste
resultaat. Het laden van de DDS met die frequentiewaarden buiten het meetbereik wordt dan tevens
achterwege gelaten.
De aansluitingen van de blikken doos met de signaalgenerator op de controller zijn om pragmatische
4
proutine voor we het hebben kunnen inklokken in de
DDS- chip.
redenen hetzelfde gekozen als bij het meetzenderontwerp op portA en portC van de Atmel controller AT90S8515. Het voordeel daarvan is dat je,
als je al eerder een meetzender hebt gebouwd, of
nog gaat bouwen, je het doosje daaruit kan lenen en
zo om kunt prikken met de twee bandkabeltjes.
De versterker AD8321 vereist een 9V voedingsspanning. Deze versterker geeft tot maximaal 11 dBm af
in een load van 75 ohm. Met een half Tweerstandnetwerkje en wat vermogensverlies wordt
daar 50 ohm van gemaakt in de Elektuurdoos, de
gebruikelijke impedantie voor hoogfrequentwerk.
Dat vermogen hebben we hard nodig, want de
AD8307 logaritmische detector heeft voor volledig
gebruik van zijn dynamic range 17 dBm als bovengrens nodig. Zes dB zijn we dus al kwijt door signaalgebrek bij passieve DUT's als meetobject.
De LCD zit op portB waarop tijdens de ontwikkeling van de software ook de in-circuit programming gebeurt, via de daartoe speciaal gemonteerde
10 pens boxed header gemerkt ICP in het schema
van fig 1. Dat eist een pentoekenning op de controller, die voorkomt dat tijdens programmeren de LCD
enabled wordt. De actuator en modeknop vereisen
beide een externe interrupt en zitten dus op portD
aangesloten. Op PortD zat ook een jumper die de
maximaal instelbare demping bepaalt, waarover
verderop meer detail.
De versterking kan digitaal worden geregeld over
53,4 dB in stappen van 0,75 dB, door binair serieel
de vereiste verzwakking in te klokken, via bandkabel K2 Daarbij is bytewaarde 0 maximale verzwakking en 71 de minimale is. Wel even schrikken
als je tijdens ontwikkeling 0 instelt, daarmee denkt
maximaal signaal te zien en er komt op de scope
niks zichtbaars uit de versterker, het regelt dus net
andersom. Dat regelen kunnen we gebruiken om het
uitgangssignaal onafhankelijk te maken van de frequentie. Kost ook weer een paar (2,4) dB. Of eigenlijk ook niet, want bij lagere frequenties uit de
DDS is de versterker bij volle gain toch wat overstuurd.
De aansturing van de meetzenderdoos
De DDS AD9851 wordt parallel aangestuurd met 5
bytes via bandkabel K1 (zie schema in fig 1). Het
eerste byte is altijd 0x01, dat staat namelijk voor een
5 bits fasehoek die 0 is, 1 bit powerdown mode op 0,
een bit 0 dat aangeeft dat byte-parallel wordt gestuurd en niet serieel, en tot slot een bit op 1 dat aangeeft dat de interne clock multiplier die 30 MHz
klokinput naar 180 MHz vermenigvuldigt, in moet
staan.
De bedieningspoten voor de versterker AD8321 zijn
DATEN op portbit PC2, clk op portbit PC3 en
SDATA op portbit PC4. Als DATEN laag is kan er
een data byte serieel ingeklokt worden, het in te
klokken bit moet gedurende de op- en de neerflank
van de klok geldig zijn. Het dempingsbyte wordt
met het MSB (meest significante bit) het eerst
aangeboden. Met een en ander is in de sturingssoftware rekening gehouden. Omdat de stappen slechts
0,7526 dB zijn moet de gewenste dB waarde met de
reciproque waarde daarvan worden vermenigvuldigd, dat is het binaire getal in hex notatie $1,54.
Meer nibbles heeft geen zin, omdat het verschil
buiten de 8 instellingsbits valt.
Dan komen er 4 bytes die het 32 bits frequentiewoord vertegenwoordigen. Het meest significante
eerst. Die 5 bytes worden per stuk ingeklokt door
een opflank van W_Clk. En als dat voor de 5 bytes
gebeurd is dan wordt de DDS opgedragen om de
nieuw geladen frequentie te gaan genereren op een
opflank van FQ_UD, wat staat voor frequentie update. Bij initialisatie wordt de DDS ingesteld op 10
MHz met de 5 bytes 01 0E 38 E3 8E, dat gebeurt
door die bytes aan te bieden via port A van de microcontroller, de W_clk op PC7, de FQ_UD puls op
PC6. Voor het IC op deze wijze ingesteld mag
worden moet er na power-up eerst een Reset worden
aangeboden, die actief hoog is op PC5. We zullen
zien dat port A onder andere ook door een interrupt
serviceroutine wordt gebruikt, het is dus noodzakelijk om, als we een byte voor de DDS gaan laden in
port A, de interrupt enable even af te zetten anders
kan dat byte vervangen worden door de interru-
Zet je de sweep op 0, dan is het apparaat dus als
signaalgenerator (meetzender is een te groot woord)
te gebruiken.
Omdat de actuator en de modeknop ervoor zorgen
dat de hele programmering van display, en
berekenen van de ingestelde waarden, tezamen met
wijziging van de DDS frequenties de activiteit van
de processor is, kan als de sweep 0 wordt gekozen
5
scope te verzorgen, alsmede het SRAM periodiek uit
te lezen.
de processor worden stilgezet. Hij ontwaakt dan
weer op een interrupt, omdat je een knop bedient.
Groot voordeel hiervan is dat de processor geen storingen in het meetzendersignaal geeft, wat bij het
oorspronkelijke ontwerp uit Elektuur wel het geval
blijkt te zijn omdat de processor in rusttoestand
steeds een keyboard staat af te scannen. Daarbij
bleek mij dat bij vergroten van de demping, die storing niet afneemt op de uitgangsconnector, ook al
was het meetzenderdoosje gesloten met een deksel
en het signaalkabeltje een teflon coaxkabeltje, die
met de mantel aan het blikken doosje is gesoldeerd.
Experimenten met die slaapstand stuitte wel op bezwaren, want het weer ontwaken van de processor op
een externe interrupt van de processor door de actuator, gaat te langzaam gebeuren, het duurt langer dan
de herhalingstijd van de pulsen die de bedieningsorganen genereren. Omdat bovendien het wegvallen
van de XY sturing de display kan beschadigen, is
hier van afgezien.
Normaal gebruik ik een controller AT89S8253 voor
ontwerpen, maar die heeft te weinig RAM aan boord
voor de geheugenscope functie. De nu gebruikte
processor was in de grijpvoorraad aanwezig, en
bruikbaar. De instructieset is echter niet vriendelijk,
zo moet je als je bij conversie van getallen de ontbrekende deelinstructie simuleren door herhaald af
te trekken. Ook add immediate instructies met en
zonder carry ontbreken, en tot slot ontbreekt een
atomaire instructie om de inhoud van 2 registers
kruislings te wisselen, wat on the fly stelen en resetten van waarden uit een interruptroutine dan compliceert.
Aangezien alle 4 ports in gebruik zijn, zoals fig 1
toont, te weten voor de LCD, interrupt voor de bedieningsknoppen jumper en latchklokken, en 2 ports
voor de sturing van de DDS en de versterker, is er
geen port van 8 bits over om de zaagtand af te geven
in de vorm van 8 bit words. Daarom is om te beginnen een 8 bits latch 74HCT573P geinstalleerd, die
samen met de DDS op portA staat, zodat de DDS
sturing en de zaagtand op port A gemultiplexed kunnen worden. Pen PD0 op port D klokt de 8 bits latch
voor de zaagtand. Het kloksignaal bepaalt dan welk
van de aangesloten functies de data op portA inslikt.
Voor de wobbulator kun je, indien gewenst, op de
inhoud van de blikken doos besparen door de 3
(dure) small signal relais en andere verzwakker onderdelen weg te laten voor de 64 en 32 dB verzwakkers. Om beide keuzes open te laten was er een
jumper opgenomen. Laat je die open dan zijn de
relais nodig en worden ze bestuurd en gaat de display tot -142 dBm, zinloos, sluit je de jumper dan
worden de relais niet bestuurd, zijn ze dus onnodig
en kunnen ze weggelaten worden, en loopt de display tot -53 dB, lager instellen is dan niet mogelijk.
Overigens zijn die hoge dempingen toch niet
werkzaam door stoorsignalen, zoals beschreven en
door overwaaien door capacitieve koppelingen in de
relaisgestuurde verzwakkertrappen. Een spectrumanalyser helpt je uit de droom, als je die al mocht
koesteren. De verzwakker tot 53 dB kan nuttige diensten bewijzen als je op de ingang van een versterker- of mengtrap meet waarachter het filter is
opgenomen. En het vormt tevens een goede controle
op de verticale calibratie van de display.
Er zou ook gekozen kunnen worden voor een 8 bits
parallel output teller die geinstalleerd wordt en dan
twee besturingspennen van de controller vergt,
namelijk klok en reset op 0. Mijn keuze is bepaald
door dreigend gebrek aan voldoende I/O pennen en
de inhoud van de junk-box; met een verfafbrander
zijn 2 latches 74HCT573 van een stel dumpprinten
gesloopt. Ruikt niet gezond, en is derhalve mijn bijdrage om de AOW betaalbaar te houden. Die blijken overigens slechts 22 cent te kosten bij Conrad
(bestelnummer 151335), maar dat wist ik op dat
moment niet.
Maak je gebruik van de
wobbelfunctie dan moet
de processor altijd blijven
werken om voortdurend
andere frequentiewaarden
in de DDS te sturen; en de
zaagtand voor de horizontale afbuiging van de XY
6
troonbandje waar ze inzitten om de 10 stuks een
merkteken aangebracht en er 100 gemeten met een
meter die 4 cijfers aangeeft en dus die resolutie
heeft. Die 100 metingen heb ik in een programma
gestopt dat ik heb geschreven in C, en dat een aantal
zaken uitrekent. Elke algemene programmeertaal is
geschikt, voor dat soort werk. Basic dus eventueel
ook. Het gemiddelde van die 100 weerstanden is (4
cijfers) 3299. De kleinste was 3229 en de grootste
3378. Dat betekent dus een tolerantie van 2,36%.
Voor 2 DAC's heb ik samen 20 stuks 2R nodig (zie
de print layout in fig 5).
Een tweede latch aangesloten op portA, slikt de Y
waarde in, die op de scope moet verschijnen. Die
wordt geklokt door PD1
De output van de ene latch moet analoog gemaakt
worden tot een zaagtand en van de andere latch moet
de output tot de bijbehorende Y waarde op de scope
worden getransformeerd. Dat eist dus voor elk een
digital to analog conversion oftewel een DAC. Dat
kan gebeuren door een gemonteerd R-2R netwerkje
van handelsweerstanden. Uitleg staat in het artikel
over de genoemde synthesizer, fig 3 toont de
schakeling.
Ik gebruikte 33 K weerstanden voor 2R en twee
stuks 33K parallel voor R. Het beste kun je ze uitzoeken op gelijkheid. Je kunt natuurlijk officiele
DACs gebruiken zoals de ADDAC80 die ik (tks
PAoLQ) in de junkbox had liggen en die smartelijk
om een toepassing riepen. Nadeel echter: Je hebt +
en - 12 volt nodig voor de voeding ervan, ze zijn
prijzig en tevens lastig verkrijgbaar voor nabouwers.
Omdat we minder dan 0,1 schaaldeel op de scope
niet of nauwelijks kunnen onderscheiden is de
vereiste nauwkeurigheid niet zo hoog, officieel 1%
van de uitgangsspanning. De analoge uitgang wordt
door de scope X-ingang hoogohmig belast, de nauwkeurigheid van R-2R volstaat dan dus, en we hebben geen extra voeding nodig van + en - 12 volt die
een ADDAC80 eist; dus daarvoor is gekozen. Het is
namelijk voor dit doel een veel te goed onderdeel,
12 bits er worden er 8 gebruikt, en de aanvankelijke
toepassing werd dan ook uitsluitend bepaald door de
directe beschikbaarheid hier. Dus die zijn ten behoeve van nabouwers vervangen door het R-2R netwerk uit fig 3.
Daarom heb ik de beste 20 die het dichtst bij het
gemiddelde liggen door het programma laten bepalen. Het blijkt dat de grootste afwijking van het
gemiddelde van die twintig 6 is, dat is dus 0,18%
tolerantieveld.
De overige 7 weerstanden per DAC zijn R, en
bestaan uit twee weerstanden van 33K parallel.
Daarvoor hebben we dus voor 2 DAC's totaal 28
weerstanden van 33K nodig. Nu is het zo dat je die
kunt paren zodat als de ene delta groter is dan het
gemiddelde 3299 de andere delta kleiner is, want
totaal levert dat dan 3299/2 op, als delta klein is.
Daarvoor is het programma verder uitgebreid om de
beste 14 paren te zoeken in de overgebleven 80
weerstanden. Het blijkt dat er 18 paren zijn in de
overgebleven set van 80 gemeten weerstanden die
precies aan de voorwaarde voldoen dat de parallelschakeling van de twee de nominale vereiste waarde
is. Er is dus zelfs reserve.
DAC fout
De grootste fout in de DAC treedt op als bij een signaal 01111111 wordt overgegaan 1 hoger naar
10000000. Twee factoren spelen een rol: de
gelijkheid van de Q outputs van de latch en de
gelijkheid van de weerstanden.
Voor de weerstanden heb ik 33K gebruikt, omdat die
hier in grote hoeveelheid op voorraad liggen sinds
1975, het geboortejaar van de Ikunullius. Deze 33K
weerstanden hebben naast 3 oranje een goud ringetje
en ik meen dat dat 5% betekent. Het gaat niet om de
absolute waarde van de weerstanden maar om de
onderlinge verschillen. Ik heb daarom op het pa7
het oplopen van de zaagtand op de halve piekwaarde, waar de overgang van 01111111 naar
10000000 zit.
De schakeling levert, als die wordt gemonteerd zoals
figuur 4 aangeeft, een breedte van 30 mm en een
lengte van 80 mm op als printgebruik. Daarom
zouden twee stukjes printplaat afgezaagd moeten
worden waar de zaak opgezet wordt zodat die verticaal staande op de hoofdprint gemonteerd kunnen
worden. Andere methode is de weerstanden rechtop
te monteren zoals fig 5 aangeeft, dan wordt een veel
compacter geheel verkregen, en gemak dient de
mens. Dat heb ik dus gedaan en foto42.jpg geeft een
beeld van de DAC opgebouwd uit de gesorteerde
weerstanden.
Je kunt er een lineaal langsleggen. Dat nodigde dus
uit om met succes de tweede DAC op de tweede
latch te monteren. Ook die blijkt kaarsrecht te zijn.
Scope in XY mode
Volgende stap is het SRAM geheugen te testen door
daar wat bekende inhoud in te programmeren en de
scope in XY mode aan te drijven. met het 50 maal
per seconde uitlezen van dat geheugen als Y waarde
en het bijbehorende X coordinaat op de X output te
zetten. Gaat ook perfect, foto 45 toont het resultaat.
De display is 239 punten breed te verdelen over 10
schaaldelen horizontaal op de scope in de XY mode.
De Y as is 256 punten over 9 schaaldelen. Omdat je
dat wilt kunnen instellen als calibratie op de scope
die voor display gebruikt gaat worden, is er bij initialisatie van de controller een signaal in het SRAM
gezet, dat 33 punten in de x richting op 255 hoog
staat, vervolgens over 85 punten in de x richting 3
per punt daalt, zodat het op 0 uitkomt, dan weer over
85 punten 3 per punt stijgt naar 255, om weer horizontaal te eindigen op x=238 en Y=255 op de bovenste rasterlijn. Dat levert dus een V met horizontale
stukjes op het einde van de poten. Daarmee kun je
dus met de versterking van de scope en de positieregeling op de scope het beeld over 10 schaaldelen
breed en 9 schaaldelen hoog precies vullend in het 9
hoog en 10 brede raster zetten.
Vervolgens is "Eating the proof of the pudding"
Derhalve heb ik alvorens de tweede DAC te monteren de processor geprogrammeerd op het afgeven
van een zaagtand aan de DAC door een oplopende
De noodzaak van een trage sweep
Tijdens het in elkaar breien van de schakeling begon
ik me in een vroeg stadium zorgen te maken over de
verticale respons. Je biedt immers 50 keer per sec-
tellerstand aan te bieden. En zoals foto 44 toont is er
op een scope geen onregelmatigheid te ontdekken in
8
Nog meer werk voor de processor dus. Het kan als
de uitlezing van de amplitude per frequentie ook als
vierde toepassing van portA wordt genomen. Op die
port zit reeds de DDS, de X binair gecodeerde zaagtand en de Y of verticale amplitude waarde voor de
scope. De omzetting van gemeten amplitude in een
byte gebeurt door een ADC 0804LCN, zal vast niet
optimaal zijn, maar lag ook dankzij PAoLQ in de
junk box hier, op een mooi zwart antistatisch prikkussentje uit te rusten van een vorig leven, te herkennen aan soldeerresten op zijn pootjes. Die IC's zijn
nog vlot leverbaar en kosten 4,58 euro bij Conrad
bestelnummer: 174505.
onde 239 frequenties aan het te bemeten filter aan,
die al of niet in de doorlaat ervan liggen, als je net zo
snel meet als je sweept. De tijd dat je _een_ frequentie die in de doorlaat ligt aanbiedt is dus slechts 1/
(50*239) seconde en dat is minder dan 0,1 milliseconde. Wil de output van het filter tot volle wasdom
komen dan kun je dat kortstondige signaal voor de
eenvoud en in eerste benadering opvatten als een
amplitude gemoduleerd signaal, dat van 0 tot maximum groeit in 0,1 ms. Dat eist dat de erbijbehorende
zijbanden, die dus op 5 kHz afstand liggen bij AM in
dat geval, OOK door dat filter komen. Alle filters
smaller dan 10 kHz komen door de kortstondigheid
van de zichtbaarheid van het passerende signaal dus
niet tot volle wasdom qua outputspanning. Dat is de
gedachtengang.
Dat IC heeft intern een latch, en is tri-state, zodat we
die direct op portA als inmiddels vierde deelnemer,
in dit geval voor input, kunnen aansluiten. Het behoeft wel sturing, namelijk: voor start conversie de
WR puls laaggaand en weer terug, voorts kijken
(eventueel) of de conversie klaar is op de INTR pen,
conversie duurt ongeveer 100 microseconde, en lees
tot slot het geconverteerde signaal als byte uit met de
RD puls, die hem uit zijn tri state output haalt,
zolang die laag is. Testen tijdens ontwikkeling gebeurt dan door DC uit een potmetertje op zijn ingang
aan te bieden, en de geconverteerde waarde in hex
op de LCD te zetten. Dat werkte niet, die gaf altijd
FF af. Het bleek dat dat kwam doordat de RD puls
van de DAC niet snel genoeg de DAC waarde aanbiedt, zodat wat vertraging met enkele NOP instructies alvorens die waarde op port A in te lezen, volstond.
Nu is het wel weer zo dat je bijvoorbeeld voor het
meten van notches in kristalfilters kunt teruggaan tot
239 frequenties over slechts 1 Hz per division dus
totaal 10 Hz over de volle beeldbreedte uitgespreid.
Om het effect experimenteel te kunnen bepalen
(weet je wel we zijn als Hollanders wellicht lid van
een Vereniging voor _Experimenteel_ Radioonderzoek, ja Hollanders, Grunningers tellen niet mee wat
die staan onder water als het gas op is en wonen in
een woonboot op “Het verdronken land van Ome
Loek) moet je langzamer meten. Dus de frequentie
veel langzamer laten oplopen en de zaagtand veel
langzamer over het scherm schrijven. Dan heb je
weer een trage fosfor nodig en zijn we terug in 1955.
Je kunt ook gaan knoeien met het nemen van foto's
met je digitale camera met een lange belichtingstijd
van je scopescherm.
Om experimenteel te kunnen kijken of we langzaam
genoeg meten is de meetsnelheid regelbaar gemaakt
van 500 seconde per sweep in 10 stappen 200 50 20
et cetera tot 50 ms per sweep. Nog een insteltaak
voor de actuatorknop erbij dus. Dat laatste betekent
dat niet alle instellingen in een keer op de display
kunnen staan, maar dat de instellingsregel die actief
is altijd zichtbaar gemaakt wordt. Omflippen gebeurt
met de mode-drukknop naar het veld FST rechtsboven in de display. Dat laat dan drie keuzes toe
middels de actuator, F S en T respectievelijk de centraalfrequentie, de sweepgrootte en de tijd die
gemoeid is met meting van een hele set van 239 frequenties. Bij elk van de drie keuzes verschijnt onmiddellijk links ervan de betreffende display van de
gekozen parameter. De volgorde van de modeknop
is zo geprogrammeerd dat een keer drukken direct
de gekozen instelling wijzigbaar maakt met de actuator.
Er is echter een andere oplossing, namelijk het beeld
toch met 50 Hz schrijven ("rustiger voor de ogen"),
maar de meting veel langzamer doen. Dat kan als je
de metingen, 239 stuks, per stuk in een byte bewaart,
dat in SRAM van de controller wordt opgeslagen.
De hele serie van 239 bytes wordt altijd pakweg 50
keer per seconde afgespeeld, en met een (veel)
lagere snelheid worden de verschillende frequenties
beurtelings aan het te bemeten filter aangeboden en
de outputamplitude wordt door een 8 bits (256
niveaus verticaal) ADC omgezet in een byte dat
door de processor wordt ingeslikt en dat het SRAM
byte dat zojuist gemeten is, ververst. Het kan een
andere waarde hebben dan de vorige keer, omdat je
bijvoorbeeld aan een trimmer of een kern van het
DUT hebt gedraaid.
9
heb voor de eenvoud 31250 interrupts per seconde
gekozen, en van elke 3 interrupts wordt er twee bijna
niks gedaan en elke derde is er werk aan de winkel
want dan wordt een meetwaarde uit het SRAM als
punt op het scherm gezet. Dan zijn er geen geconcentreerde wachttijden meer en ziet de display er
gelikt uit. De eigenschappen zijn dan 10417 punten
per seconde op de buis en dat is bijna 44 Hz display
herhalingsfrequentie. Ook wel goed.
Om de zaak, die qua complexiteit op dit punt
toeneemt, beheersbaar te houden wordt de display
van de beeldpunten in het SRAM geheel op eigen
houtje door een (derde) interruptroutine verzorgd,
die triggert op de overflow van de interne een byte
grote timer_0 van de controller. We kunnen tijdens
het ontwerp kiezen of we slechts een punt per interrupt op de buis zetten, of meer punten, in een keer,
dat spaart overhead van ophalen en opbergen van
pointers die aanduiden hoever we gebleven waren.
Daar zijn met de scope metingen voor gedaan. Dat
meten kan als je aan het begin van de interrupt een
portpen hoog zet en aan het einde weer laag. De
jumperpen is de aangewezen pen om die daarvoor te
programmeren, want daar kun je de scope probe
makkelijk aanhangen. De breedte van de puls op die
pen heeft dan de tijd aan die de interruptroutine nodig heeft. We komen op de volgende resultaten uit:
inter-
Puntenper
interrupts
CPU be-
6,5 us
1
11950
7,8%
11 us
3
3983
4,4%
27 us
10
1195
3,2%
72 us
30
398
2,9%
230 us
100
120
2,8%
Het programma
Het programma bevat routines voor de aansturing
van de LCD, voorts 11 routines voor incrementeren
en decrementeren van de parameters op de display. 7
routines voor display van de velden, namelijk
modeindicatie, sweep, centraalfrequentie, tijd,
demping en increment van de centraalfrequentie per
klik van de actuator en tot slot een indicatie of het
frequentieveld de sweep of de centraalfrequentie,
danwel de tijdsduur per meetsweep bevat.
Wijziging van de actuator roept een interrupt aan
dus het ligt voor de hand dit alles in een interrupt af
te handelen. Dat is echter niet verstandig want dat
kost tijd, en dat onderbreekt de display, die in de
vorm van feller groene puntjesgespetter dat laat zien.
Voorts moet je alle gebruikte variabelen in een interrupt op de stack drukken. Het alternatief is de interruptroutine alleen vlaggen (een achttal) te laten zetten die aangeven welke parameter er gewijzigd is,
omhoog of omlaag, en in de hoofdroutine, buiten de
interruptafhandeling dus, dan die vlaggen stuk voor
stuk te besnuffelen en te resetten nadat de gevraagde
actie van wijziging van een parameter en update van
de LCD display is gebeurd. Niet alle vlaggen hebben
invloed op de meetsweep, alleen de tijdparameter de
sweepparameter en de centraalfrequentie, vandaar
dat die vlaggen apart gecopieerd worden, en de
sweeproutine daarmee werkt, dat wil zeggen: op
elke wijziging de meetsweep onderbreekt, en ingeval
van frequentie en sweepwijziging de beginwaarde en
de stapgrootte voor de DDS opnieuw berekent. Het
is echter toch nodig de sweeproutine altijd af te breken bij een wijziging van een instelling, omdat de
display anders niet onmiddellijk reageert, op de bedieningsknoppen, wat ongewenst is.
De eerste 2 kolommen zijn de meetresultaten en de
rechtse twee zijn de daaruit berekende CPU belasting en het benodigde aantal interrupts per seconde
voor een 50 Hz herhalingsfrequentie op de display.
Het aantal interrupts van timer0 dat zonder heisa
gekozen kan worden is niet willekeurig, dat is afhankelijk van een instelbare prescaler 31250, 3906,
488, 122 en 30/s in de gebruikte controller. We
kiezen voor 488 interrupts/s en schrijven dan per
interrupt 24 punten. Allemaal leuk bedacht zul je
wellicht denken. Maar helaas dat werkt niet. Iedere
keer als 24 punten geschreven zijn staat de displaypunt 97% van de tijd stil op het scherm van de
scope, en wordt dus een dikke vette groene vuurwerkkogel op je scope. De display heeft dus wel de
goede vorm, maar er zitten 9 bewegende dikke felle
groene punten als een kralenketting op. Enige oplossing die dan overblijft is een punt per interrupt en
zoveel interrupts dat je met 239 punten en 50 Hz
uitkomt. Die 50 Hz is ook geen heilig getal, dus ik
Een en ander is bloksgewijze ontwikkeld en elk blok
is apart gedebugged, tot het naar wens werkte.
Voorts bevat het programma aanstuurroutines voor
de versterkerdemping en de DDS in het blikken
10
doosje, en dan rekenroutines om de instelling van de
DDS te berekenen uit de ingestelde frequentie en
sweepwaarden. Er draaien 3 interruptroutines een
voor de externe interrupt van de modeswitch een
voor bewegen van de actuator, en een derde op een
timeroverflow voor de display die 44 keer per seconde ververst wordt door de daemon. Deze bedient
31250 interrupts per seconde. Bij de overflowinterruptafhandeling wordt twee van de drie keer
nagenoeg niets gedaan, namelijk slechts het verhogen van een klokbyte om de 32 microseconde en een
modulus 3 interruptteller. Bij elke derde interrupt
wordt het volgende punt van de totaal 239 uit de
SRAM gehaald en op de XY DACs gezet. Als 239
wordt gehaald worden de pointers in SRAM weer
teruggezet op het begin van de signaalbuffer en de x
zaagtandteller die tevens dienst doet als index in die
signaalbuffer, weer op 0 gezet.
Valt die daemonroutine uit uit dan staat er een dikke
stralende punt op het scherm van de KSB en dat is
op zijn minst vervelend. Daarom is gebruik gemaakt
van de zogenaamde watchdog timer, die moet steeds
gereset door het lopende programma, anders gaat hij
een processorreset geven, waardoor alles weer in de
uitgangspositie terecht komt. Die watchdog is afgesteld op ongeveer 60 ms en de reset gebeurt elke
keer in de daemon intteruptafhandeling. Valt die
daemon uit dan zorgt de watchdog ervoor via een
processor reset dat hij weer wordt opgestart.
Na de initialisaties worden de interrupts vrijgegeven.
Het programma draait dan alleen de daemon displayroutine, de sweep is op 0 geinitialiseerd, en de signaalbuffer is tijdens initialisatie gevuld met de V
vormige calibratieplaat die instelling van de oscillograafbuis toelaat. Tevens draait er dan een DDS
controleroutine die er beurtelings periodiek om de 6
seconde een andere frequentie uit laat komen van
een set van 16 stuks, die naar wens met een teller
kunnen worden nagemeten. Iets wat minstens een
keer na gereedkomen van het apparaat dient te gebeuren. teneinde de goede werking van de DDS te
controleren. Zodra je de actuator of modeknop bedient, verdwijnt die plaat en wordt vervangen door wat
er gemeten wordt aan de DUT.
Dat twee van de drie keer overslaan van actie is gedaan omdat een hogere herhalingsfrequentie van het
beeld geen doel dient, en de processorbelasting door
die daemon wordt daardoor teruggebracht tot ruim 7
%, terwijl de granulatie van de klok toch 32 microseconde is. Dat is eenvoudig na te meten door in de
interruptroutine aan het begin een pen hoog te
maken en aan het einde laag. Met een draaispoelmeter meet je dan de gemiddelde dutycycle van de
uitgangspulsen (steeds twee korte gevolgd door een
langere) en dat is dan de processorbelasting door die
routine.
11
jde van het conversiegebied wordt bepaald door
Vref/2 (pen 9 van de ADC) input en de onderzijde
van het conversiebereik door de spanning op VIN(-)
op pen 7 van de ADC. Daar zijn twee multiturn trimpotmeters voor gemonteerd. Testen is gebeurd door
de output hex op de display te zetten en met een
(derde) potmeter de DC ingangsspanning op de input
Vin+ van de ADC te varieren. Dat gaat goed, alle
niveaus zijn duidelijk te onderscheiden en zonder
merkbare hysteresis stabiel, zodat er kennelijk geen
hinderlijke stoorspanningen meeliften naar de input.
de ADC routine en de ADC op de print gemonteerd,
op de wijze zoals het schema in fig 1 laat zien.
De ADC
Dat is de 20 pens DIL ADC0803, die heeft een tri
state 8 bits brede output, die ook, als vierde klant,
met port A wordt verbonden, zoals het schema in fig
1 aangeeft.
Eigenschappen van IC's kun je vinden op
www.datasheetcatalog.com , in die datasheets staan
doorgaans ook toepassingen. Het blijkt dat het IC
een interne klok heeft waarvan je de frequentie regelt met een externe R en C. R=10k en C=56 pF
volstaan om de klok ruwweg op 1 MHz te zetten,
wat de voorkeursfrequentie is, namelijk snel en niet
zo snel dat er nauwkeurigheid verloren gaat. Chip
select moet laag staan als je hem wilt gebruiken, en
dat willen we, dus die is hard aan de grd van de print
gesoldeerd. Een laag gaande puls op de WR input
start de conversie van het analoge signaal. Als dat
klaar is (na ongeveer 100 microseconde) gaat de
INTR output laag. Als je dan vervolgens de RD een
laag gaande puls geeft, wordt de output 8 bits breed
aan de uitgang gepresenteerd, zolang read nog hoog
is is de output tristate (hoogohmig) en die output kan
dus zondermeer ook op PortA gezet worden, wat dan
ook gedaan is. De WR puls wordt bediend door PB3
en de INTR wordt dan bewaakt tot die laag gaat
door PD6, en vervolgens wordt de output beschikbaar gemaakt door de RD puls op PD7.
Omdat de conversie ongeveer 100 microseconde
duurt en er mij 20 ms per sweep per meting 83 microseconde totaal beschikbaar is, is op dit punt van
het ontwerp besloten het snelste sweepbereik 50 ms/
sweep te maken en 20 ms/sweep, wat die aanvankelijk was, te schrappen.
De log converter AD8307
Dit IC is verkrijgbaar in 8 pens DIL, en in SMD
uitvoering. Kent Electronics heeft ze in de aanbieding in SMD met een klein verloopprintje erbij om ze
in een 8 pens dilvoetje te kunnen steken. Nog voordeliger zijn ze te koop in 8 pins DIL uitvoering, die
ik gebruikt heb, bij de shop van Funkamateur.de,
Daar kun je ook die MMIC versterkers kopen.
De routine die de ADC bedient is voorzien van een
timeout, waar ook de daemon interrupt 32 microseconde clock voor wordt gebruikt. Is die groter dan
160 microseconde en de conversie nog niet klaar,
dan verlaat hij de polling loop van PD6 en de routine
met een carry set, als teken van mislukking. Dat
voorkomt dat om welke reden ook de zaak blijft
hangen als er eens een conversie de mist in zou
gaan. Alvorens de read puls laag te maken wordt
portA op input-mode gezet en de interrupts afgeschakeld. Zodra de geconverteerde data ingeslikt
is via portA wordt die weer teruggezet op output en
de interrupts weer enabled, na de ADC weer in de
tristate toestand te hebben gebracht door de RD
hoog te maken.
We betreden hiermee de analoge wereld dus dat
geeft moeilijkheden en zwarte kunst. Het IC is inwendig tussen de trappen DC doorgekoppeld omdat
er geen ruimte is voor C's op de chip, die trouwens
de bandbreedte aan de hoge zijde zouden verlagen.
Daarom is hij vanaf DC bruikbaar, maar de
gevoeligheid is vanaf 50 microvolt, dus DC offset
drift die wel 400 microvolt teruggerekend naar de
ingang kan zijn, zou hem gelijk degraderen qua dynamic range omdat de drift als (DC) signaal wordt
opgevat en de AC signalen in de orde van 50 microvolt kunnen liggen. Daarom heeft de fabrikant intern
een DC tegenkoppeling aangebracht, die de DC offset bijna op 0 houdt; die terugkoppeling mag echter
niet voor AC gelden en daarom is er op de chip zelf
een C opgenomen. Kantelpunt 700 kHz of zo, dus
daar beneden gaat het de foute kant op wat AC
gevoeligheid betreft. Nu is het wel zo dat dit alleen
In de analoge wereld moet de output van de logconverter AD8307, die ongeveer 0,3 tot 2,8 volt beloopt, worden omgezet in 256 niveau's. Dat vereist
dat de seinspan van de ADC geregeld kan worden
om zich aan te passen aan dat gebied, omdat we daar
alle 256 stapjes voor willen gebruiken. De bovenzi12
je omgekeerd dan mag je uitgangsC niet groter zijn
dan 8 nF, ik heb 5n6 gemonteerd, teneinde een RC
tijd te behalen die minder is dan 100 us. Dat heb ik
gekozen. Beneden 12,5 kHz moet je dan rekening
houden met afwijkingen. Wil je dat niet dan pak je 1
uF, dan werkt hij vanaf 100 Hz goed maar moet je
altijd langzaam sweepen ook op hoge frequenties. Je
kunt dus kiezen voor een hogere waarde en dan
word je altijd gedwongen langzaam te sweepen. Of
voor een lagere waarde dan is er effect op de uitlezing beneden 12 kHz.
geldt zolang de eerste trap van de 6 hard limiting
versterkertrappen van de logconverter niet is vastgelopen en dat doet hij bij ongeveer 14 dB boven dat
laagst detecteerbare niveau. Dus je merkt het alleen
bij meting van zwakke signalen tussen 50 en 500
microvolt, daarboven levert het geen fout op. De
onderste 2 div. van de display kan erdoor worden
verstoord dus, hogere waarden niet. Omdat ze het IC
ook aanprijzen voor audiogebruik is er derhalve een
poot OFS, pen 3, waar je extern een C extra kunt
opnemen, parallel aan die op de chip, om het
kantelpunt naar wens te verlagen. Een tantaal van 1
uF laat het reeds dalen tot 10 Hz, dus die heb ik erin
gesoldeerd. In feite 10 uF, omdat dat de enige tantaals waren die ik nog had liggen. Daarmee zijn we
af van die mogelijke vervorming voor de lagere
sweep-frequenties.
Een en ander is na voltooiing van het apparaat het
effect van te bekijken door de signaalgenerator output direct naar de DUT ingang door te koppelen en
de display te bekijken bij diverse met de attenuator
instelbare ingangsniveaus.
Dan tot slot de ingang van de log versterker/detector,
die is breedbandig, en gevoelig (50 uV) dat wil dus
zeggen dat alle digitale rommel die wordt opgepikt,
signalen van omroepzenders etc de ruisvloer (en dus
de laagste outputspanning van de detector) ophoogt
tot ongekende hoogte over de volle breedte van de
display, onafhankelijk van de ingestelde sweep; dat
vanwege de afwezigheid van selectiviteit. Het IC
dient dus als je zo laag mogelijke ruisvloer wilt hebben ingeblikt (beter: ingekoperd) te worden, en van
een apart regulatortje te worden voorzien voor de
voeding, en de differentiele input moet met een kort
coax kabeltje en een geisoleerde BNC connector in
het frontpaneel, naar het DUT waar de signaalaarde
gebruikt wordt. De common mode input moet middels een paar weerstanden op de halve hoogte van de
voedingsspanning worden ingesteld, maar dat is
intern al gebeurd. Asymmetrisch werken, dus een
poot van de ingang voor RF ontkoppelen kan ook,
dan kost je dat 6 dB dynamic range in dit geval aan
de hoog signaalzijde en dat merk je dus niet, als je
aan passieve DUT's meet, want die power hebben
we niet beschikbaar uit de Elektuurdoos.
Voorts demoduleert het IC, er komt een gelijkspanning uit tussen nominaal 0,3 en 2,8 volt op de OUT
pen, over de range van ingangssignalen die 90 dB in
sterkte verschillen. Met de ADC onderscheiden we
daarin 256 stapjes, dat is dus per 10 mV een stapje.
Er zitten echter bij de detectie resten van twee maal
de draaggolffrequentie (het ingangssignaal) op gesuperponeerd als rimpel. Dat mag dus niet meer zijn
dan 10 mV en dat is het zonder maatregelen wel. Je
moet dus extern extra capaciteit aanbrengen op de
OUT pen4; die pen heeft een Ri van 12K5. Dat extra
uitgangs C'tje verlengt echter de tijd die nodig is om
bij stabiel aangeboden ingangssignaal de eindwaarde
op OUT te bereiken, die een dB evenredige stroombron als input heeft op de interne 12,5 K. Hij
gedraagt zich dus als een spanningsbron met een Ri
van 12K5. Is die C te klein en de superpositie dus
(aanzienlijk) meer dan 10 mV voor lagere (wobbel)
frequenties, dan uit zich dat in ADC conversie die
per sweep verschilt, en dus een dikkere lijn bij snel
sweepen zal geven. Dat is te voorkomen door voldoende langzaam te sweepen. Er zit weinig anders
op, want als je bij de onderzijde van het sweepbereik
op 50 Hz, minder dan 10 mV 50 Hz rimpel wilt
moet je een C hebben van 2 uF en die heeft met
12,5K een tijdconstante van 25 milliseconde, zodat
de output pas na ongeveer die tijd binnen 10 mV van
de eindwaarde komt, en als je snel sweept (239 metingen in 50 ms sweeptijd) heb je slechts 209 us per
meting beschikbaar waarvan er 100 worden gebruikt
door de ADC. Het gaat echt om de lage frequenties,
op 10,7 MHz heb je bijvoorbeeld zelfs zonder externe C nog maar een rimpel van 12,5 mV. Redeneer
Omdat HF metingen doorgaans op 50 ohm gebeuren
wordt het IC voorzien van DC blokkerende C's
(weer uit de 10uF tantaalvoorraad) en een 56 ohm
weerstand (de ingangsimpedantie van 1k1 tussen de
ingangspoten staat er voor HF aan parallel), zodat
we uitkomen op 53 ohm. Dat kun je dus ook nog
perfectioneren met een wat minder makkelijk
verkrijgbare weerstand dan 56 ohm. Die weerstand
zit voor de koppel C's zodat de RC tijd naar de input
die 1K1 is 20 keer groter is bij dezelfde C-waarde.
50 Hz kantelpunt eist bij 1K1 dus zo'n 20 uF, we
hebben er 5uF zitten van twee van 10uF, die voor de
13
RC tijd bepaling immers in serie staan. Lage
werkspanning van enkele volt volstaat reeds, eventueel inductief gedrag op hogere frequenties kan de
kop worden ingedrukt met een extra keramische C er
aan parallel. Of dat nodig is kun je altijd met het
apparaat zelf bekijken door op maximale sweep de
Controle op de juiste werking signaalgenerator
Als je als nabouwer een geprogrammeerd IC gebruikt heb je de zorgen niet over wat er allemaal fout
kan gaan want dat gaat dan goed. Maar de meetzenderdoos werkt niet altijd goed, als je niet ervaren
bent in het solderen van SMD componenten. Het is
dus niet verantwoord om, als het display een frequentie opgeeft er blindelings op te vertrouwen dat
die er ook uitkomt. Mijn exemplaar was met de trimmer de kristalfrequentie overal te krijgen, vervanging van het 10 MHz kristal loste dat probleem op.
Het is dus verstandig met een scope te kijken op de
klokingang van de AD9851 DDS, of er wel een
display te bekijken. Dan wordt dus eventueel de
eerste daadwerkelijke toepassing van de Smeerpijp,
om zichzelf te controleren. Die lage impedantie van
50 ohm maakt de capacitieve pickup van de ingang
ook bijna 30 dB lager. En je kunt je schaal en attenuator dan ijken in dBm, in de display is dat gebeurd,
die geeft het signaalgeneratorniveau aan als de signaalgenerator is afgesloten met 50 ohm, in dBm.
Interesseert dat lage gebied je niet, dan volstaan
kleinere koppel C's. Een alternatief zou een koppeltrafo op een ringkern kunnen zijn, maar kernen
die getrouw tussen 50 Hz en 72 MHz de transformatieverhouding aanhouden, zou ik zo snel niet
weten te vinden.
D7=1
351562.50 D7=0
348815.92
D6=1
175781.25 D6=0
524597.17
D5=1
87890.62
D5=0
612487.79
D4=1
43945.31
D4=0
656433.11
D3=1
21972.66
D3=0
678405.76
D2=1
10986.33
D2=0
689392.09
D1=1
5493.16
D1=0
694885.25
D0=1
2746.58
D0=0
697631.84
bruikbaar kloksignaal op staat van 30 MHz. Op het
aluminiumbusje (de - dus) van de elco's C35 en
C36 , van het schema in Elektuur, kan gekeken
worden of daar signaal staat. Zet de stapgrootte op 1
MHz en kijk of bij draaien van 1 tot 72 MHz beide
signalen een normaal verloop hebben, dat wil zeggen niet meer dan een factor 4 in amplitude varieren
over dat frequentiegebied. Dan kan geluisterd
worden als de relais gemonteerd zijn of die klikken
rond 32, 64 en 96 dB dempinginstelling. Bij lage
demping moet het signaal op de uitgang zichtbaar
zijn op een scope (2 volt piek-piek). Het solderen
van de DDS is een moeilijke zaak, zeker voor een
oldtimer, en het is mogelijk dat de aansturing niet
deugt, doordat er twee poten zijn doorverbonden, of
een poot steeds op 1 of op 0 hangt. Om dat te controleren kiezen we als frequentiewoord 4 bytes,
waarvan er drie 0x00 zijn en het op een na meest
significante byte slechts een 1 bevat en dan kijken of
Om te weten hoe een en ander uitpakt als je niks
bijzonders doet, heb ik de zaak gewoon open en
bloot op de print gemonteerd in de buurt van de
ADC en op de normale 5V voeding van de print
aangesloten, wel ontkoppeld en coax naar de
geisoleerde coaxconnector in het frontje gebruikt.
Dan wordt in ieder geval bekend of het resultaat te
accepteren is en zo niet dan weet je wat je verbetert
als je het anders doet. Dat geeft ook gelegenheid de
AC rimpel te meten op het uitgangssignaal. Een
methode om daar vanaf te komen zou kunnen zijn
om niet steeds oude metingen te wissen maar voor
elke meetposistie het lopende gemiddelde te bepalen
over een stuk of wat sweeps. Het resulterende
schema van de log comverter is apart getekend in
figuur 8.
14
De opbouw
Als je zoiets maakt en
de software schrijft
werkt het geheid niet,
Daarom wordt het in
blokken opgebouwd die
na voltooiing per stuk
getest worden. Dat
testen gebeurt door waarden die verwacht worden op
de LCD display te zetten met een daarvoor geschreven debugroutine.
Als er een langzame sweep gekozen is, zou de
sweepmeetroutine er 500 seconde over kunnen doen
om een set metingen te verversen, inmiddels zou je
actuator dood lijken, want de display wijzigt niet
omdat de interruptvlaggen niet worden besnuffeld.
Dat is zeer ongewenst en daarom werd in de sweep
meet delay routine die tussen het wijzigen van de
frequentie en het meten van de output van de DUT
zit, in de delaylus steeds naar die vlaggen gekeken,
en zodra er aan de knoppen is gezeten, wordt de
meetroutine afgebroken en worden de vlaggen eerst
afgehandeld, alvorens weer te gaan meten met de
nieuwe instellingen. Bij elke wijziging van de knoppen wordt nu onmiddellijk gereageerd op de knoppen, ook bijvoorbeeld bij wijziging van delta die
niets met de lopende meting te maken heeft, omdat
anders de LCD display niet direct reageert op de
wijziging.
De opbouw was: Eerst de display activeren, dan de
daemon; testen van de DAC's. Vervolgens de actuator en de modeknop met alle bijbehorende routines,
waarvan je op de display ziet of ze naar wens
werken. De berekening van de DDS startfrequentieinstelling en het increment per meting. De ADC is
daarbij voorlopig vervangen door een fake_ADC
routine die een omgekeerde V als plaat in SRAM
zet. Zet je dan de instellingen van de centraalfrequentie en de sweep zo dat de grenzen van 50 Hz en
72 MHz worden overschreden dan moet je dus zien
dat delen van die V links en of rechts naar de nullijn
gaan. Als dat niet werkt, en dat deed het aanvankelijk niet, de getallen die in de berekeningen zitten
dumpen op de LCD, dan kom je erachter waar je
moet zoeken en vinden. Werkt dat, dan de DDS
aansluiten op de kabeltjes. De dempingsvariatie
bekijken op de scope van het uitgangssignaal. Bij
trage sweep van 500 seconde kun je met een teller
controleren of de uitgangsfrequenties (2 seconde per
frequentie om te meten) goed zijn, zoals verwacht.
Heb je geen teller, dan kun je op een scope kijken
naar het harmonicasignaal, of je kunt de centraalfrequentie op 1000 Hz zetten en de sweep op 100Hz
per divison en met een koptelefoon luisteren naar het
signaal. Door de sweeptijd te varieren kun je dan
horen dat die ook werkt, tevens krijg je dan respect
voor vogeltjes in de bomen die het verkregen geluid
zomaar instinctief produceren om een leuk wijfje te
lokken. Het bleek dat de DDS af en toe op hol sloeg.
Kan best want er wordt nog al aan de teugels gerukt,
maar volgens de specs mag dat. Oorzaak was op het
moment van schrijven niet bekend, maar door na
elke afgemaakte sweep de DDS te resetten, werd
eventueel afwijkend gedrag in de kiem gesmoord.
Daarna werd de fake_ADC routine vervangen door
De delayroutine die de metingen na elke instelling
van de DDS vertraagt om aan de ingestelde meettijd
te komen, is niet gewoon een afteller, want die zou
steeds onderbroken worden door diverse interrupts
met name die van de XY-display. De displayinterrupt van de daemon verhoogt elke keer dat hij afgaat, dus om de 32 microseconde een tellerbyte, na
256*32E-6 = 8 ms is die een keer rond. Zover komt
het niet, want de delayroutine trekt van de ingestelde
delay, die bij de sweeptjd hoort, steeds de stand van
die teller af (veelvouden van 32 us dus) en zet die
teller dan tevens terug op 0. Een swap atomaire instructie kent de 90S8515 ook niet, maar voor een
delay is dat ook geen ramp, Voor het ophalen van de
teller en het resetten op 0 daarna, zijn dan twee instructies nodig, die dan geflankeerd worden door
twee instructies die de interrupts uit en weer aan
zetten. Een aantal power up initialisatieroutines
completeren het geheel.
15
opgedeeld in 26 gebieden. Met een 100 MHz bandbreedte scope is de verzwakking voor die gebieden
bepaald uitgedrukt in dempingseenheden voor de
versterker en opgenomen in een tabel. Afhankelijk
van de frequentie die in de DDS geladen gaat
worden, wordt nagegaan in welk gebied de frequentie ligt. Vijf bits van het meest signifcante DDS frequentiebyte volstaan daartoe, en de bijbehorende
verzwakkercorrectie att_cor wordt opgezocht in een
tabel en als correctie op de reguliere verzwakking
att_reg aangebracht en geladen in de AD8321 versterker, direct voordat de nieuwe frequentie in de
DDS geladen wordt. Dat echter alleen als tijdens de
sweep het frequentiegebied in een van de andere 25
wijzigt.
de frequentie op een teller of general coverage ontvanger klopt. Door keuze van het hoger significante
byte is de aanwijsfout tengevolge van een defect
minstens 180E6/2^16= 2746 Hz, geen zorgen maken
dus over een paar Hz ten gevolge van bijvoorbeeld
kristal- of tellerafwijkingen, een fout is heel duidelijk waarneembaar en tevens is vast te stellen uit de
afwijkingen wat er aan de hand is zodat gericht gezocht kan worden. Nooit met een ohmmeter aan die
IC's gaan hangen, altijd een doorpieper nemen, die
zo weinig spanning afgeeft, 0,05 volt of minder,
zodat de halfgeleiderdrempels niet worden overschreden. De test wordt herhaald met in dat byte
allemaal enen op een 0 na, die dus ook op 8 posities
kan staan, zodat we totaal op 16 frequenties uitkomen. Het lijstje dat gecontroleerd kan worden is:
De voeding
Omdat het lastig is die codes aan te bieden heb ik
daar een testroutine voor geschreven die elke frequentie, eerst de eerste en dan de tweede bovenstaande kolom. gedurende 6 seconde opwekt. Dat
doet hij alleen tijdens calibratieperiode. Zodra je na
het inschakelen van de netspanning een
bedieningsknop gebruikt, gaat hij daaruit. Tijdens de calibratie kun je de displayscope instellen en indien gewenst de
frequenties dus controleren met een
teller op de onderste (DUT) connector
op het frontpaneel. Dat moet na de bouw
eenmalig zeker gebeuren, om te controleren of de DDS goed gesoldeerd is en de
Elektuurdoos goed werkt.
Ik heb (fig 2) een trafootje P310 van Amroh gebruikt. Dat is 9 volt bij 0,5 ampere bij wisselstroombelasting en primair 220. Je mag hem zelfs continu
belasten met 0,8A maar dan moet je genoegen nemen met 8 volt uitgangswisselspanning. Inmiddels
De verzwakker
De waarde van de verzwakker geldt in
dBm als de uitgang is afgesloten met 50
ohm. Bij elke wijziging van de verzwakking op de display, wordt die als binair
getal opgeslagen in de variabele 'atten'
in SRAM. Daarmee kan bewaakt
worden of de verzwakking niet buiten
het toegelaten bereik komt.
Tevens wordt bij wijziging van de verzwakking met de actuator de bijbehorende waarde berekend die in de versterker moet worden geladen, die staat
in att_reg. Omdat de signaalspanning
afneemt met toenemende frequentie is
het frequentiegebied van 0 tot 72 MHz
16
Iedereen kan zijn voeding anders maken uit beschikbare onderdelen, daarvoor is het van belang het verbruik van de schakeling te weten 300 mA inclusief
de displayverlichting en de Elektuurdoos..
hebben ze de netspanning sluipend als een dief in de
nacht verhoogd, wat al heel wat gloeilampen heeft
gekost want 5% spanningsverhoging op een
gloeilamp verkort de levensduur met 50%, maar ook
trafo's kunnen er vaak slecht tegen. Met een kleine
serieweerstand of een stroomprobe en een scope is
dat te meten, je ziet dan primair geen nullaststroom
die een beetje piekt maar een beetje heel erg veel
piekt in de toppen. Het ijzer komt dan in de verzadiging. Die trafo's worden van nullast al opvallend
warm als ze een paar uur instaan. De ijzerverliezen
nemen toe en de nullastkoperverliezen ook onevenredig veel door de gepiekte nullaststroom. Daar is
wat aan te doen als je een flinke 230V/10V volt
trafo, pakweg 10V bij 10 ampere op het net aansluit
en de 10 volt secundaire in serie zet met de voeding
van je stopcontactplanken die je 220V apparatuur
voeden in je shack. Wel op de wikkelrichting letten,
want je hebt 50% kans dat je anders de netspanning
10 volt verhoogt in plaats van verlaagt. Nameten
dus.
Software
Als voorbeeld van de software is een flowchart
getekend in fig 7 die de werking van de meetsweeproutine laat zien. Dergelijke flowcharts kunnen
worden gebruikt om de software naar een
willekeurige andere processor over te zetten. Ze bepalen namelijk de werking zonder zich te uiten over
de instructieset van de controller.
Ruim 2000 regels assembly zijn ingetikt en debugged om tot een goed werkend geheel te komen.
Of het nu bugfree is weet ik niet, Eigenlijk weet ik
het wel, want het adagium van informatici is "There
is no such program as a bugfree program" en die
geloof ik op hun woord.
Goed, die 9 V trafo in de wobbeler wordt belast met
een brug, en daar staat een elco op. Die brug trekt
dus alleen maar stroom als de trafo spanning hoger
is dan de elcospanning plus twee doorlaatspanningen
van silicium diodes, Een dergelijke piekvormige
stroom heeft een veel ongunstiger verhouding effectieve waarde/gemiddelde waarde dan een sinusvormige belasting, daarom wordt de trafo met een brug
erop bij slechts ongeveer 65% gelijkstroom belasting
van de toegelaten wisselstroombelasting al even
heet. Kortom dat trafootje kun je ongeveer belasten
met 65% van 0,8 A en dat is 0,5 A wat ze er voor de
zekerheid ook opgedrukt hebben. De uitgangsspanning blijkt bij volle belasting iets te krap voor de 9
volt regulator die de versterker AD8621 van spanning voorziet, er verschijn brom op de uitgang van
de 9V regulator voor dat IC in het Elektuurblikje.
Twee oplossingen: een grotere elco dan de gebruikte
1000 uF en wat wikkelingen bijleggen op de trafosecundaire, die daar ruimte voor biedt. Een proefwinding levert met de scope erop 200 mV top top,
dus 14 windingen per volt. Het middenbeen van de
trafo is 2,56 vierkante cm, zodat met de vuistregel
50/O 19 windingen per volt verwacht zou worden.
Krap ontworpen dus, maar ja de merknaam moest
ook betaald worden, of het kernblik is kwalitatief
heel erg goed voor die tijd. Maar een tweetal elco's
erbijgezet, zodat aan de in het schema vermelde
waarde is gekomen.
Calibratie
Zet de netspanning in. Er komt dan een V met horizontale poten in de toppen van de V op het scherm te
staan (zie foto 4) van de scope in XY mode. Regel
17
dan de display zo af dat de V vertikaal over 9 divisions staat en horizontaal over 10 divisions. Dan
klopt de dB en de frequentieschaal op de scope met
de LCDisplay waarden.
die tijd op zijn input staat is niet interessant, mits de
klokken maar laag blijven. Dat nu blijkt in deze
schakeling niet goed te werken. Port A stoort de
DDS. Om na te gaan of het wellicht de klokken
waren die naalden oppikken heb ik de interrupt de
klokken wel maar port A niet laten bedienen, dus
niet de X en Y latch inhoud wijzigen. Dan gaat het
goed. Vervolgens de interrupt helemaal de port en de
klokken niet laten bedienen, en in de 6 seconde vertragingslus van de testroutine port A op en neer
getrokken. De klokken dus niet. Ook dan gaat het
Draai aan de actuator. De V verdwijnt dan, en het
apparaat werkt. We willen nu 0 dBm langs de
bovenkant en -90 dBm langs de onderkant van het
scherm. Dat is te regelen met de trim potmeters van
de ADC. De Vref/2 regeling regelt de bovenzijde en
de VIN(-) potmeter regelt de onderzijde. Die twee
regelingen beinvloeden elkaar ietwat. Als de lijn op
de XY display niet meer verschuift met draaien heb
je tever gedraaid. Door de DUT signaaloutput van de
signaalgenerator direct te verbinden via een
coaxkabeltje met de de analoge input van de logversterker, kunnen we met de dB regeling van de actuator de meetlijn in stappen van 10 dB omlaag brengen. Dat is tevens een controle op het aantal dB per
schaaldeel. Eventueel bijregelen met twee genoemde
potmeters.
Moeilijkheden
Tot zover was het eigenlijk een realisatie van ideeen
zonder veel problemen. De problemen ontstonden
bij aansturing van de DDS via de bandkabel uit
portA. De frequentietest liet zien dat die niet geheel
stabiel was, en de noodzakelijke opname van de
reset in de sweeproutine gaf al aan dat er eigenlijk
wat aan de hand was.
fout. De bedrading van de klokken verlegd; in de
bandkabel de 3 buitenste draden waar de klokken
over lopen, gescheiden van de port A draden. Tot
slot een nieuwe korte bandkabel gemaakt met ferriet
platte ringen eromheen. Geen verbetering. Wordt
port A niet bediend dan is er geen probleem. Een
pen van port A op en neer halen geeft ook geen
probleem. Een nibble wel, zowel het lage als het
hoge. Na dit alles geprobeerd te hebben besloten dan
maar een latch tussen te voegen, zodat diens output
rust geeft op de DDS buiten zijn laadtijd. Dat is een
Het bleek dat als de daemon interrupt werkt, die port
A ook gebruikt dat dat de DDS beinvloedt. Buiten
zijn laadtijd want dan staat de interrupt enable af. De
DDS heeft via de bandkabel die signalen op zijn
dak, maar volgens de specs heeft hij een 40 bit latch,
die je byte voor byte in kan klokken en dan vervolgens doorgeven aan de core van de DDS. Wat buiten
18
majeure operatie, die bovendien wegens gebrek aan
pennen de jumperpen opeist als latch klok. De wijziging van het schema staat in fig 9.
Omdat het toch gewenst blijft te kunnen kiezen voor
demping met en zonder relais in de Elektuurdoos, is
het nu zo dat na inschakelen van het apparaat, en dus
in de calibratiefase, het afhangt van of de actuatorknop links of rechts omgedraaid wordt om de calibratie te beeindigen, dat set of reset een vlag in
SRAM die bepaalt of de dempingrelais al of niet
bestuurd worden.
Tot slot is de uitgangsspanning beperkt op 0 dBM,
het is een schaalwijziging, waardoor de maximale
instelbare demping 16 dB minder diep is. De gecorrigeerde demping verzorgt een vlak niveau over het
gehele meetbereik. Mocht er behoefte bestaan aan
meer vermogen, dan kan een externe versterker
worden opgenomen. Funkamateur heeft een servicebureau dat verkoopt MMIC chips, die dat bewerkstelligen 50 ohm in- en uitgangsimpedantie ettelijke
honderden MHz breed.
Test
Ik heb aan het apparaat ter demonstratie een kristalfilter gehangen dat ik in Bentheim voor een euro op
de vlooienmarkt kocht. Het meldt EP4032.4842
KVG 21.4 MHz 2,5 kHz. (zie het resultaat op foto 5)
Op plak- etiketten druk ik de titels en benamingen af
Daarbij is het filter gevoed uit de 50 ohm uitgang
van de signaalgenerator en aan de uitgang hangt een
ingang van Smeerpijp-11 die op de log converter is
aangesloten. Mijn scope is door een defecte regeling
niet horizontaal qua breedte regelbaar, maar de volle
groene lijnbreedte op de display is hier 10 kHz
(1kHz/div), de centraalfrequentie 21,4 MHz (foto 4)
De meetsweeptijd 2 seconde. Per meting is er dus
een frequentieverschil van 10 kHz/239, ruwweg 40
Hz, aan de hand van dat gegeven en de spreiding van
de meetpuntjes op de flanken kun je dus de steilheid
van het filter nauwkeurig beoordelen.
Metaalwerk
(fig 12), knip die uit en plak ze op de kast en de
print, zodat zichtbaar is wat voor instrument het is
en eventuele toekomstige reparaties vereenvoudigd
worden.
Aan de hand van de beschikbare onderdelen teken ik
boorplannen, (fig 10 en fig 11) op ware grootte met
een tekenprogramma (SPlan) druk die af, snijd ze
uit, positioneer ze op de te bewerken kast, neem de
boorpunten over en kras de zaaglijnen in.
Nabeschouwing
19
Het was een hele klus dit apparaat te bouwen,
nabouw kan echter met een dag werk gebeuren,
zoals bij de FS30-GPS is ervaren waarvan ik drie
exemplaren heb gebouwd. Een kant en klaar geprogrammeerd controller IC kunt u voor 16 euro inclusief verzend- en verpakkingskosten aanschaffen,
neem daartoe contact op via email met
[email protected], waarbij u mijncall uiteraard
moet vervangen door
PA0WV
20