Taula de continguts:

Analitzador d'antena HF amb mòdul Arduino i DDS: 6 passos (amb imatges)
Analitzador d'antena HF amb mòdul Arduino i DDS: 6 passos (amb imatges)

Vídeo: Analitzador d'antena HF amb mòdul Arduino i DDS: 6 passos (amb imatges)

Vídeo: Analitzador d'antena HF amb mòdul Arduino i DDS: 6 passos (amb imatges)
Vídeo: VU2SPF UNIVERSAL TFT сенсорный контроллер 24 сентября 2017 г. 2024, Juliol
Anonim
Analitzador d'antena HF amb mòdul Arduino i DDS
Analitzador d'antena HF amb mòdul Arduino i DDS
Analitzador d'antena HF amb mòdul Arduino i DDS
Analitzador d'antena HF amb mòdul Arduino i DDS

Hola

En aquest instructiu us mostraré com he construït un analitzador d'antena de baix cost que pot mesurar una antena i mostrar-ne el VSWR sobre qualsevol o totes les bandes de freqüència HF. Trobarà el VSWR mínim i la freqüència corresponent per a cada banda, però també mostrarà un VSWR en temps real per a una freqüència seleccionada per l'usuari per facilitar l'ajust de l'antena. Si es barreja una sola banda de freqüència, es mostrarà un gràfic de VSWR versus freqüència. També té un port USB a la part posterior per a la sortida de dades de freqüència i VSWR, per permetre un traçat gràfic més refinat en un PC. El port USB també es pot utilitzar per tornar a projectar el firmware si cal.

Fa poc vaig entrar a la ràdio amateur (perquè m’agradava la idea de comunicació entre iguals a distàncies enormes sense infraestructura) i vaig fer ràpidament les següents observacions:

1. Totes les comunicacions mundials que m'interessaven tenen lloc a les bandes HF (3-30 MHz)

2. Els transceptors HF són molt cars i es trenquen si no els conduïu a una antena raonablement ben adaptada

3. Generalment, s’espera que prepareu la vostra pròpia antena HF a partir de trossos de fil que s’enfilen pel jardí (tret que vulgueu gastar encara més diners del que heu gastat en 2).

4. Pot ser que la vostra antena no coincideixi, però no ho sabreu fins que la proveu.

