2019年8月8日木曜日

Eagleでの作業を快適に:「ライブラリのある部品だけを買う」

Eagleで部品ライブラリ探し回って、見つかったと思ったら素人が作った雑なやつしかなく(お前が言うな)、結局自分で最初から作った方が速かった、というパターンで人は人生の何パーセントを失っているのだろうか。

なので標準品にもAdafruitにもなければ諦めて、似たような部品のfootprintとEagle Libraryのパッケージ生成ツールで作る、というのがここしばらくの作業フローでした。

が、ちょっと発想を変えたらだいぶ効率がよくなりました。

それは当たり前といえば当たり前なのですが、「ライブラリがある部品を買う」だけです。それがパッとわからないから苦労してたんですが……Mouser.jpでは部品検索一覧画面にそのパーツのライブラリがあるかどうかを表示しています。

スペックで絞りこんで、あとは3Dアイコン探し

アイコンをクリックしてモデルファイルをダウンロードし、ツールを起動してEagle形式に変換すればOK……なのですが、私はMacなので仮想マシンの上でWindowsを起動し、なんかよくわからないUIのアプリを起動するのはかったるい。

ここは https://componentsearchengine.com/ を使いましょう(無料のアカウント登録が必要)。Mouserで「モデルがある」と表示された部品はcomponent search engineにも登録されていて型番で検索すると、以下のようにヒットします。


「3D」をクリックすると別ページでFOR MEMBERSのダウンロードリンクができます。ダウンロードして解凍するとEagle Libraryがばっちり。


このファイルをEagleのLibrary Managerで読み込むだけでOKです。

Open Library Managerを選び

In Useタブを選び、Browseボタンをクリック

ダウンロードしたファイルを選択

めでたくAdd Partsなどで使えるようになります。

ここに登録されているライブラリはEagle標準と比べるとちょっと癖があってFootprintで >NAME と >VALUE が部品そのものの中心と同じ座標だったり、Symbolのピンの名称や並びがメーカー仕様書と違っていることがあります(もちろん、アサインは間違っていない)。powerとsupply指定が間違っているのはよくありますけどね……。ときどき部品の中心ではなく1ピンが中心になってることも多いのは最初違和感しかなかったですが、慣れたらそれも悪くないと思うようになりました。

いずれにせよ、人の作ったライブラリは使う前に確認するのが鉄則ですから、ピンアサインなどを確認するついでにこういう癖みたいなものを直してしまうと、使いやすくなります。

Mouserでライブラリと在庫のある部品を探してComponent Search Engineでダウンロード、確認・修正してから利用……というパターンになってから、基板の設計時間がだいたい想定通りに終わるようになりました。MouserではプロジェクトごとにBOMも登録できるので、あとで調達で苦労することもありません。

どぞお試しください。

なお、利用前にライブラリのライセンスについてはしっかり確認してください。

2019年8月1日木曜日

750円の中華GPSから時刻を拾う(M5Stack)

AliExpressでやっっすいGPSレシーバーを見つけたので試してみました。

本体と5ピンのコネクタがついてます。忘備録として書いておくと、写真の状態で赤から順に+3.3V, GND, Tx, Rx, PPSです。


配線細いので、ピンを圧着します。前の写真から20分ぐらいかかっているけど、そのうち15分はスミチューブを探していました。片付けよう……部屋を……。



で、マイコンと接続。軒下から持ち出せないと不便なので、ディスプレイ付きM5 Stackを使います。GND, 3V3, Txを16, Rxを17に接続します。Hardware Serial 2を使うのでGPIO16はRx, GPIO17はTxになり、相互に通信できるわけです。レシーバーとの通信速度は9600bpsにセットします。

あとはただ受信して $GPRMC が含まれる行を切り取ってM5 StackのLCDに表示するだけ……と思ったら何もでません。

このレシーバー、標準状態ではGNSSなので、$GPRMCではなく$GNRMCにしないといけません。で、めでたくM5の画面上には時刻(UTCなので9時間ずれます)などが表示されるはず……と思いきや、でません。室内だと全然衛星を補足してくれません。まぁ当然ですけども。



で、一度ベランダに出て、衛星を補足したあとは部屋の中でも検知できます。画面上135438=22時54分38秒と出ているのがGNSSから取得した時刻です。

で、衛星情報はモジュール内でバックアップされているはずなので、Vcc - GND間に1Fのキャパシタを入れてみたところ、Vccを抜いて10分間後に再度電源を供給しても時刻の取得が可能でした。一次リチウムバッテリなら小さいのでも数日は楽勝ですね。


ソースはこんな感じ。


小ネタ:UVレジンの利用法

シリンジに少量のUVレジンを入れておくと、ちょっと接着したい時、ちょっと充填したい時にさっと使えて便利です。

しまう時にはシリンジに空気を吸ってからアルミ箔で包み、写真のようにニードル側を少し上にむけておくと温度差で勝手にレジンが滲み出る事故が減ります。



シリンジはプラスチック製の場合はテルモのツベルクリン用が安くて(10本で300円ぐらい)バンバン使い捨てにできて良いのですが、ガラス製は動きが滑らかで使いやすいです。1本400円ぐらい。


なおツベルクリン用は例えばアクリル用接着剤なんかだと1-2時間で溶けちゃいますが、UVレジンは今のところ平気です……ただ、実験してから試してくださいね。



あと、レジンは毒性があります。扱う時にはニトリル手袋などを使用しましょう。ニトリル手袋、モノタロウが安くていいですよ。