Från 25 februari 2015

KRAS Kalmar

Hösten 2014 Våren 2015

Vi bygger runt ARDUINO

Här redovisar jag min, SM7UCZ's version av kursverksamheten, kan skilja lite från övriga. Vi låter kreaktiviteten flöda!

Under säsongen 2013/14 så pulade vi med Arduino. Denna lilla mikroprocessor som är förmonterad på olika kortstorlekar, och laddad med en boatloader, för att underlätta hanteringen från en vanlig PC. Arduino användes i undervisningen worldwide. Vi lärde oss att ladda program och blinka med lysdioder, styrde motorer osv. Flera föräldrar med sina telningar, sju- åttaåringar var med oss på kvällskurserna och byggde bland annat blinkande lysdiodträd.

Den här säsongen 2014/15 har vi köpt in sändarkit från Kanga i England. Vilka är avsedda att sättas uppe på en Arduino Uno. Konstruktionen är av M0XPD Paul Darlington, som vi har bollat lite ideer med. Kitet var fort hopsatt, och programmet hämtade vi hos M0XPD och vi hade bärvåg ut från 160 meter till 10 meter. Med ca 2W. Normalt bygger vi från scratch! Men nu var det fokus på Arduinon och programmering, eller ändringar i färdigt program. För några programmerare kan vi inte kalla oss!

Men mottagaren var ännu inte färdig att köpa från Kanga.

 

Sändarkitet med DDS-kort, sändarkort och display vilket vi snabbt hade driftsklart. Pulsgivare till frekvensändringen och två switchar för att orientera i de olika menyerna på displayen. Ca 2W ut från 160 meter till 10 meter.

 

Mottagaren

Vi bygger en enkelsuper

Klicka på bilden förre större...

Mottagaren fanns inte att köpa ännu. Så vi började att spåna om en enkelsuper. Det hade vi inte tidigare gett oss in på. Diodblandarna hade vi använt i andra projekt. Men ett kristallfilter var nytt. Det är oftast dyrt eller svårbyggt. Sändaren har en DDS, alltså en datorstyrd frekvensgenerator Den har en frekvensutgång till en mottagare. Men nu var vi så varma i kläderna att vi inhandlade från Kina lösa DDS-moduler för ca 5$ styck samt Arduino Mini för ca 2$. Vi skulle alltså bygga en enkelsuper runt Arduino. Ingen av oss kan skriva program till Arduino! Men att leta efter Arduinoprogram i internets bottenlösa träsk, har vi blivit duktiga på. Och vi har lärt oss att peta i dessa program, för att ändra dem till våra behov.

Hjärtat i en superheterodynmottagare, speciellt för SSB, Single SideBand, mottagare är kristallfiltret. Dessa kostar pengar, stora pengar, för ett köpesfilter. Men det finns en genväg idag. Det tillverkas stora mängder kristaller för olika dataprodukter. Som surplus är dessa väldigt billiga. Speciellt surplus från här! Normalt så följer två kristaller med ett köpes kristallfilter anpassade till LSB och USB. En kines DDS kostar bråkdelar av dessa LSB/USB kristaller. Att ersätta dessa kristaller med DDS låter frestande. Den fingerfärdige kan då programmera passbandstuning med en Arduino och en DDS. Dessutom spelar det ingen roll var vårt "hemmabyggda" kristallfilter har för centerfrekvens... vi följer efter med programmeringen av Arduinon, så passar det alltid.

För att bygga en enkelsuper så är det enklast om man bryter ner de olika funktionerna i olika block. Vi har väldigt gott om 6144kHz kristaller, alltså lägger vi VFO:n så många KHz över mottagen frekvens. Genom att peta in ett offsetvärde i ett färdigt program från sändaren, så anpassas VFO frekvensen. Displayen visar fortfarande mottagen frekvens.

