Sisällysluettelo:

HF -antennianalysaattori Arduinolla ja DDS -moduulilla: 6 vaihetta (kuvilla)
HF -antennianalysaattori Arduinolla ja DDS -moduulilla: 6 vaihetta (kuvilla)

Video: HF -antennianalysaattori Arduinolla ja DDS -moduulilla: 6 vaihetta (kuvilla)

Video: HF -antennianalysaattori Arduinolla ja DDS -moduulilla: 6 vaihetta (kuvilla)
Video: ADX UNO - ADX Arduino Digital Modes HF Transceiver in Arduino Uno shield format! 2024, Marraskuu
Anonim
HF -antennianalysaattori Arduinolla ja DDS -moduulilla
HF -antennianalysaattori Arduinolla ja DDS -moduulilla
HF -antennianalysaattori Arduinolla ja DDS -moduulilla
HF -antennianalysaattori Arduinolla ja DDS -moduulilla

Hei

Tässä ohjeessa näytän sinulle, kuinka rakensin edullisen antennianalysaattorin, joka voi mitata antennin ja näyttää sen VSWR: n minkä tahansa tai kaikkien HF-taajuusalueiden yli. Se löytää vähimmäis-VSWR: n ja vastaavan taajuuden kullekin kaistalle, mutta näyttää myös reaaliaikaisen VSWR: n käyttäjän valitsemalle taajuudelle antennin säädön helpottamiseksi. Jos lakaistaan vain yksi taajuuskaista, se näyttää kaavion VSWR -taajuudesta. Sen takana on myös USB-portti taajuuden ja VSWR-datan lähettämistä varten, mikä mahdollistaa tarkemman kuvaajan piirtämisen tietokoneella. USB -porttia voidaan käyttää myös laiteohjelmiston päivittämiseen tarvittaessa.

Aloitin äskettäin amatööriradion (koska pidin ajatuksesta vertaisviestinnästä valtavilla etäisyyksillä ilman infrastruktuuria) ja tein nopeasti seuraavat havainnot:

1. Kaikki minua kiinnostava maailmanlaajuinen viestintä tapahtuu HF-taajuuksilla (3-30 MHz)

2. HF-lähetinvastaanottimet ovat erittäin kalliita ja rikkoutuvat, jos et aja niitä kohtuullisen hyvin yhteensopivaan antenniin

3. Yleensä odotetaan, että asennat oman HF -antennisi puutarhan poikki langanpätkistä (ellet halua käyttää vielä enemmän rahaa kuin 2: ssa).

4. Antenni saattaa olla huono ottelu, mutta et tiedä sitä ennen kuin kokeilet sitä.

