A NanoVNA analizátor

A közelmúltig nem létezett olcsón beszerezhető VNA (Vector Network Analyzer). Akik tudták, hogy ez micsoda és mire használható, azok sem tudtak olcsón hozzájutni ilyen készülékhez. Aztán megjelentek a már elérhető példányok 250$ (hetven-nyolcvanezer) forint körüli értékben. Ekkor kezdett el egy Edy555 becenévre hallgató Japán amatőr fejleszteni egy 50$ árkategóriába eső, nyílt forráskódú kis hálózati analizátort. Évekig árulta, aztán egy időre felhagyott vele. Ekkor jöttek a képbe az élelmes kínaiak.

Edy555 eredeti projektjét kisebb változtatásokkal, de lényegében szinte ugyanolyan formába dobták piacra. A kezdeti félelmek után végül elkezdődött a vásárlás. És ezzel párhuzamosan rengeteg kínai kereskedő elkezdte a saját verzióját különböző minőségekben árulni.

Az utóbbi fél évben megadatott nekem, hogy megvizsgálhassak három különböző kereskedőtől származó (egymástól némileg eltérő minőségű) ilyen kis NanoVNA-t. Az alábbiakban írom le az ezekkel kapcsolatos tapasztalataimat.

Röviden nézzük át, mire használható egy ilyen készülék!

Az RF hálózati analizátor a rádiótechnikai fejlesztő műhelyek, laborok, gyárak és szolgáltatók alapvető vizsgáló műszere. Ezek a készülékek képesek alapvető betekintést adni bármilyen összetett kettő, illetve négypólus áramkör működésébe. Kétpólus például egy antenna, négypólus például egy rádiófrekvenciás szűrő (pl. KF-szűrő).

Ezt olyan módon tudja elérni, hogy egy változtatható frekvenciájú (manapság DDS) jelgenerátorral stimulálja, gerjeszti a hálózatot és annak kimenetén figyeli a választ. A válaszfüggvényt (pl. SWR-görbe az antenna esetében) aztán megjeleníti valamilyen kijelzőn.

Először gyorsan és felületesen tekintsük át a készülék felépítését és működését azért, hogy jobban érthetők legyenek a technikai részletek! Az áramkör kapcsolási rajza némelyik felhasználói leírás alján megtalálható. Én e cikk alján mellékeltem letölthető PDF formában az összes felhasznált chip adatlapjával együtt.

A készüléknek két SMA-anya csatlakozóval ellátott portja van. Az egyik (CH0 ami a rajzon TX) kettős funkciót lát el. A csatlakozó egy 50 ohmos (R10…R12) SMD ellenállásokból álló híd egyik ellenállása helyére van kötve. Ez a híd R9 ellenállásának kapcsain a kiegyenlítetlenségével arányos jelet szolgáltat az U7 jelű SA612 (más gyártónál NE612) népszerű Gilbert-cellás kiegyenlített keverőnek. Ez a keverő a saját beépített oszcillátorát nem használja, hanem számára egy külső Si5351A-B-GT DDS IC szolgáltat órajelet. Ezt az órajelet hangolja folyamatosan pásztázva az általunk beállított frekvenciatartományok (50kHz…900MHz) közt a készülék agyát, lelkét jelentő STM32F072CBT6 mikrovezérlő. Ez figyelemre méltó képességekkel rendelkezik. Amellett, hogy olcsó, viszonylag nagy memóriája és magas órajele van. A keverő által kikevert hangfrekvenciás tartományba eső eredő jel jut az U9 jelű TLV320AIC3204IRHBR precíziós hang kódoló-dekódoló chip 20-as és 21-es lábaira. A híd kiegyenlítetlensége az itt digitalizált hang amplitúdójával arányos. Ez a DSP chip nagy dinamikájú és precíziós A/D és D/A áramköröket tartalmaz. A digitalizált hang az IC 5-ös lábán kimegy és bejut a mikrovezérlő 28-as lábára (I2S_DOUT). A mikrovezérlő, mint központi számítógép egy ChibiOS nevű, direkt ilyen kategóriájú vezérlőkre fejlesztett operációs rendszert futtat. Ezen az operációs rendszeren csak egy alkalmazás a NanoVNA-t működtető, C++ nyelven írt program! Elvileg más alkalmazások is futhatnának (ha lennének) a készüléken hasonlóan, ahogy – szemléletes példával élve - egy mai okos telefonon is, az Android alatt… Vagy a PC-nken a Windows 7 alatt…

Ez a mikrovezérlő számolja ki és jeleníti meg az LCD érintőképernyőn a grafikonokat. És ő kommunikál a számítógépünkkel az USB-porton keresztül, soros kommunikációval.

Az áramkörben három SA612 keverő is van. Az U6 jelű csupán egy referencia jelet szolgáltat a számításokhoz. Az U8 jelű SA612 pedig a (készülék borításán CH1 feliratú) az RX port, ami négypólus esetén a TX kimenet gerjesztésére adott válaszjelet hivatott keverés után, hangfrekvenciás jelként a DSP 13 és 14 jelű lábaira eljuttatni. Az RX-port először egy csillapító négypólusra jut, ami biztonságosan kezelhető szintre korlátozza a TX-port viszonylag nagy jelét.

Négypólusok két gyakori vizsgálati eljárása az elválasztás és az átvitel mérése.

A készülék több féle USB-csatlakozóval is gyártásra került már. A legújabbak USB C szabványúak. Vannak olyan kereskedők, akik már eleve beépített akkumulátorral szállítják a terméküket. Másoknál ezt külön jó pénzér kell megvenni. Az akku általában 3,7V 350mAh kapacitású Li-PO fajta. A tapasztalatom szerint egy ilyen akkuval kb. 45 percig működik a műszer. A bekapcsoló gomb mellett van két LED. A kék a tápfeszültség meglétét és/vagy az akku állapotát jelzi. Ha villog, az akkut tölteni kell! Az USB portról táplálva a kék LED folyamatosan világít. Ha akkut használunk, a kikapcsolás után még pár másodpercig folyamatosan, kéken világít még kb. 50 másodpercig, majd kialszik.

A piros LED a processzor működését jelzi. A számítási mechanizmus ismertetésébe most nem merülök bele. Nem kell ismernünk ahhoz, hogy használhassuk a készüléket.

Az akku töltését, kisütésének védelmét, túláram-védelmét egy IP5303 feszültség szabájzó chip végzi. Ha utólagosan vásárlunk akkut, azt a készülék paneljén a BAT. feliratú hely + és – pontjaira kell forrasztani (piros vezeték a +!)

A működés az érintő képernyőn és egy speciális, a műszer oldalán található három állapotú kapcsolón keresztül befolyásolható. A három állapot az egyik végállás, a másik végállás és a megnyomás közép állásban.

Az eredeti Japán nyákterven az USB csatlakozó oldalt volt. Az új, kínai konstrukciónál a tetején van, ami még szerencsétlenebb választás volt szerintem. A legjobb helyen lent lenne…

A legjobb kereskedő akitől én is rendeltem a VNA-t, USB-C-vel, fém távtartókkal, beépített árnyékoló borításokkal, mellékelt SMA-csatlakozós kábelekkel, műanyag dobozzal, USB-kábellel, firmware frissítéssel szállította! A leg rosszabb kereskedés kizárólag a készüléket és a kalibrációs készlet három bigyókáját szállította pufi-zacskóba tekerve régi, hibás firmware-el és műanyag távtartós borítással, árnyékolások nélkül! És ami a legszebb, ugyanazért az árért!

Nem ejtettem szót még a kalibrációs készletről. Ez három, az SMA-portokra tekerhető kis dugó. Az egyik szakadás (nincs középső tüske, csak egy lyuk). A másik a rövidzár (egyetlen fém tömb a közepén a tüskével). A harmadik az 50 ohmos műterhelés, SMD ellenállásokból. Ez utóbbi három különböző szállítmánynál három különböző érték volt. Az egyiknél 83 ohm volt az 50 helyett! A legjobb 49 ohm volt. A háromból kettő néhány használat után tönkrement. Jó pénzér persze rendelhető ez is, de csinálni olcsóbb, egyszerűbb és megbízhatóbb…

Én csináltam magamnak egyet egy SMA aljzaton. Az legalább 50 ohm lett és nem romlott el sok kalibrálás után sem.

A silányabb minőségű NanoVNA verzióknál esetenként nincs semmi árnyékolva (!), és az LCD kijelző panel lötyög a használat során. Egy ilyennél a kijelzőt parányi mennyiségű, összegyűrt nejlonzacskóval kitámasztottam. Sokkal jobb lett.

Másik silányabb minőségek esetén pedig nem volt rendesen az USB-port beforrasztva. Sőt az SMA csatlakozók sem voltak a nyákok mindkét oldalán beforrasztva rendesen. Ezt könnyű volt orvosolni a műanyag távtartók műanyag csavarjainak kicsavarása és a fedlap eltávolítása után. A visszacsavarozás viszont kínszenvedés volt.

Ezért Távol-keletről történő rendelés előtt alaposan nézzük meg a fotókat! Amit lehet, derítsünk ki a kiszemelt termékről!

