2016年10月15日
e-statのshpを全国分取り込んで国交省の行政区域shpと比べてみる
久々にGISネタです。
国交省の国土数値情報ダウンロードサービスでダウンロードできる行政区域のShapefileは以前の記事でも取り扱いました。
国土数値情報 行政区域データは全国の行政界を記録したものですが、これは市区町村界レベルであって、大字(〜丁目)レベルの境界ではありません。(行政界なので当然なのですが)
そこで、現状無料で手に入る大字レベルのshpとして、総務省統計局のデータを利用してみることに。
e-Stat 政府統計の総合窓口
地図で見る統計(統計GIS) → データダウンロード → 国勢調査 → 平成22年国勢調査(小地域) 2010/10/01 → 男女別人口総数及び世帯総数 → 市区町村を選択 → 世界測地系平面直角座標系・Shape形式
これをダウンロードします。
ダウンロードするのですが... これを全国分となると、市区町村を選択してShapeを選んで...という作業をおよそ1900回繰り返さなければなりません。
一括でダウンロード出来ない理由は負荷軽減のためで、全国分欲しい人は地図屋からデータ買ってねという記載があるので、ちゃんと正攻法で買いましょう。
そもそも、このShapefileは数値情報を上に重ねたりグラフ化したりするためのもので、境界域を得る為に使用するものではありません。
...ただ、今回はスクリプト書いて全部ダウンロードさせてもらいました。(ごめんなさい)
一括ダウンロードのためのスクリプトは載せません。
結論としては、やはり地図屋から買った方がいいです。
しかし、同じことを企む人たちのために、何故そういう結論に至ったのか書き残そうと思います。
まずは、視覚的に比較するためにShapefileを取り込みます。
e-Statから手に入れたデータはzip化されてますので、まずは解凍。
unzip \*.zip
出てきたShapefileをQGISで結合します
1. ベクタ → データマネジメントツール → 複数のシェープファイルを1つに結合する
2. フォルダのレイヤによって選択する にチェック
3. 入力ファイルで .shpファイルを全て選択して、エンコードにSift_JISを選択 → Open
4. 出力シェープファイルで保存先を選んでエンコードにUTF-8を選択 → Save
5. OK で処理開始
この段階で結合されたshpができあがるのですが、CRS(測地系)がEPSG2454(JGD2000)になっていると思うので、今後扱いやすいようにEPSG4326(WGS84)で保存し直します。
1. 結合処理が終了して、レイヤに追加されたデータを右クリックして名前を付けて保存
2. パスに保存先を選び、CRSにEPSG4326(WGS84)を選択してOK
これで準備完了。
千代田区の大手町1丁目を選択してみました。
なんだか良さそうな雰囲気。
では、すこしズームアウトして湾岸部を見ましょう。
なんだか海岸線とは思えない鋭利なラインが目立ちます。
この上に国交省 行政区域データを重ねてみます。
どうやら、海域の一部も含まれているので、陸地の境界域として利用するにはイマイチでしょう。
(こういう海域が取り込まれている部分が全国の海岸部分に沢山あるので、1つ1つ手で除去とかアホみたいに時間掛かることはしません)
それと、もう1点。
これは統計局のデータではなく国交省のデータの問題なのですが...
中央の濃い赤は統計局shpの皇居、周囲の赤は国交省shpの千代田区です。
周囲の境界をよーく見てみると...
濃い赤の選択部分は統計局shpの八重洲1丁目、周囲の赤は国交省shpの千代田区です。
八重洲1丁目が千代田区と中央区に跨がっています。
こういうポイントが全国各地に山ほどあります。
どちらのデータに問題があるのか、原典として使われている地図を調べてみないと分からないですが、おそらく国交省行政区域データの方が粗いのではないかと思われます。
ベクタなので、点の数が増えれば複雑な形状にもフィットする境界を描けて、逆に点の数が少ないと簡素な境界しか描けません。
もちろん、点を増やせばデータサイズも増えます。
ということで、結論ですが...
1. 大字レベルのShapefileが必要なら地図屋さんから買いましょう。
2. 厳密な市区町村界が欲しいなら、購入した大字レベルのShapefileから市区町村レベルで地物の結合をして生成しましょう。
以上です。
普通、業務でこういったGISデータを利用されている方にとっては当然なのでしょうが、個人であれこれやるとぶつかりそうな問題だなぁと思ったので書いておきます。
2016年9月20日
ミニマルなIRKitクローンを作ってiOSから家電を制御する
どうも、お久しぶりです。生きてます。
さて、iOS 10が配信開始されて新たに登場した「ホーム」アプリのおかげで、日本ではあんまり注目されてなかったHomeKitが熱くなってるみたいです。(個人的感想)
HomeKitではPhilips Hueを操作できたりするのですが、そもそも対応していない家電を対応させるためのDIY的手法も色々存在しています。
例えば、HomebridgeとIRKitを組み合わせた方法。
Raspberry PiにHomebridgeを入れて、homebridge-irkitでIRKitを叩くみたいなお手軽スマートハウスのやり方は検索すれば山ほど出てきます。
そしてここで使われるIRKit、赤外線リモコンの信号を送受信できるオープンソースハードウェアなのですが、大人気なんですね。
在庫切れ入荷予定無しで手に入らないんだけど(キレ)という声も周囲にチラホラあったり。
というわけで、欲しいけど無いなら作りましょう。
自分で作ると安いし、面白いですし...
回路はこんな感じ。
必要な部品は以下の通り。
ESP-WROOM-02でミニマルなIRKitクローンを作る
もしESP-WROOM-02とかブレッドボードとか抵抗とか...持ってるなら、赤外線LEDと赤外線リモコン受信モジュールだけ買っちゃってください。
私はオリジナルのESP-WROOM-02搭載ボードとプロトタイプ・シールド基板を作っているので、これを使ってサクッと作りました。
中身のソフトウェアはIRremoteESP8266とaJSONを使って100行程度で実現しています。
コードはこちら。
9SQ/minIRum: A minimal implementation of infrared sender/receiver like IRKit by ESP8266
Arduino core for ESP8266をArduinoに入れて、コードをビルドしてESP-WROOM-02に書き込んであげてください。
あとは、IRKitみたいに GET /messages で最後に受信したリモコンのコードが取得できるので、これをメモしておいて...
POST /messages にこれを投げてあげれば、リモコンと同じように発光してくれます。
もし、エアコンなどの長めのコードを飛ばすリモコンの場合は、IRremoteESP8266/IRremoteESP8266.hの#define RAWBUF 100を200とかにしてあげれば取れるかも。
あとはHomebridgeと組み合わせれば、このようなことが出来ます。
Raspberry PiにHomebridge諸々を入れるのは、検索すればいっぱい記事が出てくると思います。
ただ、Raspbianはapt-getで取れるnodeが古かったりするので、楽をしたいならArch Linux(RasPi2/RasPi3)をお勧めします...
irkit_hostは適宜変更してください。
homebridgeを立ち上げて、iPhoneとペアリングします。
iOS 10のデバイスで「ホーム」アプリを起動して「アクセサリを追加」、Homebridgeが表示されるのでコードを入力してペアリングを完了させます。
Homebridgeを追加したら、configに書いたアクセサリ(上記例では「ライト」)が表示されると思うので、これを追加すれば制御できるようになります。
Raspberry PiでのHomebridgeの自動起動は以下を読むと早いです。
Arch Linuxなら、Running Homebridge on Bootup (systemd)のセクションです。
https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi
homebridge-irkitではON/OFFの単純操作しかできないので、そのうち色々なコードを叩けるhomebridgeのプラグインでも書こうかな...
ちなみに、Raspberry Piにhomebridge-cmdを入れて、GPIOにSSRを繋いであげれば、リモコンの無いAC100Vの機器もON/OFFできます。
さて、iOS 10が配信開始されて新たに登場した「ホーム」アプリのおかげで、日本ではあんまり注目されてなかったHomeKitが熱くなってるみたいです。(個人的感想)
HomeKitではPhilips Hueを操作できたりするのですが、そもそも対応していない家電を対応させるためのDIY的手法も色々存在しています。
例えば、HomebridgeとIRKitを組み合わせた方法。
Raspberry PiにHomebridgeを入れて、homebridge-irkitでIRKitを叩くみたいなお手軽スマートハウスのやり方は検索すれば山ほど出てきます。
そしてここで使われるIRKit、赤外線リモコンの信号を送受信できるオープンソースハードウェアなのですが、大人気なんですね。
在庫切れ入荷予定無しで手に入らないんだけど(キレ)という声も周囲にチラホラあったり。
というわけで、欲しいけど無いなら作りましょう。
自分で作ると安いし、面白いですし...
回路はこんな感じ。
必要な部品は以下の通り。
ESP-WROOM-02でミニマルなIRKitクローンを作る
もしESP-WROOM-02とかブレッドボードとか抵抗とか...持ってるなら、赤外線LEDと赤外線リモコン受信モジュールだけ買っちゃってください。
私はオリジナルのESP-WROOM-02搭載ボードとプロトタイプ・シールド基板を作っているので、これを使ってサクッと作りました。
中身のソフトウェアはIRremoteESP8266とaJSONを使って100行程度で実現しています。
コードはこちら。
9SQ/minIRum: A minimal implementation of infrared sender/receiver like IRKit by ESP8266
Arduino core for ESP8266をArduinoに入れて、コードをビルドしてESP-WROOM-02に書き込んであげてください。
あとは、IRKitみたいに GET /messages で最後に受信したリモコンのコードが取得できるので、これをメモしておいて...
POST /messages にこれを投げてあげれば、リモコンと同じように発光してくれます。
もし、エアコンなどの長めのコードを飛ばすリモコンの場合は、IRremoteESP8266/IRremoteESP8266.hの#define RAWBUF 100を200とかにしてあげれば取れるかも。
あとはHomebridgeと組み合わせれば、このようなことが出来ます。
とりあえずシーリングライトをON/OFFできるようにしてみた。Homebridge+ESP8266 pic.twitter.com/xnYNSa5BFn— けーいち (@9SQ) 2016年9月14日
Raspberry PiにHomebridge諸々を入れるのは、検索すればいっぱい記事が出てくると思います。
ただ、Raspbianはapt-getで取れるnodeが古かったりするので、楽をしたいならArch Linux(RasPi2/RasPi3)をお勧めします...
pacman -S git python2 nodejs npm nss-mdns avahi systemctl enable avahi-daemon systemctl start avahi-daemon npm install -g homebridge npm install -g homebridge-irkit mkdir .homebridge cd .homebridge nano config.jsonconfig.jsonは以下のような感じで。
irkit_hostは適宜変更してください。
{
"bridge":
{
"name": "Homebridge",
"username": "B8:27:EB:4D:31:D7",
"port": 51826,
"pin": "031-45-154"
},
"accessories": [
{
"accessory": "IRKit",
"name": "ライト",
"irkit_host": "minirum-a492cd.local",
"on_form": {"format":"raw","freq":38,"data":[3550,1700,500,400,500,400,450,1300,500,1300,500,400,450,1300,500,400,500,400,450,450,450,1300,500,400,500,400,450,1300,450,450,450,1300,500,400,450,1300,500,450,500,400,500,1300,500,400,500,400,450,450,450,450,450,1300,500,400,500,1300,500,1300,450,450,500,1300,500,400,500,400,500,400,450,450,500,1300,500,400,500,450,450,1300,500,400,500,400,450]},
"off_form": {"format":"raw","freq":38,"data":[3550,1700,500,400,500,400,450,1300,500,1300,450,450,500,1300,500,400,500,400,500,400,500,1300,500,400,500,400,500,1300,500,400,450,1300,500,400,500,1300,450,450,500,400,450,1300,500,400,500,400,450,450,450,450,500,1300,450,1300,450,1300,450,1300,450,450,500,1300,450,450,450,450,450,450,450,1300,500,1300,500,400,500,400,450,1300,500,400,500,400,500]}
}
]
}
ちなみに、この赤外線コードはPanasonic製のシーリングライトのON/OFFです。homebridgeを立ち上げて、iPhoneとペアリングします。
homebridge
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] Loaded plugin: homebridge-irkit
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] Registering accessory 'homebridge-irkit.IRKit'
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] ---
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] Loaded config.json with 1 accessories and 0 platforms.
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] ---
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] Loading 1 accessories...
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] [ライト] Initializing IRKit accessory...
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
┌────────────┐
│ 031-45-154 │
└────────────┘
[Tue Sep 20 2016 03:31:29 GMT+0900 (JST)] Homebridge is running on port 51826.
iOS 10のデバイスで「ホーム」アプリを起動して「アクセサリを追加」、Homebridgeが表示されるのでコードを入力してペアリングを完了させます。
Homebridgeを追加したら、configに書いたアクセサリ(上記例では「ライト」)が表示されると思うので、これを追加すれば制御できるようになります。
Raspberry PiでのHomebridgeの自動起動は以下を読むと早いです。
Arch Linuxなら、Running Homebridge on Bootup (systemd)のセクションです。
https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi
homebridge-irkitではON/OFFの単純操作しかできないので、そのうち色々なコードを叩けるhomebridgeのプラグインでも書こうかな...
ちなみに、Raspberry Piにhomebridge-cmdを入れて、GPIOにSSRを繋いであげれば、リモコンの無いAC100Vの機器もON/OFFできます。
2016年6月4日
秋月で買える電子部品でリスト作成して色々できるサービスを作った
大きな地震があったりでバタバタしてたら4月5月と過ぎて6月になっていました...
というわけで2か月ぶりのブログ更新。
タイトル通り、秋月電子通商で扱っている電子パーツでパーツリストを作成、公開、共有、そして秋月の買い物かごに一括して放り込めるWebサービスを作りました。
その名も AkiCart
http://aki.prioris.jp/
(ちょっとダサいネーミングだったかも)
そう、秋月通販をよく使っている人は知っている... 秋月の買い物かごはセッション切れで放置してるとすぐに消えることを...
そこで、このサービスでは秋月で扱っている商品をリストに登録して保存し、リストのページにある「まとめてカートに入れる」ボタンを押すことで、いつでも秋月の買い物かごに商品をまとめて登録できるようにしました。
Twitterでログインすると、ダッシュボードが登場、ここから新しいパーツリストを作成できます。
作成するパーツリストは、アクセスレベルが公開(Public)、限定公開(Unlisted)、非公開(Private)の3種類から選択可能。
公開を選ぶとAkiCartのトップページにリストされる(こともある)ようになり、限定公開を選ぶとリンクを知っている人だけが閲覧可能なリストになり、非公開は文字通り自分しか見れないリストができます。
商品の追加はリストの画面からもできるのですが...
AkiCartの一番の特徴は、超超超便利なブックマークレット。
秋月の商品画面でブックマークレットをクリックすると、一発で作成したリストに追加できます。
ブックマークレットをブラウザに追加しておくと、秋月のページでクリック→個数の変更がない場合はそのままEnterを押すだけでドンドン追加できます。
AkiCartのブックマークを押して登録完了するまで最短2秒くらい。
作ったリストは一括して買い物かごに入れるだけでなく、CSV形式でダウンロードしたり、印刷専用のレイアウトで印刷することもできます。
高専とか大学とかで、事務の人に「これ買ってください」って渡すのも楽チンですね。
〜ここからはちょっとだけ技術的な話〜
今までは、買いたい商品のページをブラウザでブックマークしておいて、買うときに一挙に開いてカートに追加するという作業で購入していました。
流石にこれどうにかならんのか?というのと、何やら秋月の一括通販コード入力画面はリファラをチェックしてないから別サイトからPOSTできるという話を聞きまして...
一括通販コード入力画面からの遷移を見てみると、いつものカート画面(cart.aspx)に対して quick: True を指定して、あとはclass1_xに通販コードのハイフンの左側の英字1文字、goodsにハイフン右側の数字5文字、そしてqtyに数量を入れて、これを繰り返したものをPOSTしてあげればカートに入ることが分かりました。
そしてやはりリファラをチェックしてないので、このページ以外からPOSTしても普通にカートに入ることも確認。
これらを元にして、AkiCartができた...という訳です。
ちなみに、AkiCartの任意のリストページのソースを見ると、まとめてカートに入れるボタンの近くにtype="hidden"でいっぱいinputが転がってますw
バックエンドはEVI(地震火山詳報)でも使っているDjango(Python)です。
ここ数ヶ月触ってなかったので結構忘れてて、調べながらコード書いてたので時間が掛かりました...
6/3のAM2時頃に作り始めて、途中寝たり飯食ったりした時間を抜くと15時間くらいかな...?
バグとかセキュリティ的なアレを発見したら、Twitterでリプライ頂けると非常にありがたいです。
早速要望として、リスト間で商品を移動できるようにしたいとか、リストをブログなどに埋め込めるようにしたい、という意見が出ているので、ぼちぼちアップデートしていきたいと思います。
これとは別件で、そこそこ実用的かつ面白いものづくりのプロジェクトも進んでいるので、また報告できるタイミングになったらブログなどなどに書きたいと思います。
追記 : ブログパーツ(埋め込み用コード)できました。
公開もしくは限定公開のリストであれば、リストページの右サイドバー下に「埋め込みコード」の欄があるので、これをコピーして貼り付ければOK!
2016年3月18日
DMM 3Dプリントを試してみた
3Dプリンタ、便利ですよね。
サクッと3Dモデルを現実に出来るのは素敵... なんだけど、数万円程度の3Dプリンタでは精度が出ない... ということで前々から試してみたかったDMM 3Dプリントを使ってみました。
今回注文したのは以下のようなモデル。
うちの3Dプリンタでは出せなかったポイントは...
直径1.5mmのピンが2.54mm間隔で並んでいるところ。
0.02mm余裕を持って直径1.52mmで開けてます。
ちなみに、発注時は同じものを8個並べて注文。
お値段は...
ナイロン 4,251円
ナイロン カラー 4,338円
アクリル(Ultra Mode) 12,381円
アクリル(Ultra Mode) カラー 12,489円
アクリル(Xtreme Mode) 19,340円
ちなみに、8個のデータを投げる前に6個のデータを投げたのですが
ナイロン 3,555円
ナイロン カラー 3,641円
アクリル(Ultra Mode) 9,771円
アクリル(Ultra Mode) カラー 9,879円
アクリル(Xtreme Mode) 14,991円
みたいな価格でした。
ナイロンだと、8個の場合 531.375円/個、6個の場合 592.5円/個
アクリル(Ultra Mode)だと、8個の場合 1547.625円/個、6個の場合 1628.5/個
というわけで、今回はナイロンを選択。
stlで書き出したものをDMM 3Dプリントに注文したのが3/8の16時くらい、造形開始が3/9、発送が3/15、到着が3/17でした。
運送会社は佐川急便、梱包は以下のような感じ。
全体の写真は記事の一番上に貼りましたが、アップで見ると以下。
うちの3Dプリンタ(ダヴィンチ1.0 Jr)で出力したものと比較 (寸法が違うけど穴のサイズは同じ)
ダヴィンチJrだと1.52mmの穴が潰れたり大きさが揃ってなかったりするのが、DMM 3Dプリントで作ったものは綺麗に空いています。
で、これで何をするのかというと... この2つを組み合わせます。
ポゴピン(オス/メス)とネオジム磁石。
ポゴピンは、先端がバネになっているもの&先端が受け皿になっているもので1組。
ネオジム磁石も取り付けると...
こうなります。
ピタッと合体 pic.twitter.com/MNRSSsNJs9
— けーいち (@9SQ) 2016年3月17日
そして、最終的にはこんな感じで、littleBits的な何かになる訳です。
右端のコア以外はダミー(ハンダ付けしてない)だけど、こんな感じのものを作ってる。ESPbits(仮称) pic.twitter.com/T7WPPMUblc
— けーいち (@9SQ) 2016年3月17日
写真右端のブロック以外はダミーなのでハンダ付けしてません。 (もう少し暇になったら作り込みたい...)
これについては、また改めて記事を書こうと思います。
P.S. スマートミラーのソフトもぼちぼち進めてます... (ソフト編の記事はまだかと言われたので...)
2016年3月1日
オーブントースターでおうちリフローする
格安でプリント基板を製造してくれる中国・深セン発のサービス、超便利ですよね。
最近はElecrowを良く使うのですが、レジスト色が緑以外も無料で選べて、シルク印刷はめっちゃ綺麗で、しかも割と早く作ってくれるので最高です。
ところで、プリント基板といえばやはりSMD(表面実装部品)を使いたくなる、というかSMDを使いたいがためにプリント基板を作るという感じですが、ここで問題となるのが「どうやって付けるか」な訳です。
1, 2枚程度なら1個ずつ手ハンダで付けていっても「時間かかるなぁ」くらいのもんですが、大体のプリント基板製造サービスは10枚単位とかなので全部手ハンダで付けようとなると結構大変。
という訳で、市販のオーブントースターで一気にSMDをハンダ付けしちゃおうという話です。
既に色々なブログでやり方は取り上げられていると思うので、ここでは実際にやった準備や工夫、できあがった物、ネットに転がってない情報などをまとめておきます。
やったことの大雑把な手順は
1. スイッチサイエンスのリフローキットを組み立てる
2. オーブントースターにリフローキットを取り付ける
3. スイッチサイエンス謹製のULPでEagleからDXFを生成
4. Silhouette Studio 3でDXFを読み込む
5. silhouette CAMEO 2でポリプロピレン合成紙をカット
6. 基板にステンシルを乗せるための固定具を作る
7. 基板にペーストはんだを塗布
8. 部品を載せる(チップマウント)
9. 焼く(リフロー)
10. 完成
という感じなので、今回はこの手順をそのまま章とします。
1. スイッチサイエンスのリフローキットを組み立てる
オーブントースターでリフローするにも、パンを焼くように適当な時間入れておく訳にはいかないので庫内の温度を適度に調節するコントローラーが必要。
この辺も自作するのは然程難しくないのですが、既に誰かが作ってて売ってるなら買った方が早いということで今回はスイッチサイエンスさんが売っているものを買って組み立てます。
リフロートースターコントローラーキット - スイッチサイエンス
これにはSSRが付いてないので、別途秋月でSSRを2個(上,下ヒーター用)買います。
大容量ソリッドステートリレー(SSR)24V~380VAC 40A (SSR-40DA) - 秋月電子通商
組立手順はスイッチサイエンスさんのTracに載っているので、このまんまです。
「Dual_SSR_Solder_Toaster_Controller_Platform」の作り方
ここで完成したコントローラーにSSRをつけて問題となるのが、SSR-40DAが3.3Vでは動作不安定ということ。
安定化させるために、2SC1815を使って3.3Vから5Vにレベル変換するものを作りました。
箱は秋月で売ってるLCD用穴開きプラケースが丁度いい感じだったので、コネクタや電源の穴、ボタン用の穴などをフライスで開けて収めてみました。
プラスチックケース SW-125S(LCD) - 秋月電子通商
2個のSSRに繋がっている小さい箱がレベル変換機。(ケースはタカチのSW-50S)
2. オーブントースターにリフローキットを取り付ける
これもスイッチサイエンスさんのブログに載っている通りに取り付けました。
オーブントースターをリフローオーブン化してみた | スイッチサイエンス マガジン
使用したオーブントースターは、パナソニック製のNT-T500というもの。
スイッチサイエンスさんで使っているNT-W50の後継機種なので、改造位置は全く同じ。
パナソニック オーブントースター ダークメタリック NT-T500-K - Amazon.co.jp
配線は古いオーブントースター(以前破棄したもの)から取り出した耐熱ケーブルを使用。
田舎のその辺に売ってるようなものではないので、普通に買うならちょっと面倒そう。
3. スイッチサイエンス謹製のULPでEagleからDXFを生成
これもスイッチサイエンスさんのTracにある情報&スクリプト(ULP)を使います。
EAGLEで作った基板のハンダマスクをCraft ROBOで作る
スクリプトをulpフォルダに投げ込んでEagle上で実行すれば、プロジェクトのあるフォルダにdxfファイルが吐き出されます。
今回はESP-WROOM-02の載った基板を作るので、以下のEagle部品ライブラリを使わせてもらったのですが...
ESP-WROOM-02のEagle用ライブラリ
これのパッドの属性がCreamになってないので、普通にDXFを吐き出したらカットしたい部分が出力されない...というわけでライブラリを書き換えて使いました。
部品のPackage上で右クリックしてOpen in Library
ペーストはんだで付けたい足を選択して、CreamのチェックボックスをONにすればOK.
あとはプロジェトを開いてLibraryからUpdateをすれば既存のプロジェクトでも反映されます。
4. Silhouette Studio 3でDXFを読み込む
今回は、シルエットカメオ2というカッティングマシーンでステンシルを作ります。
グラフテック 小型カッティングマシン silhouette CAMEO 2 - Amazon.co.jp
これにSilhouette Studio 3というソフトが付属しているので、これでDXFを読み込んでカットする訳ですが、ちょっと調整が必要。
まず、環境設定を開き、DXFの読み込み設定で「中央」を選択。
これで実寸サイズでDXFを読み込んでくれるので、テスト出力してサイズ調整などは全く必要なくなります。
次に、ポリプロピレン合成紙用のプロファイルを作って設定します。
右上のバーからカット設定(右から2番目)を選び、以下の赤枠のようにしました。
これでスイッチサイエンスさんで扱っているポリプロピレン合成紙をうまくカット可能。
ポリプロピレン合成紙A4版150μm厚5枚セット(クリームハンダステンシル用) - スイッチサイエンス
5. silhouette CAMEO 2でポリプロピレン合成紙をカット
ポリプロピレン合成紙をカッティング台紙の粘着面に貼ってカットするのですが、この台紙の粘着面は新品だと粘着力が強すぎて、剥がせない...ので何度か布などを貼り付けて十二分に粘着力を落としてから貼り付けます。
ポリプロピレン合成紙は意外とピッタリ貼りつくので、剥がす時に曲げてしまうと特性上カールしたりストライプ状の跡が残ってしまう...
そこで、手で触った感じで「これくらいの粘着力なら剥がれるだろう」と思ったところから更に粘着力を落とし、試しに角の方を貼って簡単に剥げることを確認してから貼るとOK.
貼って、台紙をセットしたら、Silhouette Studio 3からカット開始。
カットできたら、いらない部分にセロハンテープなどを貼って除去する。
6. 基板にステンシルを乗せるための固定具を作る
ステンシルを基板の上に置いてペーストはんだを塗るわけですが、ただ置いただけだとポリプロピレン合成紙がたわんだりして基板との隙間にペーストはんだが入り込んでしまう。
そこで、木の板とビニールマットで固定具を作り、それにステンシルの位置を合わせて一辺をテープで固定しました。
この辺りはもっと簡単にできる方法はあるはず... (基板の厚みと同じ板を基板の形にくり抜くだけでも随分違うはず)
7. 基板にペーストはんだを塗布
使ったペーストはんだはaitendoで扱っているもの。(今は在庫切れ)
ソルダペーストはんだ[XG-50] - aitendo
これ、かなり粘り気があるので塗るのが難しい。
ホームセンターで買ったプラスチックのヘラで均一に伸ばそうとしても、塗れてないところが出てくる→もう一度塗る→厚くなる→狭ピッチ部分がブリッジする...となる訳です。
この辺は何度かやりながらコツを掴むしかなさそう。
8. 部品を載せる(チップマウント)
ここがおそらく最難関。
部品を順番に載せていると徐々にハンダの粘りがなくなってくる(乾燥する?)ので、ピッチの細かい部品、今回だとヒロセのMicro USBコネクタ、SSOPのFT231XSから先に配置。
ちょっとパッドの部分からハンダが出ていても、温めると部品の足に付くので大丈夫。
ただ、あまりに多いと狭ピッチ部分でブリッジする原因なので、この辺りは何度かやってみて量のコツを掴む必要あり。
9. 焼く(リフロー)
焼くときは匂いがすごいので、家の外でやりました。
家の中でやるなら換気の仕組みをキッチリ作るべきでしょう。
上の写真では4枚を一気に焼いてますが、これ以前に何枚か焼いて調節などをしています。
あんまり熱すぎると基板の材料まで焼けちゃうこともあるので、この辺も試しながらベストな焼き加減になる温度、時間を探る必要あり。
10. 完成
焼きあがったら、部品がズレたり、ブリッジしてるところがないかチェック。
今回は4枚のうち2枚でSSOPの足がブリッジ、Micro USBの足がブリッジしてたので、無洗浄フラックスを塗ってコテを当てて修正しました。
焼きあがった基板のうち1枚をアップしたものが以下の写真。
キレイに付きました。
プッシュスイッチの頭と白シルク印刷が若干きつね色になってしまったので、次回はアルミ箔などでヒーターの光が直接当たらないようにしてみようかと考え中。
感想
リフローできるようになったおかげで、1枚作るのに手ハンダで45分くらい掛かってたのが、15〜30分くらいで部品を載せる&5分焼くような感じになりました。
確かに時間短縮されたんだけど、ハッキリ言って...
チップマウンタが欲しい!!!
以上です。
登録:
コメント (Atom)


