Ara, un purista probablement diria que primer s’hauria de provar l’antena amb una potència molt baixa a la freqüència d’interès i comprovar el VSWR del mesurador de la plataforma per avaluar la qualitat del partit. En realitat, no tinc temps per fer mofes amb aquest tipus de coses per a cada freqüència que potser voldria fer servir. El que realment volia era un analitzador d'antena. Aquests dispositius poden provar la qualitat de la coincidència de l'antena a qualsevol freqüència a través de les bandes HF. Malauradament, també són molt cars, així que em vaig plantejar si podia fer-ne la meva. Vaig ensopegar amb l’excel·lent treball realitzat per K6BEZ (vegeu https://www.hamstack.com/project_antenna_analyzer.html), que va investigar l’ús d’un Arduino per controlar un mòdul de sintetitzador digital directe (DDS) barat. Aviat va abandonar l'Arduino per motius de cost, preferint utilitzar un PIC. Bé, el 2017 podeu comprar un Arduino Nano per uns 3,50 £, de manera que vaig pensar que era hora de tornar a revisar el seu treball, recollir allà on el deixava i veure amb què em podia arribar (tingueu en compte que no sóc l’únic qui ho ha fet: hi ha alguns exemples molt agradables a Internet).

Actualització (29/7/2018): aquest treball ha estat construït considerablement per bi3qwq, de la Xina, que ha fet algunes millores molt bones a la interfície d'usuari, que ha compartit amablement. Ha dissenyat un PCB molt professional (amb una gran funció de resistència de calibratge) i ha realitzat una versió molt atractiva. Per acabar-ho d’adobar, ha preparat un esquema, que sé que farà les delícies de molts dels que han comentat anteriorment. Consulteu la secció de comentaris per obtenir més informació.

Actualització: recentment he estat entrant en 60 m, que l’esbós original no cobria. Ara he penjat la versió 7 del firmware, que afegeix les bandes de 160 i 60 m. No són complements; estan totalment integrats en el funcionament de l'analitzador. Va ser una sort que pogués trobar un tipus de lletra u8glib que encara fos llegible, però em va permetre mostrar deu bandes simultàniament en aquesta petita pantalla (tot i que no era monoespacial, cosa que va causar un cert dolor). He estimat els valors de calibratge de les noves bandes, basant-me en la interpolació / extrapolació dels valors de calibratge existents. Després els he comprovat amb resistències fixes i donen resultats bastant bons.

Actualització - ja que diverses persones han preguntat sobre esquemes, el circuit bàsic de pont Arduino / DDS / VSWR no es modifica en gran mesura del treball original de K6BEZ. Consulteu l’URL anterior sobre el seu esquema original en què he basat aquest projecte. He afegit un codificador, una pantalla OLED i un microprogramari completament desenvolupat per proporcionar una experiència d’usuari senzilla.

Actualització: aquest sistema utilitza una font de senyal DDS de molt baixa tensió juntament amb un pont resistiu que conté detectors de díodes. Per tant, els díodes funcionen a les seves regions no lineals i la meva primera versió d’aquest sistema tendeix a no llegir VSWR. Com a exemple, una càrrega d'impedància de 16 o 160 ohms hauria de mostrar un VSWR d'aproximadament 3 en un sistema de 50 ohm; aquest mesurador indicava un VSWR més proper a 2 en aquesta situació. Per tant, vaig realitzar un calibratge de programari utilitzant càrregues conegudes que sembla ser una solució eficaç per a aquest problema. Això es descriu al penúltim pas d’aquest instructiu i s’ha penjat un esbós revisat.

Actualització: la funció de gràfics integrats es va afegir a escombrats senzills, ja que era massa útil per deixar de banda, sobretot quan sintonitzeu la longitud de l’antena per a un mínim VSWR: un gràfic us proporciona una tendència visible a l’instant.

Pas 1: compreu les vostres coses

Necessitareu els elements següents. La majoria d’ells es poden obtenir econòmicament a Ebay. L’element més car era la caixa, a prop de 10 lliures. Podria ser possible substituir alguns elements (per exemple, he utilitzat 47 Rs en lloc de 50 Rs). Els díodes eren força inusuals (vaig haver de comprar 5 d’Itàlia) i valdria la pena substituir-los per articles més fàcilment disponibles si sabeu què feu.

  • Arduino Nano
  • Mòdul DDS (mòdul generador de senyal DDS AD9850 HC-SR08 senyal ona quadrada senyal 0-40 MHz)
  • Pantalla OLED i2c d'1,3"
  • Amplificador operatiu MCP6002 (8 pins)
  • 2 de díode AA143
  • Condensadors ceràmics: 2 de 100 nF, 3 de 10 nF
  • 1 condensador electrolític uF
  • Resistències: 3 de 50 R, 2 de 10 K, 2 de 100 K, 2 de 5 K, 2 de 648 R
  • Bloques de terminals de cargol de pas de 2,54 mm: 3 de 2 pins, 2 de 4 pins
  • Cable de connexió d’un nucli
  • 702 o cable de connexió similar
  • Stripboard
  • Tira de capçalera quadrada (femella) per connectar l'Arduino i el DDS: no compreu el material de la presa rodona per error.
  • Socket SO-239 de muntatge en xassís
  • Codificador rotatiu (15 polsos, 30 detencions) amb polsador i botó
  • "Mòdul" de codificador rotatiu barat (opcional)
  • Caixa de projecte
  • Interruptor
  • Cable d'angle recte mini USB a mampara USB B (50 cm)
  • PP3 i clip / suport per a bateria
  • Posts / separadors de muntatge de PCB autoadhesius

També necessitareu un soldador i eines electròniques. Una impressora 3D i un trepant de pilar són útils per al recinte, tot i que, si volíeu, probablement podríeu muntar-ho tot al tauler i no molestar-vos amb una caixa.

Naturalment, empreneu aquest treball i explotareu els resultats generats al vostre propi risc.

Pas 2: col·loqueu el tauler de ratlles

Col·loqueu el Stripboard
Col·loqueu el Stripboard
Col·loqueu el Stripboard
Col·loqueu el Stripboard

Planifiqueu com organitzareu els components al tauler. Podeu fer-ho vosaltres mateixos, referint-vos a l’esquema original de K6BEZ (al qual no hi ha cap codificador ni pantalla). Consulteu la pàgina 7 de https://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf) o podeu estalviar una gran quantitat de temps i copia el meu disseny.

Faig aquests dissenys de manera senzilla, amb paper quadrat i un llapis. Cada intersecció representa un forat de taulers. Les pistes de coure van horitzontalment. Una creu representa una pista trencada (utilitzeu un trepant de 6 mm o l’eina adequada si en teniu). Les línies de cercles amb una caixa al voltant representen capçaleres. Les caixes grans amb cargols indiquen els blocs de connectors. Tingueu en compte que al meu diagrama hi ha una línia addicional que recorre horitzontalment pel centre del tauler. Deixeu-ho fora quan el munteu (està marcat com a "omet aquesta línia").

Alguns dels components poden semblar disposats de manera estranya. Això es deu al fet que el disseny va evolucionar una vegada que el maquinari bàsic funcionava (sobretot quan em vaig adonar que el codificador necessitava interrupcions de maquinari, per exemple).

Quan es solden components al tauler, faig servir Blu-Tak per mantenir-los ferms al seu lloc mentre giro el tauler per soldar les potes.

Vaig intentar minimitzar la quantitat de filferro que he utilitzat alineant l'Arduino i el mòdul DDS i simplement fent servir el tauler de connexions per connectar els pins clau. En aquell moment no em vaig adonar que les interrupcions de maquinari necessàries per llegir el codificador només funcionaven als pins D2 i D3, de manera que vaig haver de moure DDS RESET de la seva connexió D3 original amb una mica de cable:

RESET DDS: Arduino D7

DDS SDAT - Arduino D4

DDS FQ. UD - Arduino D5

DDS SCLK - Arduino D6

Arduino D2 i D3 s’utilitzen per a les entrades del codificador A & B. D11 s’utilitza per a l’entrada del commutador del codificador. El D12 no s’utilitza, però vaig pensar que li faria un terminal de rosca de totes maneres, per a futures expansions.

Arduino A4 i A5 proporcionen els senyals SDA i SCL (I2C) per a la pantalla OLED.

Arduino A0 i A1 prenen les entrades del pont VSWR (a través de l’OPAMP).

Pas 3: instal·leu els mòduls, connecteu els perifèrics i feu flash el codi

Instal·leu els mòduls, connecteu els perifèrics i feu flash el codi
Instal·leu els mòduls, connecteu els perifèrics i feu flash el codi

Val la pena provar el tauler abans de tenir problemes per muntar-lo en un recinte. Connecteu els components següents mitjançant un cable flexible a la placa mitjançant els blocs de terminals de cargol:

  • Pantalla OLED de 1,3 "(SDA i SCL estan connectats al pin A4 i A5 d'Arduino respectivament; la terra i Vcc van a Arduino GND i + 5V, òbviament)
  • Codificador rotatiu (necessita una terra, dues línies de senyal i una línia de commutació; potser haureu de girar les línies de commutació si el codificador funciona de manera incorrecta; connecteu-les a la terra Arduino, D2, D3 i D11 respectivament). Tingueu en compte que per al meu treball de prototipatge he muntat el codificador 15/30 en una placa de mòduls de codificador KH-XXX, ja que els pins dels codificadors nus són molt fràgils. Per a la feina final, vaig soldar cables directament al codificador.
  • Bateria de 9V
  • Socket SO-239: soldeu el pin central a la línia de senyal de l'antena i utilitzeu un terminal d'anell M3 i un cargol per a la terra de l'antena

Feu clic a l'esbós següent a l'Arduino. Assegureu-vos també que heu inclòs la molt bona biblioteca de controladors OLED d’Oli Kraus, ja que la compilació es bloquejarà i es cremarà:

Si la vostra pantalla OLED és lleugerament diferent, és possible que necessiteu una configuració diferent a u8glib; això està ben documentat a l'exemple de codi d'Oli.

Pas 4: poseu-ho tot en una bonica caixa (opcional)

Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)
Posa-ho tot en una bonica caixa (opcional)

