電子工学実験IIB マイコンコントロール

NAGASAKA Yasunori

2009/09/24

http://edu.isc.chubu.ac.jp/naga/index.html で公開中


 Table of Contents


1   コンピュータインタフェースの補足説明

2   アクチュエータ制御の補足説明
 2.1   図1 (p.15)
 2.2   図2 (p.16)
 2.3   図3 (p.17)
 2.4   図4 (p.19)

3   練習問題
 3.1   1 週目 (p.1 〜 7 まで)
 3.2   2 週目 (p.8 〜 13 まで)
 3.3   3 週目 (p.15 〜 24 前半まで)
 3.4   4 週目 (p.32 〜 34 まで)

4   実験の内容、方法等
 4.1   1 週目
 4.2   2 週目
 4.3   3 週目
 4.4   4 週目

5   実験の手順、装置の操作方法 : コンピュータインタフェース

6   実験の手順、装置の操作方法 : アクチュエータ制御
 6.1   装置、プログラムの準備
 6.2   実験 2
 6.3   オシロスコープの設定
 6.4   オシロスコープの画面を画像ファイルとして FD に保存する
 6.5   実験 3-1, 3-2
 6.6   実験 6-1, 6-2

7   レポートについて
 7.1   レポートに含める実験結果 : コンピュータインタフェース
 7.2   レポートに含める実験結果 ; アクチュエータ制御
 7.3   検討 : コンピュータインタフェース
 7.4   検討 : アクチュエータ制御



1   コンピュータインタフェースの補足説明

  http://edu.isc.chubu.ac.jp/naga/Z802printc.xml 3.2 8255 の章に、 Z80 と 8255 を用いるインタフェースの説明があるので事前に読んでおくとよい。




2   アクチュエータ制御の補足説明



図1 実験で使う装置



図2 Z80マイコンボード、モータドライバ基板


2.1   図1 (p.15)

  実験で使用する装置は PC98、マイコンボード、モータドライバ、モータがあ る。左上の PC98 はマイコンボードにプログラムや命令を送るためにある。 PC98 では直接モータの制御はしない。

  マイコンボードには Z80CPU と 8255 (パラレルポートコントローラ)、8251 (シリアルポートコントローラ)、8253 (プログラマブルタイマ)がある。マイコンボードで生成された制御信号はフラッ トケーブルを通して、下半分のモータドライバに送られる。モータドライバで は、左端の D/A 変換器で信号を電圧に変換し、増幅器でモータを駆動するの に十分なまでに増幅される。それにあわせてモータが回転する。モータにはパ ルスジェネレータが取り付けられており、1 回転につき 12 個のパルスを出力 する。パルスは F/V 変換器で周波数に比例した電圧に変換され、A/D 変換器 でディジタル信号に変換されマイコンボードに送られる。その値によりマイコ ンボードで回転数を検出することができる。



2.2   図2 (p.16)

  モータ部分の詳細図を表している。モータの軸にはアルミの円盤が取り付けら れ、円盤を挟むように電磁石が取り付けられている。電磁石に電流を流すこと により、負荷をかけることができる。ストロボ回転計はストロボの周期的な発 光により回転数を測定する。



2.3   図3 (p.17)

  スイッチング型の電圧調整で使用するパルスを発生する仕組みを表している。 カウンタ 0, 1 は 8253 内蔵のカウンタを用いる。カウンタ 0 は 1 周期分の パルス(この例では 10 個)をカウントし、1 周期に 1 回出力する。カウンタ 1 は OUT0 を受け取って、次のパルスから指定した個数分(この例では 4 個) の期間、出力が ON になる。よってこの例では 1 周期のパルス 10 個の時間 のうち 4 個分の間出力が ON になる。実際には 1 周期はパルス 10000 個と なる。



