にゃん太郎とアマチュア無線

メインクーンのにゃん太郎と趣味のアマチュア無線と電子工作の記録です。

NanoVNA その3 お気に入りのファームウェア

最近ちょっとしたフィーバのNanoVNA ですが、どんどん新しいファームウェアが更新されてたくさんありすぎてわかわかめの状態になっているみたいです。
詳細なマニュアルを見ればわかるのですが、ファームウェアは大きく分けて2つあり本家のttrftech 版ファームウェアhugen79 版ファームウェアです。いずれも最新バージョンでは同軸長さを測定できたり、DFUモードに画面で入れるようになったりしています。
このうち私のお気に入りはhugen79 版ファームウェアのNanoVNA-H__900_aa_20191003.dfuです。これはフォントが大きいので見やすいです。前のバージョンではファームの容量が大きかったのですが、このバージョンではほぼ同じです。表示されるのを2CHに制限して容量を少なくしてるようです。単にSWRとかスミスチャートを見るだけなら断然こちらのほうが見やすいです。

IMG_20191005_124621


今後さらに5Gまで対応のV2.0のプロジェクト発表されたようですので楽しみです。もし購入予定があるならもうちょっっとまってからV2.0を購入したほうがいいかもしれません。

またついにcho45氏がスマホ向けのwebcliantを開発されたようです。ちょっとusb-cコネクタの変換がっ必要ですが、こちらのほうがPCで見るのと同じで画面を操作するより、はるかに操作性がいいのでお勧めです。

Screenshot_2019-10-05-21-06-40-789_net.lowreal.nanovnawebapp

NanoVNA その2 最新ファームウェアの作成について

最新のfirmawareについてはオリジナルの作者であるTT_北海道さんのgithubでサポートされています。
buildに関してはubuntuでできますが、こちらが参考になります。
armのツリーを解凍するために
sudo tar xfj -C /usr/local gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz
と書かれているんですが、どうも構文がおかしい。やはり
sudo tar xfj gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2 -C /usr/local
これが正解だと思います。
githubにssh登録とかややこしいのですが、このとおりやればbuildできます。buildに成功するとbuldの下にch.hexというのができます。これがファーム用バイナリですので、dfu file managerで書き込み用dfuフォーマットに変更してそれを書き込みます。
最新版のファームを入れてみると下記の画像のようになりました。最新リリースは0.1.1 になっています。電池アイコンの追加とかconfigからdfuモードに入れるようになったとかfirmwareのバージョン表示とかいろいろ機能が追加されたみたいです。実用になるかどうか不明ですが、周波数が1.5Ghzまで拡張されたようです。

IMG_20190925_194841

電池アイコンの表示にはD2のダイオード追加が必要みたいですが、私が購入した白の場合、電池のコネクタが邪魔してD2ランドが見えないです。なんとかコネクタを上に動かしてダイオードをつけてみました。ほかの黒とかのPCBを見てみると電池が直付けになってるみたいだけど、、、ひよっとして白が高級 でもシールドはないけど (笑)

それから詳細な説明書が公開されたようです。参考になります。

IMG_20190919_091926

それからPC用ソフトNanoVNA-serverの画面です。
nanovnaserver

こちらのほうが
同軸ケーブルの長さも表示されるし、情報量が多くて使いやすいです。新ファーム用の1.5Gまで測定できます。NanoVNA.exe1.3は900mまでです。前のNanoVNA-serverはPyhtonのインストールとかGitのインストールとかで敷居が高かったんですが、Windows用のバイナリも用意されるようになって簡単に起動できるようになりました。こちらのほうがいいです。最初いくらやってもdos窓が開くだけで起動しないので、少しはまりましたが、Pyhtonバイナリの実行なんで、ウィルスソフトで実行がブロックされていました。(笑)

しかしわずか5年くらい前べクトルアナライザというと、安いものでもうん十万、ましてプロ用になると百万単位でしたね。とてもアマチュアの手がでるものじゃなかった。それがわずか5000円たらずでできるというのはすごい時代になったものです。アンテナアナライザの革命になりそうですね。

NanoVNA firmware update

久しぶりのアナライザネタです。思えは最初のアナライザを5年前にShark mini60を購入してから安価なアナライザに興味を持ちK6BEZの自作にチャレンジしたりしました。もう5年前にもなるんですね。ちょっと遅ればせながら、いま話題のNano VNAを購入しました。
ebayで5千円ちょいでした。いろいろタイプがあるみたいで、もっと安いのもあるみたいです。  
最近ではAmazonでも同じくらいの値段で買えるようです。
本体は基本的には全部同じですが、タイプは下記のようにいろいろあります。

1、色が白と黒 さらに白にはヤモリ?のマーク付き(今回私が購入したもの)
2、IF部にシ-ルドがあるものとないもの
3、
calibration kit付属のもの あり 無し、さらに30㎝の同軸ケーブルが付属 あり 無し
4、リチウム電池内蔵か非内蔵
そしてややこしいことに上記のものは値段では、判断できないくらいろいろ販売されています。いろいろ説明には、明記されてないことが多いので、返品の利くAmazonあたりで購入するのがベストみたいですね。

私が購入したのはコストダウン型の白のやつで電池内蔵、calibration kit付属で開けてみるとシールドはありませんでした。画面で操作するなら液晶が小さいのでタッチペンを使ったほうがいいです。操作に関してはちょっと慣れが必要で画面だけで操作するのは、結構慣れが必要です。またScan範囲等の周波数設定が面倒です。
PCにusb経由で接続してPC画面でソフトを立ち上げて操作するのが正解だと思われます。このソフトに関しては、2種類あります。Windows10 x64環境でUSBドライバは、全部自動で入るので刺すだけで認識して使えます。

IMG_20190918_094622
上に緑のテープがあります。液晶保護フィルムのはがし用ですが、なぜかネジをとってカバーを取らないとはがせない。当たり前ですが、はがすと液晶がえらいきれいになります。これははがした後でフォントが少し大きいファームを入れてあります。

