Hi,
Ik heb al een tijdje behoefte aan een generator die ik tot 1MHZ ka sweepen met de hand in een aantal bereiken.
Deze genrator zal worden uitgerust met zo'n klein AD9833 DDS printje aangestuurd door een Arduino.
Wat wil ik nu gaan doen om de frequenty in te stellen...
Ik heb een hele mooie soepel lopende 330° potmeter, die wil ik inlezen via een ADS1115 ADC en dan wat standaard bereiken maken, zodat ik snel kan swepen over een bereik.
Vooral bij het meten aan filters en frequentie responce van een D.U.T is dat heel makkelijk.
Dit is een beetje een drama, bij de digitale generatoren die ik heb(4 stuks)
Voorbeelden bereiken
1Hz tot 1kHz
10Hz tot 50khz
1kHz tot 500kHz
10kHz tot 1MHz
100kHz tot 3MHz
Variaties kan ik later nog doen als nodig.
De bedoeling is dat de bereiken net iets meer van de hierboven gestelde waarden kunnen halen, dus het uiteindelijke bereik zal iets lager en iets hoger worden, net als bij een normale Sinus genrator.
Bij de oude generatoren zoals de HP3310A zie je een lineaire schaal van 1 maar eigenlijk van 5 tot 50 schaaldelen.
En de Philips PM 5132 heeft een schaal die loopt van 0.6 maar eigenlijk 1 tot 20 met overloop naar 22 schaaldelen.
Ik ben er nog niet uit wat wenselijk is tijdens het gebruik, vroeger had ik een leuke XR2206 genrator die ik in 1x van 10Hz tot ruim 50kHz kon sweepen met één draai aan de potmeter waar een schaaltje op zat.
Als extra zat er dan een fijnregel potmeter bij, dat kan bij mijn opset ook nog steeds door een kleine waarde bij de hoofdpotmeter te mengen.
Wat ik nu wil doen is dit, Een mooi Referentie IC de frequentie potmeter laten voeden, wat filtering aan de loper en dan op een ingang van de ADS1115 ADC zetten.
Dan komt daar een 15 Bits waarde uit aan de hand van de potmeter stand en dit moet dan geschaald worden naar de waarde die naar de AD9833 DDS chip gaat.
Dus 1 tot 32768 moet dan worden omgezet in 10Hz tot 50kHz bereik, zoiets als dit hieronder.
c code:
Freq = map(analogRead(potmeter), 5, 32760, 10, 50000 );
Maar nu dan de vraag, als ik dat bereik nu logaritmisch wil hebben, hoe werkt dat schalen dan?
Er komen nog meer vragen over de software, maar dit wordt de basis van dit meetinstrumentje waarme ik wil gaan testen.
Nog wat info
Verder probeer het zo vlak mogelijk te maken, wat de frequentie karakteristiek betreft.
Gisteren vier spoelen gewikkeld op Neosid spoelvormen voor het negende order filter volgens Chebychev, deze bouwsetjes voor spoelen heb ik al zeker 30 jaar liggen.
Volgens mij nog gekocht bij de Electronica winkel vlak bij het Okura hotel hier in Amsterdam.
Bij het filter heb ik gekozen voor transformatie van de impedantie, het pakket van Iowa Hills RF Filter Designer in de enige software die ik geinstalleerd heb waarmee dat kan.
De ingang van het filter is gekozen op 200Ω en de uitgang op 50Ω, met de frequentie rond 3.3MHz heb ik een beetje geschoven, zodat ik redelijke bruikbare condensator waarden kreeg.
Het filter is tot iets meer dan 3MHZ plank recht, minder dan 0,1dB, dit natuurlijk wel als ik de goede componenten gebruik en de opbouw klopt.
Maar uitgangspunt is max 1MHz, ik heb nog nooit met dit DDS IC gespeeld, dus ik moet eerst nog zien hoe goed het is.
Het gaat mij dus vooral om een aantal makkelijk te gebruiken sweep bereiken op deze generator.
Precisie frequentie instellingen doe ik wel met een van de andere genratoren die ik heb, net als vervormings metingen, deze chip komt toch niet verder dan 0,1%.
Vragen opmerkingen, ik hoor het graag!
Groet,
Bram