2017年にProjectionBall IoT(v5.x)をリリースしてから、機能を絞った廉価で小型なモデルの要望を頂き、検討していました。試作を繰り返す中でコロナ禍における半導体不足の影響で予定のマイコンが入手できず、別のマイコンに変更する等で2020年リリースの計画よりも大幅に遅れました。結局、ProjectionBall Unit(v7.x)のリリースは2023年末になってしまい、先日からスイッチサイエンスにて販売を開始しました。fabcrossでも紹介して頂きました。
■筐体
従来は1枚の基板を100mmの樹脂球体に入れた構造でした。今回は筐体を兼ねた2枚の基板でガルバノミラーモジュールを構成することで、従来のような球体等のケースが不要となり、更に小型化が可能となりました。サイズは60mm x60mm x 43mmです(突起部、USBコネクタ除く)。
■マイコン
マイコンにはRP2040を採用することで、2コアの特性を活かし、従来のSTM32F3よりも制御周期を100usecから80usecと更に高速化を実現しました。コア0にコンソールやユーザ処理、コア1にモータ制御で処理を分担しています。また、RP2040の採用で専用のファーム書き込みツールが不要となり、PC等から簡単にファームウェアのアップデートができるようになりました。ROM、RAMも非常に大きいため、今後の機能拡張にも十分です。
なお、小型化のため、今回はSDカードスロットを基板から除きましたが、SPIポート自体は基板上に残したため、SDカードやSPI通信等の将来的な拡張も容易です。Grove互換コネクタをI2CとUARTの2ポート搭載しており、センサとの連携等の拡張も可能です。
■エンコーダ
エンコーダには従来のAS5048Aと同等性能の14bit分解能でありながら、低コストなMA732を採用しました。MA732はICパッケージもQFN16で小型なため、本体の小型化にも貢献しています。
■RTC
RTCには時刻ズレを抑えるため、温度補償付きの高精度かつ安価なRTC、SD3077を採用しました。最大3.8ppmと1ヶ月で10秒以内、1年でも数分以内のズレに大幅に低減することが可能です。温度補償や一般的な水晶発振子のみでは20ppmから 40ppmで1ヶ月で数分、1年で数十分のズレが生じる可能性があることから大幅に時刻ズレを低減できます。また、RAMが70byteまで利用できるため、様々な設定情報等を保持することが可能です。
■ミラーモジュール
従来のミラーモジュールは複数の部品を接着剤で組み合わせて固定していました(図左)。今回は廉価である他にも組み立て調整しやすいことも合わせて目標にミラー部分を3Dプリンタで一体成形しました(図右)。また、金属製のミラーからガラス製のミラーに変更しました。一体成型にすることでミラーモジュール全体が軽くなり、応答性や耐久性も向上しました。
■まとめ
ProjectionBall Unit(v7.x)は前バージョンに引き続き、Open Source Hardwareとしてソースコード含めてリリースしています。初回ロットは販売当日に完売しました。可能な限り在庫0の状態を避けたいものの、他の製品と比べると部品数が多いため、当面は月10台程度の生産、納品数で様子をみたいと思います。