home

7.制御系の構成

7.1 全体概要

制御系の主な機能は以下の4点です。

  1. 無線コントローラで速度目標値vdを与える
  2. 状態量(θ,ω,v)の計測
  3. トルク指令u(k)の計算
  4. 計算したu(k)を正確にモータへ出力させる
7-1
図7.1 制御回路ブロック図 ADC:AD変換器,SCI:Serial Communication Interface

センサ回路から本体傾斜角θと本体角速度ωを得ます。また,DCサーボモータに付属するロータリエンコーダから車輪並進速度vを得ます。 これらの入力に基づいて倒立制御式がトルク指令u(k)を計算し,モータドライバ回路がモータへ出力を行います。 所望のモータ電流を正確かつ応答性良く得るため,モータ出力部にはPI制御による電流フィードバック系を構築しました。 無線コントローラはジョイスティック(可変抵抗)を搭載し,AD変換値をシリアルデータで送信します。 マイコン(SH/7125)はSCIでそれを受信し,目標値vdに変換して倒立制御式に与えます。

7.2 メイン回路

メイン回路は以下のように設計製作しました。

7-2
図7.2 メイン回路接続概要図
7-3
図7.3 メイン回路外観

メイン回路は,信号処理を担うマイコンと各回路を接続する役割を持ちます。マイコンはSH/7125(ルネサステクノロジ)を使用し,C言語により開発を行いました。 開発環境は,ルネサステクノロジが提供する統合開発環境HEWを利用しました。デバックにはPCとのシリアル通信を用い,マイコンの内部情報をPCで確認しながらプログラミングを進めました。

SH/7125の詳しい使い方やC言語についてはweb上や書籍に情報が溢れているので割愛します・・・というか,そこまで説明するのたるいorz

7.3 ソフトウェア

プログラムの全体構造はシンプルで,起動SWを押すと倒立制御に関する各タイマ割り込み処理の動作を許可して永久ループに入ります。 動作の停止は停止SWを押すことでなされ,再度倒立動作をさせる場合はメイン回路のリセットスイッチを押す仕様です。

7-47-5
図7.4 全体構造
図7.5 停止SW割り込み

倒立振御を行う各割り込み処理は,以下のように実装しました。

7-6
図7.6 割り込みタイミング

離散時間のフィードバック制御を行うために,SH/7125のタイマ割り込み機能を用いて,各処理を一定時間間隔で起動します。図7.6に示した@〜Cの数字は,無線コントローラからデータが入力されてから計算結果がPWM dutyに反映されるまでの順序です。 無線コントローラからのデータ は,9600[bps]のシリアル通信によって75[ms]間隔で倒立振子本体へ送信されます。そのデータは126[ms]間隔で起動するWDT(Watch Dog Timer)による割り込み処理で監視され,速度目標値vdが設定されます。 すると,その値を使って倒立制御処理が10[ms]間隔で出力トルクu(k)を計算し,さらに短い160[μs]間隔でPI制御処理がPWM DutyであるU(n)を計算します。


Copyright (C) 2012 maverick engineer
2012年10月20日
http://maverickengineer.web.fc2.com/
inserted by FC2 system