Nyt puristi sanoisi luultavasti, että ensin pitäisi testata antenni erittäin pienellä teholla kiinnostuksen kohteena olevalla taajuudella ja tarkistaa VSWR laitteiston mittarista ottelun laadun arvioimiseksi. Minulla ei todellakaan ole aikaa höpöttää sellaisilla asioilla jokaisella taajuudella, jota voisin käyttää. Halusin todella antennianalysaattorin. Nämä laitteet voivat testata antennin ottelun laadun millä tahansa taajuudella HF -kaistoilla. Valitettavasti ne ovat myös erittäin kalliita, joten ryhdyin miettimään, voisinko tehdä oman. Törmäsin K6BEZin (katso https://www.hamstack.com/project_antenna_analyzer.html) erinomaiseen työhön, joka tutki Arduinon käyttöä halvan suoran digitaalisen syntetisaattorimoduulin (DDS) ohjaamiseen. Pian hän hylkäsi Arduinon kustannussyistä ja mieluummin käytti PIC: tä. No, vuonna 2017 voit ostaa Arduino Nanon noin 3,50 £: lla, joten ajattelin, että on aika tarkastella uudelleen hänen työtään, jatkaa siitä, mihin hän jäi, ja katsoa mitä voisin keksiä (huomaa, että en ole ainoa kuka on tehnyt tämän: Internetistä löytyy erittäin hienoja esimerkkejä).

Päivitys (29.7.2018) - tätä työtä on rakentanut huomattavasti kiinalainen bi3qwq, joka on tehnyt todella hienoja parannuksia käyttöliittymään, jonka hän on ystävällisesti jakanut. Hän on suunnitellut erittäin ammattimaisen piirilevyn (jossa on suuri kalibrointivastuksen ominaisuus) ja tehnyt todella hyvännäköisen rakenteen. Kaiken lisäksi hän on laatinut kaavion, jonka tiedän ilahduttavan monia niistä, jotka ovat kommentoineet aiemmin. Katso lisätietoja kommenttien osiosta.

Päivitys - Olen viime aikoina saavuttanut 60 metriä, jota alkuperäinen luonnos ei kata. Joten nyt olen ladannut laiteohjelmistoversion 7, joka lisää 160 ja 60 metrin kaistat. Nämä eivät ole lisäosia; ne on integroitu täysin analysaattorin toimintaan. Oli onni, että löysin u8glib -fontin, joka oli edelleen luettavissa, mutta salli minun näyttää kymmenen bändiä samanaikaisesti tuolla pienellä näytöllä (vaikka se ei ollut yksitila, mikä aiheutti surua). Olen arvioinut uusien kaistojen kalibrointiarvot olemassa olevien kalibrointiarvojen interpolaation / ekstrapoloinnin perusteella. Tarkistin nämä sitten kiinteillä vastuksilla ja ne antavat melko hyviä tuloksia.

Päivitys - kuten useat ihmiset ovat kysyneet kaavioista, perus Arduino / DDS / VSWR -siltapiiri on suurelta osin muuttumaton K6BEZ: n alkuperäisestä työstä. Tarkista yllä olevasta URL -osoitteesta hänen alkuperäinen kaavionsa, johon perustuin tähän projektiin. Olen lisännyt kooderin, OLED -näytön ja täysin kehitetyn laiteohjelmiston vaivattoman käyttäjäkokemuksen aikaansaamiseksi.

Päivitys - Tämä järjestelmä käyttää erittäin matalajännitteistä DDS -signaalilähdettä yhdessä dioditunnistimia sisältävän resistiivisen sillan kanssa. Näin ollen diodit toimivat epälineaarisilla alueilla, ja ensimmäinen versio tästä järjestelmästä oli aliarvioitu VSWR. Esimerkiksi 16 ohmin tai 160 ohmin impedanssikuorman pitäisi näyttää VSWR noin 3 50 ohmin järjestelmässä; tämä mittari osoitti VSWR: n lähempänä kahta tässä tilanteessa. Siksi tein ohjelmistokalibroinnin käyttämällä tunnettuja kuormia, mikä näyttää olevan tehokas ratkaisu tähän ongelmaan. Tämä on kuvattu tämän ohjeen toiseksi viimeisessä vaiheessa, ja päivitetty luonnos on ladattu.

Päivitys - sisäinen piirtämismahdollisuus lisätty yksittäisiin pyyhkäisyihin, koska se oli liian hyödyllistä jättää pois, varsinkin kun viritettiin antennipituuksia vähimmäis -VSWR: lle: kaavio näyttää heti näkyvän trendin.

Vaihe 1: Osta tavarasi

Tarvitset seuraavat kohteet. Suurimman osan niistä saa halvalla Ebaysta. Kallein yksittäinen tuote oli laatikko, hintaan 10 €! Voi olla mahdollista korvata joitain kohteita (käytin esimerkiksi 47 R: tä 50 R: n sijasta). Diodit olivat melko epätavallisia (minun piti ostaa viisi Italiasta), ja ne olisi syytä korvata helpommin saatavilla olevilla tuotteilla, jos tiedät mitä teet.

  • Arduino Nano
  • DDS-moduuli (DDS AD9850-signaaligeneraattorimoduuli HC-SR08-signaalin siniaaltoaalto 0-40 MHz)
  • 1,3 tuuman i2c OLED -näyttö
  • MCP6002-op-vahvistin (8-nastainen)
  • 2 pois päältä AA143 -diodia
  • Keraamiset kondensaattorit: 2 pois 100 nF, 3 pois 10 nF
  • 1 uF elektrolyyttikondensaattori
  • Vastukset: 3 pois 50 R, 2 pois 10 K, 2 pois 100 K, 2 pois 5 K, 2 pois 648 R
  • 2,54 mm: n ruuviliittimet: 3 pois 2-nastainen, 2 pois 4-nastainen
  • Yksijohtiminen kytkentäjohto
  • 702 tai vastaava kytkentäjohto
  • Stripboard
  • Neliönmuotoinen otsanauha (naaras) Arduinon ja DDS: n kytkemiseen - älä osta pyöreää pistorasiaa vahingossa!
  • SO-239-runkoon kiinnitettävä pistorasia
  • Pyörivä anturi (15 pulssia, 30 pidätintä), jossa on painokytkin ja nuppi
  • Halpa pyörivä anturimoduuli (valinnainen)
  • Projektilaatikko
  • Vaihtokytkin
  • Suorakulmainen mini-usb-USB B -laipioasennusjohto (50 cm)
  • PP3 ja akun pidike / pidike
  • Itsekiinnittyvät PCB-kiinnityspylväät / suojat

Tarvitset myös juotosraudan ja elektroniikkatyökalut. 3D -tulostin ja pylväspora ovat hyödyllisiä kotelolle, vaikka halutessasi voit todennäköisesti koota koko tuotteen stripboardille etkä vaivautua laatikon kanssa.

Luonnollisesti teet tämän työn ja hyödynnät tuloksia omalla vastuullasi.

Vaihe 2: Aseta Stripboard ulos

Aseta Stripboard ulos
Aseta Stripboard ulos
Aseta Stripboard ulos
Aseta Stripboard ulos

Suunnittele, miten aiot järjestää komponentit nauhoituslevylle. Voit joko tehdä sen itse viitaten K6BEZin alkuperäiseen kaavioon (josta puuttuu enkooderi tai näyttö - katso sivu 7, https://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf), tai voit säästää aikaa ja kopioi asetteluni.

Teen nämä asettelut yksinkertaisella tavalla käyttämällä neliöpaperia ja lyijykynää. Jokainen risteys edustaa stripboard -reikää. Kuparikiskot kulkevat vaakasuoraan. Risti edustaa rikkoutunutta telaa (käytä 6 mm: n poraa tai oikeaa työkalua, jos sellainen on). Ympyrät, joiden ympärillä on laatikko, edustavat otsikoita. Suuret ruuveilla varustetut laatikot osoittavat liitinlohkoja. Huomaa, että kaaviossa on ylimääräinen viiva, joka kulkee vaakasuoraan levyn keskellä. Jätä tämä pois, kun laitat sen yhteen (se on merkitty "jätä tämä rivi").

Jotkin osat voivat näyttää oudolta. Tämä johtuu siitä, että suunnittelu kehittyi, kun sain peruslaitteiston toimimaan (varsinkin kun huomasin, että kooderi tarvitsi esimerkiksi laitteiston keskeytyksiä).

Kun juotan komponentteja levylle, käytän Blu-Takia pitämään ne tiukasti paikallaan, kun käännän levyn ympäri jalkojen juottamiseksi.

Yritin minimoida käyttämäni langan määrän kohdistamalla Arduinon ja DDS -moduulin ja yhdistämällä vain nauhoituslevyn avaimen nastat. En silloin ymmärtänyt, että laitteiston keskeytykset, joita tarvitaan kooderin lukemiseen, toimivat vain nastoissa D2 ja D3, joten minun piti siirtää DDS RESET alkuperäisestä D3 -liitännästään hieman johdolla:

DDS NOLLAUS - Arduino D7

DDS SDAT - Arduino D4

DDS FQ. UD - Arduino D5

DDS SCLK - Arduino D6

Arduino D2 ja D3 käytetään anturin tuloihin A & B. D11 käytetään anturikytkimen tuloon. D12: tä ei käytetä, mutta ajattelin tehdä sille joka tapauksessa ruuviliittimen tulevaa laajennusta varten.

Arduino A4 ja A5 tarjoavat SDA & SCL (I2C) -signaalit OLED -näytölle.

Arduino A0 & A1 ottaa tulot VSWR -sillasta (OPAMP: n kautta).

Vaihe 3: Asenna moduulit, liitä oheislaitteet ja Flash -koodi

Asenna moduulit, liitä oheislaitteet ja Flash -koodi
Asenna moduulit, liitä oheislaitteet ja Flash -koodi

Levy kannattaa testata ennen kuin vaivaa kiinnittää se koteloon. Kiinnitä seuraavat komponentit joustavalla langalla levyyn ruuviliittimillä:

  • 1,3 "OLED -näyttö (SDA ja SCL on liitetty Arduino -nastaisiin A4 ja A5; maadoitus ja Vcc menevät tietysti Arduino GND: hen ja +5V)
  • Pyörivä anturi (tämä vaatii maadoituksen, kaksi signaalilinjaa ja kytkentälinjan - sinun on ehkä käännettävä kytkentälinjat ympäri, jos anturi toimii väärin - yhdistä ne Arduinon maahan, D2, D3 ja D11). Huomaa, että prototyyppityötä varten asensin 15/30-anturin KH-XXX-anturimoduulilevyyn, koska paljaiden anturien nastat ovat hyvin heikkoja. Lopullista työtä varten juotin johdot suoraan anturiin.
  • 9V akku
  • SO -239 -liitin - juota keskitappi antennin signaalilinjaan ja käytä M3 -rengasliitintä ja ruuvia antennin maadoitukseen

Salama seuraava luonnos Arduinolle. Varmista myös, että olet lisännyt Oli Krausin erittäin hyvän OLED -ohjainkirjaston, tai käännös kaatuu ja palaa:

Jos OLED -näyttösi on hieman erilainen, saatat tarvita eri määritysasetuksia u8glibissä; tämä on hyvin dokumentoitu Oli -esimerkkikoodissa.

Vaihe 4: Laita kaikki mukavaan laatikkoon (valinnainen)

Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)
Laita kaikki mukavaan laatikkoon (valinnainen)

Harkitsin vakavasti analysaattorin jättämistä paljaalle levylle, koska sitä käytettiin todennäköisesti vain satunnaisesti. Pohdiskellessani ajattelin kuitenkin, että jos tekisin paljon työtä yhdellä antennilla, se saattaa vahingoittua. Kaikki meni siis laatikkoon. Ei ole mitään syytä mennä yksityiskohtiin siitä, miten tämä tehtiin, koska laatikkosi on todennäköisesti erilainen, mutta joitakin tärkeitä ominaisuuksia on syytä mainita:

1. Käytä itseliimautuvia PCB-suojalevyjä nauhan kiinnittämiseen. Ne tekevät elämästä todella helppoa.

2. Tuo lyhyt USB -sovitinjohto esiin Arduinon USB -portti kotelon takaosaan. Silloin on helppo käyttää sarjaporttia taajuuden ja VSWR -datan hankkimiseksi ja myös Arduinon väläyttämiseksi ottamatta kansi pois.

3. Kehitin mukautetun 3D-tulostetun osan OLED-näytön tueksi, koska en löytänyt mitään verkosta. Tässä on syvennys, johon voi lisätä 2 mm: n akryylipalan hauraan näytön suojaamiseksi. Se voidaan asentaa joko kaksipuolisella teipillä tai itsekelausruuveilla (kielekkeet kummallakin puolella). Kun näyttö on asennettu, voit sulattaa PLA -nastat piirilevyn takaosaan kuumalla langalla (esimerkiksi paperiliittimellä ja puhalluslampulla). Tässä on STL -tiedosto kaikille kiinnostuneille:

Vaihe 5: Kalibrointi

Kalibrointi
Kalibrointi

Alun perin en tehnyt mitään kalibrointia, mutta huomasin, että VSWR -mittari luki jatkuvasti matalaa. Tämä tarkoitti sitä, että vaikka antenni näytti olevan kunnossa, laitteeni automaattinen viritin ei pystynyt vastaamaan siihen. Tämä ongelma syntyy, koska DDS -moduuli antaa erittäin matalan amplitudisignaalin (noin 0,5 Vpp 3,5 MHz: llä, rullaa taajuuden kasvaessa). VSWR-sillan ilmaisindiodit toimivat siksi epälineaarisella alueellaan.

Tähän on kaksi mahdollista korjausta. Ensimmäinen on sovittaa laajakaistavahvistin DDS: n lähtöön. Mahdollisesti sopivia laitteita on saatavana halvalla Kiinasta, ja ne nostavat tehon noin 2 V pp. Olen tilannut yhden näistä, mutta en ole vielä kokeillut sitä. Minusta tuntuu, että jopa tämä amplitudi on hieman marginaalinen ja jonkin verran epälineaarisuutta säilyy. Toinen menetelmä on asettaa tunnetut kuormat olemassa olevan mittarin lähtöön ja tallentaa näytetty VSWR kullekin taajuuskaistalle. Tämän avulla voit rakentaa korjauskäyrät todelliselle ja raportoidulle VSWR: lle, joka voidaan sitten lisätä Arduino -luonnokseen korjauksen tekemiseksi lennossa.

Otin toisen menetelmän käyttöön, koska se oli helppo tehdä. Ota vain seuraavat vastukset: 50, 100, 150 ja 200 ohmia. Tässä 50 ohmin laitteessa ne vastaavat määritelmän mukaan VSWR -arvoja 1, 2, 3 ja 4. Luonnoksessa on kytkin "use_calibration". Aseta tämä asentoon LOW ja lataa luonnos (joka näyttää varoituksen aloitusnäytössä). Suorita sitten mittaukset kunkin taajuuskaistan keskellä kullekin vastukselle. Piirrä laskentataulukon avulla odotettu ja näytetty VSWR. Voit sitten tehdä logaritmisen käyrän sovituksen jokaiselle taajuuskaistalle, joka antaa kertojan ja leikkauksen muodossa TrueVSWR = m.ln (MeasuredVSWR)+c. Nämä arvot on ladattava kahden viimeisen sarakkeen swr_results -matriisiin (katso luonnoksen edellinen kommentti). Tämä on outo paikka laittaa ne, mutta minulla oli kiire ja koska tämä sarja tallentaa kelluu, se tuntui järkevältä valinnalta tuolloin. Aseta sitten use_calibration -kytkin takaisin HIGH -asentoon, sytytä Arduino ja lähde liikkeelle.

Huomaa, että pistetaajuuden mittauksissa kalibrointi suoritetaan kaistan ensimmäiselle valinnalle. Tätä ei päivitetä, jos teet suuria muutoksia taajuuteen.

Nyt mittari lukee odotetusti kiinteille kuormille ja näyttää järkevältä antenneja mitattaessa! Epäilen, etten ehkä vaivaudu kokeilemaan sitä laajakaistavahvistinta, kun se saapuu…

Vaihe 6: Analysaattorin käyttäminen

Analysaattorin käyttäminen
Analysaattorin käyttäminen
Analysaattorin käyttäminen
Analysaattorin käyttäminen

Liitä antenni PL-259-johdon kautta ja kytke laite päälle. Se näyttää aloitusnäytön ja pyyhkäisee automaattisesti kaikki tärkeimmät HF -kaistat. Näytössä näkyy testattava taajuus, nykyinen VSWR -lukema, vähimmäis -VSWR -lukema ja taajuus, jolla se esiintyi. Mittauskohinan vähentämiseksi VSWR: stä otetaan viisi mittausta jokaisella taajuuspisteellä; näiden viiden lukeman keskiarvo johdetaan sitten yhdeksän pisteen liukuvan keskiarvon suodattimen taajuuden suhteen ennen lopullisen arvon näyttämistä.

Jos haluat lopettaa tämän kaikkien kaistojen pyyhkäisyn, paina vain anturin nuppia. Pyyhkäisy pysähtyy ja yhteenveto kaikista kerätyistä kaistan tiedoista näytetään (nolla -arvot niille kaistoille, joita ei ole vielä pyyhitty). Toinen painallus tuo esiin päävalikon. Valinnat tehdään kääntämällä anturia ja painamalla sitä sitten oikeassa kohdassa. Päävalikossa on kolme vaihtoehtoa:

Pyyhkäise kaikki kaistat käynnistää kaikkien tärkeimpien HF -kaistojen pyyhkäisyn. Kun se on valmis, se näyttää yllä kuvatun yhteenvetonäytön. Kirjoita tämä muistiin tai ota valokuva, jos haluat säilyttää sen.

Pyyhkäise yhden kaistan avulla voit valita yhden kaistan kooderilla ja pyyhkäistä sen. Sekä aallonpituus että taajuusalue näytetään valinnan aikana. Kun pyyhkäisy on päättynyt, kooderin toinen painallus näyttää yksinkertaisen VSWR -taajuuskaavion juuri pyyhkäistyltä kaistalta, jossa on numeerinen ilmoitus vähimmäis -VSWR: stä ja sen esiintymistiheydestä. Tämä on erittäin kätevää, jos haluat tietää, haluatko lyhentää vai pidentää dipolivarsiasi, koska se osoittaa VSWR -trendin taajuudella; tämä häviää yksinkertaisella numeerisella raportilla.

Yhden taajuuden avulla voit valita yhden kiinteän taajuuden ja päivittää sitten jatkuvasti reaaliaikaisen VSWR -mittauksen antennin viritystä varten. Valitse ensin asianmukainen taajuusalue; näytössä näkyy sitten valitun kaistan keskitaajuus ja live VSWR -lukema. Asiaankuuluvaa kaistan kalibrointia sovelletaan tässä vaiheessa. Yksi taajuuden numeroista alleviivataan. Sitä voidaan siirtää vasemmalle ja oikealle anturilla. Enkooderin painaminen vahvistaa linjaa; sitten anturin kääntäminen pienentää tai lisää numeroa (0-9 ilman käärettä tai kantoa). Korjaa numero painamalla kooderia uudelleen ja siirry seuraavaan. Voit käyttää melkein mitä tahansa taajuutta koko HF -spektrillä käyttämällä tätä toimintoa - kaistan valinta alussa auttaa vain pääsemään lähelle sitä, missä haluat olla. On kuitenkin varoitus: valitun kaistan kalibrointi ladataan alussa. Jos siirryt liian kauas valitusta kaistasta muuttamalla numeroita, kalibrointi ei enää päde, joten yritä pysyä valitulla kaistalla. Kun olet lopettanut tämän tilan, siirrä alaviiva kokonaan oikealle, kunnes se on 'exit' -kohdassa, ja paina sitten kooderia palataksesi päävalikkoon.

Jos liität tietokoneesi analysaattorin takana olevaan USB -liitäntään (eli Arduinoon), voit käyttää Arduino -sarjamonitoria taajuuden ja VSWR -arvojen keräämiseen minkä tahansa pyyhkäisyn aikana (sen arvo on tällä hetkellä 9600, mutta voit muuttaa helposti muokkaamalla luonnostani). Arvot voidaan sitten laittaa laskentataulukkoon, jotta voit piirtää pysyvämpiä kaavioita jne.

Kuvakaappaus näyttää VSWR -yhteenvedon 7,6 m: n kalastusnapa -pystysuunta -antennistani, jossa on 9: 1 UNUN. Laitteeseeni mahtuu enintään 3: 1 SWR sisäisellä automaattisella viritinyksiköllä. Näet, että voin virittää sen kaikille kaistoille paitsi 80 m ja 17 m. Joten nyt voin rentoutua tietäen, että minulla on kelvollinen monikaista-antenni, enkä aio rikkoa mitään kallista, kun lähetän useimmille kaistoille.

Onnea matkaan ja toivon, että tästä on sinulle hyötyä.

Suositeltava: