JP7FKFの備忘録

ヒトは,忘れる生き物だから.

R言語を使ってアンテナの指向性パターンをグラフ化する

電磁界と戯れる場合,アンテナと戯れることになる.
アンテナを議論する時に,主な評価項目として,VSWRと利得,ビームパターン(指向性)が議論されることであろうと思う.
VSWRと利得は数値として得ることができるから良いものの,ビームパターンは測定には電波暗室が必要であるし,個人でやる上ではビームパターンを測定することすら難しいであろう.

仮に測定できた場合や,シミュレーションで角度と利得の数値が得られたとしても,グラフ化するソフトがあまりないのだ.
今回はこのグラフ化に関して書いていきます.

フリーで指向性パターンを描画できる簡単なソフトとして,plot32 (Plots32の詳細情報 : Vector ソフトを探す!)や,AP Chart(APchart Homepage)というソフトがある.

しかしながらこれらのソフトはイマイチ勝手が効かなかったりすることも多い.
そこで今回は統計解析言語であるR言語のグラフプロット機能を利用してみることにする.

R言語による指向性パターンの描画には protrixパッケージを用いて,レーダーチャートを利用して描画を行う.
レーダーチャートとはその名の通りレーダーのような図であり,一般に複数の項目のバランスなどを議論する際によく用いられます.
ゲームとかでよくあるこんなやつですね.
f:id:jp7fkf:20161115085556p:plain:w300

レーダーチャートをベースとして指向性パターンを描いていきたいと思います.
必要な情報は,アンテナを回したときの角度と,そのときの利得です.
利得でなくても,受信電界強度などでもよいです.せっかくR言語を使っているのですから,R言語にフリスの伝達公式のとおりに計算して貰えばいい話です.

まずはplotrixをロードします.

# パッケージの読み込み
library(plotrix)

これでplotrixが使えるようになりました.
パッケージがそもそもインストールされていない場合は,

install.packages("plotrix")

でパッケージをインストールします.

アンテナの回転角と利得のデータは,CSVやタブ区切りなどで保存されている場合が多いかと思います.
回転角とそれに対応する利得のデータをロードします.

# ファイルのロード(必要に応じてread.csv()などを用いればいいと思います)
hplane <- read.table("ファイルまでのパス")
#余計なカラムがある場合は,必要なカラムのみにしておくと見やすいと思います.
#たとえば1列目と9列目のみを抽出
hplane <- hplane[,c(1, 9)]

ここからはフリスの伝達公式の計算です.もともと利得がわかっている場合は計算する必要はありません.
電波暗室などで測定したとして,送信電力100mW(20dBm), 送信アンテナのゲインが真数で10, アンテナ間の距離が3m,波長が0.1223642686 m(2.45GHz)と仮定してみます.
hplaneの2列目に受信電界強度[mW]が入っているとすると,下記によって一気に計算してくれます.

send_power <- 100
sender_gain <- 10
distance <- 3
wavelength <- 0.1223642686
calced_hplane <- 10*log10((10^(hplane[,2]/10))/send_power/sender_gain*(4*pi*distance/wavelength)^2) 

calced_hplaneには利得[dB]が入っていることになります.

さらに,角度軸の準備をします.
何度のところに線を引いておきたいかによってこの値をいじります.
45度ずつ,上が0度ならばこんな感じです.

azimath <- c(180, -135, -90, -45, 0, 45, 90, 135)

これでデータの準備はできました.
描画をします.たとえばこんな感じに引数を渡します.

radial.plot(calcd_hplane, labels=azimath, rp.type="p",start=pi/2,clockwise=TRUE, radial.lim = c(-40,20),radial.label = "", lwd=2)

凡例はたとえば以下のように,

legend("topright", legend = c("H-Plane", "E-Plane"), lty = c(1,3), lwd = 3)

これで電磁界解析ソフトを利用したシミュレーション結果をR言語とplotrixを用いて描画してみた結果が以下のようになります.
f:id:jp7fkf:20161115081258p:plain

わりと綺麗に描画できていると思います.
引数はたくさんあるので,リファレンスを参照するとよいでしょう.
たとえばですが,

radial.plot(
  [描画するデータ],
  labels=[ラベルデータ], 
  rp.type="p", #r:radial lines, p:polygon
  start=-pi/2, #描画スタート位置のオフセット,デフォルトは3時の方向
  clockwise=TRUE, #時計回りに描画
  radial.lim = c(-20,15), #ここでいうゲイン軸の範囲,つまり円に垂直な軸の範囲
  lty = c(1,2), #line type, 直線,破線,いろいろあります.
  lwd = 2, #line width, 線の太さ
  main="Directivity" #主題です.
)

等,いろいろあります.
plotコマンドに使い慣れていれば,それをサポートしているらしいので,似たような感覚で使えると思います.
R言語は統計解析の計算のみならず,可視化にも優れています.
こういう風に,アンテナの指向性パターンも綺麗に描画できました.めでたし.

# References
http://ww36.tiki.ne.jp/~natsu/
レーダーチャートを描く - langstat blog
グラフィックス | Rで各種グラフの描き方,折れ線,散布図,ヒストグラム,棒グラフ,円グラフ,ボックスプロット
https://cran.r-project.org/web/packages/plotrix/plotrix.pdf

ディスコーンアンテナを作ってみた話

題のとおりです.

まずはモノを見ていただきましょう.

f:id:jp7fkf:20161104190948j:plain

100均の用品をふんだんに利用して安価に仕上げています.
エレメントには100均の園芸用洋ラン線を,形状の保持には100均のまな板に穴をあけて使っています.

f:id:jp7fkf:20161104191032j:plain
同軸の芯線側(ディスク側)はこんな感じで接続,固定しています.

f:id:jp7fkf:20161104191155j:plain
被覆側(コーン側)はこんな感じ.

すべて圧着端子で仕上げています.あとはボルトで接続.
これであとは防水関連の処理をしてあげれば屋外でも使えます.
ブチルテープ(自己融着テープ)や,ホットボンド等で絶縁をします.

割と形状もよく,思ったより良い出来映えでした.
送信用に使うにはなかなか難しいかもしれませんが,広帯域の受信用アンテナとして活用できると思います.
安価に仕上げているので,もしよろしければ作ってみてはいかがでしょうか.

OSXのMACアドレス変更方法

なんとコマンドはすごく簡単らしい

$ sudo ifconfig [変更したいインターフェース名] ether [変更したいMACアドレス]
$ sudo ifconfig [変更したいインターフェース名] down
$ sudo ifconfig [変更したいインターフェース名] up

MACアドレスをランダムに生成したい場合は以下のとおり

$ openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'

変更前のMACアドレスをきちんと残しておくこと.
再起動後は元のMACアドレスに戻るらしいが.

DMM.makeに出品したCanon MP640のカムを用いて修理してくれた方がいた

題のとおりです.
私は先日DMMでCanon MP640の後ろトレイの下のあたりのカムを出品させていただきました.
そのカムを用いて,ご自分のMP640プリンタを修理してくれた方がいらっしゃいました.

私としては,そういうように利用していただける方がいてうれしい限りです.
DMMでナイロン樹脂を用いてプリントし,該当部をヤスって修理をされたということです.

その方に送っていただいたDMM.makeで印刷されたナイロンカムの画像が以下になります.

f:id:jp7fkf:20161006145531j:plain

一番右側のカムがMP640にもともと入っていたカムで,ぱっきりと割れてしまっています.
左側と真ん中の2つがDMM.makeによりプリントされたものだそうです.

一般的なFDM方式の3Dプリンタよりきれいな造形物と成っている気がします.
ただ,表面に若干の毛羽立ちが見られるような気もします.

この方は,MP640をたくさん所持していらっしゃり,その使い勝手の良さからオークションなどからも入手して利用し続けているとのことでした.
自分の作製した3Dデータが簡単にシェアでき,造形物がすぐにネットで注文できてそれで故障品の修理までできてしまうことが実現されました.
こちらとしても非常にうれしいことだと思います.直せるものはできるだけ直して利用していきたいものです.

交流回路の進み,遅れの話

交流回路を勉強しているとよく見るのが,「コンデンサは進み要素だ」とか,「コイルは遅れ要素だ」とかいう表記を見つけたりします.
いや,確かに間違っていないと思いますが,実は「コンデンサは遅れ要素だ」,「コイルは進み要素だ」などと言っても間違いではないと思っています.
これは基準をどう取るかという問題で,"何が","何に対して"遅れ,進みであるかが重要です.

コイルは,"電圧に対して電流が","遅れ"であり,"電流に対して電圧が","進み"であります.
逆にコンデンサは,"電圧に対して電流が","進み"であり,電流に対して電圧が","遅れ"であります.

電気回路を勉強したての頃,これでちょっと迷ってしまったことがあります.
基準がどっちだかわからなくなることがあったからです.
進み,遅れという相対的な議論をしているにもかかわらず,基準が曖昧だったのです.


