前回の記事はこちら
特徴
- CO2濃度測定
- 温度・湿度・大気圧測定
- LCDで表示
- データをネットワーク経由でアップロード
基板が届きました
前回,基板を設計してJLCPCBで発注しました.
こんな感じで届きました.タイムライン的にはこんな感じです.時期にもよると思うので参考までに.今回一番安いEconomical Global Direct Lineにしましたが11日で届きました.早すぎるw 30日くらいは覚悟していたので驚きです.というか早すぎてまだ部品発注していません.急いで秋月電子通商で発注してきます.
- 7月25日 基板発注
- 7月27日 製造完了(PCB・ステンシル)
- 7月27日 発送
- 8月3日 日本到着
- 8月5日 家に到着
梱包
見ていきましょう.
梱包です.ビニールに包まれてきました.
基板は袋にはいっていました.
ステンシルです.特に問題はありません.
基板の拡大図です.シルクなどきれいで特に問題はないと思います.文字をあえて印字の厳しい游ゴシック体にしてみましたが普通にきれいです.その他パターンがつながってしまっているなどはなく品質も良好でした.
この基板をみて,なんかチップ部品のサイズでかくね?と思ったあなた.鋭いですね.前編でも書きましたが,通常では1608サイズを使うところ今回は2012サイズとしてみました.理由は手動チップマウントするときに楽かな~と思ったためです.結論としてはあまりにもでかすぎて,ちょっと微妙だなという感じでした.表面実装のメリットが薄れてしまいますが,十分な基板のサイズが有るときは良い選択肢だと思いました.基板のサイズを小さくして高密度にしたいんだったら結構レイアウトが大変になるので考えものです.
基板の実装
ここまでやりましたが,部品がありません.ということで秋月電子通商で発注中です.
お盆休みが終わり,届きました.ということで実装していきます.
表面実装について
表面実装は通常のDIP部品での実装と比較してリフローという工程の違いがあります.通常のDIP部品では穴に部品を通してはんだ付けをします.一方,表面実装部品はクリームはんだ(ペーストはんだ)をランドに塗り,その上に部品を置きます.
その後,基板ごと加熱しクリームはんだを溶かしはんだ付けを行います(リフロー).ちゃんとやるならリフロー炉というのがあり,これを使います.ちょっと値段はしますが,安いものだと1万円くらいからあるようです.Aliexpressなどから輸入している方もいますね.リフローにはホットプレートでやる例やオーブントースターでやる例やヒートガンでやる例などいろいろあるようです. また,オーブントースターをリフロー炉に改造するキットまであります.なお,超小型のリフロー炉(?)もありUSB給電で加熱できる便利グッズもあります(小型基板専用).これちょっと欲しい.
fabcore.tumblr.com細かいことを言うと,温度管理をちゃんとするべきです.そうしないと加熱不足でハンダ不良になったり,加熱し過ぎでプラスチックが溶けたり半導体が壊れます.実際,表面実装タクトスイッチを加熱しすぎて変色させてしまったりプラが溶けてずっとショートになったりしました.
近年では基板が格安で作れるようになったこともありホビー用途でも急速に表面実装をやる機会が増えています.やったことない人はお試ししてみてはどうでしょう.
組み立ての工程
ステンシルで基板のランド位置をあわせ,クリームはんだを塗っていきます.いらないカードやヘラなどで伸ばして穴に入れていくイメージです.基板は固定するとやりやすいです.(マスキングテープ分の厚みが出てしまって少し半田多めになっています)
TIPS
クリームはんだは硬いことがあります,フラックスを数滴入れると柔らかくなって伸ばしやすくなるのでおすすめです.(正しいやり方かはわかりません).
少しずれてしまっていますが,多分ヨシ!
部品のマウント
ここからが地獄です.手動でピンセットなど使い,抵抗やコンデンサなどをクリームはんだの上においておきます.今回は作業性のために2012サイズを使いましたので比較的容易でした.(これならリフローしなくても手半田できるくらいのサイズ) これが1005サイズとかになってくるとマジで見えません.ホビーでは1608サイズが一般的に使われるようです.密度と実装のしやすさのバランスてきに1608がやっぱり良いですね.
部品が一部曲がっていますが,リフローハンダが溶けると表面張力で引っ張られてただし位置に戻るので大丈夫です.
リフロー
リフロー炉は持っていないので今回はヒートガンでやりました.温度調整ができるものが良いです.全体を温めるようにします.すると段々とハンダが溶けていきます.加熱しすぎには注意です.リフローの温度管理にも難しさがあります.
実装後はこのようなかんじになりました.最後にショートしていないか確認してピンヘッダやLCDなどの部品を手半田して完了です.
D1やFT231Xが曲がってる?はい….そうです…ミスったので修正しました.D1はパッドの大きさが合わず,FT231はシンプルにリフローでずれました.手半田で修正しています.その他は問題なくできたと思います.
プラグラム
通電テストをして,ESP32にプログラムを書き込んで...工事完了です.
動きました! pic.twitter.com/0pHLSpj8Cp
— fumi (@fumi_maker) August 20, 2022
当初の完成予想図とだいぶ近いものができたのではないのでしょうか.
完成
動いている様子です.
ずっと研究室にブレッドボードで放置されてたCO2諸々測定&アップロード太郎をようやく基板にした。安定性に期待。(新規性は)ないです。 pic.twitter.com/XN21IsI5rW
— fumi (@fumi_maker) August 20, 2022
AmbientというIoT用のデータサーバーがありこれを利用させてもらって研究室の環境をモニタリングできるようにしました.
https://ambidata.io/bd/board.html?id=44850
ソースコードはここにあります.(ライブラリかなり使っている+動けば良しの突貫工事です) WiFi接続ようのSSID, key,Ambient接続ようのIDとKeyはそれぞれご自分のものをお使いください.
ここにURL
完走した感想
一部リフローに問題がありましたが一発で動いて良かったです.ちゃんとトースターとかでやればできると思います.
1週間くらい動作している感じですが,まだ一度も止まっていません.すごいですね・・・.Wi-Fiは切れることがあるみたいなので再接続するようにはしていますがそれだけです.しかしブレッドボードを基板にしただけでこの満足感は良いですね・・・.完全に趣味でしたが良いものができてよかったと思います.
注意ですが,環境センサ:BME680,LCD:AQM1602でプログラムが書かれておりますのでもしBME280やAQM0802を使いたい場合はプログラムを変更する必要があります.(ハード的には繋がるのでそのうち対応させる予定です)
仕様
- 温度・湿度測定・大気圧測定
- 対応センサー BME680, BME280両対応
- 写真ではBME680
- CO2濃度測定(400ppm~4000ppm)
- 対応センサー MH-Z19C
- Wi-Fi(802.11b/g/n)接続,データアップロード機能
- LCD表示機能
- LCD: AQM1602,AQM0802(BLあり)両対応
- 写真ではAQM1602
- USB-C 給電(USB2.0)
- バッテリー駆動も可能
- ステータス表示LED搭載
- Wi-Fi接続
- データアップロード
今後
- たくさん設置したときにどのように表示するかなど検討したい
- 今はAmbientを利用させてもらっていますが,こいつESP32自身にサーバーになったもらったり,データログ用のサーバーを作ろうかなという気持ちがあります.
SlackなどでCO2濃度を通知できたら嬉しい
3Dプリンタなどで設計してケーシングしてホコリを被らないようにしたい.
- IPv6に対応する
- 量産してばらまく
まとめ
M5 StackなどでLCDありバッテリーありで簡単に作れるなか,アホかと思いますが基板起こしてここまでやるっていうのもあんまりないと思いますが,参考になれば嬉しいです.ESP32の自動書き込み回路やUSBバッテリー切り替え回路,初USB-Cデバイス設計,EagleスタンドアロンからFusion360統合版へのプロジェクト移行など裏の目的も達成し,検証もできて意義のあるものだったと思います.次回から自信を持って設計ができます.
質問などあれば@fumi_makerまでどうぞ.
前回
リンク