A kalibrálás mechanizmusának leírását Magyar nyelven mellékeltem. Normális használati útmutatóval még nem találkoztam. Az érintő kijelző panel eléggé kicsi, ezért én ha nincs más, egy szál megfaragott családi gyufaszállal szoktam kezelni. A beállítások menüje a képernyő jobb oldalán érintve jön elő. Ha frekvenciát kellene beírnunk (pl. a Stimulus menüpontban), akkor az alul megjelenő aktuális számértéket mutató fehér sáv jobb szélét megérintve csalogathatjuk elő a numerikus billentyűzetet. A balra mutató törlő gomb csak az újabb firmware esetén működik. A régieknél sajnos hatástalan. Ott téves beírás esetén kilépve újra be kell írni. Kilépni viszont csak úgy lehet, ha az M (MHz) vagy a k (kilo) betűket megnyomjuk!

Mint említettem, a vezérlő programot a ChibiOS operációs rendszer futtatja, amivel USB-porton keresztül egy terminál-emulátorral tudunk kommunikálni. Ez nem tévesztendő össze azzal, amikor külső, USB-porton keresztüli számítógéppel vezérelt méréseket végzünk. A terminál emulátor szöveges módban működik, szavakat, mondatokat küldhetünk a műszernek és fogadhatunk is attól. Ennek menete a következő.

Csatlakoztatjuk az USB-kábellel a VNA-t a számítógépünkhöz. Kinyomozzuk, hogy mi a kapott port neve (pl. COM2).

Felcsatlakozunk a terminál emulátorral a kiderített nevű portra. Azoknak, akiknek van a gépükön Arduino IDE, azok az Eszközök / Soros monitor funkcióval is elérik az eszközt, nem kell másik emulátor. Csak előtte az Eszközök / Port menüben állítsák be a helyes portot! Ilyen program mindegyik jelentősebb operációs rendszerhez letölthető.

Ez után begépeljük a help utasítást és lenyomjuk az Enter gombot. Ekkor az alábbihoz hasonlót ír ki a műszerünk:

ChibiOS/RT Shell

ch> help
Commands: help exit info echo systime threads reset freq offset time dac saveconfig clearconfig data dump frequencies port stat sweep test touchcal touchtest pause resume cal save recall trace marker edelay
ch>

A Command kezdetű sorban a kettőspont után láthatjuk azokat a parancsokat, amiket ezen a felületen kiadhatunk. Adjuk ki az iménti help parancshoz hasonló módon az info parancsot!

Kernel: 4.0.0
Compiler: GCC 5.4.1 20160919
Architecture: ARMv6-M
Core Variant: Cortex-M0
Port Info: Preemption through NMI
Platform: STM32F072xB Entry Level Medium Density devices
Board: NanoVNA
Build time: Aug 2 2019 - 16:40:01

Ekkor leolvasható a rendszer néhány adata.

Az iménti parancsokkal tesztelhető, hogy működik az eszköz és jó az USB kapcsolat (port, kábel… stb.)

Itt ajánlatos rögtön kiadni a touchcal azaz érintőképernyő kalibráló parancsot. Ekkor először kiírja:

first touch upper left, then lower right...” ami annyit jelent, hogy „Először érintsd meg a bal fölső, majd a jobb alsó sarkot!”

Engedelmeskedjünk a felszólításnak és ezáltal a képernyő pontosabban lesz majd vezérelhető, nem fogunk olyan gombokat nyomkodni, amiket nem is akartunk!

Az internetről letölthető az összes lényeges program, dokumentum, firmware.

A NanoVNA készülékhez létezik több firmware (működtető rendszer). Ezek a nevükben szereplő dátum és betűk alapján azonosíthatók be. Az "AA" betűpáros azt jelenti, hogy a rendszer Antenna Analizátor üzemmótra van optimalizálva. Kevesebb markert és kevesebb grafikont tartalmaz. Én magam mégy egyszer sem próbáltam ki, csak olvastam róla! Létezik 1,5GHz határfrekvenciát is tudó Firmware, de itt a pontosság már erősen megkérdőjelezhető. Rezonancia frekvenciák keresésére még azért használható szerintem,  de számszerű mérésekre már nem annyira.

Köztük a Nanovna.exe 1.0.3 verziójú program, amivel a VNA-t vezérelhetjük a PC-ről, Windows-ból. Erről nem ejtek több szót, a program felülete magáért beszél. A korábbi 1.0.1-es verzióval ne fáradozzunk! Nem működik rendesen.