また,電気回路を学ぶときにフェーザ表示,フェーザ図などを見たことがある人もいるかも知れません.
これは,ガウス平面に対して複素数で表される電流,電圧をプロットできるという図です.
フェーザ表示はその複素数のmagnitude(大きさ)とphase(角度,つまり基準との位相差)を表します.
このフェーザ図を用いると,"電流を基準"として,理想コンデンサを直列につないだとき,電圧は虚軸の負の向きを指します.
これは,電流に対して電圧が90度遅れであることを示しています.
また,理想コイルを直列につないだとき,同様に,電圧は虚軸の正の向きを指します.
これは,電流に対して電圧が90度進みであることを示しています.
図に示すと以下のようになります.
f:id:jp7fkf:20160927172934p:plain

時系列に見ると,このフェーザ図が時間ごとに反時計回りに回転します.
コンデンサを直列につないでいるときに関して,時系列ごとに見てみます.
f:id:jp7fkf:20160927175311p:plain
ああ見にくい....
これをもっと繰り返すと...
f:id:jp7fkf:20160927181310p:plain
ご覧のように,遅れ,進みを議論するときによく用いられる時系列のグラフになります.
(keynoteを使ってちまちま書きました.なんとかできた)
こんな風に理解すると,理解しやすいかも知れませんね.

普段,時間と電圧,電流のグラフで遅れ進みを議論するときは,「コンデンサは,"電圧に対して電流が","進み"」などと,電圧を基準にコンデンサは進みだ!という風に教えられることも多いでしょう.
しかしこのフェーザ表示では,基準を電流とする(実軸に電流を重ねる)ことも多くあり,この場合は電流を基準に電圧は遅れなのです.
このあたりが遅れ,進みがこんがらがる要因な気がします.
(私はこれでこんがらがった記憶があります)


話は変わりますが,一般に現実世界のコンデンサやコイルは直列抵抗成分などを持っています.
もちろんコイルには線間容量が,コンデンサにはESLの成分もあります.

このような様々な要素から,現実世界のLやCは,0度から90度の間の範囲で位相をずらすことになります.
純粋なコンデンサやコイルはぴったり90度ずれることになっていますが,一般に現実ではそれは不可能です.
LCRメータで,位相角をみることができるものがありますが,人間が巻いたコイルなどを測定すると位相角は89度とかになります.

今回はLCRと交流の話になりました.
少しくらい復習になった気がする.
遅れ,進みを議論するときは基準を大切にすること,フェーザ図なども基準が大切ですというのがこの記事のまとめです.

Canon MP640のカムをDMM.makeに出品してみた話

以前投稿した,Canon MP640プリンタ給紙機構の修理 - JP7FKFの備忘録という話で,カムを3Dプリントして修理するということをしていた.
その記事を見てくれた方から,同じ症状で壊れてしまっているという報告を受け,なんとか協力できないかと検討してみた.

そこで,私はその方にDMM.makeの3Dプリントサービスを提案してみることにした.
DMM.make モノが作れて世界で売れる。製造・流通を支援

これは,個人でモデリングしたものをDMMが3Dプリントして発送までしてくれるというものである.
さらに,そのモデリングしたものを公開すれば,あらゆる人がネットショッピングのような要領で購入することができる,クリエイターズマーケットというものもある.
このマーケットは,自分で価格を設定することができ,材料費や諸経費を除いたものは出展者の利益となる.
今回,私の作成したカムはこのクリエイターズマーケットにも公開されている.
Canon MP640 給紙トレイカム - DMM.make クリエイターズマーケット

使い方はいたって簡単で,まずはモデリングした3Dモデルをアップロードする.
普通のSTL形式でOKだ.ほかの形式も使えるらしい.
f:id:jp7fkf:20160926003131p:plain
f:id:jp7fkf:20160926003348p:plain

ここで,アップロードしたSTLデータが3Dプリントするうえで問題がないかチェックされる.
チェックの状況はメールで報告されるほか,マイ3Dデータからも参照できる.
たとえば私のカムのモデルはすでにチェックされているが,このようになっている.
f:id:jp7fkf:20160926003510p:plain
修正の必要がある場合は,有料だがデータ修正のサービスもある.
もちろん自分で修正すればOKだが.

あとはこれを公開すれば,みんなが購入できるようになるし,
自分だけで楽しむ場合はこれをDMMで3Dプリントして発送してもらえばよい.
なんと送料は無料だ.

