メカトロニクスにうってつけの日

ロボット開発や研究活動に関するメモ

KiCadで設計した回路の実装図を作る

電子基板屋さんに部品の実装を発注するときには実装図が必要になります(実装図とは → 実装図サンプル | プリント基板ネット通販P板.com).
僕は電子基板の設計にはKiCadを使っていますが,KiCadからスマートに実装図を作成する方法をわかっていません.なので実装を頼むときは毎度泥臭い方法でそれらしく見える実装図を作成しています.本記事ではその方法を紹介します(もっといい方法があるかもしれません).

当たり障りない例として,以前作ったUSB-Serial変換器の基板を用います.部品のリファレンスが「R1」「C1」みたいな形式になっていませんがお気になさらず(自分ではんだ付けする場合にはこの方が便利だったりします).

f:id:tattatatakemori:20180331220704p:plain

1. メタルマスク用データとシルクのデータをPDFで出力

1.1 レジストのクリアランスを0に

[寸法] > [パッド - レジストのクリアランス]から,レジストのクリアランスと最小幅を0にしておきます.これをした方が見やすくなります.

f:id:tattatatakemori:20180331220919p:plain

1.2 PDFで出力

[ファイル] > [プロット]から,F.MaskとF.SilkをPDFで出力します(表面の場合).基板外形はプロットされた方がいいので,除外にはチェックしません.必要に応じて[フットプリントのリファレンスをプロット]にチェックが必要です(この例では「C1」「R1」てきなのを使ってないせいで不要になっています).

f:id:tattatatakemori:20180331221555p:plain

2. 二つの図を重ねてPDF化

2.1 PDFから画像ファイルを作成

作成したPDFファイルを開き,スクリーンショットを撮るなりして画像ファイルにします.後で透明色を使うので僕はpngにしています.

f:id:tattatatakemori:20180331222703p:plain

f:id:tattatatakemori:20180331222105p:plain

2.2 片方の画像の白部分を透明化

片方の画像の白い部分を透明色にします.今回はシルクの方を透明化しました.
僕は透明化には以下のサイトを使っています.

www.peko-step.com

2.3 二つの画像を重ねる

透明化した方を上にして,二つの画像を重ねます.うまく大きさを合わせる必要があります.僕はPowerPointを使っています.

f:id:tattatatakemori:20180331223227p:plain

2.4 PDFで出力

最期に,PowerPointの機能をそのまま使ってPDFで出力します.

  

以上の手順でそれらしい実装図を作成できます.他に注釈などを入れたい場合はPowerPoint上で追加するのがいいでしょう.

他にもっとスマートな方法があるかもしれませんが,ひとまずこれでなんとかなるのでこれでなんとかしています.

京都大学総長賞,工学研究科長賞受賞

ロボカップレスキューでの成果を受けて,京都大学総長賞,および工学研究科長賞を受賞しました.どちらも研究室の学生チームでの受賞になります.

研究室でのレスキューロボット開発の活動は一旦後輩に引き継いだのですが,教授のリクエストで復帰することになりました.今年もロボカップWorld Robot Summitに向けて開発に取り組みます.

 

www.kyoto-u.ac.jp

 

f:id:tattatatakemori:20180328184858j:plainf:id:tattatatakemori:20180328185222j:plain

 

ロボカップでの成果については下記記事にあります.

tattatatakemori.hatenablog.com

tattatatakemori.hatenablog.com

 

 

レーザー測距センサVL53L0Xの使い方

STMicroelectronicsのTime-of-Flight方式の距離センサであるVL53L0X,4.4×2.4×1.0mmの大きさで,数センチから2メートルまでの距離をミリレベルの精度で測ることができる優れものです.今回は研究関係で複数利用したので,ポイントだけざっくりメモを残しておきます.

www.st.com

 

IDの設定

I2C通信を用いてデータを取得しますが,一つのバスで複数利用する場合にはひと手間必要です.各チップは電源を切るとIDがリセットされるため,電源投入のたびにIDを設定しなおす必要があります.しかし,当然設定しなおす時点では全チップが同じIDを持っているため,一見すると特定のチップのみのIDを変更することができません.そのためにVL53L0XにはSHUTピンが用意されており,このピンをLowにするとそのチップはシャットダウンされます.このピンをマイコンから個別に操作できるようにしておき,

①全てのチップをシャットダウン

②チップ1をONにし,IDを変更

③チップ2をONにし,IDを変更

・・・

といった手順で全てのチップに異なるIDを設定することができます.この操作を電源投入時に毎回行う必要があります.

 

ライブラリの利用

このセンサを使うためのライブラリはmbedやarduino用のものはあるようですが,今回僕は自分で設計した基板で素のマイコン(STM32F405)を使ったので,これらのライブラリはそのままでは使えませんでした.

ライブラリを使用しない場合の情報が少なかったため,ライブラリをいじって使うことにしました.下記ライブラリのVL53L0X.h/cppを利用します.

github.com

このライブラリに合わせた形でI2Cの通信を行う部分のライブラリを自分で作成し,I2C通信の部分を自作のものに置き換えれば,上記ライブラリのVL53L0Xのクラスが使えるようになります.この方法で連続測定モードで使うことができました.

 

以上,とりあえずのざっくりメモでした.