Em vaig plantejar seriosament deixar l’analitzador com una placa nua, ja que només era probable que s’utilitzés ocasionalment. En reflexionar, però, vaig pensar que si feia molta feina en una sola antena, podria acabar malmetent-se. Així doncs, tot anava en una caixa. No té sentit aprofundir en els detalls sobre com es va fer això, ja que el vostre quadre probablement serà diferent, però cal destacar algunes funcions clau:

1. Utilitzeu separadors de PCB autoadhesius per muntar el tauler. Fan la vida molt fàcil.

2. Utilitzeu un adaptador USB curt per treure el port USB Arduino a la part posterior del recinte. A continuació, és fàcil accedir al port sèrie per obtenir dades de freqüència i dades VSWR i també tornar a projectar l'Arduino sense treure la tapa.

3. Vaig desenvolupar una part personalitzada impresa en 3D per donar suport a la pantalla OLED, ja que no trobava res al web. Té un rebaix que permet inserir una peça d’acrílic de 2 mm per protegir la fràgil pantalla. Es pot muntar mitjançant cinta de doble cara o cargols autorroscants (amb les pestanyes a banda i banda). Un cop instal·lada la pantalla, podeu utilitzar un cable calent (penseu el clip i el fanal) per fondre els pins PLA a la part posterior de la placa de circuit per assegurar-ho tot. Aquí teniu el fitxer STL per a qualsevol persona interessada:

