M5Stackの製品ラインナップは、本当に幅広く、至れり尽くせりですよね。「こんなのほしいな」と自分で作ってても、しばらくすると公式から発売される、というのも、「M5Stackあるある」の一つではあります。
そんな中で、個人的に、ちょっと手薄かなー、と思う、というか、自分がほしいストライクな製品がないゾーンが「つよつよ系の負荷を駆動するUNIT」です。
モータ、ソレノイドといった、ちょっと高めの電圧(12Vとか24Vとか)、多めの電流(1Aオーダー)の負荷を駆動する場面はそれなりにあります。M5Stack製品に、そういう負荷を駆動するためのUNITもいろいろあるのですが、特に最近のは中にマイコンが入って「凝った駆動・制御ができる」ものが多いような印象です。例えばステッピングモータを駆動するにも、GRBLコマンドで移動量を指定して線形補間の台形駆動、みたいな凝った制御ができたり、DCモータもコマンドで回転数を制御したりPWM周波数を変えられたり、というものはあります。
個人的には、GPIO端子で直接制御ぐらいの低レイヤの制御をしたい場面がちょくちょくあって、そういう用途には、ちょっと使いにくいな、と感じることがよくありました。例えば「ステッピングモータを、パルスを送るごとの1step進む」みたいな制御です。
「ないならつくればいいじゃん」というわけで、自分で使いたいものをつくっていったら、それなりに「つよつよ系負荷を駆動するUnit」シリーズがたまってきたので、まとめてご紹介します。
HbrigeS UNIT
DCモータや双極ソレノイドなど、正転逆転の駆動をするUNIT。制御信号は、よくあるHブリッジのA入力とB入力で、正転・逆転のPWM制御をGPIOのPWMで制御できます。
AudioAmp UNIT
矩形波(PWM)やDAC出力でスピーカを鳴らすUNIT。制御信号は波形信号とEnable。wavデータの振幅をタイマ割り込みでDACで出力して音を鳴らす、のもできます。イヤホンなどをつなぎやすい3.5mmジャック版と、ねじ端子版があります。Grove端子の割当はSeeedのGrove-スピーカと上位互換(イネーブル信号あり、切替可能)にしてあります。
Solenoid UNIT
ソレノイドなどの誘導性負荷の制御。制御信号は負荷のON/OFFのみで、PWM駆動もできる。負荷電源は外部から供給、またはGroveの+5V(ジャンパ切り替え)。最大2個の負荷を制御できる(ジャンパ切り替え)。ねじ端子版と、タカハの5Vソレノイドが直接つなげるようにUSBコネクタ版も。
StepperDriver UNIT
ステッピングモータを、パルス1発ごとに1step進める制御ができる。制御信号は回転方向とステップパルス。
SolenoidRetaiiner UNIT
ソレノイドを「最初フル通電し、その後PWMで弱く保持状態を維持する」という制御を自動で行うUNIT。マイコンつきソレノイド制御UNITでもあるので、ファームウエアを変更すれば他の用途にも。
TypeC2Grove
LEDテープやサーボモータなど、それなりに電流がたくさん必要とする負荷に、別途USB TypeC端子から+5V電源を供給するUNIT。2022年夏のM5Stackインターン中に企画・設計をして製品化されました。
HY4pServo
特にSG90などの安価なサーボモータは、始動電流が大きいものがあって、M5Stack側の電源が耐えられずにリセットがかかることがよくあります。大きめの電解コンデンサを電源ラインになぎ、M5Stack側はGrove端子、サーボ側は3pコネクタで直接接続できます。
VH3.96ケース
「つよつよ系負荷を駆動するUNIT」は、すべてM5Stack製品の各種UNITと同じ形状で、純正と同じケースにぴったりはめることができます。純正UNITと同一形状のこちらのケースに入れれば、見かけは公式製品っぽくなります。
「帯に短し、たすきに長し」な気がする「つよつよ系負荷を駆動するUNIT」のM5Stack製品のニッチを埋めるものを、まとめて紹介しました。
・・・そのうち公式から製品が出る気がする・・・