きれいにまとめたい
前回作成した体重計の反省点をもとに下記の改良を施し、2号機の完成を目指す。
改良したかった点はこちら
1)両面テープソリューションをできるだけ排除
2)電池がケース内に収まっていないのでそれっぽいケースを作りたい(Fusion360・FlashPrint使用)
3)RFIDリーダーをセパレートタイプにしたい(ID-12LA使用)
4)ブレッドボードではなくFusionPCBなどで基板を作ってみたい(EAGLE使用)
5)インターフェイスの改良(ネットにつながるまで計測させない・ネットのキャンセルなど明確に)(Arduino)
あれから1年位
1)に関しては1年ほど利用してきて両面テープの粘着力が落ちてきたため7SegLEDやESP8266ボードなどがケース内で暴れるようになった。
同様に2)の電池ケースもいつの間にか落ちて宙ぶらりんの状態になっていたこともある。
※前回のケース
ケースを作成する
これを解消すべく7SegLEDをねじ止めできるタイプに交換し電池を中に入れてすっきりしたデザインの箱を作ろうと思ったのだが、どうせやるなら3Dプリンタも使ってみたいのでまずはラフスケッチを描いて、最終的なイメージを考えながらこれをどうやって造形していくかを考えた。
※その時に描いたラフスケッチ
ケースはFusion360で作成
3Dモデリングソフトも巷ではFusion360なるものが流行っていそうなのと個人利用は無料なので飛びつくことにした。
作成するケースは3つ。
1)本体ケース
2)RFIDリーダケース
3)ロードセルケース
を作成する。
※ケース3種類(左から本体ケース、RFIDリーダーケース、ロードセルケース)
ケースの特徴
本体ケースのふた部分に7SegLEDと電池ケースを取り付けられるようにタッピング用の穴を確保。
ふたを固定しやすく外しやすくするための「ネコミミ」を採用。
RFIDリーダケースはカールコードイヤフォンジャックに対応し首輪につけたRFIDタグを読み取れるようにするセパレートケースを考案。
こちらはもう少しふたがきちんと固定できるように固定枠をうまく処理すればよかった。
ロードセルケースにも外しやすく取り付けやすい「ネコミミ」を採用。
がっちり固定出来てきちんと測れるように滑り止めを付加。
使う時も楽しくなるような形をイメージしながらFusion360で造形。
今回はソリッドモデリングで作成した。
※表面というか天板との接着面
チュートリアルを見ながらいくつか実際に作ってみて少し慣れたところで基板のサイズや電池ケース、7SegLEDのサイズなどを測りながらそれに合わせて作っていった。
ふたと本体のかみ合わせ部分も小さく作りすぎて折れやすくなるのも怖かったので大きめのかみ合わせと土手を作ってできるだけがたつかないように作ったつもり。
※最初はなかなかうまく行かず失敗の連続。(本体蓋と失敗したRFIDリーダーケース)
また注意したのは、鋭利なところが出ないように「R」をつけること。
※Fusion360でレンダリング
RFIDリーダケースもケーブルを取りまわすときに削れないようにケーブル出現部には大きめのRをつけてケーブルへの負担を軽減。
いくつかリーダーケースは作ってみたが最後のものがしっくり来たので採用。
ロードセルケーブル出現部も同様にRをつけている。
※ケーブル吐き出し部分には緩やかなRをつける
また、本体ケースは硬いプラスチックのためふたを開ける際に割れたり変なところに急激に力がかかることを抑えるため「ネコミミ」を持って開けることでこの負荷を軽減している。
※一度プリントして穴あけ用に計測したりしながら繰り返しプリントしてました。耳は大きめにして割れないように。
3DプリンタはFlashForge社のFinderを使用した。
今回は11cmほどの矩形ケースを作成したがこの3Dプリンタではやはり精度が甘いところがあるのでプリンタを設置する場所(がたつくテーブルの上などはNG)を考慮しなければならない。
※このやり方では反り返って失敗します
※このように反り返ってしまうのである程度立ててプリントしたほうが良いです
たとえばロードセルケースのロードセル固定突起部分はサポート材をつけているが、これがうまくプリントされない(結果的になくてもよかった)、プリンタを完全に固定していないとヘッドの動くスピードでプリンだが揺れてうまくプリントされない(もっと遅ければ大丈夫かもしれないがそれだとこのプリンタを買った意味がない)などの不満点がある。
※ここまでは良かったんですが
ただしプリント速度は思った以上に速いのでそこは十分に評価できる。
精度に不満があるところはルーターを使って微調整した。
また造形物の反り返り問題はこの手のプリンタではつきものなので、できるだけ台座面積を小さくしたりプリンタを固定することで反りも解消。
造形物に20~30度の角度をつけてプリントすることで精度問題を回避できた。
EAGLEで基板作成
基板も中学生依頼久しぶりのエッチング、、、とも思ったが「家から産廃が出るのがいや」なのでここはFusionPCBに委託でお願いすることにした。
※EAGLEにて製作中
そしてそれよりも回路図やパターンがファイルで残っていたほうがいいのでこれまたEAGLE(KiCadでもよかったが、Autodeskつながりなのと読みやすい解説本があったのでこちらを選択)で作成。
https://www.autodesk.co.jp/products/eagle/free-download
https://www.kohgakusha.co.jp/books/detail/978-4-7775-2011-4
FusionPCBに外注する予定だったのでひとまず本の通りに操作してみて気が付くと本を読み終わっていたというくらいすんなりと操作がつかめた。
今回は初めてということもあって自分でパターンを引くのは最小限にとどめてEAGLEに任せた(とはいえ一回失敗したけど)。
市販のパーツ(ESP8266やArduino)のEAGLE部品があるのでそれはダウンロードしてかき集め、それ以外もEAGLEファイルがあるものはそのファイルから必要な部分をコピペして回路図を仕上げた。
※結局コレにも不備があるので手で修正しました
ガーバーデータができたら発注
しかし、あとで見ると直したいところだらけだが、まあこれもステップだと思うことにする。
FusionPCBに発注するとおよそ三週間くらいで手元に届く。
https://www.fusionpcb.jp/
5枚製作して送料込みで約3000円。
比較的安いので届くまでの間ほかのことをしたりする。
ネットで拾ってきたArduino Pro MiniのEAGLE部品ライブラリのパターン配線図でアナログピンA0~A3の配置がテレコになっていて若干焦ったが、この辺りも気を付けなければいけない。
※問題のパターン拡大
部品類はいつでもつぶしが利くようにピンソケットで取り付けることにしている。
作った後で思ったことだが、今回はボタンパネルを別途Vカットユニバーサル基板で作成している。
これと本体側の配線を接続するためのリボンケーブル用コネクタを書いておけばよかったと思う。
あと、リセットスイッチ用のプルアップ抵抗を書き忘れたので無理やり突っ込んでおいたw
またオートルーターを使用すると案外意図していない配線にされることが多いので気に入らない配線はripupしてから張りなおす必要がある。
あとは、まれに失敗した基板を手修正したものが出荷品に混ざることがあるが、そこは中華クオリティということでスルーしたほうがいい。
RFIDリーダと7SegLEDの変更点
RFIDリーダをGroveのリーダからID-12LAに変更したためケースに収納するための基板を作成した。
これもVカットユニバーサル基板で作成。
ID-12LA側はピッチ変換基板をつけてピンヘッダを装着。
こうすることでデバッグ時はブレッドボード、本番はユニバーサル基板でと使い分けができてよい。
ユニバーサル基板のほうにブザーをつけて読んだことがわかるようにしている。
イヤホンジャックに対応するようにソケットを用意(今回は3芯)して本体側とケーブルを結べば接続完了。
通信はUARTを使用するためRESTピンを+5V、FSピンをGNDへそれぞれ接続する。
ボーレートは固定なので9600bpsでArduino側も初期化しておく。
ちなみにRFIDタグは今回友達のクラフト作家に仕事を依頼して作ってもらった。
※つけた感じがこれ
7SegLEDはこちらを利用。
https://www.sparkfun.com/products/11441
もともと連結して表示できるように設計されているため、カーソルの考え方がある。
よって今回の体重計のように表示位置固定の場合はカーソルを直接指定してから表示させるように工夫する。
https://github.com/sparkfun/Serial7SegmentDisplay/wiki/Special-Commands
あとはそれっぽい天板と乗っかりやすい「かご」のようなものを用意すれば完成です。
※それっぽい天板とともに
パート2完成
こうしてNyankoTaijukei Version2が完成したわけですがもちろん反省点は山盛りです。
細かな失敗から、プロダクトとしての在り方のようなものまでいろんなことを考えることができ、自分としては満足です。
無駄なところもたくさんありますが、それによって分かったこともたくさんありました。
また同じテーマでさらにツールを変えて取り組むことでまだまだたくさんのことが見えてきます。
この後はPICバージョンに取り組んでみようかと思います。