IMG_20190913_231313

付属品 キャリブレションコネクタは銀色が50オームの抵抗内蔵 他はショートとオープンのコネクタです。写真には写ってませんがメス オスの変換コネクタもついています。
これは後述しますが、ファームをバージョンアップしたら更正をしないと値がものすごく不正確になります。ですから一緒に購入したほうがいいと思います。
なんとこれで2chで900MhzまでのSWRやインピーダンス 定在波はもちろん同軸の長さまで測定できるようです。特にHF帯で同軸のインピーダンスを測定して、長さをそろえるために面倒なディップメータなんか必要なくなります。いやはやすごい時代になったようです。ほかの高価なアナライザが必要なくなりますね。RigexpartとかMFJなんかこれから売れるのだろうかと心配になります。
開発元はTT@北海道さんみたいですね。以前にSDR用にHFCONVキットを購入させていただきました。
かなり詳細な説明書も公開されています。
しかしこれをコピーして、この値段で販売するとはおそるべし中華パワー。でもってコピーした開発元のgithubで白はbad cloneとかしているし、、、競争は激しいようです。(笑)
PCソフトNanoVNA.exeのバージョンは1.03です。下記のリンクの中のzipのNanoVNASharp.zipをこれを解凍すると出てきます。1.03では一番下でFwのバージョンを表示できるようになっているようです。これも機能てんこ盛りです。おまけにSCANは一瞬で終わります。

NANOVNA

さて購入したのはファームがMar03でで結構古かったので更新することにしましたが、ちょっとはまったのでその覚え書きもかねて、、、
ファームの最新版の入手はyoutubeのリンク先にあります。nanovna firmwareで探すと2つyoutubeがヒットしますが、どちらもにあります。なおgithubでソースも公開されています。
PC用NanoVNA.exeも入ってます。今後のサポートとかニュースはhttps://groups.io/g/nanovna-users/topicsでされているようです。


ファームアップグレード手順
白の電池内蔵のはdfuモードに入るのにbootpのランドがない。これはただ単に電池のコネクタが邪魔して表示が見えてないだけでした。横から見えるP1のランドをピンセットでショートして電源オンで無事dfuモードに入れました。(画面は白表示)
これで上記からダウンロードしたNanoVNA资料-20190808T222607Z-001.zipというのを解凍するとfirmwareというフォルダがあります。ファームは下記の5種類があります。

nanoVNA_300_ch_20190802.dfu
nanoVNA_800_aa_20190802.dfu
nanoVNA_800_ch_20190802.dfu
nanoVNA_900_aa_20190802.dfu
nanoVNA_900_ch_20190802.dfu

違いは容量の大きいnanoVNA_900_aa_20190802.dfuは表示されるフォントが少し大きいです。年寄りにはこちらのほうがいいです。またSTSW_STM32080_V3.0.6.zipがありさらに解凍するとDfuSe_Demo_V3.0.6_Setup.exeがでてくるのでこれをインストールします。これがファームアップグレードツールです。ドライバ類はwindows10 x64だとすべて自動で認識します。
しかしここではまりました。defseを起動してちゃんとdfuモードを認識してるんですが、chooseで新ファームを選択すると、This file doesn't have a coreeect format なんてメッセージが出てきてどうしても読み込めません。
これには結構悩みました。そういえば昔中華のキットを買って、その付属ソフトのzipを解凍したときにはまったのを思い出し、firmwareフォルダだけを別の場所にコピーするとちゃんと読み込んで成功しました。windows10 x64の場合、中国語のフォルダ名があると、(たぶんNanoVNA资料)その下のファイルがうまくloadできなくなるみたいです。おそらくフォルダ名をrenameするといけると思うんだけど、コピーでうまくいったんで試してません。

それから私のだけかもしれませんが、バージョンアップしたら必ずキャリブレーションをして更正しなければ、測定値が結構めちゃな値になりました。出荷時にはちゃんとキャリブレーションされてるみたいです。

キャリブレーション方法
キャリブレーションは画面上でもできますが、PCソフト上でやったほうが簡単にできます。
1) PCソフソフトのnanovna.exeを起動してconnetctを押す。下のほうにRESUPONSEがあるのでCalibrateを押す。
2) Short (ショート用コネクタ) コネクタをCH1 に接続してShortを押す。
3)   Load(50オーム内蔵の銀色のコネクタ)をCH1 に接続してLoadを押す。
4)   Isoration CH2に50オームの抵抗を接続して
Isorationを押す。より正確にはCH1の抵抗はそのままにしておいて、CH2にもう一個50オームの抵抗を接続したほうがいいみたいです。
5)  Through CH1 と CH2を付属のケーブルでショートして
Through を押す。
6)  後にdoneを押すと終了です。するとSAVEの項目が5つでてくるのでこの結果をSaveする。

しかしこれはすごいです。この値段でこの機能だと他の何倍も高価なアナライザは全部オワコンになりそうです。
また派生でNanoVNA-Fというのが出てきたみたいです。これは液晶が4.3インチと大型化して金属製のケースにに入り、さらにバッテリーが50000mA そして50k-1GHzまで測定できるようになっているようです。ほぼ小型のスマホサイズですね。ケースに内蔵されているので、こちらのほうがより正確な値がでる? また屋外で使うのに気を使わなくていいですね。なんとこれが14000円くらいです。前に買ったmini60が同じ値段でおもちゃに見えます。これも欲しくなっちゃった。そんなにアナライザばっかり買ってどうするんだろ。

コードとか内容についてはJH1UMVさんのBLOGが参考になります。これからいろいろnanovnaのGitHubで機能追加されるみたいで楽しみです。私にはちんぷんかんぷんですが、、、
しかし世の中にはTT@北海道さんといいすごいエンジニアがいるものですね。こういったプロのエンジニアさんのコードはものすごく参考になります。本当に技術者にとってはいい時代になったと痛感します。

FTDX3000故障か?

久しぶりのアップです。 愛機のFTDX3000が突然送信ができなくなりました。 受信は正常なんですが、送信すると電源が落ちてしまう。出力を10W以下にするとなんとか電源は落ちない。さーて困った。CWでは送信しっぱなしになってすぐに電源が落ちてしまう。 完全に症状としては送信して、ファイナルに負荷がかかると、安全機構が働いている感じでファイナルがぶっ壊れた感じ。 とりあえず全部RESET操作。でも直らず。それで困ったときのGoogle先生。 FTDX3000 電源落ちで検索すると https://twitter.com/ji1qnm/status/655216077484331009 これがヒット。そのものずばりでした。まさか電源コード内のFUSEの接触不良とは、、昔は菅FUSEだったような気がするんだけど、今は車のFUSEなのね。これを指しなおすと無事復帰。 Twitter主も書いてるけど、こんなの一度も点検したことなかった。 Google先生のありがたみをつくづく感じた1日でした。

DIY Rotating LED Kit POV Soldering Training Kit その2


前のやつに続いて、またBanggoodのこれを作ってみました。いまちょうど12%OFFをやっています。
6ba555d0-4b8d-48cf-b5d9-d1756034469a

しかし今度は結構難易度が高いです。チップ部品の取り付けはなんとかなるけど、写真のように基盤の表と裏にそれぞれLEDチップの+と-を挟んで半田つけなんて経験したことないし、えらく難易度が高い。初試行錯誤でいろいろやってみましが、なんとかLEDを裏返しにしてマスキングテープに貼りつけて上から基盤をを押しあてるようにして半田付けをしました。
ここまでがちょっと大変。

DSC03425

DSC03431

でもって完成したんですが、まだところどころ点灯していない。orz  これから直したいのですが、チップLEDの手持ちがない。実はこのLED長く半田こてを当てると電極部分が取れてしまうんです。このシリーズのキットは中華製にしては珍しく、チップ部品の予備のパーツを入れてくれてます。特に1個しかない部品に関しても2個入れてくれています。LEDにしても10個ぐらい予備があったんですが、どうも最初の試行錯誤で予備を使いきってしまいました。製作上の注意点です、やはり受光LED(紫)の極性が長いほうが-になっていることです。これを間違うと同期が取れません。

完成はしたんですが、今度は入っているプログラムのhexコードを書き込みソフトのSTC-ISP読み取れなくて苦労しました。ファイルはRARで圧縮されていて結構文字化けだらけです。たぶんRARの日本語環境のRAR解凍ソフトの問題だと思うんですがいろいろな解凍ソフトを試しましたが、結局入っているhexコードは全部全く読み込めないこが判明しました。それでしかななく再コンパイルしてhexコードを作り直して読み込めました。

方法ですが、拡張子UV2のファイルがコンパイルのプロジェクトになっているので、そこを変更します。前のと同じように6つの例が入っていますので、そのフォルダの中にDIY视界.Uv2というファイルがあります。これをDIY.TXTとかにRenameしてから編集して中ほどにあるOutName (DIYハモス・というのを(DIY)に変更します。するとダブルクリックで開けるので、それでそのまま再コンパイルしてhexコードを作り直します。するとDIY.hexができますのでこれだとSTC-ISPで読み込めます。
あとは前のと同じようにSTC-ISPで書き込むのですが、CPUはSTC15L2K16S2 クロックは18.432にしてDownload/Programを押した後、VCCを接続すると書き込みが始まります。

DIY Rotating LED Kit POV Soldering Training Kit Upgraded Version


なんだか無性にチップ部品の半田つけがしたくなってbangoodのDIY Rotating LED Kit POV Soldering Training KitUpgraded Versionを購入してしまいました。組立はチップLedがたくさんあるので手間はかかりましたが、比較的簡単にできます。このキットの間違いやすいところは、原点検出用の発光用赤外線ダイオードと受信用のダイオードの極性が逆になっているところです。これを間違うと同期がとれず、文字の表示がでたらめになってしまいます。でたらめになる場合はまずこれを疑ってください。発光用はデジカメで見るとみられるのですが、紫色の受光ダイオードは見られません。リードの長いほうが-側です。

DSC03424

これが回転して、下記の用に表示します。
DSC03414

ただ表示用の設定とか書き込みに結構苦労しましたので参考までに。。。
ソフトはふつうに解凍すると中国語なのでファイル名が文字化けしてしまします。それで中国語に対応した解凍ソフト zipextractorなんかを使います。解凍ソフトはいろいろありますが、これはインストールしなくとも使えるのでお勧めです。

stc-isp-15xx-v6.70  これはCPUへの書き込みソフトです。最新版がstc-isp-15xx-v6.85pになっているのでそちらを使った方がいいです。これはPl2303とかのCOMポート用のUSBコンバータで書き込みむのですが、P30がTXDでP31がRXDになります。使用方法も全部中国語なんで苦労しましたが、下記のように設定します。

P1

MCU Typeは IAP15W4K61S4を選択 ボーレートは14400ぐらいで適当に。ただInput IRC freqencyだけは18.432に設定してください。これに結構はまった。そしてOpen Code Fileで書き込むHexファイルを指定します。
Download/Programで書き込みますが、まず232CコンバータのピンのVCCを外した状態で接続します。そして書き込みのボタンを押してからVCCを接続すると書き込みが始まります。全部接続状態だと書き込みが始まりません。ボーレート2400だと結構時間がかかります。

入っているHexファイルはソースコード同梱で1から7まで7種類ありますが、7が多機能の最終版で、この7のMost functional effect combinerのHexファイルを書き込んで動作確認をします。これはリモコンの番号1から4を押すと、表示するモードをいろいろ変えられます。まずは中国語が表示されますのでそれで動作確認をします。
単に文字を表示するだけだったら 2 character display programでできます。これは文字コードは下記と同じ手順で書き込めますが、241行名に if( j>768 ) の数字を文字数x16の値に変更してください。768だと48文字です。その数を指定しないと原点検出がうまくできず2週目からうまく表示できなくなります。

表示が全部中国語なのでそのソースコードをいじって好きな文字に表示するようにします。
コンパイル用のソフトはKEIL UV3 8.08 を使います。これなんかインストール後ライセンズをクラックするソフトが付属していていいんだろうか。。。
各添付のサンプルのフォルダの中の拡張子がUV2のファイルがプロジェクトファイルなので、それを直接編集します。なんかDIY篇順.Uv2とか変な名前になってますが、、その中の40行目にある OutName (DIYハモス・というのを OutName (DIY)に変更します。

P2

このソースはいろいろ注釈いれてくれているのだけど、残念ながら文字化けして意味不明です。なんとか苦労して読んでみるとPicture.cの中に表示データが入っています。。最初はBMPの表示みたいで、文字データは240行目あたりから入っています。Hexコードの生成はツールバーの一番下の左から2番目のアイコンをクリックするとできます。まずはこの状態でコンパイルして先ほど指定したDIY.HEXができるのを確認します。

文字の生成ですが、ZKのフォルダになかにあるPCtoLCD2002.exeを使います。これも文字化けがひどいのですが、なんとか使えます。初期設定は下記のようにします。特にコードを間違うとうまくコードが生成できません。

3

これで下の窓に文字を入れて生成するとできますが、反転させないと回転部の表示が鏡表示になります。反転は左下の2番目のアイコンでできます。
これで生成したコードコピーして、上記UV2Picture.cの240行目あたりに上書きすると文字が書き込めます。


DSC03416

DSC03417





TH-D72でAPRS KISSモード9600BPS

久しぶりにAprsです。
もうだいぶ前にRaspberry-PiでTNC-PIを使ってXastirを動かす記事を書いたのですが、今はこれにTH-D72をつないで9600運用にしています。ところがTH-D72のTNCは設定のパラメータの保存ができず、電源を切ったりすると、TNCの設定をやり直す必要があります。つまり9600の設定とKISSモードの設定をいちいちやり直さなければいけないのです。
これ結構面倒なので、TNCをUPするときに使用するパラメータを利用して下記の内容のファイルを作成し、Intaerfaceに追加して最初に起動した時にUPするようにししました。
TNCの起動時のパラメータの設定は/usr/share/xastir/configの配下にあります。

##META <no-ctrl-c>
TC 1

##Pause for one second

##META <delay>

##META <delay>

##META <delay>

#Put the TNC in internal mode since this is where we want to end up

# Change the 1 to 0 to go to normal radio mode

#META <no-ctrl-c>
TN 2,0

# Pause for two seconds

##META <delay>

##META <delay>

##META <delay>

##META <delay>

#Turn off Terminal Control

##META <no-ctrl-c>

HID off

#AWlen 8

BBSMsgs ON

B E 0

LOC E 0

Echo off

FLow off

AUTOLF off

MCOM off

MON ON

MRPt on

PACLen 128

PASSALL off

#HBAUD 1200

TXDELAY 25

HEADERLN off

HB 9600

KISS ON

RESTART

このパラメータで問題なく動きました。
下記のようにInterfaceにTNCのパラメータセット用を準備してこれのUPした後に、
普通のKISS-TNCのInterfcaceをUPしします。

aprs


Wemos D1 MINIでKT0915 DSPラジオ

とにかく安いNodemcu D1MiniがWemosから出てきました。ESP8266関連でこれはいいです。
なにしろショップのAliexpressで4$です。この値段でピンヘッタはオスとメスの2種類ついているし、すごいとしか言いようがないです。また対応のシールドも結構出てるようで、今後のの成り行きではこれがNodemcuも主流になるような気がします。
今回私はAliexpressはPaypalが使えないので、敬遠してるのでEbayで購入しました。HKの業者に頼むと1週間ほどで入手できます。
ということで試しにKT0915を使ったDSPラジオを作ってみました。3Vで動作するので電源が楽です。
電源は3Vのコンバータモジュール 5個で2.35$です。
KT0195はAitendoのモジュールに変換基盤をつけてます。水晶はクロックモジュールから流用しました


DSC03403

これは上部に日時を表示させていますが、WifiでNTPに接続して時間を較正してから、表示させています。一応RTCモジュールを載せていますが、これにすると内部の時計だけで、RTCモジュールは必要ないかもしれません。この辺は先人のmacsbugさんのBLOGに感謝です。このBLOGにはD1Miniの情報も大変参考になります。実は私ここに書かれていたのでD1Miniの存在を知りここに買ってしまいました。
またここのコードはものすごくきれいで大変参考になります。私が書いたものとえらい違いです。

動作ですが、ロータリエンコーダで周波数を変更したかったんですが、ESP8266の割り込み処理がいまいちよくわからず、とりあえず、放送局をタクトSWでダイレクトに指定するようにしています。もう一つのタクトSWは音量調整用です。

Si5351Aその2

少し放置していたSi5351Aですが、ネットで使用例が多いライブラリsi5351.hを使ったんですが、ところがこのライブラリを使ってK6BEZのスケッチを動かすと、ArudinoNanoとかUNOだと大きすぎて書き込めません。それでしばらく放置してましたが、最近ESP8266を使うのが多く、8266はIDE1.6ででないと使えません。それで試しにIDE1.6でスケッチをコンパイルすると、Nanoに書き込みできることがわかりました。UNOとかNanoなんかの旧世代のArudinoを使うときは、安定度抜群の1.06がベストと思ってたんですが、いろいろ問題のある1.6を少し見直しました。ライブラリによっては、こんなにスケッチが小さくなるとは驚きです。

それでちょっと試してみました。家のクリエイト730V(50MHZオプション付き)の50MZのSWRを測定してみました。ほんとはちゃんとフィルターを入れないとダメなんだろうけど、とりあえずスケッチをSi5351Aに変更して、回路はそのまま出力も変更しただけです。
スケッチのDDSの部分は例文にある
si5351.set_freq(current_freq_MHz *100000000ULL, SI5351_PLL_FIXED, SI5351_CLK0);
にしました。

DSC03372

6m5351

ちなみに7Mhzです。
7M

うーん それなりにちゃんと表示できているみたいですね。SWRの値はあまり信用できませんが、、、
ちょっと出力のゲインが高いみたいで、もう少し調整が必要なみたいです。145MHZは今ちゃんとしたアンテナがないので、また用意できれば調べてみます。
本当は比較したいちゃんとしたいアナライザがほしくなります。MINI60のSWRもあまりあてにならないし、、
なお出力はK6BEZオリジナルと同じで1μのコンデンサを入れています。

NodeMcu WIFI Development Board


NodeMcu WIFI Development Board買ってみました。別にESP8266のDEV-KITを買ってもよかったんですが、これはESP8266Eに中華お得意のCH340USBがついています。もっとも値段自体はArudinoUNO互換機よりも少し高いですが、1000円以内で買えます。これはもともと最初に入っているファームはNODEMCUが入っていて、LUAで使うようになっていますが、やはり使い慣れたArudino IDEで使いたいということでちょっと使ってみました。
Arudino IDEではNodemcu1.0(ESP-12E)でちゃんとこのボードが選択できるようになっています。そしてこのボードを選択すると、面倒な書き込みモードにする必要がありません。これは便利です。Arudinoと同じ感覚で使えます。
試しに1.8TFT 128X160のモジュールを表示させてみました。
ESP8266用のライブラリは、Adafruit-ST7735-LibraryをESP8200用にForkしていて問題なくすぐに動きました。
スケッチのPINは
RST 05
CS   15
D/C    04
に変更してあります。
DSC03369

ただ最初に少しはまったのが、GPIOのPINの表記が違っています。
NODEMCU_DEVKIT_V1_0_PINMAP


こんなふうになっていて読み替えてつながないとダメです。

電子はんだごて TS-100

電子工作にかかせないものといえばはんだこてですが、いままでずっと定番のHAKKOのFX-600を使っていました。セラミックヒータなのですぐに使えて便利なんですが、なんといっても電源の切り忘れがしよっちゅうあります。まあ温度調節できるんで、火事の心配はないんですが、ちょっと気になります。
それでお得いのBanggoodでTS-100がセールで58.58$になってたんで購入してしまいました。これははっきりって高いだけあってすごいです。最高温度は400度までなんですが、HAKKOと比べると温度の表示がちょっと高いかもしれません。私よくポリウレタン線の被覆はがしに使うんですが、HAKKOの場合ダイヤルを420度に設定しないとうまく被覆が溶けてくれませんが、これは350度設定で十分溶けてくれます。普段のはんだでは270度くらいで十分使えます。
ボタンを2つ長押し もしくは3分間使わないと自動Sleepに入りますし、(これはUSBにつないで時間は設定できます。)
温度調整もボタン長押しで簡単にできるし操作性も抜群です。また写真を見てもわかるようにすごく小型で軽いです。


DSC03366

これちょっと難点は電源が12Vから24VのACアダプタなんです。またDCジャックのコネクタがセンターが2.5mmのジャックになっているので注意が必要です。
ヒートアップ時間は ACアダプタが12Vで17W 40秒 16Vで30W 20秒 19V 40W 15秒 24V 65W 11秒といった仕様なんですが、ほとんど待たずにすぐに使える感覚です。
このACアダプタはちょうどノートPCのACアダプタが使えます。私はハードオフで500円の19V富士通製ACアダプタを買って使っています。最近のノート用ACアダプタは内径が小さくて外径が大きいものが多いので注意が必要です。旧式のノートPC用で標準のジャックだとピッタリです。
また消耗品のこて先が専用なのでちょっと高いです。

DSC03368

なおUSBにつなぐとCONFIG.TXTというファイルが1個あるだけで中身は

T_Standby=200   #(100~400)
T_Work=300      #(100~400)
Wait_Time=180   #(60~9999)
Idle_Time=360   #(300~9999)
T_Step=10       #(5~25)
Turn_Off_v=10   #(9~12)
TempShowFlag=0  #(0,1)
ZeroP_Ad=262    #ReadOnly

になっています。これで最初のデフォルト値を設定するようです。

K6BEZ DG7EAO アンテナアナライザにバンド選択を追加 その4

もうこれで最後にするだったんですが、ようやく格安Banggood液晶 2.4 Inch TFT LCD Shield Touch で動きました。これは前にも紹介したBanggoodで販売されている2.4 Inch TFT LCD Shield Touchです。なんと送料込みで6.49$です。前に作ったAdadruitのものと比較するとなんと1/10です。
これは表示速度もAdafruitとほとんど同じですごく早いです。ただ難点はこのShildはアナログポートのA0からA4までを使っていて、普通のUnoを使うとアナログポートは1個足らなくなることです。ではA0からA7があるNanoを使うと、せっかくのShildの意味がなくなってしまいます。
それで前回紹介した、Uno互換機を使いA6とA7を使うことによって完成させました。
タッチシールドの感度は若干鈍いようですが十分動きます。

R0010310

R0010311

ドライバは
#include <SPI.h>
#include <Wire.h>    
#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>
#include <TouchScreen.h>

ピンの設定は
#define YP A3 
#define XM A2 
#define YM 9 
#define XP 8 

#define TS_MINX 150
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0

#define LCD_RESET A4

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
ad9850のピン設定は
const int RESET=12;
const int SDAT=10;
const int FQ_UD=11;
const int SCLK=7;
にしました。
なおAdafruitのTFTLCDに表示する特殊文字はCP437で表示されるのがわかりました。
tft.println(char(16));のようにすると表示されます。
それとオリジナルのsetup()にあるanalogReference(INTERNAL);をコメントアウトしないとタッチパネルが動作しないようです。これコメントアウトしたらアナログの入力が変化するみたいですが、今のとこ影響ないみたいです。

なおこのアナライザの部品で苦労するのは50Ωと5KΩの抵抗ですが、Bispaというところで買えます。そのほかは649Ωは680Ωでいけます。ゲルマニュームダイオードはAA143ですが、1N60では使えなくはないですが、出力が低いです。ヤクオクで売られている日立の1N34AならばAA143とほとんど変わらないです。オペアンプMCP6002はLM358Nあたりで代用できます。もともとSWRの値自体は市販のアナライザに比較してあまり正確ではないので、最低のSWRを見つける目的で使用するのがいいでしょうね。なんといっても最大の利点は安いことです。

K6BEZアナライザ用のArudinoとTFTシールド

前にBangoodで購入した安い2.4TFTシールドですが、これがかなり難物でした。以前AdafruitのTFTシールドの記事を書いたんですが、6000円近くもしていかんせん高い。しかしこのBangoodのは送料込みでタッチペンまでついて6.49$です。これ安いだけあっていろんなロットのものがあるみたいです。まず最初に購入したものは、IDが0xC505というもので満足に動くライブラリがない。やっとPP_TFTというのを見つけてなんとか動いたのですが、タッチパネルがまったく使い物にならない。最近タッチペンが付属するようになって、AdafruitのTFTLCDで動くとのレポートがありましたので、また購入してみました。これはちゃんとAdafruitのTFTLCDのライブラリで動き、またタッチパネルも正常に動作します。そしていざアナライザ用にと、、、しかし私の考慮不足で、なんとA0からA5までこのシールドは使ってます。ArudinoUNOはAtmega328PUを使っているので、アナログピンはA5までしかありません。K6BEZアナライザでは2つのアナログ入力がいるので足りません。困った。もともと、Nanoなんかに使われてるAtmega328AUではA6,A7が使えるようです。また最近の互換機で電源がMicroUSBを使っているタイプではAtmega328AUを使っているものが多いようです。
それでGoogle先生に尋ねるとSIGH様のBLOGを発見。この互換ArudinoUNOって前にBangoodで買ってなかったけ、。。ありました、A6,A7のランドがちゃんと出ています。さっそくソケットを埋め込んで
ました。使ってみました。上記のBlog通りにAurdinoIDEを設定してやると、問題なく使えました。

DSC03363


これでなんとか安いタッチスクリーンでのアナライザを作ることができそうです。バンド周波数を入れられるようにしてみました。
DSC03360

< を押すと周波数UP > を押すと周波数Downです。、、、▲▼を表示させるコードがわからないので逃げました。(笑)とりあえずスケッチ上での表示はできたんですが、、
とりあえずここまで最近ちょっと忙しくて触る暇が取れません。完成は正月休みかな、、、

DDSジェネレータ Si5351A到着

前に注文していたAdafruitのSI5351が届きました。ここに直接注文するのは初めてなんですが、なにしろ国内ではどこも販売していない。と思ったら11月15日にストロベリーリナックスで発売されていたようですね。1個900円。同じくらいですね。しかしSi5351単体と水晶のみの基板です。
それに引き換え同程度の値段Adafruitの基板では、I2Cのプルアップ抵抗、レベルシフト用のバッファアンプついている。また5Vでも使えるのでまあいいかと思っています。送料と時間は余分にかかりますが、、、
このSi5351Aの仕様は8Khzから最高160MhzまでDDSで発振できることです。Si5351の仕様では220Mhzぐらいまで出せるようです。またインターフェイスがI2Cで制御できますので楽ですね。Adafruitではライブラリも出ていますのでArudinoで制御するのは楽ですね。

注文したのが、12月7日で12月24日に届きました。U.S. Postal Service First Class Mail なんでこんなもんでしょう。一応トラッキングNoはあるんですけど、USA国内向けなのでまったく役に断ちません。送料が$9.75かかるので、ちょっと3個大人買いをしてみました。といっても1個7.95$ですが、、AD9850のモジュールと値段は同じくらいですね。
しかしかなり梱包はいい加減です。A4サイスの薄いナイロン製に封筒で届きました。

DSC03357


ととりあえずピンを植えてコネクタをつけてみました。
DSC03358

K6NEZアナライザのDDS AD9850からら楽に移行できそうです。これでちょっと前に作ったTFTのアナライザの周波数を1Mhzから145Mhz帯まで拡張できるかどうか試してみます。これがうまく動いたらAD9850は卒業です。

ESP8266でセンサをつなぐ

まえにArduinoでセンサをつないで、1602の液晶に時計とか湿度を表示したりしましたが、そういえば前にOLED液晶を買っていたのを思い出しこちらで試してみました。このOLEDは画面が0.96インチで画面はちょっと小さいのですが、1602タイプの液晶と違い、ものすごく画面鮮明です。また省エネです。このOLED液晶はAdadruitのSSD_1306ライブラリで動くのですが、てっきりカラー液晶だと思っていて、ライブラリからテストを書き込むと黄色と青の表示が2分割されていておかしいなと思っていました。今回試してみて初めてわかったのですが、なんとこのOLEDはもともとモノクロタイプで上部に黄色、下部にブルー表示させるようになっているものと分かりました。ライブラリはESP8266で使うにはESP_Adafruit_SSD1306.hを使います。

どうせ省エネをめざすならば、Arduinoでなくいま話題のESP8266をを使ってみました。しかし今回初めて使ってみて、すごいデバイスですね。Wifiで接続できて、しかも安い。同じような目的のXbeeならば10倍ちかくしますもんね。アナログ入力が1つしかないのが残念ですが、まあこれからすこしするともっと多機能なものがでてくるような気がします。

もうすでに国内でも話題になっていて先人たちがいろんな情報を上げてくれています。そんなに苦労せずに、ArudinoのIDEで自分の慣れている環境が作れました。またいろんなスケッチを上げてくれているので、下記の写真のような表示は製作に2日、スケッチの方は、先人たちが上げてくれているスケッチの切り貼りだけで1日足らずでできました。
DHT11モジュールとRTCはDS3231を使っています。このDS3231はAmazonで205円で、中国からなので10日ほどかかかります。

ESP8266は電源の3.3Vがシビアで特にWifi通信をすると、電源が弱いと不安定になります。100円ショップの9Vアルカリ電池から秋月のTA48M033Fで3.3Vを作っています。単3 4本でも十分動くのですが、省スペースなのでこちらにしました。上部のコネクタはUSBシリアル用のコネクタです、ATMEGA328と違いDTRが必要ないので、PL2303の安いコンバータが使えます。ただし、このUSBコンバータの3.3Vは動くことは動くのですがすごく不安定です。最近の安い互換Arduino-UNOでは3.3VのコンバータでもAMS1117を使ったりしてますので、電源だけこれからとれば、十分動作するでしょう。純正UNOでは動かないそうです。

ESP8266はアップロードするのにGPIO0をGNDに落としたりするのが面倒ですが、まあ動けば書き換えることもないわけで、これが正解かもしれません。
なお温度の℃の表示は1602では
  lcd.print((char)223);
  lcd.print("C ");

SSD1306では
  display.print((char)247);
     display.print("C ");

です。SSD1306はちょっと変な感じがしますけど、、。

DSC03356


ESP8266を購入するときこのESP-07とESP-05を買ったんだけど、ESP-05の方の使い道がわかりません。なにしろスケッチをかくのにGPIOの端子が全くないので、書き込めない。もしかしてこれはATコマンドモードのみでいろいろ設定してWifiの通信モジュールとして使うものなんかな? ファームを最新のものにしたいんだけど、できないです。

Arudinoで温度 湿度 大気圧 センサーをつなぐ


結構arduinoではいろんなセンサがあります。今回日時、温度、湿度、大気圧を2004A液晶で表示してみました。
最初1602の液晶でで表示させてみたんですが、温度 湿度 時間だけならいいんですが、大気圧もあるので1604の液晶(2004A)を使いました。

まずセンサですが、温度 湿度は定番のDHT11 大気圧はGY-68を使いました。でいずれも500円ちょいで買えます。時間のRTCはDS3231でなんとリチウム電池付きで150円くらいで買えました。
I2C接続のために、GY-68がGNDとVCCのピンアサインが違っていましたので、接続にちょっと細工をしています。これ3.3Vの3端子レギュレータが搭載されているので便利ですね。

DSC03351

Arudinnoはこれを使いました。これ今回の実験ではのような用途にはめちゃくちゃ便利です。
DSC03352

表示させた場合
DSC03350

ライブラリは
#include <dht.h>
#include <Adafruit_BMP085.h>
#include <LiquidCrystal_I2C.h>
これとtime.hが必要です。
しかしなにも考えずにライブラリだけを入れてあとはスケッチの例で動作するのを確かめてから、その例にならいあとは、呼び出すだけでそのまま使えるというのはすごいですね。
またArudinoのリアルタイム処理のすごいとこには関心します。

あとRTCの時間設定が結構めんどくさかったりします。ESP8266のWifiモジュールも手に入れましたので、Wifi経由でNTP時間をとってきてセットしてみます。しかしこのモジュールは3.3Vなんでどうするか悩み中。UNOでは電流容量が小さすぎて動かないようだし、、、

この最終目的は前にRaspberry-PIでaprsサーバを立ち上げましたので、(今も稼働中です。)それと連携して気象ステーションをあげようかなと思っています。気象ステーションはAmazonあたりで売っているんですが、結構いいい値段がします。Piとの連携はメドがたったのですがArduinoの方がまだだったので実験がてら、、、
まあこれで風力とか雨のセンサを追加すると結構な値段になるような気もします。途中で挫折するかも、、、
まあ いつになるかわかんないですけど、、、、

K6BEZ DG7EAO アンテナアナライザにバンド選択を追加 その3


すっかりArduinoのプログラミングにはまってしまい、今度はロータリエンコーダを使って周波数を設定できるようにしてみました。前にタクトスイッチで周波数を選択できるようにしたのですが、短押しで周波数+ 長押しで桁移動、とさらにスタート周波数とストップ周波数を入力するには使えなくはないんですが、操作性にかなり問題がありました。
それでロータリエンコーダを使い、周波数設定を簡単にできるようにしてみました。できればスイッチ付きのエンコーダを使えば、もっとスムーズになるかも、
エンコーダの制御にはrotary.hの割り込み制御を使わさせていただきました。その関係でロータリエンコーダのピンは2と3の固定になります。
タクトSWはアナログピンのA2に配線しました。


DSC03334

DSC03335

まずエンコーダを回すとStart周波数が設定できます。そしてタクトSWを押すとStop周波数を設定できます。
SW長押しでリセットです。

動作は下記になります。



上記の改良版です。Youtubeのリンク先にスケッチを置いてあります。





しかしDG7EAOのアラライザにこんなにはまると思わなかった。このタイプのアナラザは精度はいまいちなんですけど、とにかくArudinoのプログラミングがとても楽しいです。



K6BEZ DG7EAO TFT アンテナアナライザにバンド選択を追加 その2


前にタッチスクリーンでバンドセレクト機能を追加しましたが、まあコストの点で安い2.2TFTを使ってタクトスィッチでバンドセレクト機能を追加したののですが、これで最終形態です。TFTのライブラリはオリジナルではUcglibを使っていたのですが、AdafluitのILI9341に移植しました。

タクトSWはD2とD3に増設します。回路図はDG7EAOのサイトにあります。TFTは22 inch 2.2" SPI TFT LCD Display module 240x320です。3.3Vの液晶なんでちょっと抵抗等の配線が面倒ですが、ebayで送料込みで600円ちょいで買えるのが魅力です。

なおarudinoはnanoではなくUno互換機で作りました。
移植にあたっては上記回路図ならば、下記のスケッチで動くはずです。

#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

//ILI9341 2.2 TFT 240x320 SPI Adafault driver
#define TFT_DC 6        //Wiring
#define TFT_RST 4         
#define TFT_CS 5
#define TFT_MOSI 11    //Wiring
#define TFT_MISO 13   
#define TFT_CLK 10     //Wiring

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST,TFT_MISO);

//Wiringと書いてあるところは実際に配線してください。他はDUMMYです。
  
今回2種類作ってみました。
まずは開始周波数と終了数は数を任意でセットできるようにしてみました。
この応用で簡単に周波数指定のDDSが作れそうです。

SW2 周波数指定 長押しで桁移動
SW3 周波数スキャン 長押しでリセット

DSC03314

そして上記をちょっと使ってみたのですが、任意で周波数のセットができるのはいいのですが、短押しで数字指定 長押しで桁移動と操作がすこし面倒です。やはり周波数指定はロータリーエンコーダを使ったほうがいいですね。あまり部品を増やしたくなかったので今回は見送りました。

それでバンド選択をすこし簡単にしてみました。こちらのほうが操作性がいいですね。
SW2 バンドスキャン 長押し リセット
SW3 バンドセレクト 押すたびに 3.5 7 10 14 21 28が選択できます。

DSC03313

DSC03312

動作は下記のようになります。


これでどうやら最終形態で落ち着きそうです。SWRの絶対値が信用できないとか、連続でScanすると波形が乱れる問題が残っていますがいものところ原因不明です。スケッチですがあまりにも汚いので公開は遠慮しておきます。どうしてもというのでしたらメールをください。

それからおまけで下記のArudinoUNO互換機をBangooで見つけました。なんとUSBがスマホと同じMicro-B端子になっています。いままでどうしてもシールドを重ねたとき、でかいUSB端子が接触して気を使っていたのですが、その心配がないです。値段も送料込み4.52$です。
いままでAitendoのびんぼうでいいのを使っていたのですが、値段もこちらのほうが安いのでこれにします。
MINIUSB端子よりMICROUSB端子のほうが耐久性もいいようなので、、

DSC03315






K6BEZアンテナアナライザにタッチスクリーンその2

いろいろ試行錯誤してタッチパネル使用のスタンドアロン型K6BEZアンテナアナライザの最終形態?を完成しました。なにしろArudinoは全くに素人なんでいろいろライブラリ関係で苦労しましたが、なんとか動きましたので公開します。
うちの3.5 7 14 21 28バンドのバーチカルアンテナ ダイヤモンドKV-5の1から30MHZのスキャン表示

DSC03280

3.5Mhzのスキャン表示
DSC03281

なお最低Swrの値は結構甘いみたいですが、アンテナ調整には十分使えるでしょう。

今回は前回と違いUcglibではなくAdafruit純正?のILI9341とAdafruit_GFX.hに移植しました。フォントはあまりきれいではないんですけど、、
各バンドはALLを選ぶと1から30Mhzまでスキャンして全体のSWRカーブを表示します。Clrはグラフ表示のクリアでScanを押すとSweepします。
残念なことは今回使ったAdafruit 2.8インチ TFTタッチシールド v2の値段が5000円ぐらいで、少し高いことです。Bangooあたりで売っている1000円以下のタッチシールドで動かないか、いま試しています。これがかなりの難物でバージョンによってドライバのICが違うみたいで、苦労しています。またA0からA5までは使っているのでDDSがDDSの制御ができないので無理かもしれませんね。

動画はこんな感じです。中華なんちゃってLCDより相当早いですね。さすがは高いだけあります。



youtubeのリンクに初心者の書いたスケッチで恥かしいのですが公開しています。
今後ですが、タッチシールドを使わずにタクトSWを使って周波数選択するようにするスケッチも書いてみます。

TFTアンテナアナライザにタッチスクリーン


タッチパネルでバンド選択をするようにしてみました。
使ったパネルはAdafruit 2.8インチ TFTタッチシールド です。


DSC03277

DSC03275


動作は下記のようになります。


タッチシールドはいろいろ探してみましたが、できるだけ安いものということで、単に以前にに購入したTFTにタッチシールドがついたものを購入してみましたが、タッチパネル用に5つもピンが必要なようです。
それでやむなく少し高いのですが Adafruit 2.8インチ TFTタッチシールド v2を使いました。これだったら3から9ピンまで自由に使えます。そして、これでしたらUgclibはそのまま使えますので、移植も楽です。
UgclibはadafuiltのAdafruit_ILI9341に比べるとすこし遅いのですが、文字のフォントがきれいです。
これでようやく一段落つきました。タッチシールドのチャタリングにえらく苦労しましたがいろいろArduinoの勉強になってなかなか楽しく遊べました。
まあコストを考えると、前に書いたタッチパネルなしのTFTを使ってSWでバンド選択できるのが一番です。
プロフィール

nagoublog

記事検索
ギャラリー
  • NanoVNA その3 お気に入りのファームウェア
  • NanoVNA その3 お気に入りのファームウェア
  • NanoVNA その2 最新ファームウェアの作成について
  • NanoVNA その2 最新ファームウェアの作成について
  • NanoVNA その2 最新ファームウェアの作成について
  • NanoVNA firmware update
最新トラックバック
QRコード
QRコード
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

HamLife.jp
  • ライブドアブログ