材料も,以下の中から選択可能だ.
 石膏フルカラー
 フルカラープラスチック
 アクリル(Ultra Mode)
 アクリル(Ultra Mode) レッド
 アクリル(Ultra Mode) ピンク
 アクリル(Ultra Mode) ブルー
 アクリル(Ultra Mode) パープル
 アクリル(Ultra Mode) ブラック
 アクリル(Ultra Mode) オレンジ
 アクリル(Ultra Mode) イエロー
 アクリル(Ultra Mode) グリーン
 アクリル(Xtreme Mode)
 ナイロン
 ナイロン レッド
 ナイロン ピンク
 ナイロン ブルー
 ナイロン パープル
 ナイロン ブラック
 ナイロン オレンジ
 ナイロン イエロー
 ナイロン グリーン
 ガラスビーズ強化ナイロン
 シルバー 鏡面
 シルバー 未処理
 シルバー バレル研磨
 シルバー いぶし仕上げ
 シルバー 梨地仕上げ
 シルバー ヘアライン
 真鍮 未処理
 真鍮 鏡面
 真鍮 K24メッキ
 真鍮 K18メッキ
 真鍮 K14メッキ
 真鍮 ピンクゴールドメッキ
 真鍮 ロジウムメッキ
 真鍮 ブラックロジウムメッキ
 真鍮 ガンメタロジウムメッキ
 ゴールド
 プラチナ
 チタン
 クリアアクリル
 ゴムライク(FLX9995)
 ゴムライク(FLX9985)
 ゴムライク(FLX9970)
 ゴムライク(FLX9960)
 ゴムライク(FLX9950)
 ゴムライク(FLX9940)
 ゴムライク(Tango+)
 ゴムライク(RGD8630)
 ABSライク
 ポリカーボネート(PC)
 PC-ABS
 インコネル
 マルエージング
 アルミ
 アルミ(ショットブラスト)
 アルミ(アルマイト
 アルミ(テフロン加工)
 ジュラルミン
 ステンレス SUS304
 ベリリウム
 ガラス

金などでも造形できるのはすごい.
安価なのは石膏やナイロン,ABSだろうか.

ということで,だれでも私がモデリングしたMP640の後トレイのカムを買うことができる.
もしお困りの場合はぜひ利用してもらえるとよいかと思う.

また,このモデルにはちょっと手作業で修正が必要だ.
必要な修正はこの部分.
f:id:jp7fkf:20160926004137j:plain
ここを
f:id:jp7fkf:20160926004422j:plain
このように切り取る形で加工をしたい.
f:id:jp7fkf:20160926004436p:plain
この部分は,カムが抜けないようにするツメのようなものだ.
かぎ状になるように加工をする.
完成品がこんな感じだ.
f:id:jp7fkf:20160926005726j:plain
f:id:jp7fkf:20160926005727j:plain
f:id:jp7fkf:20160926005728j:plain

最終的にはプリンタに実際はめてみて,うまくハマるかを確かめながら少しずつ削って調整をする.

3Dプリンティングサービスで,修理するパーツもシェアできるいい時代ですね.

Microsoft Comfort Mouse 6000の修理

メインPC(Windows)の入力インターフェースとして,マウス,Microsoft Comfort Mouse 6000を使っています.
ちなみにキーボードはHHKB Pro.

ある日CADを使おうとしたら,マウスの中ボタンクリック(ホイールクリック)が効きづらくなっていることに気づいた.
CADで中ボタンって結構重要な役割なんですよね.視点変更とか色々.
かなり長く使っているしそろそろスイッチの寿命だったのかもしれない.

ということで,分解清掃して,スイッチを交換することにした.
まずは裏のソール上下二箇所を外します.両面テープ止めになっている.
そうするとネジが見えるので,すべて外します.
これでカバーが外れます.
f:id:jp7fkf:20160906105721j:plain

結構簡単な作りですね.
基板.
f:id:jp7fkf:20160906105906j:plain

スクロールホイールの右側に,中ボタンクリック検知用のタクトスイッチがあります.
中ボタンってタクトスイッチだったのね.
これは修理してしまった後の画像になりますが….
f:id:jp7fkf:20160906110038j:plain

赤いタクトスイッチに交換しています.
これは普段見る,普通のタクトスイッチですが,はじめに基板についていたものは,スイッチの押す部分がもっと長いものでした.
なので,私は瞬間接着剤で適当なプラスチック片を貼り付けて高さを稼いでいます(笑).

この交換用のスイッチですが,秋月によさげなスイッチがありました.
長さ的には,おそらくこれくらいだったと思うので,修理にはこれが最適かもしれません.
タクトスイッチ(黒色): パーツ一般 秋月電子通商 電子部品 ネット通販
もちろん私のように,普通の背の低いタクトスイッチにいい感じにバイアスしても良いと思いますが,やっぱり美しい方がいいと思います.

この長い棒の部分のところに,小さなスプリングが入っており,あの独特のホイールクリックの感覚になっているのでした.

修理方法はいたって簡単で,単純にスクロールホイールを外し,下の基板を固定しているネジを外し,基板からタクトスイッチを取っ払って新しいものと交換するだけです.

これでCADを快適に使えるようになりました.