三相ブラシレスモーターは、通常のモーターと同じようにコイルに電力を与えてローターを回転させます。このとき、U、V、W相という3相それぞれに、位相が120度ずれた正弦波を与えて制御します。モーター本体に組み込んだ「ホールセンサー」でローターの位置を検出して、3相それぞれに与える電力を制御することで、回転速度を変える訳です(写真)。
こういった制御を行う専用の制御ICも市販されていますが、今回はマイコンボードを使って自作することにしました。制御用の正弦波をマイコンから出力するプログラムを書き、出力にパルス幅変調(PWM)を掛けて波形を作り、これをパワードライバー回路で増幅してモーターに電力を与える、という流れになります。
モーターを制御するコントローラーを設計
マイコンにはこの種の工作でおなじみの「mbed」を使いました。mbedは英アームが提供しているワンボードマイコンです。開発には「LPC1768」を使い、本番機ではより動作周波数が高い「STM32 Nucleo Board STM32F446」に切り替えて性能向上を狙う作戦です(写真)。
試作したコントローラーの出力をオシロスコープで確認するときれいな正弦波が出ました。そこで手巻きモーターとパワードライバーの結合テストに臨みました。最初のテストではホールセンサーの出力値がテスト用のモーターとはかなり異なったためモーターを制御できない事態になったりして、プログラムの書き換えが必要だったりしました。