2.4   図4 (p.19)

  8253 内蔵のカウンタの組合せで、モータの 1 回転の時間を正確に測定する仕 組みを表している。カウンタ 0 はマイコンボードのクロック波形 6.144MHz を 1/10 に分周して 614.4kHz のパルスを出力する。カウンタ 2 はパルスジェ ネレータの出力を入力としてパルス 12 個分(== 1 回転)の間、出力が ON になる。 カウンタ 1 は OUT0, OUT2 を入力として、OUT2 が ON の間に OUT0 のパルス が何個入力されたかをカウントして出力する。OUT0 は周波数が既知なので個 数がわかれば 1 回転にかかった時間を計算で求めることができる。





3   練習問題

  各週の実験の内容、使用する装置や回路の意味が理解できたか、 次の項目を考えて説明してみなさい。


3.1   1 週目 (p.1 〜 7 まで)

  1. 今回の実験で使うマイコンは何か ?

  2. インタフェースとは何か ?

  3. パラレル、シリアルインタフェースは何が異なるか ?

  4. マイコンのポートとは何か ?

  5. 今回使用するパラレルポートのコントローラは何か ?

  6. 8255 には何個のポートがあるか ? またその名前は ?

  7. A, B, C の各ポートにはどのようなデバイスが接続されているか ?

  8. チャタリングとはどのような現象か ?

  9. プリンタが接続されるのはパラレル、シリアルどちらのインタフェースか ?

  10. ハンドシェイクとは何か ?

  11. リスト1の OUT という命令の動作内容を説明しなさい。



3.2   2 週目 (p.8 〜 13 まで)

  1. シリアルインタフェースでデータを送信する信号線は何本か ?

  2. 代表的なシリアルインタフェースの規格は何か ?

  3. TTL 電圧レベルは何ボルトから何ボルトか ?

  4. 今回使用するシリアルポートのコントローラは何か ?

  5. 調歩同期式とはどのような原理で、何のために用いるか ?

  6. スタートビット、ストップビットとは何か ?

  7. 8251 と Z80CPU を接続する際のデータ用の信号線は何本か ?

  8. リスト3 の CALL という命令の動作内容を説明しなさい。

  9. リスト3 の IN という命令の動作内容を説明しなさい。

  10. リスト4 でストップビットの幅を設定している行を示しなさい。



3.3   3 週目 (p.15 〜 24 前半まで)

  1. 今回の実験で使うマイコンは何か ?

  2. 8251, 8253, 8255 の名称、機能を述べなさい。

  3. F/V 変換器の機能を述べなさい。

  4. アクチュエータとして使う機器は何か ?

  5. 今回使うモータの種類は何か ?

  6. モータの回転に負荷をかけるのはどんな装置か ?

  7. モータの回転速度を調整するには何を変化させるか ?

  8. モータの回転速度を調整するための電圧調整の方法を 2 種類挙げなさい。

  9. スイッチング型電圧調整の原理を説明しなさい。

  10. スイッチング型電圧制御の原理を示すテキスト p.17 図 3 において、カウンタ 0,1 の働きを説明しなさい。

  11. スイッチング型電圧調整でモータの回転を遅くするにはどうしたらよいか ?

  12. 実験で実際に用いるスイッチング型電圧調整では、 理論的に何通りの電圧を区別して指定できるか ?

  13. 回転数の測定は何という方式で行なうか ?

  14. 回転速度測定の原理を示すテキスト p.19 図 4 において、カウンタ 0,1,2 の働きを説明しなさい。

  15. フィードバック制御の目的は何か、どういう場面で役に立つか。

  16. フィードバック制御の概念を表すテキスト p.22 図 5 中の操作量は、今回の実験では何が該当するか。

  17. 図 5 中の制御量、測定値、偏差は、今回の実験ではそれぞれ何が該当するか。

  18. 今回の実験で使用する制御の方法 2 種類を挙げなさい。

  19. 比例制御の特徴、操作量の求め方を簡単に述べなさい。

  20. 比例制御における残留誤差とは何か説明しなさい。

  21. 積分制御の特徴、操作量の求め方を簡単に述べなさい。

  22. 測定結果の例を示すグラフ 2 で比例制御の回転数が徐々に下がるのは何故か ?

  23. 過渡応答特性とはどのようなことを表すか簡単に述べなさい。

  24. 実験 2 の内容を簡潔にまとめて述べなさい。

  25. 実験 3 の内容を簡潔にまとめて述べなさい。

  26. 実験 4-1 の内容を簡潔にまとめて述べなさい

  27. 実験 4-2 の内容を簡潔にまとめて述べなさい

  28. 実験 4-3 の内容を簡潔にまとめて述べなさい



