はじめに
この記事はPCBGOGO様に協賛して頂いき作成しました。ありがとうございます。
想像以上に鮮やかでカワイイ基板が出来上がりました!
今回使用したのは下記リンクのUVプリントサービスです。
www.pcbgogo.jp
NANANAさんのカワイイカワ(・∀・)イイ!!イラスト基板の記事を見て良いな〜とツイッターでつぶやいたところ、PCBGOGOさんにお声がけ頂いてカラー基板プロジェクトがスタートしました。
このブログではUVプリントサービスを使って基板を作るプロセスを紹介できたらなと思います。
そうか~PCBGOGOさんだとUV印刷できちゃうのか!やりたくなってきた!https://t.co/IdiNXPoXlJ
— Xian DIY (@sabasabasabaniu) October 29, 2024
もくじ
- はじめに
- もくじ
- PCBGOGOさんの紹介
- 構想
- 基板の設計
- 試作基板到着したよ
- 実装してテスト!
- プログラムをカキカキ
- イラストを描いてもらう
- イラストデータを加工するよ
- 基板データとイラストデータを送るよ
- 基板到着
- 出来上がり
- UVプリントの価格について
- おわりに
- 参考にした記事
PCBGOGOさんの紹介
中国深センの基板制作と部品実装メーカーで、2016年より日本向けのウェブサイトでサービスの提供を開始したようです。PCBGOGOさんのサイトは日本語対応しています。グットポイントですね!ラインナップは下記の写真の通りです(PCBGOGO JPCA SHOW 2023展覧会パンフレットWEB版より)。
詳細なプロセスルールはこちらを参照して頂くと分かりやすいかなと思います。
注文の流れについては後述しますが、こちらの公式サイトにも説明があります。 支払いについても各社クレジットカード、PayPalもOKです。配送はOCSもあるのでグッドです! www.pcbgogo.jp
以前PCBGOGOさんで基板を作ったときの記事もあるので見ていただけると嬉しいです!
構想
今回は基板設計の前にイラストの構想が先でした。電子工作と言えば”はんだごて”ですよね!そこでキャラクターにハンダゴテを持たせることにしました。はんだごてを持っていたらコテ先温度を知りたくなるので、こて先温度計を設計していきます。
仕様としては下記を考えていました
コテ先の温度が測定できること
温度を表示するための液晶があること
イラストを基板に印刷するスペースがあること
USB Type-Cコネクタが搭載してあること
Groveコネクタがつけられること(M5stack製品を意識して)
この条件を考慮して部品を選定しました。
ATOMS3(液晶付きのマイコンモジュール) https://www.switch-science.com/products/8670
MCP9600T-E/MX(熱電対IC) https://www.mouser.jp/ProductDetail/Microchip-Technology/MCP9600T-E-MX?qs=ZEMkBHnybRF6j%252Bj%252BLk1Fmg%3D%3D&srsltid=AfmBOopGofM3lsxeme_Fth3V1vZdt0-4dmo-AC7S8CbndQRMMH1YPARg
HAKKO 191-212(熱電対) HAKKO e-shop / 191-212
あとは基板のレイアウトです。イラストを載せるスペースを確保しつつ、いい感じで配置するのは意外と難しいです。イラストを依頼する関係上サイズ感を伝える必要もありました。
基板の設計
部品は決まったので回路図を描いていきます。マイコンはATOMS3を使うことにしたので設計はかなり楽になりました。熱電対ICについてはデータシートとにらめっこです。
レイアウトができたら等倍印刷してサイズを確認します。この作業でミスに気がつくこともあります。とはいえ、イラストを印刷した基板が上手く動かなかったら悲しすぎるので試作することにしました。
試作基板到着したよ
基板の色は白でお願いするつもりが、間違えて緑にしてしまいました。試作段階でよかったです(汗)
こて先温度計の基板届いた!が、レジストの色指定をミスってる。白色のつもりだったwやらかしたわ😂#PCBGOGO pic.twitter.com/yhziGYaofz
— Xian DIY (@sabasabasabaniu) November 15, 2024
実装してテスト!
やっぱりQFNパッケージのはんだづけは大変ですね!
熱電対ICのMCP9600Tをはんだ付けするぜぇ。QFNパッケージチャレンジ! pic.twitter.com/fpHkwuRpqK
— Xian DIY (@sabasabasabaniu) November 27, 2024
プログラムをカキカキ
MCP9600T-E/MXのデータシートは結構親切でI2C部分のサンプルコードが書いてありました。フワフワっとした理解で遊んでいる身としては本当にたすかります。 https://www.mouser.jp/datasheet/2/268/MCP960X_L0X_RL0X_Thermocouple_EMF_to_Temperature_C-3443378.pdf
このときテストで書いたコードです。
#include <Wire.h> #include <M5AtomS3.h> //#include <M5Stack.h> const int i2c_addr = 0x67; const int i2c_addr_r = 0xCF; void setup() { // put your setup code here, to run once: Serial.begin(115200); Wire.begin(); Serial.println("start"); } void loop() { float Th = read_temperature(0x00); //float Td = read_temperature(0x01); //float Tc = read_temperature(0x02); Serial.print("Th"); Serial.println(Th); /* Serial.print("Td"); Serial.println(Td); Serial.print("Tc"); Serial.println(Tc); */ delay(1000); } float read_temperature(int addr) { float Temperature; byte UpperByte; byte LowerByte; // put your main code here, to run repeatedly: Wire.beginTransmission(i2c_addr); Wire.write(addr);//Th Wire.endTransmission(); Wire.requestFrom(i2c_addr,2); while (Wire.available()) { UpperByte = Wire.read(); delay(1); LowerByte = Wire.read(); Serial.print("upper:"); Serial.println(int(UpperByte)); Serial.print("Lower"); Serial.println(int(LowerByte)); } Temperature = (float(UpperByte) * 16 + float(LowerByte) / 16); Serial.println(Temperature); return Temperature; }
イラストを描いてもらう
カラーイラストは残念ながら描けないないので、水彩作家の加藤もりあ(@moria739 https://potofu.me/moriakato4473)さんお願いすることにしました。 イラスト依頼したい方はメールしてみてください!
描けないとは言っても、イラストをお願いするには仕様やイメージを伝える必要があったので、昔自分で落書きしたイラストを元に相談しました。 また最終的には50mm×50mmのサイズで印刷するので、原画とスキャン画像の納品をお願いしました。
あ、これは加藤もりあさん(@moria739 )に水彩で描いて頂きました😊 pic.twitter.com/FbxSum5KTV
— Xian DIY (@sabasabasabaniu) December 15, 2024
イラストデータを加工するよ
基板に印刷するにあたって、印刷する場所を指定するために画像を編集する必要があります。
Inkspaceという画像編集ソフトを使いました。
基板の画像データとイラストの画像データを重ね合わせる作業をしていきます。
まずKicadのPCBeditorでsvgファイルを出力します。File>Export>SVGで選択できます。 必要なレイヤーを選択してSVGファイルを出力したらinkspaceにインポートします。
inkspaceのドキュメントサイズを基板のサイズに変更しておきます。File>Document Propertiesで設定画面を開き、Custom Sizeの欄で指定できます。
イラストとの位置関係を調整したら印刷用の画像データと完成イメージのデータを出力します。
出力したいレイヤーをレイヤータブで選択して、Export PNG Imageタブでpng出力します。
これで印刷依頼に必要なデータはそろいました。
基板データとイラストデータを送るよ
先程作った完成のイメージ画像と、印刷指示用の画像をガーバーファイルの中に入れて(下記のように)zipファイルにしました。下記のスクリーンショットのファイルが揃っていればOKです。
KicadにはPCBGOGOさんのプラグインがあるので、そちらを使ってガーバーファイルを生成しています。プラグインで生成したzipファイルを一度解凍してから、先程作った画像データ2点を加えてからzipファイルを生成しました。プラグインの導入については過去記事で紹介しているので、こちらを参照してください。 www.shangtian.tokyo *PCBエディターに導入したPCBGOGOさんのプラグインをクリックすると
必要なファイルはそろったので、自動見積もり画面からzipファイルをアップロードしましょう。(下記リンクよりサイトに飛べます。) www.pcbgogo.jp まず”即時お見積り”タブを選択して”+ガーバーデータを入稿”をクリックしてください。ファイル選択画面が表示されるので、先程作成したzipファイルを選択してアップロードします。 作成する基板の板材や枚数、レジストの色など設定していきます。今回の設定内容は下記のスクリーンショットの通りです。
UVプリントで一番重要なのはココの部分ですね。即時お見積り画面の下の方に「ご要望、連絡事項等」欄があるので、こちらにUVプリントの依頼事項を記入していきます。記載した内容は下記の通りです。UV印刷に必要な画像データと、完成イメージの画像のファイル名を明記しおくとスムーズだと思います。
UV印刷希望 UV印刷は基板TOP面へのUV印刷をお願い致します。 ・UV印刷用の画像データ:m5_kotesaki_temp_ver2_uvp.png ・UV印刷仕上がり参考画像:画像データ:m5_kotesaki_temp_ver2_uvp_reference.png
(*PCBGOGO様の協賛の元、製造して頂いているので通常の発注フロートは違いメールで製造依頼をしていますが、通常の発注フローは上記の通りです。)
基板の製造、UVプリント指定について記入が終わったら”見積作成”ボタンをクリックしてください。
”見積作成”ボタンをクリックすると基板製造にかかるコストが表示されます。ページトップまでスクロールして、右側に送料込の価格が表示されます。UVプリントの価格はこの時点では反映されていないので注意です。おおよそプラス25ドルぐらいの価格になります(UVプリントするサイズが大きいと変わってくるかもしれません)。
送料部分をクリックすると配送会社の選択ができます。OCSが一番リーズナブルですね。DHLもあるので急ぎの方はそちらが確実かもしれません。好みの配送会社を選択してApplyボタンを押すと設定が反映されます。
カートに入れるをクリックすると、下記の画面に遷移します。データチェックが終わると選択できるようになるので、完了するまでしばらく待ちます。データチェックが完了するとメールで通知がきますよ!
製造依頼する基板を選択してレジに進むボタンをクリックして決済します。
基板到着
おーー!! https://t.co/lq1SdrV1vk pic.twitter.com/FQE64SWnyh
— Xian DIY (@sabasabasabaniu) December 14, 2024
@PCBGOGO_JP さんに作って頂いたカラー基板!かなり鮮やかに色が出てて素晴らしいです😊(イラストは加藤もりあさん@moria739🙇)#PCBGOGO pic.twitter.com/k0n9S7kWy5
— Xian DIY (@sabasabasabaniu) December 14, 2024
出来上がり
こて先温度計実装完了。あとはソフトをカキカキせねば pic.twitter.com/naiku4oRB9
— Xian DIY (@sabasabasabaniu) December 15, 2024
画像と温度表示できた!!いいじゃん! pic.twitter.com/zvWznUTufj
— Xian DIY (@sabasabasabaniu) December 15, 2024
UVプリントの価格について
PCBGOGOさんのUVプリントサービスの大凡の価格表です。これには基板製造費用は入っていないので、 実際の価格は基板製造費用と送料が入ってきます。
おわりに
想像以上にキレイにプリントできましたし、イラスト内容と基板の機能がリンクしていて気に入っています。近々スイッチサイエンスさんや私のBOOTHで発売したいなと思っています!
ぜひぜひ皆さんもお試しください。 www.pcbgogo.jp