新「光る筒」製作中(4)モータのノイズ

131012a1TA8428Kでモータドライバの回路を組み実験を行う。PWMで速度制御を行うわけだが、周波数が低いとモータから音が聞こえるし、高くすると制御性が悪くなる。昔から、この辺の挙動が疑問。

fig131012a1モーターを直流電源で回してやると極めて静かに回るし速度の制御性も良い。PWMでDC-DCのような回路を組み、直流でモータを駆動してやれば良いのではないかと思ったが、基板にスペースが残っていない。そこでブレッドボード上でコイルとコンデンサを追加し実験してみるとかなりいい感じに動く。PWMの周波数を高くしても低いdutyからモータが回る。

良い感じで出来たので、ちゃんと基板に組み、モータを回していくとUSB機器にエラーが頻発。USBシリアルアダプタの通信が途切れる。

電源ラインをオシロで確認すると、数Vのパルスが見える。うむむむむと思いつつ、とりあえずモータの端子とケースの間に0.1μFのコンデンサをつけると、電源パルスは消えUSBの障害も発生しなくなった。

問題が起こった理由を考えてみる。モータはDCブラシモータなので、コイルに流れている電流がブラシによって突然遮断されるということが起こる。コイルの電流は電圧の積分値、電圧は電流の微分値なので、電流が突然ゼロになると、電圧はマイナス無限大? コイルの開放端に高電圧が発生する。

fig131012a2
これが大気を介した容量結合によって電源ラインや信号線に印加される。大気を介した容量は微小だが、コイルの開放端パルスが高電圧かつ高い周波数成分を含むので影響が出てしまう。USBの信号線は長いのでその分影響が大きく出てしまう。Arduinoにモータをつなぐと、よくファームウェアが飛んでいたのはこれが原因だったのか…

モータのケースと端子の間にコンデンサをつけると、ケースがGNDに交流的に接続され、ケースがシールドとして働き、パルスの影響が外部に出にくくなると思われる。

fig131012a3
というわけで、モータ駆動回路ができた。さらに黒画用紙をレーザー加工機で切り出して作ったエンコーダも動いた。さらに、ATmega328Pとタクトスイッチで自作PS2テンキーも大体できた。(あとはminiDIN6Pinコネクタ待ち。)

作業は進んでいるが、残り時間も3週間なわけで、相変わらずドキドキである。

Leave a Reply

メールアドレスが公開されることはありません。