股間のパッドを叩くと「チーン!」と音がするというシンプルな楽器Banggosのハードウェアを担当しました。
■発端■
発案者のFさんからWantedly経由でハードウェアを製作して欲しいと連絡がありました。SwitchScienceで発売しているハードウェアをご覧になったとのこと。面白そうなので担当させていただくことになりました。Chatのやりとりでこんなことが決まりました。- 担当するのはハードウェアのみ
- ESP-WROOM-02を使う
- WiFiで飛ばしてスマフォから音を出す
- 衝撃スイッチを用いるバージョン
- 導電布タッチセンサーを使うバージョン
- 電源は単三電池3本(外国では単四を入手しにくいため)
※その後、海外対応が不要になったため単4電池2本に変更
※現在倉橋浩一はWantedlyは使用していません。
ご連絡くださる場合には、facebook, LinkedInなどでお願いいたします。
ご連絡くださる場合には、facebook, LinkedInなどでお願いいたします。
■検討:衝撃スイッチ■
衝撃スイッチを搭載した基板を設計して、Elecrowに発注、自分で実装して試してみました。音楽センス皆無の私からすると叩いてすぐに反応しているように見えたのですが、発案者で音楽家のFさんには「遅延が大きすぎる」との評価。
スイッチを交換したバージョンを何種類か作ってみたものの、状況は変わりませんでした。
■検討:導電布■
ご存じのように多くのマイコンのGPIOは静電容量を用いてタッチセンサーとして用いることができます。まず、支給された高価な導電布を用いてESPに実装してみましたが、感度の調整が難しく、感度を上げると手を近づけただけで反応するなど思わしくありません。導電布ではなく導線・銅板などを使うと意図した通りに反応するので、導電布の導電性が思ったより低いのが原因のようでした。
また、動作が不安定なので、AT42QTシリーズなどの専用チップを用いてみました。これは電源投入時・リセット時に自動的にチューニングをしてくれるというものです。これも銅線ではうまくいきますが、導電布では難しい状態です。
導電布に変わるものを探したところ、Switch Scienceから「EaoTex感圧導電布」が発売され、試してみました。圧力で抵抗値が変わるモノなので、当初は抵抗値で作動させようと思って入手したのですが、これをAT42QTを組み合わせたところ、ほぼ理想的な特性が得られました。価格も前記導電布の1/10程度で非常に安く、耐久性もありそうです。
ただ、着衣状態でのタッチセンサー動作はやはり不安定で、安定させると反応が遅くなってしまう傾向があり、ドラムという打楽器には難しいのではないかと判断しました。
■検討:加速度■
加速度センサーについては当初も案があったのですが、踊りながら叩くというような状況で叩く衝撃と踊る衝撃を区別するには演算が必要で、そうすると遅れが出る……ということで没にしていました。
が、改めて使ってみたところ、叩く衝撃と踊る衝撃は方向が異なるので、ごく単純な演算処理だけで検出できるということがわかりました。Fさんの評価でも遅延はなく、加速度センサー使用によるコストアップは導電布を使わないことで吸収できるとわかり、最終的に決定しました。
また、音の出しやすさなどからCPUについてはESP-WROOM-32とし、内蔵DACからヘッドフォン端子に音を出しつつWiFiで飛ばす。電源については昇降圧DC/DCコンバータを用いて電池2本で駆動する、ということになりました。これならエネループでも新品のアルカリ乾電池でも安定して動作させられます。
■試作:失敗!■
設計した基板をpcbgogoに発注して自分で実装したところ、1発で動作しました。ステンシル無し+ホットプレートリフローでQFNを搭載したボードが一発で動くなんて奇跡です(笑)。ということで、いつものElecrowに5枚の試作を依頼しました。
が、これは動作しませんでした。それは、今回使用した加速度センサのパッケージはQFN16(0.5mmピッチ)はElecrowのデザインルールを下回っていて、ピン間にレジストが回っておらず豪快にブリッジしていました。Eagle CADにElecrowの支給するデザインルールを用いてチェックし問題はなかったのですが、それとは別にWebに最低0.25mmと記載されていました。こちらで設計したQFNのレジスト太さは最低0.1mmでした。
さて、困りました。数個の試作、あるいは数十個単位の製作をElecrowほどの低価格で引き受けてくれるところはそう多くありません。
国内の業者のWebで自動見積をしたところ5個7万円弱、50個9万円弱と出ました。量産はまだしも、失敗する可能性のある試作が7万円というのは非常に痛いです。
探した結果、Seeed StudioのFusion PCBならば0.1mm精度のマスクにも対応可能とのこと。ただ、当然ながら単価は大幅に上がってしまいます。20個で約4万円。当初予定の約10倍です。部品代もESP-WROOM-02のタッチセンス版と比べると約2倍になってしまいました。プロダクトオーナーのFさんの了解を得て進めました。
探した結果、Seeed StudioのFusion PCBならば0.1mm精度のマスクにも対応可能とのこと。ただ、当然ながら単価は大幅に上がってしまいます。20個で約4万円。当初予定の約10倍です。部品代もESP-WROOM-02のタッチセンス版と比べると約2倍になってしまいました。プロダクトオーナーのFさんの了解を得て進めました。
■量産試作■
回路に問題ないことは確認できていたのでFusion PCB Aに発注。すべての部品は日本から送り、部品到着後2週間。設計意図通りに動作しました。ESP32のI2SライブラリはデータをまとめてセットするAPIと1語ずつセットするAPIが用意されています。前者だと音データが終わるまで他の処理ができないので、今回は後者を使いました。音をだすためのスレッドを作り、その中でシグナルが来たら音を出し、もし途中で別のシグナルが来たらそっちに切り替える、という単純な方法です。
加速度センサーの処理は直近のデータの三軸合成値の移動平均を求め(重力加速度)、その値から大きく変化したら「叩かれた」と判断して音出しシグナルを出します。こうすることで、踊って姿勢が変わっても無駄に音が出ず、叩いた時だけ的確に判定できるようになりました。
■量産■
内部抵抗の大きくなった電池でも安定して動作するようにDC/DCの入力側のパスコンを大きくするなど細かい変更を行って、量産発注しました。発注から約3週間、先方に部品到着から約10日で受け取ることができました。12月30日の夕方到着。12月31日に動作確認を行った後、基板に電池ボックスをハンダ付けし、プロダクトオーナーの元に送りました。
基板試作は何だかんだで7種類、PCB Aでも3種類作りました。工数は軽く100時間を越え、失敗作分などの持ち出し経費もだいぶ多かったのですが、得るものの多いプロジェクトでした。
冒頭にも記載しましたが、倉橋浩一個人としてこのような基板の設計・製作をお請けすることは可能です。Facebook, LinkedInなどからご連絡いただければ幸いです。
また、KickstarterおよびCampfireでの募集はすでに終了しておりますが、発案者のFさんに直接コンタクトとっていただければ対応可能とのことです。
■IGNICTION■
プロジェクトが進んでいる間に、iFaceなどを作っているHamee株式会社に転職することができました。勤務先のHamee株式会社ではプロダクト・インキュベーション・プロジェクト「IGNICTION(イグニクション)」を開始いたしました。ハードウェア設計・製作支援もご相談可能ですので、ご興味のある方のコンタクトお待ち申し上げております。念のためですが、このブログ記載内容の一切の責任は倉橋浩一個人にあり、Hamee株式会社とは関係ありません。またBanggosもHamee株式会社とは無関係です。IGNICTIONについてもここでは制度の存在を告知するのみであり、その以上のものではありません。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。