図3 スイッチング型電圧制御、PWM 制御



図4 8253内蔵カウンタによるレシプロカル方式の実現



3.4   4 週目 (p.32 〜 34 まで)

  ここまでの実験結果を見直して、テキストの 32,33,34 ページを読んでから次の項目を考えてみなさい。



図5 目標値と実際の回転数の比較

  1. 上図に示すように、目標値が 1000 回転から 3000 回転に階段状に変化した場合、 LIST41 の比例制御では回転数がどのように変化したか図5 中に示しなさい。

  2. 目標値が 1000 回転から 3000 回転に階段状に変化した場合、 LIST42 の積分制御では回転数がどのように変化したか図5 中に示しなさい。

  3. 目標値が 1000 回転から 3000 回転に階段状に変化した場合、 理想的にはどのように変化させたいか図5 中に示しなさい。

  4. P, I, D の各制御で、ゲインを大きくしていくと制御量はどのように変化するか。

  5. P, I, D の各制御で、ゲインを小さくしていくと制御量はどのように変化するか。

  6. PID 制御において bias 成分がなくてもよいのは何故か。

  7. PID 制御において、I 制御を用いると何が改善されるか。

  8. PID 制御において、D 制御を用いると何が改善されるか。

  9. PID 制御において、I 制御の影響を少なくしたいときはTIの値をどうすればよいか。

  10. PID 制御において、D 制御の影響を少なくしたいときはTDの値をどうすればよいか。

  11. PID 制御において、I 制御を用いずに PD 制御にしたい場合はゲインをどう設定すればよいか。

  12. PID 制御において、D 制御を用いずに PI 制御にしたい場合はゲインをどう設定すればよいか。

  13. ディジタル制御においては積分、微分はどのような計算で置き換えられるか。

  14. 限界感度法の手順を簡単に説明しなさい。

  15. 限界感度法ではどのような状態になった時に比例制御のゲイン(限界感度)を求めるか。





4   実験の内容、方法等

  実験結果のデータを持ち帰れるように、FD や USB メモリなどを持参しなさい。

  各週の実験の内容、順序、方法などを以下に示す。実験番号の後に※が付してあるものは 発展的な内容を扱うので時間が不足する場合は実施しなくてもよい。実施するかどうかは テーマ指導担当者の指示に従う。


4.1   1 週目



4.2   2 週目



4.3   3 週目

  実験 1 は実験 3 に含まれるので行なわない。よって 3 週目は実験 2 と 実験 3-1, 3-2, 4-1, 4-2, 4-3 を行なう。



4.4   4 週目

  実験 5-1 からはテキストに記載されている内容と異なる部分があるので注意する。





5   実験の手順、装置の操作方法 : コンピュータインタフェース

  準備中につき、手順や操作はテーマ指導担当者の指示に従う。




6   実験の手順、装置の操作方法 : アクチュエータ制御


6.1   装置、プログラムの準備

  1. 3,4 名のグループにつき 1 枚 FD を受け取る。 2 週目以後も同じ FD を使用するので番号を控えておく。

  2. プログラム編集、コンパイル用の PC9801 の電源を入れる。

  3. OS 選択の画面では 2 番の CP/M を選択する。

  4. FD を挿入する旨のメッセージが表示されたら FD を挿入する。 以後、確認入力を求められたら Enter キーを押す。

  5. 表示が E: ドライブになったら、「del *.*」 を実行して前週の班のファイルを消去する。

  6. 「copy b:\samp\act\*.* e:」 を実行して、必要なファイルを FD にコピーする。

  7. 「cl list2」 を実行して、list2.c のコンパイルとリンクを行ない Z80 用の実行ファイルを生成する。.c は書かないので注意する。 FD のアクセスランプが消えるまでキーボードや FD に触らない。

  8. 同様に 「cl list3」 を実行する。

  9. Z80 との通信用 PC9801 の電源を入れる。

  10. OS 選択の画面では 2 番の EXP4D を選択、その後実験テーマの選択画面では、 4 番の A/Dコンバータを選択する。

  11. FD を挿入する旨のメッセージが表示されたら FD を挿入する。 以後、確認入力を求められたら Enter キーを押す。

  12. 「g:」 を実行して、カレントドライブを G ドライブに変更する。 このマシンでは FD を G ドライブでアクセスする。

  13. マイコンボードの電源(ファンの下)、デジタルオシロスコープの電源を入れる。



6.2   実験 2

  1. DA 変換, スイッチングの切替えスイッチを基板の外側に倒す。 この設定にするのは実験 2 のみ。

  2. シリアルポートの選択スイッチを A (Z80) に設定する。

  3. 「zterm list2」 を実行して、マイコンにプログラムを転送する。 プロンプト「>」が表示されるまで触ってはいけない。

  4. 「G9000」 と入力してプログラムを 9000 番地から実行する。

  5. list2 のプログラムではスイッチング波形の ON 時間をパルス数(0--10000)で指定する。 あまり小さな値では電圧が低くてモータは回らない。

  6. オシロスコープを波形が観測できるように設定する。

  7. zterm を終了する時は Ctrl-z を入力する。

  8. マイコン基板の RESET スイッチを押す。CPU 基板の横のスイッチで RESET と記されている。

  9. 画面を画像ファイルとして保存する。



6.3   オシロスコープの設定

  1. 電圧や時間の設定が不明の場合は、AUTOSET ボタンを押す。

  2. 通常の測定は MEASURE ボタンを押す。電圧はこのモードで測定する。 電圧が負になる場合は絶対値を記録する。

  3. 特定の波形に対して、画面を止めたい場合は TRIGGER MENU ボタンを押す。 入力チャネルを選んで、トリガレベルを適切な電圧にセットする。



6.4   オシロスコープの画面を画像ファイルとして FD に保存する

  1. オシロスコープの画面を止める。

  2. シリアルポートの選択スイッチを B (デジタルオシロ) に設定する。

  3. 「NTEK」を実行する。黄色の行が表示されるまで待つ。

  4. F1 キーを押して画像ファイルを FD に保存する。緑色の線が表示されるが、 最後のファイル名が表示されるまで触ってはいけない。

  5. Ctrl-z で終了する。

  6. ファイル名は毎回 HC01.BMP になるので、複数のデータを記録する場合は、 「ren HC01.BMP ABC.BMP」などとしてファイル名を変更しておく。 ABC の部分は自由に決めてよい。



6.5   実験 3-1, 3-2

  1. DA 変換, スイッチングの切替えスイッチを基板の内側に倒す。 この後は常にこの設定にしておく。

  2. シリアルポートの選択スイッチを A (Z80) に設定する。

  3. 「zterm list3」

  4. 「G9000」

  5. 指定する値は D/A コンバータに入力する値で 0--255 の範囲から選ぶ。 あまり小さな値では電圧が低くてモータは回らない。

  6. オシロスコープを電圧が観測できるように設定する。

  7. Enter キーを押すと別の値を指定できる。

  8. 回転数、電圧など指定された項目を記録する。

  9. 実験 3-2 では、まず回転数が大体 3600rpm になるように調整する。 D/A コンバータに入力する値は 170 前後。

  10. 電磁石用の安定化電源の電圧、電流を最小に絞っておいて電源を入れる。 電圧ツマミは 12 時にセットする。

  11. 電流を 0.3A ずつ増していって、回転数、電圧など指定された項目を記録する。

  12. zterm を終了する時は Ctrl-z を入力する。

  13. マイコン基板の RESET スイッチを押す。



