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組。

ネオジム磁石も取り付けると...


こうなります。


そして、最終的にはこんな感じで、littleBits的な何かになる訳です。



写真右端のブロック以外はダミーなのでハンダ付けしてません。 (もう少し暇になったら作り込みたい...)
これについては、また改めて記事を書こうと思います。

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分焼くような感じになりました。

確かに時間短縮されたんだけど、ハッキリ言って...

チップマウンタが欲しい!!!

以上です。

2016年2月12日

スマートミラーを作ってみた(ハードウェア編)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

どうも、トイレハックの人です。
なんか最近そういう風に言われることが多いのですが、non技術者からは「トイレで苦しんでるの?」って言われるので困ってます。

そういえば、2/19(金)のデブサミ2016RESTfulトイレについてLTすることになりましたので、興味のある方は是非お越しください。(スマートミラーも持って行こうか考え中。)

さて、本題ですが... つい最近、こんな記事を見てしまいまして...

Google社員が自作した「スマート鏡」はスマホの通知センターのように時刻・天気・ニュースを表示 - GIGAZINE
http://gigazine.net/news/20160203-smart-bathroom-mirror/

しばし意識を失ったのち気がついたら、手元に市販の額縁と秋月電子通商で売ってるSHARP製IGZO液晶が届いていました。




IGZO液晶、7インチに1920x1200という高解像度で、めちゃくちゃ薄くて明るいのに2Wくらいしか電気食わない省エネ仕様で素晴らしいですね。


桜島の黒神から撮った星景写真が綺麗に表示されたので感動しました。

本題に戻りまして、これらを使ってスマートミラーを作ることにしましょう。
額の裏ぶたを外して、液晶パネルと基板をつなぐフレキが通るスペースを作っていきます。
鉛筆で穴あけの位置を書いたらフライスでサクッと。


フレキを通したら、液晶を裏ぶたに両面テープで貼り付けます。
ちなみに、失敗したら剥がせない(液晶が割れる)ので細心の注意を払って位置合わせする必要あり。
フレキを通した穴は黒色のmtで塞いでおきます。


一旦動作テスト。


うまくいったので、液晶部分の周りに厚紙(液晶の厚みの分だけある)を切り抜いて貼って、その上に黒い画用紙を貼り付け。
液晶と厚紙の隙間には黒のmtを上から貼って横からの光漏れを完全にシャットアウトします。
フレキの反対側サイドからの光漏れが激しかったので、ここにはmtを2重に貼りました。


液晶周りが完成したら、IGZO液晶駆動基板とRaspberry Pi B 2を裏ぶたに固定します。
プラナットをアロンアルファーで止めて、プラネジで止めました。
(もうちょっとちゃんとした固定方法をとった方がいいかも)


最後に、額についてたガラスをマジックミラーに変えます。
マジックミラーは大阪吹田市の株式会社コーワさんに発注。
https://mirror.kowa-j.co.jp/magicmirror.html

額に元々入っていたガラスの寸法を測って、厚み3mm、角磨き上げ、縦210mm、横297mmで作ってもらいました。
お値段3564円 + 梱包送料864円 = 計4428円
注文日は2/7、2/10に発送されて、届いたのは2/12です。

マジックミラー、裏ぶたをセットして起動!
※写真写り上あまり反射してないように見えますが、実際は普通の鏡くらい綺麗に反射してます。(たぶん部屋が暗いせい)



と、いうわけでハードウェアは完成です。
これから、ここに表示するためのソフトウェアを作っていかなければ...

冒頭の記事で紹介されているGoogle社員作のミラーは白文字で天気や予定などの情報を表示しているので、まずはそんな感じのものを作ろうかと。

Raspberry Pi 2 Bというちょっと強力なやつを載せてるので、カメラ繋いで顔認識させて鏡に映った顔にオーバーレイするようなプログラムとか、なんか色々夢が広がりそうだなぁ...と思っているところです。
ソフトウェア編の記事も後ほど書く予定です。

2016年1月4日

トイレにRESTfulなAPIを実装してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

あけましておめでとうございます。
プライバシーも一緒に流れるトイレから3年経ちましたが、皆様いかがお過ごしでしょうか。

お正月の三が日、昨今のIoTブームに乗るべく、私もIoTで真に豊かになるものは何かと一生懸命考えた結果、3年前と同じ部屋に辿り着いたことをご報告いたします。

前回はウォシュレットの使用状況をTwitterに投稿するというシステムでしたが、今回はウォシュレットにRESTfulなAPIを付与することで様々な機器から操作することを可能にするシステムを制作しました。


使用したのは巷で話題のESP-WROOM-02(ESP8266)と赤外線LED、上記写真のボードはオリジナルのもの。
(赤外線LEDの足がJST-PHコネクタに吸い込まれているように見えますが、良い子はLEDの足にJSTコンタクトピンを圧着したりしないように。)

このデバイスを電源に接続すると...


http://toilet.local にアクセスし、ウォシュレットを操作可能になります。


API

http://toilet.local/washlet に対して、Key cに以下のValueを設定してPOSTすると、それぞれの動作が実行されます。

Value 動作
rear おしり
soft おしりやわらか
bidet ビデ
stop 停止

また、DELETEメソッドでc=bigとすると流す(大)、c=smallとすると流す(小)が実行されます。
(DELETEなのはお察し)

仕組み

まず、3年前の時に取得した赤外線リモコンコードでは正しく動作しなかったので、改めて取り直し、トイレのリモコンがどのような送信を行っているのかを再検証しました。
リモコンコードはArduino UNOに赤外線受信モジュールを接続して、IRremote Arduino Libraryのサンプルを実行して取得。
結果、流す以外の動作は2回に分けてコードを送信していることが判明。
約6ms、2.9msの送信開始リーダ部の後は、1.5msで1, 0.5msで0のデータ部が続いているのは3年前に調べたのと同じ。






あとは、この通りに38kHzで変調して赤外線LEDを発光してあげるようなコードを書いてESP-WROOM-02に焼けばOK.

コードはこちら
GitHub : 9SQ/RESTful-Toilet

上記リモコンコードのデータもリポジトリに放り込んでいますので、TOTO製トイレリモコン赤外線で遊びたい方は参考にしてください。→ washlet_command.csv

これで、トイレ中にスマホが手放せない人でも、スマホからウォシュレットの操作が可能になりました!

番外編

トイレ引き籠もりのプロに、このシステムについて伺ったところ「ライブ中にタスク切り替えしてブラウザを開くのは厳しい」とのご感想を頂いたので、これについてAndroidアプリを制作することで対処しました。


もちろん、通知領域からボタンひとつで操作可能です。


デレステ中も快適なトイレライフが実現できます。



コードはこちら
GitHub : 9SQ/RESTful-Toilet-App

実際の動作

流石にトイレに座っているお見苦しい姿を晒すわけにはいかないので、流す動作だけ...


このシステムの脆弱性として、トイレの外から使用中の人に物理的な攻撃が可能になるという問題が発見されていますが、今後修正の予定が無いことを予めここに記しておきます。

最後に、今年1年が素敵なIoT(Internet of Toilet)の年になりますよう、お祈り申し上げます。