Vi har byggt från de komponenter vi har i den stora junkboxen. Så alla komponentvärden kan variera från det som anses optimalt. Många av kretslösningar har vi hittat på nätet. Vi har siktat på att bygga en enkelsuper. Inte en enkelsuper med topprestanda, det får någon annan göra! Men vi kommer att mäta upp prestandan framöver. Strömförbrukningen är hög, ca 260mA just nu, Så mottagaren lite olämplig för portabelbruk. Det finns andra modernare DDS:er som tar mindre ström. Det kan bli ett framtida projekt. Just nu håller vi oss till dessa billiga $5 AD9850 från Kina. Tills de tar slut.

 

Klicka på bilden för större format

Genom att bryta ner de olika delarna i egna block så blir det lättare att delbygga och avprova funktionerna. Överraskande så fungerar mottagaren ända ner till 10kHz. Alltså går det att lyssna på SAQ, 17,2kHz, Grimeton nästa gång den sänder. Just nu går det att lyssna på alla mystiska sändare på det låga bandet. Tidssignalerna 60kHz från England och 77,5kHz från Tyskland går in fint. Vi förbehåller oss rätten att fritt ändra i schemat! Så var beredd på att komponentvärden eller kretslösningar kan ändras. Vi är kreaktiva!

Vi säljer inga kretskort eller komponenter! Men kommer att lägga ut laouterna snart, för de som vill tillverka egna kort. Observera att korten är anpassade till de komponenter som finns i vår stora junkbox.

 

Provbygge

Alla kretskorten monteras på ett blankt kretskortslaminat som blir ett fint jordplan. Här gick det att prova sig fram mot en "slutlig" lösning, genom att testa olika kretslösningar. De flesta kretslösningarna är "lånade" från internet. Mottagaren fungerar från 10kHz upp till 30 MHz. Programmet har en maxfrekvens på 30MHz. Så mottagaren fungerar säkert högre i frekvens. Med en större högtalarlåda från en stereoanläggning så blir det ett behagligt ljud.

 

Tonny's SM7NUN version av mottagaren, ännu ej komplett.

 

 

SM7MCD, Leif's version.

 

DDS-VFO

Med våra erfarenheter så konstruerades en egen DDS-VFO. Vi ville bygga runt mikroprocessorn Arduino. Programmet till Arduinon är hämtat från Kanga's sändare med några modifieringar. Displayen har jag bytt från den stora LCD till en liten OLED med måtten 27 × 27 mm. Jag lämnade Arduino UNO och fastnade för det lilla kortet Arduino PRO-MINI för ca $2 från Kina. Detta kort har samma IN/OUT som det stora Uno kortet. men saknar strömförsörjning och USB interface. Det är samma processortyp på korten. För att programmera kortet behövs ett mellankort från datorns USB under programmeringen

 

Detta VFO-kort är inte riktigt som schemat ovanför. Det var en liten utmaning att löda en lös 28 pinnars ytmonterad AD9850 DDS krets under mikrokop. Kretsen sitter på undersidan. Kristalloscillatorn är större än kretsen! Och en Arduino Mini Pro utan inbyggd serieinterface för programmering. Till den får man ha ett speciellt omvandlarkort mellan PC:n och Arduinon. Allt för att spara lite plats och ström. Utgående VFO-frekvens är den oranga tråden uppe till vänster. De övriga trådarna går till pulsgivaren, två tryckknappar och displayen. Tryckknapparna är för att orientera sig i menyerna på displayen. Pinnarna på högersidan av kortet går till programmeringsmodulen under programmering.

 

Första blandaren

Första blandaren har en liten förstärkare för att boosta upp -8dBm signalen från DDS:en till ca +7dBm som ringdiodblandaren behöver. Mellanfrekvensen 6144kHz kommer ut längst upp till höger

Jag har kört min antenn direkt in på blandaren. Har inga problem med starka sändare. Vi har ju inga rundradiosändare kvar i landet.

 

