Sisukord:

HF antennianalüsaator Arduino ja DDS mooduliga: 6 sammu (piltidega)
HF antennianalüsaator Arduino ja DDS mooduliga: 6 sammu (piltidega)

Video: HF antennianalüsaator Arduino ja DDS mooduliga: 6 sammu (piltidega)

Video: HF antennianalüsaator Arduino ja DDS mooduliga: 6 sammu (piltidega)
Video: HF 2024, Juuli
Anonim
HF antennianalüsaator koos Arduino ja DDS mooduliga
HF antennianalüsaator koos Arduino ja DDS mooduliga
HF antennianalüsaator koos Arduino ja DDS mooduliga
HF antennianalüsaator koos Arduino ja DDS mooduliga

Tere

Selles juhendis näitan teile, kuidas ma ehitasin odava antennianalüsaatori, mis suudab mõõta antenni ja kuvada selle VSWR-i mis tahes või kõigil kõrgsagedusribadel. See leiab iga riba jaoks minimaalse VSWR-i ja vastava sageduse, kuid kuvab ka kasutaja valitud sageduse reaalajas VSWR-i, et hõlbustada antenni reguleerimist. Kui pühkida ühte sagedusriba, kuvab see graafiku VSWR versus sagedus. Selle tagaküljel on ka USB-port sageduse ja VSWR-andmete väljastamiseks, et võimaldada arvutis täpsemat graafikujoonistamist. USB -porti saab vajadusel kasutada ka püsivara värskendamiseks.

Alles hiljuti sattusin amatöörraadiosse (kuna mulle meeldis idee omavahelise suhtluse kohta suurtel vahemaadel ilma infrastruktuurita) ja tegin kiiresti järgmised tähelepanekud:

1. Kogu mind huvitanud ülemaailmne side toimub HF-sagedusaladel (3–30 MHz)

2. Kõrgsagedus transiiverid on väga kallid ja lähevad katki, kui te neid mõistlikult sobivasse antenni ei aja

3. Üldiselt oodatakse, et te ühendate oma kõrgsagedusantenni üle aia keerutatud traadijuppidest (kui te ei soovi kulutada isegi rohkem raha kui 2 -s).

4. Teie antenn võib sobida halvasti, kuid te ei tea seda enne, kui olete seda proovinud.

