見出し画像

Smartknob制作の話(1)

みなさん、こんにちは!
早くもあと二日で6月が終わりですね!noteを書くたびに、時間の流れが早いと感じています。
今回のnoteは、自分のプロジェクトではなく、人のオープンソースのプロジェクトを自分で作る話をしたいと思います。
やや内容の多い話になりそうなので、パーツ1として書こうと思います。
そのあと、パーツ2や3もあるかもしれません。
せっかくなので、このプロジェクトを最後まで制作できるまで(今はまだ途中ですが)試行錯誤や問題と解決法、または勉強になったことなどをまとめようかなと考えています。
そうしたら、これから自分で作ろうと思う人の参考になれば嬉しいなと思います。
(値段を100円に設定しますが、最後まで読めます。)

はじめ


そのプロジェクトはscottbez1さんが公開したsmartknobプロジェクトです。
GitHubはこちらです。


これを見て、「あ!知っている!」という方も多いかもしれません。
私もたまたまYouTubeで見て、「あ、これ面白い!絶対作ってみたい!」と思いました!
まず、YouTubeを見ていない人はこちらをどうぞ!

最初は、ただの動きのスムーズなロータリーエンコーダーだと見えますが、実はそうではなく、BLDCモーターが入っています。
また、このノブを押すと、スイッチのように反応するのですが、そこも実はスイッチなんか一切入っておらず、HX711というADコンバーターICが入って、ノブを押したときに、PCBにマウントしている抵抗値の微妙な変化を検出してモーターのモーションでクリック感を演出しているのです。
BLDCモーターが使われているため、さまざまな「力」のフィードバックも作られていて、言葉で表現するのが難しいですが、モーターのモーションのデザインで、ノブを回すときの抵抗が表現されて、本来は存在していない刻みと顆粒感の感覚などがフィードバックされます。
こんなの、電子工作好きな人は、絶対作ってみたくなるよね!笑

構成の紹介


ここだけでも一つのnoteになりそうですが、まず簡単に紹介します。(将来また書き足すかもしれません。)

モーター

このプロジェクトで一番重要な部品といえば、やはり小型の三相ブラシレスモーターです。
このプロジェクトを一年以上フォローしていましたが、公開した直後は、モーターがすぐ入手できなくなった模様です。
その後、特別に手配してもらって、今は安定的な在庫があるようです。
Digikey, SparkFunで買えます。日本だとスイッチサイエンスで買えます。

今5800円になっていて、高いですね!AliExpressで結構探しましたが、やはりないですね。もっと安く買える場所があったらぜひ教えてほしです!
SparkFun

他のモーターも代替できるやつがあるかもしれませんが、このプロジェクトの相性は要確認ですね。
今回はここちょっと我慢して、貯金を崩して、高いモーターを二つ買いました。(一つは予備)

モータードライバー

このプロジェクトではTMC6300というBLDCモーター専用のドライバーICを使っています。

TMC6300

これが、QFN-20パッケージになっていて、とても小さいです。自分ではんだ付けするときはとても難しかったです。
データシートはこちらです:

https://www.analog.com/media/en/technical-documentation/data-sheets/TMC6300_datasheet_rev1.08.pdf

MAXで2Aまでの電流をハンドルできます。
このプロジェクトをやるまではこのドラバーICは知りませんでした。私はよくLCSCで電子部品を買っていますが、LCSCではエンドリーはありますが在庫がいつもないようです。

(私の)購入先:AliExpress 
 https://ja.aliexpress.com/item/1005006097508154.html

最初は少し心配でしたが、実際に動作がしましたので、問題ないです。もちろん、Digikeyか Mouserでも買えると思います。
余談ですが、もしこのプロジェクトを改造するなら、DRV8313PWPRあたりも使えそうですね。(またはDRV8316)

磁気センサー

このプロジェクトではMT6701-CTという磁気センサーを使っています。AS5600だとみんなよく知っていると思いますが、MT6701-CTは私も初めて知りました。

性能が良いから、こちらを使っているようです。これもLCSCで購入できます。値段はAS5600の2倍ぐらいです。(2.5ドル約400円、 AS5600は200円程度です。)