Ringdiodblandaren med FT37-43 kärnor och vanliga 1N4148 dioder. VFO-signalen kommer in till vänster på den oranga tråden. +12V på den röda tråden. Antennen är den gula tråden nere till höger. Och den övre högra snurrade tråden är mellanfrekvensen ut till nästa block, kristallfiltret.

 

Kretskortet till mixern, likadant kort användes till produktdetektorn.

 

Kristallfiltret

Vi har gott om 6144kHz kristaller. De borde vi använda. Ingen av oss är kunniga att beräkna ett kristallfilter. Men det finns proffs! Vi skickade en näve kristaller till Urban/SM5EUF, han körde en simulering. Och vi fick ett 10 kristallers filter med 2,1kHz bandbredd.Och mycket branta flanker. Det är mycket viktigt med impedansanpassningarna i båda ändarna av kristallraden. Kollektormotståndet 200R i vänstra förstärkaren bestämmer ingångsimpedansen. Och seriemotståndet 120R bestämmer utgångsresistansen. På utgången föreslog Urban en trafo för att omvandla utgångstransistorns 200R till 50R, för att bättre passa till produktdetektorn. Vi kommer att beräkna filter för andra kristallfrekvenser framöver. Kristaller som kan köpas som surplus för under en krona styck! Kolla här!

Med hjälp av mottagarens egen DDS kan man bestämma kristallfiltrets flank- och mitt-frekvens.

Mitt filter fick dessa värden uppmätta med mottagarens DDS.Det beräknade värdet 2,1kHz blev 2,0kHz uppmätt. Genom att nollställa alla offsetvärden i Arduinon, så visar displayen den frekvens som DDS:en levererar. Om ett oscilloskop anslutes på utgången av filtret, så letas flankerna upp genom att detektera halva utspänningen på varje sida. SSB bandbredd är 3000Hz. Detta betyder att vi kommer inte att höra toner från noll till ca 500Hz. De skäres av filterkanten. Och även de högsta tonerna 2500...3000 skäres bort av den andra filterkanten. Detta passar utmärkt för mänskligt tal. För att lyssna till musik... inte så bra! Den skarpsynte, kanske irriterar sig på att LSB och USB har skiftat plats mot vad standarden säger. Det beror på att i första mixern så subtraherar vi VFO- frekvensen från den mottagna frekvensen.

Därefter kan offsetvärdena beräknas och skrivas in i Arduinoprogrammet.

 

Med hjälp av en Wobbulator så kunde vi svepa kristallfiltret. Tyvärr är det inte dB skala vertikalt, utan Volt. Lite rippel på toppen, men i en dB skala försvinner det.

Wobbulator

Wobbulatorn inhandlades i höstas på GQRP Convention. Den är byggd på en Raspberry Pi dator. Och använder ett likadant DDS kort som vi har i sändaren. Med programvaran så svepes önskad frekvens och returnerad spänning omvandlas i en AD omvandlare och ritas upp på skärmen.

 

Kristallfiltret med sina 10 kristaller, alla 6144kHz. Och sju stycken 100pF kondensatorer. Ingång till vänster och utgång via transformatorn till höger. Transformatorn omvadlar filtrets ungefärliga 200 ohm utgång till 50 ohm för att passa ingången till mixerkortet i nästa steg.

 

Kristallfilterkortet.

 

Produktdetektorn

Produktdetektorn är exakt likadan som Mixern. Här blandar vi signalen från kristallfiltret med Beatosscillatorn, BFO:n. Då får vi en signal ut i det hörbara frekvensområdet som går in i ljudförstärkaren.

 

Kortet matas via trafon 200/50 ohm till vänster från kristallfiltret. Gula tråden från BFO:n och vit tråd ut till ljudförstärkaren. Kortet är en kopia av mixerkortet.

 

BFO Beat Frequency Oscillator

