Arduino frekvens synthesizer med 160MHz Si5351
Detta Instructable beskriver konstruktion och drift av en fristående frekvens synt lämpliga för användning som en signalgenerator, eller för användning som den lokala oscillatorn i ett Amatörmässigt musikband sändare eller mottagare.
Min prototyp byggdes på en bit av "Vero" ombord. ATmega328P måste vara sockel om du vill göra din egen "Vero" styrelse Arduino. Arduino källkoden är väl kommenterad och innehåller länkar till alla krävs "bibliotek". Konstruktion är inte kritisk.
Hjärtat i denna frekvens synt är "Adafruit Si5351A klocka Generator Breakout Board" som kan generera upp till tre utgångar i frekvensen spänner av 8KHz till 160MHz. Si5351 breakout styrelsen är utformad för att springa iväg 5 volt och har en I2C gränssnitt vilket gör det enkelt att ansluta till en Arduino. Allt du behöver är en Arduino, en rotationsencoder, en 16 tecken x 2 linje I2C LCD-display och vissa program. Utnivån från denna synth är cirka 3 volt topp-till-topp.
Den näst viktigaste komponenten är rotary encoder som matar ut följande two-bit "Grå" kod mönster:
.
11 (indrag - CCW)
10
00
01
11 (indrag - referens)
10
00
01
11 (indrag - CW)
.
Kodaren alltid vilar på ett indrag (mönster 11) när trim vredet står stilla. Om trim vredet vrids CCW (counter medurs) då mönster sekvens mellan strecksatserna är 00-01, 10, 11. Om emellertid trim vredet vrids CW (viss) då mönster sekvens mellan strecksatserna är 10, 00, 01, 11. Detta mönster återföring tillåter oss att bestämma trim inriktning. Den nya frekvensen bestäms genom att multiplicera antalet "indrag" av trimma steg-storlek och lägga till/subtrahera denna förskjutning till och från den aktuella frekvensen.
Rotary encoder kommer utrustad med en enkelpolig push switch som jag använder för att styra chiptrim steg-storlek i steg om 10, 100, 1000, 10000, och 100000 Hz. Ett kort tryck på knappen trim ökar chiptrim steg-storleken. Ett längre tryck på knappen trim orsakar steg-storlek minskar.
Alla mekaniska brytare lider kontakta studs vilket gör för oberäkneligt tuning. I stället för "debouncing" varje switch med hårdvara använder jag en programvara integrator.
En SPST band-ändra switch har inkluderats. När växeln är aktiverad är det möjligt att gå igenom var och en av amatör radio band genom att vrida knappen trim. Trim vredet beter sig normalt när växeln är inaktiverat.
Programming ATmega328P mikrokontroller är relativt enkel. Först installera "bibliotek" dokumenterade i "source_code.txt". Klistra in innehållet i "source_code.txt" i en ny arduino skiss och spara den som "signal_generator.ino". Klicka på "filöverföring" och allt går bra, "signal _generator.ino" kommer att sammanställa sedan ladda upp till din Arduino R3 UNO. När filen har laddats, koppla ur ATmega328P mikrokontroller från din Arduino R3 UNO och sätt in det i din "Vero" styrelsen socket. Tillämpa 9 volt och allt ska tändas.
Viktigt: även om styrelsens breakout rinner av 5 volt, Si5351 chip själv kör av 3,3 volt. Detta innebär att den maximala spänningen från varje utgång är 3,3 volt. En buffert krävs därför när gränssnitt till 5 volt logiska kretsar.