Pas 5: calibració

Calibratge
Calibratge

Originalment, no feia cap calibratge, però vaig descobrir que el mesurador VSWR era constantment baix. Això significava que, tot i que una antena semblava estar bé, el sintonitzador automàtic del meu equip no era capaç de coincidir-hi. Aquest problema sorgeix perquè el mòdul DDS emet un senyal d'amplitud molt baixa (aproximadament 0,5 Vpp a 3,5 MHz, que es dispara a mesura que augmenta la freqüència). Per tant, els díodes detectors del pont VSWR funcionen a la seva regió no lineal.

Hi ha dues solucions possibles per a això. El primer és ajustar un amplificador de banda ampla a la sortida del DDS. Dispositius potencialment adequats estan disponibles a la Xina a un preu econòmic i augmentaran la producció a uns 2 V pp. N’he demanat un però encara no ho he provat. Tinc la sensació que fins i tot aquesta amplitud serà una mica marginal i es mantindrà una mica de linealitat. El segon mètode consisteix a posar càrregues conegudes a la sortida del comptador existent i enregistrar el VSWR mostrat a cada banda de freqüència. Això us permet construir corbes de correcció per al VSWR real versus el reportat, que després es pot posar a l'esbós d'Arduino per aplicar la correcció sobre la marxa.

