|
|
購入ページへ
|
マイコン制御の考え方
マイコン制御とはどういうことをするのかという大まかな概念をつかむことは大切です。
特に、リレーシーケンス制御を学んできた人が同様の処理をマイコンで行おうとした場合、リレーシーケンス制御の発想に縛られてマイコン制御の考え方がつかみにくい場合があります。そこでマイコン制御での考え方を紹介しましょう。
▼ 図1.普通の電気回路と、マイコン制御回路とのちがい

図1の(a)はスイッチを押すとLEDが点灯する回路です。
PB1を押すとLEDが点灯します。放すと消灯します。これは簡単な回路ですから、たいていの方がイメージできると思います。これをPICマイコン制御で行った場合の回路図が(b)です。たった1個のLEDを点灯する回路ですが、(a)に比較すると相当複雑になりますね。PB1が接続されている入力部とLEDが接続されている出力部の2ヶ所以外はPICマイコンを動作させるための最低の回路です。電源の接続、クロックの接続、リセット回路が最低限必要です。
ハード的に回路が複雑になるだけではありません。プログラムを作成して、それをPICに書き込まなければなりません。PB1を押すとLEDが点灯
する。放すと消灯する。このプログラムをフローチャートで表すと。図2のようになります。
▼ 図2.フローチャートの例

初期設定という部分はPICの動作モード等の設定のために、はじめに1回だけ行う処理です。ここではブラックボックスとして考えてください。
次にPB1が押されたかどうかを判定する処理があります。ここでPB1が押された場合はLEDを点灯します。押されていない場合はLEDを消灯します。
さらにLEDを点灯した場合も消灯した場合も再びPB1の状態をチェックに戻っています。このループを作るというのがマイコン制御のキーポイント
と言っても良いでしょう。PICマイコンの場合はこの処理を1秒間に数百万回、永遠に繰り返すことになります。
▼ 図3.普通の電気回路と、マイコン制御回路とのちがい(スイッチを追加)

この説明ではまだ不十分かもしれませんので、今度はPB1とPB2のボタンがあり、2つ同時に押された場合だけLEDが点灯するAND回路を考え
てみましょう。この場合の回路を図3に示しました。通常だと(a)のようにすればOKですね。PICマイコンだと(b)のようになります。
図3の(b)にPB2を追加しただけですね。でも接続の方法は(a)のAND回路のようではありませんね。ただ単に追加しただけです。AND機
能にするのもOR機能にするのもプログラムで実現することになります。
▼ 図4.フローチャートの例

フローチャートは図4のように作りました。初期設定は先ほどの図2と同じようなものです。まずPB1の状態を判別します。押されていない場合はLEDを消灯します。押されている場合はPB2の状態の判別を行います。押されている場合はLEDを点灯します。
押されていない場合はLEDを消灯します。LEDを点灯、もしくは消灯した場合,再びPB1の状態判別に戻ります。このループを永遠に繰り返すわけです。ここが最も重要なポイントですが、図3の(a)ではPB1とPB2は同時に判別されますがパソコンの場合は同時ではありません。数μ秒ですが時間差があります。プログラミングのテクニックで実際には同時に判別を行うこともできますが、今は考え方を説明していますので了承ください。
さて、これでどうしてマイコン制御が良いのか疑問を持たれる方もいらっしゃるでしょう。その点を少し説明しましょう。マイコン制御の場合は図3と同じ回路でプログラムによってPB1かPB2のどちらかの押しボタンが押されていれば点灯するOR回路にすることは容易です。また、別の機能も実現できます。例えばPB1を押すとLEDが点灯し,PB2を押すと消灯すると行ったような回路にすることもできます。あるいはPB1を押すと点灯、PB2を押すと点滅という回路にもハード的な回路を変更することなく実現できます。点滅の周期などもプログラムで自由に設定できます。複雑な機能を持たせたいときにはマイコン制御が断然有利というわけですね。
購入ページへ
|
|