フィードバック制御とは
デジタルものづくり

スライド抵抗を使って、micro:bitでDCモーターを制御する(2)送りネジとフィードバック制御


もし目隠しをしたまま「5秒前へ進んで」と言われて前進して、そのあと「元の位置にもどって」と言われても、正確に元の位置に戻るのは難しいですよね。

micro:bitでモータードライバを使ってDCモーターを動かす場合、「デジタル信号で正転・逆転・ストップなどの回転方向」「アナログ(PWM)信号でスピード」「プログラムで回転時間」の3つを制御することができますが、5秒正転してから5秒逆転、というような回転時間だけによる制御だと位置がずれてしまいます。

さて、目隠しをしたまま元の位置に戻るにはどうしたらいいでしょうか。

フィードバック制御とは

目隠しをしたままでも、たとえば手すりに印がついていて、その印を手で触って数えながら進めば、どれだけ進んだか、どれだけ戻ればいいかが分かりそうです。

フィードバック回路

フィードバック制御とは? | 基礎からわかる電気技術者の知識と資格

フィードバック制御とは、「検出器やセンサーからの信号を読み取り、目標値と比較しながら設備機器を運転し、目標値に近づける」ことを言います。

この場合は、手で印を読み取り、いくつの印を触ったか自分自身にフィードバックしながら前進/後退をすることで、自分の位置を目標位置に近づけています。

そこで、送りネジ機構スライド抵抗を使ってこの手すりのような仕組みを作り、モーターの回転を制御してみようと思います。

送りネジとは

送りネジ機構とは、回転運動を直線運動に変換する機構で、送りねじを回転させるとナットが移動します。

CNC工作:送りねじ機構

送りねじ機構では、スライドシャフトやスライドレール等の部品で正確な直線軌道を確保した上で、移動させる力の伝達は送りねじと呼ばれる長ねじを使用します。

今回は、送りネジ機構で移動させるナットの位置を、スライド抵抗(スライドボリューム/すべり抵抗器)を使って制御しようと考えています。

スライド抵抗の値をフィードバックする

送りネジのナットとスライド抵抗のつまみを連結することで、ナットが移動するとスライド抵抗の値が変化します。
この値の変化をmicro:bit側に常にフィードバックして、ナットの位置を制御しています。

上の動画では、正転(または逆転)を指示すると、抵抗値を読み取り、その値より指定された分だけ大きい(または小さい)値の位置になるまでモーターが回転してナットとつまみが同時に移動し、その値になると停止します。

このように、モーターの回転などに連動して変化するセンサーの値をフィードバックして制御する方法を、フィードバック制御と言います。