今回、マブチのDCモータを制御するNucleo(mbed)用の教育用シールドを設計試作し、
Elecrow PCB Assembly Serviceを利用して基板製造・部品実装を委託して量産し、
スイッチサイエンスの販売受託プログラム(スイッチサイエンスマーケットプレイス)を利用して委託販売を開始しました。
本記事では製品の構想から設計及び試作→製造委託→委託販売までの一連の流れを紹介します。

DCモータ制御シールドV1.0 (税込7,200円)
プロダクトページ (組立方法・サンプルプログラム等)

ここでは製品の構想から設計及び試作→製造委託→委託販売までの一連の流れを紹介します。
全てを説明すると長くなるので記事を分割し、以下の流れで説明します。
①構想~設計試作:本記事

②製造委託:Elecrow PCBAによる基板の製造・部品実装
③委託販売:スイッチサイエンスの販売受託プログラムの利用

製品を作ろうと思った理由

  • モータ制御とはどういったものなのか実感してほしい

制御をこれから学ぼうとする人や学習中の人は、
「制御ってそもそも何? どんなことができてどんなメリットがあるの?」
「制御工学を勉強してみて何となく理論はわかったけど、それをどう実装したらいいのかわからない」
といった疑問を抱くことが多いと思います。
そうした疑問に対して、ユーザーがパラメータをいじることでモータの挙動が変わることを分かりやすく提示できるデバイスを提供することで、 モータ制御に関する知識を深め、より興味を持ってもらいたいという思いがありました。

  • 個人が気軽に買えるような値段のモータ制御の実験が可能なボードが世の中にない

私は大学時代に制御工学、特にモーションコントロールを専門に研究していたので経験があるのですが、 制御の研究の実験に使えるような機材は概して高価(安くとも十万円はかかる)ため個人でそうした機材を買うのは困難であり、 「ちょっと気になったことがあるから現物を動かして試したい」と思ったとき、 自宅などで気軽に実験することができませんでした。
この経験から、安価かつ手軽にモータ制御の実験ができるボードの需要が(少ないながらも)あるのではないかと考えました。

以上の理由から、 Nucleoを使用しmbed環境でプログラミング可能な「買って5分でモータ制御」を実現できるモータ制御シールドを作成することにしました。

また、他の理由としては、

  • (プロトタイプではなく)プロダクトを作ってみたかった
    というのがあります。
    私は電子工作を趣味としており、これまでは一点物のガジェットしか作ったことがありませんでした。 こうした一点物、プロトタイプのガジェットのユーザーは自分だけであり、 自分にとって面白い・楽しいからという理由だけでモノづくりをするよりも、 誰かの役に立つモノを作りたいという思いは常にありました。 また、自分の考えた製品コンセプトに基づき設計した製品が他人から買ってもらえるだけの価値を持っているのかということにも興味がありました。
    また、ハードウェア製品の企画策定から設計開発といった上流工程から、(委託ではありますが)製造・販売・販促までの下流工程までの一連の流れを全て体験し、どの工程でどのような苦労があるのかということを知りたかったというのもありました。

構想

まずはどのような製品にするのかを明確にするために製品コンセプトを立てます。 製品コンセプトとは「だれが、いつ/どのような状況で使用し、その製品によってどのようなメリットがあるのか」ということを端的に表したものです。

今回作成したDCモータ制御シールドの製品コンセプトは、
「制御工学の初学者・現物で実験したいと思っている研究者のための安価なモータ制御の学習・実験用のプロトタイピングシールド」
としました。

設計のポイント

上記の製品コンセプトの実現のため、

設計にあたり以下の点に留意しました。

  • ユーザーが容易に使用できるようにする
    ユーザーが制御の学習に集中できるよう、はんだ付けが必要な電子部品の実装を終えた状態で販売し、可能な限り完成品に近い状態で販売しようと考えました。
    また、サンプルプログラムをSW4STM32とmbedの二種類の環境で用意し、SW4STM32を利用することで効率の良いデバッグや解析等に対応し、mbedを利用することで開発環境の導入が不要なプロトタイピングを可能にしました。

  • (小ロットではあるが)量産に対応した設計とする
    大量に売れるものというわけではないので、小ロットの生産にも対応してくれる製造業者を使用します。また、自分だけが使用するものと違い、他者に販売するにあたり見落としがちなのは梱包についてです。輸送中に壊れず、かつできる限り梱包サイズを小さくできるような梱包材を選定しました。

  • 製造コストを抑える
    開発コストを回収しつつ製品を買ってもらえるようにするため、できる限り製造コストを抑えるように努めました。 そのため、達成すべき性能(仕様)を決め、その性能が得られる最も安価な部品を使用するようにしました。また、今回は梱包作業等の自分自身の作業時間も原価に加えたため、自分自身の作業時間も短くなるよう、梱包方法などを工夫しました。
    なお販売価格については、この価格帯においてモータ制御の学習が可能なシールドは(多分)世の中になく競合相手がいないため、所謂「原価積み上げ式」で算出することにしました。

量販店などで売っているような市販の製品や産業用の製品ならば、上の項目の他にも製品デザインや部品の調達性(ベンダーの選定や部品のディスコン対策など)について考慮しなければなりませんが、 今回作る製品の外観は(あまり)重要でなく、また販売数も少数なので調達性に関してもほとんど考慮していません。

基板設計・試作

製品コンセプトが決まったら、プリント基板の設計及び試作に移ります。
この設計・試作段階では、設計時には把握できていなかったミスの発見や、より安価な代替部品の検討も行うため、基板設計とその検討を高頻度に繰り返すアジャイル的な開発プロセスを採ります。今回の場合、基板を設計したらElecrowのPCB製造サービスを利用して基板のみの製造委託を行い、部品実装は手はんだで行いました。今回設計した基板では、(私のはんだ付けの腕では)ギリギリ手はんだ可能なサイズの電子部品しか使用していなかったので基板のみ製造してもらいましたが、更に小さいサイズの部品やBGA等の人手でのはんだ付けがほぼ不可能な部品を使用する場合は試作設計段階からPCBAサービスを利用する必要があるでしょう。

なお、EDA(自動電子設計)には商用利用も可能なオープンソースのKiCadを利用しました。
個人利用におけるメジャーなEDAとしてはEagleDesignSpark PCB がありますが、 Eagleは無償ライセンスだと商用利用不可・基板サイズに制限がある、DesignSpark PCBは(個人的に)UIが非常に使い辛いという欠点があるため、私は普段からKiCadを利用しています。 また、KiCadは強力な自動配線ツールであるFreeRouterが使えるという点も大きいです。

試作1号機

最初に作成したボードです。 当初の案ではArduino UNOで制御できるシールドを開発していたので、「Motion control shield for Arduino UNO」というシルクが残っています。 また、このときはユーザーが設定可能な可変抵抗は1つだけでした。

浮かび上がった問題点

  • Arduinoで動かすためには演算性能や周辺機能が不足する
    検討していくうちに、ArduinoではCPUの演算能力という面でも、またタイマやAD変換といった周辺機能という面でも高性能なモータ制御の実現が困難であることがわかりました。そのため、STM32 Nucleo(mbed)用のシールドに変更することにしました。

  • モータに電流が急激に流れた際に電圧降下のためマイコンの電源が落ちる
    制御性能を上げるためにゲインを上げた際、すぐに制御が不安定化するという問題が生じました。詳しく調べていくと、モータの駆動回路のキャパシタンスが小さいためにモータがONになったときに一気に電流を食ってしまい、それによる電源の電圧降下のためにマイコンの電源が落ちることがわかりました。

これらの問題点を踏まえ、再度設計を行いました。

試作2号機

試作2号機です。 Arduino UNO用からmbed用に変更し、半固定抵抗やボタンなどを増設しました。

1号機から改善した点

  • スイッチやLED等の増設
    複数の半固定抵抗の値をADCの機能で順繰りに読めるようになったため、半固定抵抗の数を4個に増やしました。 また、制御が不安定化した際の復帰ボタンや、エンコーダの磁石の状態が異常かどうかを表示するLEDや不安定化を表示するLEDを追加しました。

  • 電圧降下問題対策に電解コンデンサ追加
    前回の検討で判明したキャパシタンスが不足する問題に対応するため、モータ電源に大容量の電解コンデンサを追加しました。

  • モータ電源外部供給用USBコネクタ追加
    モータ用の外部電源を供給するためのUSBコネクタを追加しました。

  • より安価な電流センサの採用
    試作1号機においては電流を検出するためにAllegro社のリニア電流センサACS712を使用していましたが、Texas Instruments社の電流センスアンプINA181を使用することでより安価かつ高精度に電流検出回路を構成できることがわかったため、ACS712からINA181に変更しました。

問題点

  • 梱包箱のサイズが合わない
    当初はチャック袋に入れて販売しようかとも思いましたが、このシールドはエンコーダ基板を垂直に立てており、そこに荷重がかかると歪んで基板の破損や適切に角度を計測できなくなる可能性があると考え、箱型のケースに入れる必要があると感じました。
    そして梱包箱の選定をしているうちに、適切なサイズの梱包箱がないことが判明しました。(箱が小さすぎて基板が入らないか、もしくは大きすぎるかの二択だった)
    色々検討していくうちに、秋月のこのケースならば基板サイズを限界まで削ればギリギリ入り、またコスト的にも比較的安価であることからこのケースを採用しました。
    余談ですが、このケースの問題点は厚みが25mm以上ある点です。委託販売先のスイッチサイエンスマーケットプレイスでは梱包を含めた製品の厚みが25mm以上である場合、ネコポスで配送できなくなるため送料が高くなってしまいます(参考)。基板自体の厚みは25mm以下のため、より適切な厚みの梱包箱が見つかったらそれに変更するかもしれません。

この問題を踏まえ、再度設計しなおしました。

試作3号機(製品版)

試作3号機です。特に問題は生じなかったので、これを製品版としました。

2号機から改善した点

  • モータ配線用ターミナルブロックの追加
    モータの配線をターミナルブロックで接続できるようにすることで、はんだ付けなしにモータを接続できるようにしました。

  • 基板サイズの縮小
    梱包用のPPケースに収まるよう、限界まで基板サイズを削りました。この作業が一番大変だったかもしれません。

このように試作と検討を繰り返していくことで完成度を上げていき、 製品として問題ないと判断した時点で 次の量産段階へと移っていきます。

今回のまとめ

今回は自作シールドの構想からプリント基板の設計試作について紹介しました。
次回は②製造委託:Elecrow PCBAによる基板の製造・部品実装について紹介します。