6.6   実験 6-1, 6-2

  1. 限界感度法で持続振動状態を発生させるには様々なゲインを試す必要があるが、 その時にトリガのモードを「オート」にして、 画面に連続的に回転数の変化を表示させながら試すとよい。

  2. 1000 回転で安定させる場合はどの制御でもよい。 例として PI 制御でゲインを 0.3, 0.01 にするとよい。 1000 回転に達するまであまり時間がかかるようなら、 多少回転数が低くても安定していれば次の操作に進んでもよい。

  3. トリガに設定した電圧がうまく検出できない場合は、 トリガのモードを「オート」にして電圧が変化する範囲を事前に調べておいて、 トリガレベルを適切に設定する。





7   レポートについて

  レポートはコンピュータインタフェースとアクチュエータ制御で別々に作成する、 1 冊にまとめてはいけない。 練習問題や検討は問題文と答を併記して対応がわかるようにすること。


7.1   レポートに含める実験結果 : コンピュータインタフェース

  プログラムを変更していなければソースリストの添付は不要、変更した場合は要添付。 実験 1, 2, 3, 4 のそれぞれでプログラムを一つ選び、それについて全体の処理を ソースリスト上で説明する。



7.2   レポートに含める実験結果 ; アクチュエータ制御

  プログラムを変更していなければソースリストの添付は不要。



7.3   検討 : コンピュータインタフェース

  1. 正論理、負論理について述べよ。またインターフェースとしてどのように利用されているか述べよ。

  2. ハードウェアによるチャタリング防止回路を調べ、回路図を示し動作原理を説明せよ。

  3. プリンターテストプログラムのサブルーチン PRINT のプログラムを用いて、 ハンドシェイクがどのように実現されているか説明せよ。

  4. 以下のリレーインタフェース回路で点線部分を埋めよ。また、何故その部品が必要か説明せよ。 (ヒント:ファラデーの法則)




図6 リレーインタフェース回路


7.4   検討 : アクチュエータ制御

  1. スイッチング型電圧制御の原理を示すテキスト p.17 図 3 において、カウンタ 0, 1 の働きを説明しなさい。

  2. 回転速度測定の原理を示すテキスト p.19 図 4 において、カウンタ 0, 1, 2 の働き を説明しなさい。

  3. 電磁石に電流を流すとなぜ負荷がかかるか理由を説明しなさい。

  4. 比例制御、積分制御を比較して、それぞれのメリット、デメリット を説明しなさい。また過渡応答の結果を比較して考察を加えなさい。

  5. リスト 4-1, 4-2 において、操作量を計算している部分を示しなさい。

  6. 比例制御、積分制御のゲインを大きくした時、小さくした時の系の振舞いの 変化を説明しなさい。

  7. 比例制御のゲインについて、当初の値 1/3 とグループで選んだ最適値を比較した場合、 回転数の変化がどのように改善されたと考えたか説明しなさい。

  8. 積分制御のゲインについて、当初の値 1/100 とグループで選んだ最適値を比較した場合、 回転数の変化がどのように改善されたと考えたか説明しなさい。

  9. 実験 4-2 負荷特性のグラフにおいて、比例制御、積分制御の結果の回転数が 最後に低下する理由を説明しなさい。

  10. 比例制御、積分制御を単独で使用する場合と比較して、 PID 制御の優れている点を説明しなさい。

  11. P 制御と PI 制御の残留誤差の現れ方を比較して考察を加えなさい。

  12. 限界感度法により定めたゲインで P 制御, PI 制御, PID 制御を行なった場合の収束の様子を比較して考察を加えなさい。

  13. 実験で使用しているモータの制御で、最も適していると考えた制御の手法と ゲインの組み合わせ、記録した波形を示して、なぜそう判断したか理由を説明しなさい。