第4章 制御プログラム
4.3 エンコーダモード
ロータリーエンコーダを回転させ、
1
クリック1
角度分だけ投影機を回転させるエンコー ダモードのプログラムについて述べる。ユーザーが何クリック分か任意回転させた後、ス タートスイッチを押すとクリック数に応じた角度分だけモータが動作する。エンコーダモ ードのフローチャートを図4.4
に示す。図
4.4 エンコーダモードのフローチャート
エンコーダモード用のプログラムは各回転軸に取り付けたギアボックスのギア比の関係 から、ステッピングモータへの送信パルス数やスピードの調整を行っているが、基本的な 構造は同じである。プログラムが開始すると初期設定を行う。最初はスタートスイッチが 押されても右(変数)、左(変数)が0なのでモータは回転しない。ロータリーエンコーダを回 転させると、PIC プロセッサにパルス波が入力されるため回転検出が行われ、変数が加算 されていく。次にスタートスイッチを押すとロータリーエンコーダが検出した角度分(変 数の数)だけ、ステッピングモータへパルス波が出力され、投影機は回転する。
4.4 オートモード
20
分間主軸を少しずつ回し続け、180度回転させるようなモードを5
種類備えたオート モードのプログラムについて述べる。図4.5
にオートモードのフローチャートを示す。図
4.5
オートモードのフローチャートプログラムが開始すると初期設定を行う。次にロータリースイッチによるモード設定を 行い、スタート待ちとなる。スタートスイッチが押されると、オートモードが開始され
PIC
プロセッサはステッピングモータへ向けてパルス波を送信し続ける。全パルス波の送信が 終わるとオートモードは終了し初期設定へ戻る。オートモード中に投影機を一時停止、ま たはリセットしたい場合は、ストップスイッチを押す。ストップスイッチを押すと割込み が発生しPIC
プロセッサはパルス波の送信を止める。一時停止中にスタートスイッチが押 されると、割り込み復帰し、残りのパルス波を送信する。また一時停止中にリセットスイ ッチが押されると初期設定に戻り全てをリセットする。4.5 角度表示機
角度表示機のプログラムについて述べる。角度表示機は主軸、副軸用にそれぞれあり、
各軸のギア比からプログラムは異なる。角度表示機のフローチャートを図
4.6
に示す。図
4.6 角度表示機のフローチャート
角度表示機のプログラムは回転軸に取り付けたギアボックスのギア比の関係から同じプ ログラムではないが、基本的な構造は同じである。まず
PIC
の初期設定を行い表示機には000
が表示される。表示機には7
セグメントLED
を用いており、ダイナミック点灯を行っ ている。次に初期位置(角度)を設定するために各桁用のスイッチを押し、設定する。準備が 終わり、投影機が回転し始めるとロータリーエンコーダからPIC
プロセッサへパルス波が 出力される。PIC プロセッサは割込みを発生させ回転検出を行う。なお、主軸の表示は0
~359、副軸は
0
から90
である。※1、※2、※3 本研究で使用した PIC16F84A は 8bit のマイコンである。そのため、1 つ
の変数で 0~359 を表現することは不可能である。したがって、桁毎に変数を用意すること で 0~359 を表現している。よって実際には、複雑な処理を行っている。
※4 ロータリーエンコーダの出力パルス(RE1)を RB0/INT ポートに入力させ、立下り時 に変化割込みを発生させる。割込み時にもう片方の出力パルスの H,L 判別を行い、回転方 向検出を行っている(2.2.3 節参照)。
4.6 ストップウォッチ
ストップウォッチのプログラムについて述べる。ストップウォッチのフローチャートを 図
4.7
に示す。図
4.7 ストップウォッチのフローチャート
プログラムが開始されると、まず初期設定を行い、スタート待ちとなる。スタートスイ
ム内では常に変数の
50
判別を行っており、変数が50
になったとき表示を1秒進めている。※2 本研究で製作するストップウォッチは
60
分を1
周期としているため60
分を越える とリセットするようにしている。※3 角度表示機と同じく、桁毎に変数を用意して分と秒を表現しており、1秒増える毎 に複雑な処理を行っている。フローチャートには分秒の桁上がりなどの処理は複雑となる ため記載していない。
第5章 評価
5.1 モータ制御の動作精度
本研究で製作したモータ制御の動作精度について述べる。
5.1.1 マニュアルモード
ボタンを押し続けることで、投影機が回転するマニュアルモードには、回転スピード調 節のためにBカーブの可変抵抗を用いた。しかし、スピード調節は予想ほど滑らかに調整 できないものとなった。
5.1.2 エンコーダモード
ロータリーエンコーダを回転させた角度だけ投影機を回転させる目的で、この回転モード を製作した。しかし、
1
クリック1
度ずつ正確に投影機が回転する方が良いと思い、予定し ていた回転モードとは異なるものとなった。動作精度としては、プログラム上でロータリ ーエンコーダのチャタリング防止しているため、早めにロータリーエンコーダを回転させ ると、回転検出が出来ない場合が起きた。また、スタートスイッチしか搭載しなかった事 もあり、回転中に止めることや、ロータリーエンコーダの検出角度をリセットできないも のとなってしまった。5.1.3 オートモード
20
分間一定の速さで回転し続け、180 度主軸を回転させる各種モードを搭載したオート モードは、常に主軸用ステッピングモータへパルスを送信し続ける。そのため、投影機か らは、モータなどの雑音が常に発生するものとなった。原因としては、主軸用ギアボック スの精度と、ステッピングモータの速さにある。特に、20
分で180
度回転するモードでは、約