今日はもう10月ですが、なかたくんも間に合わせ記事+αを書いてくれて素晴らしいことだと思います。組紐がきれいに編めててすごいと思いました。僕も結びを大切にしようと思います。
今日は題名の通りDCサーボの位置決め制御についてです。
DCサーボと言っても色々ありますが今回はRCサーボを使っていこうと思います。RCサーボは入力されたパルス幅に応じた回転角になるように制御されていますが、サーボに内蔵されている回路はどんな回路なのでしょうか。今回は制御のお勉強ということで、可変抵抗を使ってサーボの回転角を制御するという回路を作ろうと思います。
入力に対して何らかの出力をする場合は、入力(指定値)と出力が完全に1:1で対応してたら都合が良いのですが、実際はそうでもありません。
例えば、電源装置であれば指定した電圧を出力する時でも内部抵抗等が原因で負荷によって出力電圧が変わってしまいます。そこで、出力から入力にフィードバックをかけて、クローズドループにしてやると出力の精度や安定性は飛躍的に向上します。
フィードバックを自分の出力から貰って、それをどんなふうに出力に反映させるかはいくつかの方法があります。単純に、指定した値より大きければ出力をOFF、小さければONにするON/OFF制御と呼ばれるものや、もっと高度なPID制御と呼ばれるものもあります。
今回は比例制御と呼ばれるものを見ていきたいと思います。比例制御については回路説明のところで少しお話します。
取り敢えずRCサーボを分解します。
RCサーボは出力軸の回転角をフィードバックするために可変抵抗を内蔵しています。便利なのでそのまま流用します。ついでにモータの線も付けておきます。
続いて、こんな回路を組みます。
比例制御の基本的な流れとしては、
指定値と現在値の差を求める
↓
差を必要に応じて増幅
↓
出力に反映
という感じだと思います(適当)。ON/OFF制御よりONとOFFの間が細かいのでより精密に制御することができます。指定値と現在値の差を求めて制御しているので、指定値と現在値が大きく離れている時は出力も大幅に動かし、差が小さい時は出力も少なく変化させるので滑らかに制御できるのがわかると思います。しかし、指定値と現在値がかなり近くなると差もかなり小さくなるので出力の変化も小さくなって、時間がかかる=有限時間内での精度はあまり高くないということになってしまいます。そこで差を増幅することで実際の指定値と現在値がごく近い時でも出力を変化させ、精度を上げることができます。すごい!
回路的には、まず初段のOPアンプでは差動増幅器を構成していて、文字通り指定値と現在値の差を求めます。それを次段で非反転増幅します。ゲインは可変できるようにしてあります。ゲインを変えるとサーボの応答が大きく異なるので非常に面白いです。増幅後はトランジスタのプッシュプルに通して電流増幅します。±電源を使っているのでトランジスタ2個で正転逆転できるようになっています。トランジスタが飽和しない時も多いので放熱には注意しましょう。
これで±5Vくらいの電源をつなぐと、可変抵抗の動きに合わせてサーボの軸が回ると思います。なかなかおもしろいです。こんな感じに実装しました。
次に、指定値に対してサーボがどのように応答しているか見てみましょう。現在値ボリュームと指定値ボリュームにオシロを繋いで波形を見てみます。
ゲインが大体丁度よい時
振幅が大きい方がサーボの応答、小さい方が指定値です。指令値が立ち上がってから徐々にサーボが動いて、指定値に達するとそれを維持し、また立ち下がり時も同様の動作で指定値に従って動作します。指定値に到達している時は外乱にも強く、手でサーボホーンを動かそうとしても(トルクがある程度強ければ)ほとんど動きません。
次にゲインが必要以上に高い時の様子
なかなかおもしろいことになっています。指定値の立ち上がりから少し遅れて現在値も立ち上がっていますが、頂上あたりで行き過ぎを検知して、戻しすぎ、また行き過ぎ、戻しすぎる…というのを数度繰り返したあと収束しています。いわゆるハンチングと呼ばれる現象です。ゲインを必要以上に高くするとこうなるので注意しましょう。また、モータ電流が瞬間的に高くなる部分で電源電圧が低下しているため指定値にも影響が出ていますね。パスコンを増やすなり電源のインピーダンスを下げるなりしたほうが良いです。画像はありませんが低く過ぎると、いつまで経っても指定値にならないような波形になります。
サーボの特性で、立ち上がり速度と立ち下がり速度が違うのは仕方ないです。
簡単な回路で、角度制御ができておもしろいのでいらないサーボがあれば試してみてはいかがでしょうか。
Web拍手反応
>餃子なのかマグネトロンなのかはっきりしてください
おずしは(一応)人間なのでどちらかと言えば餃子に近いと思います。
>koko
ココスの包み焼きハンバーグ食べてみたい
>そりすぎて百万回そりになった猫
100万回抜いたねこれ のコラ割りとすき
>お前、言語か?
教諭はアカチャンの時も言語って泣いてそう
>記事書く時はめっちゃ頭良さそうに見えるKKTすこ
記事書く時はめっちゃ頭良さそうに見えるくらいでしか好かれない男!(ドッ)
>すき...
心苦しいからやめて
>わーい!
ワイはワイのために、みんなもワイのために、やぞ
>いつも楽しく拝見しております。シュッシュッシュ
シュッシュッシュシュシュ!強い素子!シュッシュ!
>オラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオ…
いたずらに長いのを送るのはNG
>失敗集はよ
ワシの伝記出版されたらほぼ失敗集みたいになるやろ
シモネタ送るのはやめよう!
それでは、今日はこの辺で。
0 件のコメント:
コメントを投稿
何かあればお気軽にどうぞ。