Nüüd ütleks purist ilmselt, et kõigepealt tuleks testida antenni väga väikese võimsusega huvipakkuval sagedusel ja kontrollida matriisi VSWR -d, et hinnata mängu kvaliteeti. Mul ei ole tegelikult aega sellise asja kallal iga sageduse kohta, mida võiksin kasutada. Mida ma tõesti tahtsin, oli antennianalüsaator. Need seadmed saavad testida antenni kvaliteeti igal sagedusel üle kõrgsagedusribade. Kahjuks on need ka väga kallid, nii et hakkasin kaaluma, kas saaksin ise teha. Sattusin suurepärasele tööle, mille tegi K6BEZ (vt https://www.hamstack.com/project_antenna_analyzer.html), kes uuris Arduino kasutamist odava otsese digitaalse süntesaatori mooduli (DDS) juhtimiseks. Peagi hülgas ta kulude tõttu Arduino, eelistades kasutada PIC -i. Noh, 2017. aastal saate osta Arduino Nano hinnaga umbes 3,50 naela, seega arvasin, et on aeg tema töö uuesti üle vaadata, jätkata sealt, kus ta pooleli jäi, ja vaadata, mida ma võiksin välja mõelda (pange tähele, et ma pole ainus kes on seda teinud: Internetist võib leida väga toredaid näiteid).

Värskendus (29.07.2018) - sellele tööle on oluliselt tuginenud bi3qwq, Hiinast, kes on teinud kasutajaliideses tõeliselt toredaid täiustusi, mida ta on lahkelt jaganud. Ta on kujundanud väga professionaalse trükkplaadi (suurepärase kalibreerimistakisti funktsiooniga) ja teinud tõeliselt hea välimuse. Kõige tipuks on ta koostanud skeemi, mis minu teada rõõmustab paljusid neid, kes on varem kommenteerinud. Lisateabe saamiseks vaadake palun kommentaaride jaotist.

Värskendus - olen hiljuti jõudnud 60 m -ni, mida esialgne visand ei hõlmanud. Nüüd laadisin üles püsivara versiooni 7, mis lisab 160 m ja 60 m ribad. Need ei ole lisandmoodulid; need on täielikult integreeritud analüsaatori töösse. Oli õnn, et leidsin u8glib fondi, mis oli endiselt loetav, kuid võimaldas mul sellel väikesel ekraanil kuvada korraga kümmet bändi (kuigi see ei olnud üksikruum, mis põhjustas leina). Olen hinnanud uute ribade kalibreerimisväärtusi, tuginedes olemasolevate kalibreerimisväärtuste interpoleerimisele / ekstrapoleerimisele. Seejärel kontrollisin neid fikseeritud takistitega ja need andsid päris häid tulemusi.

Värskendus - nagu mitmed inimesed on skeemide kohta küsinud, on põhiline Arduino / DDS / VSWR sildahel K6BEZi algsest tööst suures osas muutmata. Palun vaadake ülaltoodud URL -ilt tema esialgset skeemi, millel ma selle projekti aluseks olen. Olen lisanud kodeerija, OLED -ekraani ja täielikult välja töötatud püsivara, et muuta kasutajad lihtsaks.

Värskendus - see süsteem kasutab väga madala pingega DDS -signaali allikat koos dioodi detektoreid sisaldava takistusliku sillaga. Seega töötavad dioodid oma mittelineaarsetes piirkondades ja minu esimene versioon sellest süsteemist kippus VSWR-i alla lugema. Näitena peaks 16 -oomine või 160 -oomine takistuskoormus näitama 50 -oomses süsteemis VSWR -i umbes 3; see arvesti näitas selles olukorras VSWR -i lähemale 2 -le. Seetõttu viisin läbi tarkvara kalibreerimise, kasutades teadaolevaid koormusi, mis näib olevat selle probleemi tõhus lahendus. Seda kirjeldatakse selle juhendi eelviimases etapis ja üles on laaditud muudetud visand.

Värskendus - rongisisene graafikute lisamise võimalus lisati üksikutele pühkimistele, kuna see oli liiga kasulik välja jätta, eriti antenni pikkuste häälestamisel minimaalse VSWR -i jaoks: graafik annab teile koheselt nähtava trendi.

Samm: ostke oma asjad

Te vajate järgmisi üksusi. Enamiku neist saab odavalt Ebayst. Kõige kallim üksik ese oli kast, hinnaga 10 naela! Võib -olla on võimalik mõned üksused asendada (näiteks kasutasin 50 R asemel 47 R -i). Dioodid olid üsna ebatavalised (pidin ostma 5 Itaaliast) ja tasuks asendada kergemini kättesaadavad esemed, kui teate, mida teete.

  • Arduino Nano
  • DDS-moodul (DDS AD9850 signaaligeneraatori moodul HC-SR08 signaali siinuslaine 0-40 MHz)
  • 1,3 -tolline i2c OLED -ekraan
  • MCP6002 op-amp (8 kontakti)
  • 2 AA143 dioodi
  • Keraamilised kondensaatorid: 2 off 100 nF, 3 off 10 nF
  • 1 uF elektrolüütkondensaator
  • Takistid: 3 väljalülitatud 50 R, 2 väljalülitatud 10 K, 2 välja 100 K, 2 5 K välja, 2 välja 648 R
  • 2,54 mm sammuga kruviklemmiplokid: 3 2-kontaktilist, 2 4-kontaktilist
  • Ühe südamikuga haaketraat
  • 702 või samalaadne haaketraat
  • Stripboard
  • Kandiline päisriba (emane) Arduino ja DDS -i ühendamiseks - ärge ostke kogemata ümmargust pistikupesa!
  • Šassiile kinnitatav pesa SO-239
  • Pöörlemiskooder (15 impulsi, 30 takistust) koos lüliti ja nupuga
  • Odav pöördkodeerimoodul (valikuline)
  • Projekti kast
  • Lüliti
  • Täisnurgaga mini-usb-USB B vaheseina kinnitusjuhe (50 cm)
  • PP3 ja akuklamber / hoidik
  • Isekleepuvad trükkplaatide kinnituspostid / vaheseinad

Teil on vaja ka jootekolvi ja elektroonikatööriistu. 3D -printer ja sambapuur on korpuse jaoks abiks, kuigi soovi korral võiksite ilmselt kogu asja ribalauale kokku panna ja mitte karbiga vaeva näha.

Loomulikult võtate selle töö ette ja kasutate saadud tulemusi omal vastutusel.

2. samm: asetage ribalaud välja

Asetage ribalaud välja
Asetage ribalaud välja
Asetage ribalaud välja
Asetage ribalaud välja

Planeerige, kuidas kavatsete ribalauale komponente paigutada. Saate seda ise teha, viidates K6BEZi esialgsele skeemile (millel puudub kodeerija või ekraan - vaadake lehekülge https://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf), või saate säästa palju aega ja kopeeri minu paigutus.

Ma teen neid paigutusi lihtsal viisil, kasutades ruudukujulist paberit ja pliiatsit. Iga ristmik kujutab endast riba auku. Vaserajad lähevad horisontaalselt. Rist tähistab katkist rada (kasutage 6 mm puurit või sobivat tööriista, kui see on olemas). Ringjooned, mille ümber on kast, tähistavad päiseid. Suured kruvidega karbid tähistavad pistikuplokke. Pange tähele, et minu skeemil on täiendav joon, mis kulgeb horisontaalselt läbi tahvli keskosa. Jätke see välja, kui seda kokku panete (see on märgitud „jäta see rida vahele”).

Mõned komponendid võivad tunduda kummaliselt paigutatud. Selle põhjuseks on asjaolu, et disain arenes välja, kui sain põhilise riistvara tööle (eriti kui mõistsin, et kodeerija vajab näiteks riistvara katkestusi).

Komponentide plaadile jootmisel kasutan Blu-Tak'i, et neid kindlalt paigal hoida, samal ajal kui plaati jalgade jootmiseks ümber pööran.

Üritasin minimeerida kasutatava juhtme kogust, joondades Arduino ja DDS -mooduli ning kasutades lihtsalt võtmepistikute ühendamiseks ribalauda. Ma ei teadnud toona, et riistvarakatkestused, mis on vajalikud kodeerija lugemiseks, töötavad ainult nööpnõelte D2 ja D3 puhul, nii et pidin DDS RESET -i algse D3 -ühenduse juurest natuke eemaldama:

DDS -i lähtestamine - Arduino D7

DDS SDAT - Arduino D4

DDS FQ. UD - Arduino D5

DDS SCLK - Arduino D6

Arduino D2 ja D3 kasutatakse kodeerija sisendite A ja B. D11 jaoks kasutatakse kodeerija lüliti sisendit. D12 -d ei kasutata, kuid mõtlesin, et teen selle jaoks edaspidiseks laiendamiseks kruviklemmi.

Arduino A4 ja A5 pakuvad OLED -ekraani jaoks SDA & SCL (I2C) signaale.

Arduino A0 ja A1 võtavad sisendid VSWR -sillalt (OPAMP -i kaudu).

Samm: installige moodulid, lisage välisseadmed ja välgutage kood

Paigaldage moodulid, lisage välisseadmed ja välgutage kood
Paigaldage moodulid, lisage välisseadmed ja välgutage kood

Tasub testida tahvlit, enne kui hakkate vaeva nägema selle korpusesse paigaldamisega. Kinnitage kruviklemmiplokkidega plaadile järgmised komponendid painduva traadi abil:

  • 1,3 -tolline OLED -ekraan (SDA ja SCL on ühendatud vastavalt Arduino tihvtidega A4 ja A5; maandus ja Vcc lähevad ilmselgelt Arduino GND ja +5V)
  • Pöördkodeerija (selleks on vaja maandust, kahte signaaliliini ja lülitusliini - kui kodeerija töötab valesti, peate lülitusliinid ümber pöörama - ühendage need vastavalt Arduino maandusega, D2, D3 ja D11). Pange tähele, et oma prototüüpimise jaoks paigaldasin 15/30 kodeerija KH-XXX kodeerimismooduli plaadile, kuna paljaste kodeerijate tihvtid on väga õhukesed. Viimase töö jaoks jootsin juhtmed otse kodeerijale.
  • 9V aku
  • Pistikupesa SO -239 - jootke keskmine tihvt antenni signaalijuhtme külge ja kasutage antenni maandamiseks M3 rõngasterminali ja kruvi

Välkutage järgmine visand Arduinole. Veenduge ka, et olete lisanud Oli Krausi väga hea OLED -draiveriteegi, vastasel juhul kompileerimine jookseb kokku ja põleb:

Kui teie OLED -ekraan on veidi erinev, võib teil olla vaja u8glibis teistsugust konfiguratsiooniseadet; see on Oli näidiskoodis hästi dokumenteeritud.

Samm: pange see kõik kena kasti (valikuline)

Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)
Pange see kõik kena kasti (valikuline)

Kaalusin tõsiselt analüsaatori tühjaks jäämist, kuna seda kasutati tõenäoliselt ainult aeg -ajalt. Mõeldes aga arvasin, et kui ma teen ühe antenniga palju tööd, võib see lõpuks viga saada. Nii et kõik läks karpi. Selle tegemise üksikasjadesse pole mõtet minna, kuna teie kast on tõenäoliselt erinev, kuid mõned põhijooned on mainimist väärt:

1. Kasutage ribaplaadi paigaldamiseks isekleepuvaid trükkplaate. Need teevad elu tõeliselt lihtsaks.

2. Kasutage lühikest USB -adapterijuhet, et tuua Arduino USB -port korpuse tagaküljele. Siis on lihtne pääseda jadapordile, et saada sageduse ja VSWR -i andmeid ning ka Arduino uuesti välgutada ilma kaant maha võtmata.

3. Töötasin välja kohandatud 3D-prinditud osa OLED-ekraani toetamiseks, kuna ma ei leidnud veebist midagi. Sellel on süvend, mis võimaldab hapra ekraani kaitsmiseks sisestada 2 mm akrüülitüki. Seda saab paigaldada kahepoolse teibiga või isekeermestavate kruvidega (mõlemal küljel olevate sakkidega). Kui ekraan on paigaldatud, saate kuuma juhtme abil (mõelge kirjaklamber ja puhurlamp) PLA -tihvtide sulatamiseks trükkplaadi tagaküljele, et kõik kinnitada. Siin on STL -fail kõigile huvilistele:

Samm: kalibreerimine

Kalibreerimine
Kalibreerimine

Algselt ma ei kalibreerinud, kuid avastasin, et VSWR -mõõtur oli pidevalt madal. See tähendas, et kuigi antenn tundus olevat korras, ei suutnud mu platvormi automaatne tuuner sellega sobituda. See probleem tekib seetõttu, et DDS -moodul annab väga madala amplituudiga signaali (umbes 0,5 Vpp sagedusel 3,5 MHz, rullub sageduse kasvades maha). Seetõttu töötavad VSWR silla detektordioodid oma mittelineaarses piirkonnas.

Selleks on kaks võimalikku parandust. Esimene on sobitada lairiba võimendi DDS väljundisse. Potentsiaalselt sobivad seadmed on Hiinast odavalt saadaval ja need suurendavad väljundit umbes 2 V -ni. Olen ühe neist tellinud, kuid pole veel proovinud. Minu tunne on, et isegi see amplituud jääb natuke marginaalseks ja mingi mittelineaarsus jääb alles. Teine meetod on panna olemasoleva arvesti väljundile teadaolevad koormused ja salvestada kuvatav VSWR igal sagedusribal. See võimaldab teil konstrueerida paranduskõverad tegeliku versus teatatud VSWR -i kohta, mille saab seejärel Arduino visandisse lisada, et rakendada käigu pealt parandusi.

Valisin teise meetodi, kuna seda oli lihtne teha. Võtke lihtsalt kätte järgmised takistid: 50, 100, 150 ja 200 oomi. Sellel 50 oomi instrumendil vastavad need definitsiooni järgi VSWR -idele 1, 2, 3 ja 4. Joonisel on lüliti „use_calibration”. Seadke see LOW ja laadige eskiis üles (mis kuvab pritsmeekraanil hoiatuse). Seejärel tehke mõõtmised iga takisti iga sagedusala keskel. Kasutage arvutustabelit, et joonistada oodatav ja kuvatav VSWR. Seejärel saate igale sagedusribale sobitada logaritmilise kõvera, mis annab kordaja ja lõikepunkti kujul TrueVSWR = m.ln (MeasuredVSWR)+c. Need väärtused tuleks laadida kahes viimases veerus massiivi swr_results (vt visandi eelmist kommentaari avaldust). See on kummaline koht nende paigutamiseks, kuid mul oli kiire ja kuna see massiivipood hõljub, tundus see tol ajal mõistlik valik. Seejärel asetage use_calibration lüliti tagasi asendisse HIGH, taaskäivitage Arduino ja sõitke minema.

Pange tähele, et punktsageduse mõõtmisel kasutatakse kalibreerimist riba esialgse valiku jaoks. Seda ei värskendata, kui muudate sagedust järsult.

Nüüd loeb arvesti fikseeritud koormuste puhul ootuspäraselt ja tundub, et see on minu antennide mõõtmisel mõistlik! Ma kahtlustan, et ma ei viitsi seda lairiba -võimendit proovida, kui see saabub …

6. samm: analüsaatori kasutamine

Analüsaatori kasutamine
Analüsaatori kasutamine
Analüsaatori kasutamine
Analüsaatori kasutamine

Ühendage antenn PL-259 juhtme kaudu ja lülitage seade sisse. See kuvab pritsmeekraani ja seejärel pühib automaatselt kõik peamised HF -ribad. Ekraanil kuvatakse testitav sagedus, praegune VSWR näit, minimaalne VSWR näit ja sagedus, millega see esines. Mõõtmismüra vähendamiseks tehakse igas sageduspunktis viis VSWR mõõtmist; nende viie näidu keskmine väärtus lastakse enne lõpliku väärtuse kuvamist sageduse suhtes läbi üheksa punkti libiseva keskmise filtri.

Kui soovite selle kõikide ribade pühkimise peatada, vajutage lihtsalt kodeerimisnuppu. Pühkimine peatub ja kuvatakse kõigi kogutud bändiandmete kokkuvõte (nullid nende ribade jaoks, mida pole veel pühitud). Teine vajutus avab peamenüü. Valikud tehakse, keerates kodeerijat ja seejärel vajutades seda sobivas kohas. Peamenüüs on kolm valikut:

Kõigi ribade pühkimine taaskäivitab kõigi peamiste HF -ribade pühkimise. Kui see on lõpetatud, kuvatakse see ülalkirjeldatud kokkuvõtteekraan. Kirjutage see üles või tehke foto, kui soovite selle alles jätta.

Pühkige üks riba võimaldab teil kodeerijaga valida ühe riba ja seejärel pühkida. Valiku tegemisel kuvatakse nii lainepikkus kui ka sagedusvahemik. Kui pühkimine on lõppenud, kuvatakse kodeerija teisel vajutusel lihtsalt püstitatud riba VSWR versus sagedusgraafik koos numbrilise näidikuga minimaalsest VSWR -st ja selle esinemissagedusest. See on väga mugav, kui soovite teada, kas lühendada või pikendada oma dipoolvarre, kuna see näitab sagedusega VSWR suundumust; see kaotatakse lihtsa numbrilise aruandega.

Üks sagedus võimaldab teil valida ühe fikseeritud sageduse ja seejärel pidevalt uuendada reaalajas antenni häälestamiseks VSWR reaalajas mõõtmist. Esmalt valige sobiv sagedusala; ekraanil kuvatakse seejärel valitud sagedusala keskmine sagedus ja reaalajas VSWR -näit. Siinkohal rakendatakse asjakohast riba kalibreerimist. Üks sageduse numbritest on alla joonitud. Seda saab kodeerijaga vasakule ja paremale liigutada. Koodri vajutamine suurendab joont; siis kodeerija pööramine vähendab või suurendab numbrit (0-9 ilma mähise või kandmiseta). Numbri parandamiseks vajutage uuesti kodeerijat, seejärel minge järgmise juurde. Seda võimalust kasutades pääsete juurde peaaegu igale sagedusele kogu HF -spektris - bändivalik alguses aitab teil jõuda lähedale sinna, kus te tõenäoliselt soovite olla. Siiski on hoiatus: valitud riba kalibreerimine laaditakse alguses. Kui liigute numbrite muutmisega valitud ribast liiga kaugele, muutub kalibreerimine vähem kehtivaks, seega proovige jääda valitud riba piiresse. Kui olete selle režiimi lõpetanud, liigutage alljoont lõpuni paremale, kuni see on väljumise all, seejärel vajutage põhimenüüsse naasmiseks kodeerijat.

Kui ühendate arvuti analüsaatori tagaküljel asuva USB -pesaga (st Arduinoga), saate Arduino jadamonitoriga koguda sageduse ja VSWR -i väärtusi mis tahes pühkimistoimingu ajal (praegu on see seatud 9600 -le, kuid saate seda muuta lihtsalt minu visandit redigeerides). Seejärel saab väärtused panna arvutustabelisse, et saaksite joonistada püsivamaid graafikuid jne.

Ekraanipildil on VSWR -i kokkuvõte minu 7,6 m kalapüügi vertikaalse antenni jaoks, millel on 9: 1 UNUN. Minu seadmesse mahub 3: 1 maksimaalne SWR koos sisemise automaatse häälestusüksusega. Näete, et ma saan seda häälestada kõikidel bändidel, välja arvatud 80 m ja 17 m. Seega saan nüüd lõdvestuda teadmisega, et mul on vastuvõetav mitme ribaga antenn ja ma ei kavatse enamiku bändide edastamisel midagi kallist lõhkuda.

Palju õnne ja loodan, et sellest on teile kasu.

Soovitan: