tomfive が 2021年02月14日22時59分21秒 に編集
初版
タイトルの変更
磁気ループアンテナの同調リモートコントロール
タグの変更
秋葉原2021
RaspberryPi
Python
TA7291P
VNC
Wi-Fi
tkinter
メイン画像の変更
本文の変更
# 1.目次 1. [目次]() 1. [はじめに](#1) 1. [構成](url) 1. [部品リスト](url) 1. [回路図](url) 1. [動作説明](url) 1. [動画](url) 1. [まとめ](url) 1. [参考文献](url) 1. [付録(Python code)](url) # 2. はじめに 2019年春に、最近のデジタル無線方式FT8のにぎわいをみて、また始めたカンバックハムです。HF(短波帯)の無線通信では、太陽黒点が影響します。現在太陽黒点の極小期ですが、すでに、2000交信を超えて、FT8の威力を感じています。 今回の電子工作は、アパマンハムに最適な磁気ループアンテナのチューニングを遠隔操作するものです。この磁気ループアンテナは、DCモーターでチューニングするもので、1mぐらいのワイヤでスイッチ付の電池ボックス(乾電池2個直列)が附属していました。しかし、トランシーバーは、15m離れた場所に配置していたので、リモートコントロールを考えました。 ![磁気ループアンテナ](https://camo.elchika.com/3665486dde973617747f44155e209c7eaa054092/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34613939653033342d393461392d343761362d626662642d3961393638303236306237382f38333630346537372d623364392d346137332d383339642d303165643438366535326264/) # 3. 構成 ```plantuml:構成図 @startuml node "磁気ループアンテナ" as mla node "モータードライバ" as md node "ラズパイ" as raspi node "ACアダプタ" as ac node "Accesspoint" as ap node "nanoVNA" as nano node "iphone" as ip node "トランシーバー" as tr node "スイッチ" as sw ant -> sw sw -> vna sw -> tr ant -> md md -> rspi rspi --> ac rspi --> ap ap -> ip @enduml ``` # 4. 部品リスト | 項| 部品名 | 型名 | 購入先 | |:---:|:---| :---|:---| | 1| ラズバイ |Rasbperry pi3+ACアダプタ |スイッチサイエンス| | 2 | 基板 | ラズバイ用スタッキングコネクタ基板| 秋月電子 | | 3 | モータードライバ |TA7291P | 秋月電子(現在販売していない) | | 4 | nanoVNA | nanoVNA | Amazon | | 5 | 抵抗 | 470 Ω, 10kΩ | 秋月電子 | | 6 | LED | 赤色LED | 秋月電子 | | 7 | 端子台 | | 秋月電子 | ++販売中止のTA7291Pについては、東芝のHPでは、生産終了予定となっていて価格が上昇しています。++ # 5 回路図 ![キャプションを入力できます](https://camo.elchika.com/4c08d2eb43412c28fd3672859e37ee12f0d13788/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34613939653033342d393461392d343761362d626662642d3961393638303236306237382f63663762613739642d656364352d343832392d613830312d363063363362613630366437/) ![ラズバイ用スタッキングコネクタに組み込んだ様子](https://camo.elchika.com/461cc38db2c222bbcbea7ac883cfa34912ad96f1/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34613939653033342d393461392d343761362d626662642d3961393638303236306237382f63343662306463662d356137312d346132622d383335382d313064303336326336343239/) # 6 動作説明 ラズパイとそのスタッキングコネクタ基板に搭載したモータードライバで、アンテナに備えられたDCモーターを駆動します。通信は、Wi-Fi アクセスポイント経由で接続し, ラズパイには、VNCserverを、iPodにはVNCviewerをインストールして、iPodにラズパイのデスクトップを表示して、Pythonのtkinter モジュールのボタンで操作します。同調の確認には、NanoVNAというネットワークアナライザを用いています。タイトル画像は、そのスクリーンでVSWRは、1.34 になっています。 ![iPodのボタン](https://camo.elchika.com/1c83b5b154a8882e0fea650408610c1e15a35cb7/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f34613939653033342d393461392d343761362d626662642d3961393638303236306237382f38666231366631382d323931392d346437302d383337392d313965326562623137666364/) # 7 動画 この動画は、チューニング中のnanoVNAのスクリーンです。共振周波数が、低い周波数側から移動して、VSWRは最初1.8程度だったものが、最後は 1.34 になりました。 @[youtube](https://youtu.be/CE63KO603xI) # 8 まとめ これでトランシーバーの傍で、アンテナのチューニングが可能になった。たいした処理をしていないので、ラズパイ3ではもったいない。次は、 raspberry pi zero W にしてみようと思う。 # 9 参考文献 [FT8](http://www.jarl.gr.jp/kanham/Doc/NEW_DIGITALMODE_FT8_190721v1.pdf) [太陽黒点](https://swc.nict.go.jp/trend/sunspot.html) [太陽黒点と無線通信](http://fbnews.jp/202007/daisuki/) [モータドライバ TA7291P](https://toshiba.semicon-storage.com/jp/semiconductor/product/motor-driver-ics/brushed-dc-motor-driver-ics/detail.TA7291P.html) [VNC server / viewer ](https://www.realvnc.com/en/connect/download/viewer/) [raspberry zero W ](https://www.raspberrypi.org/products/raspberry-pi-zero-w/) # 10 付録 ソースコード ```python:モーターリモコン #/usr/bin/python import RPi.GPIO as GPIO import time import tkinter GPIO.setmode(GPIO.BCM) GPIO.setup(14,GPIO.OUT) GPIO.setup(15,GPIO.OUT) GPIO.setup(18,GPIO.OUT) def up(): GPIO.output(14,True) GPIO.output(15,False) GPIO.output(18,True) def down(): GPIO.output(14,False) GPIO.output(15,True) GPIO.output(18,True) def stopi(): GPIO.output(18,False) tki=tkinter.Tk() tki.geometry('400x800') tki.title('MLA tuner') btn1=tkinter.Button(tki,text="UP",font=("",16),command=up,width=5, height=2) btn1.place(x=100,y=200) btn2=tkinter.Button(tki,text="DOWN",command=down,font=("",16),width=5,height=2) btn2.place(x=200,y=200) btn3=tkinter.Button(tki,text="STOP",command=stopi,font=("",16),width=5,height=2) btn3.place(x=300,y=200) tki.mainloop() ```