3Dイラストレーション

上の図のように、センサーの上にモーターの軸についている磁石の回転を検出できます。
この磁石は購入したモーターにすでについているので、特別に用意する必要がないですが、もし自分で別のルートで調達する場合は、磁石も用意する必要があるかもしれません。ご留意ください。

MCU

このプロジェクトで使っているMCUはESP32ファミリーのものですが、ちょっと特殊のものです。
LILYGO® T-Micro32 Plus のモジュールです。

LILYGO® T-Micro32 Plus


これもAliExpressから購入できます。

似たようなものもあるようで、ピンの配置が違うので、間違って購入しないように気をつけてください。
LILYGO® T-Micro32 Plusのピン配置は下の通りです。

LILYGO® T-Micro32 Plusのピン配置

HX711

このプロジェクトで、モーターを押下したときにボタンのシミュレーションをするために、HX711を使っています。
このICは、秋月も販売していますね。


RGB LED

このプロジェクトで使っている RGB LEDはSK6812SIDE-Aというタイプで、AliExpressまたはLCSCで購入できます。

VEML7700

このプロジェクトのコアの機能ではないですが、環境の明暗によって、上のLEDの輝度を制御する機能がありまして、環境の明暗を検出センサーがVEML7700です。I2Cを使ってESP32と繋いています。

VEML7700

CH340

あと、USB-UART変換の部分はお馴染みのCH340です。これは私もたくさん在庫を持っているので、買いませんでした。
購入する場合は、LCSCなどで、どこでも買えると思います。

円形液晶ディスプレー

GC9A01ドライバーを使っている円形ディスプレイ
(私の)購入先:AliExpress 

液晶保護用ガラスカバー

液晶を保護するために、ガラスのカバーを使っていますが、これは実は腕時計のパーツのようです(39.5mm watch glass)。これもAliExpressから購入:

ここで購入するときに、39.5mmのサイズを絶対選んでから購入するようにしてください!
私が、そのまま購入したら、デフォルトで選んだ33mmのものが届きました!これは完全にこっちのせいですが、みなさん気をつけてください。

39.5mmを選んでね!

3Dプリント

私が自分で3Dプリンターを持っていて、自分でプリントするのもよかったですが、せっかくなので、前から気になっていたJLCPCBの3Dプリントサービスを使ってみました。
結論から言うと、とても満足です。
材料はナイロンを選んだのですが、とてもいい感じに仕上がりました!

データは、GitHubの方に公開していますので、念の為、ここにもリンクを貼っておきます:


3D分解図

Fusion360の使い方はある程度経験があればできます。
必要なパーツをstlファイルを書き出して、jlcpcbにアップロードして発注すれば作ってくれます。
細い箇所があって、失敗するリスクがありますよという連絡が一回jlcpcbから来ると思います。その場合は「大丈夫です、リスクを承知した、製造を進めてください」と返信すればOKです。

ネジ類

今回、3DプリントしたパーツをPCBに肯定したり、モーターに肯定したりするときに、ちょっと小さいネジが必要です。
M1.6x3mmのものと、M1.6x9mmの2種類が必要です。
あとはM2x5mmも必要です。買い忘れがないように気をつけてください。

その他電子部品

それ以外は、大体よくある抵抗やコンデンサーるいです。
上を含む全ての必要な部品は、GitHubで全部ちゃんと説明しています。
GitHubのinteractive Bomにある説明を絶対に読むようにしてください。
(私がちゃんと読んでいなくて、買い忘れていっぱいありました。)

一休み

構成を紹介したら、本当に三千文字も超えました!
直近の進捗が気になる人はXでフォローしてください!
そっちも進捗を投稿しています。(今ちょっとハマっていますが)

今日は一旦ここで筆を置きます!
来月のnoteで、またその続きをご報告します!
ごきげんよ!
Instgramもよろしくね!

ここから先は

0字

¥ 100

株式会社虹賢舎 CEO 著書:https://amzn.to/39KwlE4 技術ブログ:https://kokensha.xyz 機械学習 深層学習 Python /JS IoT Raspberry Pi ロボット TOEIC950 https://gosen.world