Det är kanske lite overkill att använda en DDS till BFO. Signalen skall bara ändras +/- 1,5kHz kring kristallfiltrets frekvens. Men, det är enkelt och billigt! Billigare än en special köpes kristall. Här sköter en PIC-processor om ruljansen. En potentiometer avläses av PIC:en med 10 bitars upplösning... lika med 1024 steg. Om varje steg ändrar frekvensen 3 Hz så blir det ca 3 kHz swing. Då går det att lyssna på CW, SSB, både övre och undre sidbandet och AM om man nollsvävar bärvågen.

 

BFO:n är oxo en liten specialvariant, lödd under mikroskop! Både PIC-processorn, DDS-kretsen och några komponenter är ytmonterade på undersidan. Kristalloscillatorn 125MHz. De fria stiften användes till att programmera PIC-processorn på plats i kortet. Det hade varit enklare att använda ett färdigt DDS-kort! Röd, gul och svart tråd går till potentiometern. Den röda tråden till vänster är +12V matningen.

 

Det blir smått med ytmonterat... I princip går det att montera kortet direkt bak på en potentiometer. Större är inte kortet.

 

BFO'n monterad direkt bak på en potentiometer

 

Några av stiften är för att programmera PIC 12F683

 

Ytmonterad DDS krets syns under potentiometern

 

LF-Förstärkaren

Ljudförstärkaren är en vidareutveckling av ett tidigare projekt vi har byggt. OP förstärkaren är oförändrad, vi har dock minskat gainet något.

Vad som är nytt för oss, är kretsen TDA7052A. Ej att förväxlas med TDA7052, det är en annan konstruktion! TDA7052A har en DC-styrd volymkontroll på pinne 4. VE3MKC kom med en ide om att skapa en automatisk volymkontroll. Vi vidareutvecklade den. Kretsen måste matas med stabilicerad spänning. Båda högtalareutgångarna pin 5/8 ligger på halva matningsspänningen i vila. En lysdiod skapar ett spänningsfall på ca 2V samt likriktar moduleringen. C12 fungerar som spänningsdubblare, eftersom utgångarna pin5/8 är inverterade. Lysdioden lyser lite svagt och flämtar i takt med moduleringen till högtalaren. Om nu volymen till högtalaren ökar på grund av ökande insignal, så påverkar det gaten på Q1. Den öppnar lite och sänker spänningen på pinne 4, och volymen sänks. Pinne 4 matas internt från en strömgenerator. C6 skapar den fördröjning som höjer volymen från "0" efter en hård "spik" eller knäpp. Här har vi vår automatiska volymkontroll.

C8 och R11 återmatar negativt till ingången. Här kan man justera tonläget av ljudet.

Försök att ena två eller fler amatörer om hur den automatiska volymkontrollen skall arbeta. Det är omöjligt! Därför finns stora möjligheter att anpassa C6, C8 och R11 till eget gottfinnande. Eller bygga om funktionen. Kretskortet är förberett för olika optioner!

 

Prototyp till ljudförstärkaren. Här har jag labbat lite runt den automatiska volymkontrollen.

 

Kretskortet till ljudförstärkaren. Förberett för olika lösningar runt den automatiska volymkontrollen.

 

Pulsgivare till VFO:n och en potentiometer för BFO:n

 

Den lilla OLED-display tar endast 2,8mA och styrs med två trådar I²C. 16 tecken bred och 8 rader. Programmet har anpassats från LCD displayen.

 

Hela provbygget är monterat på ett blankt kretskortslaminat som är jordplan och minusspänningen. Det blir inte många trådar mellan korten..

 

Mixerkortet med de trifilärt lindade kärnorna. Trifilärt... tre trådar lätt tvinnade, lindas som ett rep genom kärnan. Sen skall dessa 6 trådändar orienteras och stoppas i rätt hål på kretskortet.

 

Ett stolleprov

Skulle det gå att bygga mottagaren som en låda av kretskorten?? Lite pappslöjd först.

 

Med DDS:erna i bottenplanet

 

Kretskorten etsade och delvis monterade

Mer följer....

 

 

 

 

 

 

 

 

 

 

 

return