Vaig adoptar el segon mètode, ja que era fàcil de fer. Només cal fer-se amb les següents resistències: 50, 100, 150 i 200 ohms. En aquest instrument de 50 ohmis, per definició, es correspondran amb VSWR d’1, 2, 3 i 4. A l'esbós hi ha un commutador "use_calibration". Establiu-lo a BAIX i pengeu l'esbós (que mostrarà un advertiment a la pantalla d'inici). A continuació, realitzeu mesures al centre de cada banda de freqüència per a cada resistència. Utilitzeu un full de càlcul per representar el VSWR esperat i el visualitzat. A continuació, podeu fer un ajust logarítmic de la corba per a cada banda de freqüències, que dóna un multiplicador i una intercepció de la forma TrueVSWR = m.ln (MeasuredVSWR) + c. Aquests valors s'han de carregar a la matriu swr_results de les dues darreres columnes (vegeu la declaració de comentari anterior a l'esbós). Aquest és un lloc estrany per posar-los, però tenia pressa i, ja que aquesta matriu de botigues flota, semblava una elecció sensata en aquell moment. A continuació, torneu a posar el commutador use_calibration a HIGH, torneu a projectar l'Arduino i llest.

Tingueu en compte que en fer les mesures de freqüència puntual, el calibratge s’aplica per a l’elecció inicial de banda. Això no s'actualitzarà si feu canvis greus de freqüència.

Ara el comptador es llegeix com s’esperava per a les càrregues fixes i sembla tenir sentit a l’hora de mesurar les antenes. Sospito que potser no em molestaré a provar aquest amplificador de banda ampla quan arribi …

Pas 6: utilitzar l'analitzador

Ús de l'analitzador
Ús de l'analitzador
Ús de l'analitzador
Ús de l'analitzador

Connecteu una antena mitjançant un cable PL-259 i engegueu el dispositiu. Es mostrarà una pantalla d'inici i, a continuació, realitzarà automàticament un escombrat de totes les bandes HF principals. La pantalla mostra la freqüència sotmesa a prova, la lectura actual de VSWR, la lectura mínima de VSWR i la freqüència amb què s’ha produït. Per reduir el soroll de la mesura, es prenen cinc mesures de VSWR a cada punt de freqüència; el valor mitjà d’aquestes cinc lectures es passa a través d’un filtre mitjà mòbil de nou punts respecte a la freqüència abans que es mostri el valor final.

Si voleu aturar aquest escombrat de totes les bandes, només heu de prémer el comandament del codificador. L'escombratge s'aturarà i es mostrarà un resum de totes les dades de les bandes recollides (amb valors nuls per a les bandes que encara no s'han escombrat). Una segona pulsació mostrarà el menú principal. Les opcions es fan girant el codificador i després pressionant-lo al punt adequat. Hi ha tres opcions al menú principal:

Escombrar totes les bandes reiniciarà l’escombrat de totes les bandes HF principals. Quan acabi, mostrarà la pantalla de resum descrita anteriorment. Escriviu això o feu una foto si voleu conservar-la.

Escombrar una sola banda us permetrà seleccionar una sola banda amb el codificador i després escombrar-la. Tant la longitud d'ona com el rang de freqüència es mostren mentre es fa la selecció. Quan hagi finalitzat l'escombrat, una segona pulsació del codificador mostrarà un gràfic VSWR simple contra la freqüència de la banda que acaba d'escombrar, amb una indicació numèrica del VSWR mínim i de la freqüència que s'ha produït. Això és molt útil si voleu saber si heu d’escurçar o allargar els braços dipolars, ja que mostra la tendència VSWR amb freqüència; això es perd amb el simple informe numèric.

La freqüència única us permet escollir una única freqüència fixa i, a continuació, actualitzeu contínuament una mesura de VSWR en viu, per tal d’afinar l’antena en temps real. Primer seleccioneu la banda de freqüència corresponent; la pantalla mostrarà llavors la freqüència central de la banda escollida i una lectura de VSWR en directe. En aquest punt s’aplica el calibratge de banda corresponent. Es subratllarà un dels dígits de la freqüència. Es pot moure cap a l'esquerra i cap a la dreta amb el codificador. En prémer el codificador, la línia s’enforteix; al girar el codificador es reduirà o augmentarà el dígit (0-9 sense embolcall ni transport). Torneu a prémer el codificador per fixar el dígit i, a continuació, aneu al següent. Podeu accedir a gairebé qualsevol freqüència de tot l’espectre d’alta freqüència mitjançant aquesta funció: la selecció de banda al principi només us ajuda a apropar-vos allà on probablement vulgueu estar. Hi ha una advertència: el calibratge de la banda seleccionada es carrega a l’inici. Si us allunyeu massa de la banda seleccionada canviant els dígits, el calibratge serà menys vàlid, així que intenteu mantenir-vos dins de la banda escollida. Quan hàgiu acabat amb aquest mode, moveu el subratllat fins a la dreta fins que es trobi a "sortir" i, a continuació, premeu el codificador per tornar al menú principal.

Si connecteu l'ordinador a la presa USB de la part posterior de l'analitzador (és a dir, a l'Arduino), podeu utilitzar el monitor sèrie Arduino per recollir els valors de freqüència i VSWR durant qualsevol operació d'escombratge (actualment està configurat a 9600, però podeu canviar-lo) editant el meu esbós fàcilment). Els valors es poden introduir en un full de càlcul perquè pugueu traçar gràfics més permanents, etc.

A la captura de pantalla es mostra el resum VSWR de la meva antena vertical de pal de pesca de 7,6 m amb UNUN 9: 1. El meu equip pot allotjar un SWR màxim de 3: 1 amb la seva unitat de sintonitzador automàtic intern. Podeu veure que el podré afinar sobre totes les bandes excepte els 80 i els 17 m. Així que ara puc relaxar-me sabent que tinc una antena multibanda transitable i que no trencaré res car en transmetre a la majoria de bandes.

Bona sort i espero que us sigui útil.

Recomanat: