▼第2次俺サーボ化計画始動
前回の第一次俺サーボ化計画はタイニー&周辺回路が大きすぎるという事で、あえなく潰れました。で、今回はというと、チップ部品が使えるようになった事、宮田さんのカンファレンスがあったりした事などにより、小型化&性能UPが可能となったので、開発を再開しました。そんな訳でちょっと今までの経過などを・・・。▼忘れすぎ・・・
かなり久々にFETをいじる事になり、宮田さんのページでHブリッジのお勉強。で、実際に組み上げて火を入れたが、動かず。ノートに回路図を大量に書いたり、組み直したりしていましたが、動かず。なんでだろうと思っていたら、PchとNchのFETをD(ドレイン)とS(ソース)を逆に接続していると判明。通常電源はS(ソース)側に、モーターはD(ドレイン)側に接続しますが、これを逆にしていたようなのです。そりゃ動かんわ・・・というか、生きてるのか!?Σ( ̄▽ ̄ ) 火を入れる時、動かなければすぐ電源を落としていましたけど、どうなんですかねぇ。
▼最初の試作回路
はい。最初に稼動した試作モータドライブ回路とオペアンプです。回路は宮田さんのFETでモータドライバに記載されている回路の2SK1132のG(ゲート)より、2SK2231へ伸びている線を切断し、この切断してフリーになった配線をもう一つの入力として使用するというものです。Pchの2SJ377は、2SK1132を介して間接的に操作、Nchの2SK2231はマイコンのI/Oポート(PWM)に接続して直接操作するというものです。これがいいのか悪いのかは、あんまり分かりませんが、この記事でやってることと大して変わらないので問題ないと思い、この方法を使用。
さて、このままではH8/3664では1個しかサーボを操作できません。今回もやりました。俺サーボ化の救世主、ロジックICです。やはりこれがなければ始まりませんね。(^-^;
▼LOW-SIDE PWM制御をPWM一本で行う
回路図と真理値表です。(これ作るのに1時間掛かってしまった。(-_-||| ) バーニングしてしまうリスクはあるものの、それさえ気をつければ問題ありません。1つのRCサーボにつき、AND回路が2回路あればいいので、H8/3664TINYを使うならば、PWMが3個なので、6個あればOKです。さらに通信にAND回路が2回路必要なので、合計8個。これがなんと、ちょうどロジックIC2個分なんですよね。
試作1号機にはこれを使いました。動きも目論見通りでした。うん、いい感じだ。
▼フィルタ
前回はサボっていた、ノイズ対策を今回やってみました。まずはポテンショメータにオペアンプを付けるというもの。使ったのはLMC662という8PINタイプ。レール−トゥ−レールというものらしく、オペアンプに繋いでいる電源の電圧まで行ってくれるとか(余り良く分かっていない人)。これは結構面倒なもので、入力電圧は2.5V以下でないと出力される値がおかしくなってしまうのです。入力端子はレール−トゥ−レールじゃないのね・・・(T-T)。そんな訳で、ポテンショメータの信号を抵抗器で1/2に分圧し、それを二倍にするという面倒な作業をする。
これで問題ないはず・・・と思ったが、A/Dで取り込んだ値が変。で、調べた結果、330Ωで分圧したのが原因だったようです。そりゃ、変わりますよ・・・。と、言う訳で、10KΩに交換したら問題なく動作。しかし、ポテンショメータから直接取っていないので、多少減ってます。
さて、この状態で平均化して値を見てみると、値がほとんど変動しません。456と表示されたらずっと456のまま。前回までは値がフラフラと±2(A/D値)くらい変動していたのに、ピタッと止まってるんです。たまに変動しますが、それも±1くらい。
効果絶大です!さらに、A/Dポートの直前にRCローパスフィルタを組むとさらに変動が少なくなります。残念ながらH8/3664TINYは、A/Dの電源がボード上でVccに接続されており、コネクタの方には出てないので、この対策はできませんでした。しかしながら、その効果は絶大です。
▼PIDの方は・・・
前回より、ゲインは高くできるし、調整しやすくなりました。保持力も前回よりUPしています。しかし、I(積分)の調整がなかなかうまくいかず、保持力はあまり上がらず。PD制御ならば、保持力はKRS-2346ICS(保持トルク最大設定と比較)くらいは出せるようです(ロボコンマガジンより)。P(比例)とD(微分)のゲインだけで調整していくと、やがて振動が・・・。90°から0°へ行くという実験をしていますが、移動して止まる時は問題ないのですが、0°の時にちょっとした振動を与えると、収束せずに振動しっぱなし。
世間では有名なプルプル現象っぽいです。体験したのは初めて。ちょっとした振動なので、この振動がロボットの体を伝わればさぞかし素晴らしいプルプル現象が見れただろう。なかなかに難しい。
ちなみに、2174FETの通常ギアバージョンです。む?ならばハイパーギアならもう少し行けるのかな?で、Iが上がらないのでカンファレンス資料にある「ゲインが上がらない場合は現在位置の取り込み方法を見直すべし」の言葉に従い、平均化に注目しました。というのも、32個の値を平均化しており、値の変化が遅いので8個に変更。
すると、ノイズの影響が現れ始めたので、明らかなノイズらしきデータを削除するプログラムを加えようとする。この作業中にショートしたらしく、タイニー死亡。実験中断。う〜む
▼大きさとか
大きさは、上の写真を見ていただければ分かる通り、ケースに収まります。ところが、今まで製作した私のロボットはケースの蓋を省いた状態でロボットが構成されています。つまり、現在の設計ではこれらFETを搭載するのは不可能なのです。それと、今回の設計はメンテナンス性に気を取られすぎ、剛性が最悪でした。再設計・・・避けて通れない道になりそうです。まぁ、俺サーボが動かなくとも、通常の制御基板は小さいので、設計の変更をせずに動かす事が可能ですね。