A használat során a gyakrabban eszközölt beállítások elmenthetők a Recall Save menüpontból. Itt öt memóriahely közül választhatunk. A 0. hely a bekapcsoláskor automatikusan töltődik be. Ha másik elmentettet akarunk használni, a Recall menüpont alól tudjuk behozni. Az így betöltött beállítás a kikapcsolás során elfelejtődik és a következő bekapcsolásnál ismét a 0. rekesz tartalma töltődik be. Ha ismét a nem 0. rekeszbeli beállítást akarjuk használni, ismét a Recall menüből kell azt betöltenünk. A rekeszekben tárolt beállítások a kikapcsolásokkal nem vesznek el! Ezekbe a rekeszekbe a Save menüvel tárolhatjuk el a beállításokat. Ilyenkor nem csak a frekvenciatartományok tárolódnak, hanem minden egyéb úgymint a megjelenítés módja (pl. SWR, vagy Smith diagramm… stb), a markerek és a kalibrációs paraméterek. A megfelelő pontosság érdekében minden tartomány mentése előtt kalibráljunk (Cal menüpont) újra! Ugyanis ha az 50kHz-900MHz tartományhoz kalibrálunk, és aztán módosítjuk a tartományt a 6,9MHz-7,3MHz értékekre, a korábban kalibrált szélesebb tartományra vonatkozó érték már nem lesz megfelelően pontosak a szűkebb tartományhoz!

Én a 0. rekeszbe a 3,4MHz-50MHz tartományt tettem. Öt memóriarekesz van, tehát öt különböző beállítási eset menthető el tartósan egymás mellé. Lehet például az egyesbe a 80 méteres, a kettesbe a 40 méteres, a hármasba a 20 méteres, a négyesbe a 2 méteres és az ötösbe a 70 centis sáv SWR mérésre eltárolva… Az 50kHz…900MHz tartományban nem lehet eléggé pontosan leolvasni az értékeket, csak annyira közelítően, hogy majd rá tudjunk nagyítani egy másik, kisebb tartomány megadásával és újra kalibrálással. Ha valaki nem akar túl pontos értékeket kapni, annak persze elég csak a legszélesebb tartománynál kalibrálni…

A VNA használható GDO módban is, ha a CH0 bemenetre egy megfelelő értékű, néhány menetes tekercset csatlakoztatunk. Azt a mérendő rezgőkör közelébe téve a Logmag ábra esetén szépen leolvasható a rezonancia frekvencia sőt, ha több is van, akkor mindegyik… A megfelelő tekercs induktivitás érték szerintem az, hogy a vizsgált tartományban tetszőlegesen 2 kiloohm alatt és 10 ohm fölött legyen a tekercs impedanciája ! Persze az ideális az, ha a keresett rezonancia frekvencián 50 ohm. A használható képlet L=XL/(2*PI*F) ahol a PI=3.1415, az F a frekvencia és az XL a kívánt impedancia az adott F frekvenciánál. Persze kísérletileg is meghatározható a kényelmes érték.

Frekvencia mérésére ez az eszköz így nem használható. Frekvencia generátornak viszont igen, ha a menüjén a Stimulus / CW Freq menüpontot választjuk. Ilyenkor azt a frekvenciát adja, ahol a kurzor a kis képernyőjén áll, és amilyen frekvenciát kiír a jobb felső sarokba. A kimeneten viszont kizárólag négyszögjelet szolgáltat!

Tudnunk kell, hogy ez a készülék olyan DDS IC-t használ, ami csak 300MHz-ig tud felmenni. A műszerünk ennek ellenére mégis tud egészen 900 MHz-ig mérni úgy, hogy a felharmonikusokat használja. Ezt azért tudja főként megtenni, mert a híd táplálása mindig négyszögjellel történik! Ez ötletes megoldás, de majd tartsuk észben, hogy egyes vizsgálatok szerint 300MHz-ig a legkisebb még mérhető szint a -70dB és 300MHz fölött a -40dB…-30dB. Mivel az esetek többségében az embereket az SWR érdekli főként, ezért ez a pontosság teljesen megfelel. Ennyi pénzér ne akarjunk olyan szolgáltatásokat kapni, amikre esetleg csak a több milliós csodák képesek! Időközben napvilágot láttak olyan firmware-k, amelyek 900MHz fölé is mennek. Én még nem tettem rá ilyet magamnak a VNA-mra, így tapasztalatom nincs róla.

A műszer a méréskor meghülyül, ha a helyszín közelében, ahol használjuk azt, valaki forgalmaz (pl. rádióklubban, kitelepülésnél), vagy az asztalon ott van mellette a mobiltelefon! Ilyenkor az adás frekvenciáján pozitív tüske jelenik meg. Igen, ez némileg használható lenne frekvencia mérésére, de arra én jobbnak tartom a direkt erre a célra készített frekvenciamérő használatát. Nagy térerő esetleg könnyen tönkreteheti az SA612 bemeneteket… Gyenge térerőnél persze nincsen veszély, és akkor még látni is a zavaró jelet.

A készülék nagy gyöngéje volt, hogy noha a hardver kész volt a használatra, nem volt hozzá használható PC-oldali vezérlőprogram. Volt Windows-ra egy Nanovna.exe 1.0.1 változat, ami nem működött, valamint Python futtató környezetre volt olyan, ami nagyon „felhasználóbarátságtalan” volt. Mára az előzőből már letölthető az 1.0.3 verzió, ami jól használható. Mivel ez .NET (ejtsd dotnet) alapú, ezért a Windows-on az ingyenesen letölthető .NET Framework valamelyik frissebb változatának lenni kell. Linuxon ez nem működik jelenleg.

Python esetén ugyanígy a Python futtató környezetnek rajta kell lenni a gépünkön… A dolog nehézsége az, hogy a letölthető nanovna.py vezérlő program egy régebbi Python változathoz készült és ahhoz, hogy a mostani Python-okon futhasson, néhány helyen a print utasítások utáni értékeket zárójelbe kell tenni! Így már működik és a görbék szépen kirajzolódnak, de sajnos a vízszintes, frekvencia tengelyen nem a frekvenciaskála van, hanem csak a 0…10 egész számok, amelyek használhatatlanok. Feltehetően lesznek még e téren is fejlesztések. Az ingyenes Python alapú vezérlést azért tartom jónak, mert a vezérlőprogram szöveges alapú, egyszerű szövegszerkesztővel javítható. És már most is léteznek egyéb számoló bővítmények a NanoVNA-hoz, mint pl. a kábel hossz és szakadás mérő! Nem tudni még, hová is fog ez az egész fejlődni majd. A .NET alapú programfejlesztő környezet ingyenes (de csak nyílt forráskódú, azaz nem üzleti programok fejlesztéséhez). Python viszont van minden operációs rendszerre.

A Python programok parancssorból futtathatók, ha paraméterek megadása is szükséges a működésükhöz. Ha a NanoVNA programjait tartalmazó mappákból a Python mappát letöltjük és a parancssorból oda navigálunk, az alábbi parancsokkal tudjuk előidézni a mérési ábrákat:

Windows esetén: python ./nanovna.py -d COM2 -P 0 -v -W

Linux esetén: python ./nanovna.py -d /dev/ttyACM0 -P 0 -v -W

Ahol a COM2 illetve a ttyACM0 helyébe az aktuális portok neveit írjuk, amiken a rendszer felismerte az előzőleg csatlakoztatott NanoVNA-t.

Idő közben megjelent egy másik, NanoVNA Saver névre hallgató Windows-os szoftver is. Érdemes ezt is kipróbálni, mert sok minden jobban használható benne, mint a másik programoknál.

A készülék áramköri paneljén ki van alakítva a MicroSD kártya foglalat is. Talán a jövőben ezt is használhatjuk egyszer.

A leírásomban nem tértem ki mindenre. Nem mélyedtem el a használat technikai alapjaiban, a mérés folyamatában, a választható megjelenítési és mérési lehetőségekben, mivel lehetőségeim végesek. Mindazonáltal remélem, hogy e kis cikkemmel hasznos összefoglalót adok az érdeklődők számára. Ajánlom a letölthető mellékletek tanulmányozását!

Sok sikert kívánok.

 

Attachments:
Download this file (IP5303.pdf)IP5303.pdf[A töltés szabályzó adatlapja]733 kB
Download this file (NanoVNA Calibration Considerations and Procedure_v1.1.pdf)NanoVNA Calibration Considerations and Procedure_v1.1.pdf[Kalibrációs tanácsok]182 kB
Download this file (nanoVNA Menu Structure v1.1_AE5CZ.pdf)nanoVNA Menu Structure v1.1_AE5CZ.pdf[Menü struktúra]56 kB
Download this file (NanoVNA User Guide_20190711.pdf)NanoVNA User Guide_20190711.pdf[A kezelési útmutató]695 kB
Download this file (SA612A.pdf)SA612A.pdf[A keverő adatlapja]1470 kB
Download this file (Si5351-B.pdf)Si5351-B.pdf[A DDS adatlapja]832 kB
Download this file (stm32f072c8.pdf)stm32f072c8.pdf[A mikrovezérlő adatlapja]2108 kB
Download this file (tlv320aic3204.pdf)tlv320aic3204.pdf[A DSP adatlapja]1923 kB