トップ
>>
電気電子系教材
>>
C言語によるZ80制御入門と機械制御の考え方
>> バーチャル実習
2.DCモータ(M1)
(例題) 押ボタンスイッチ1(PB1)を押すと
DCモータ1(M1)
が右回転し、
近接スイッチ(LS1)がM1を3回検出したらM1が止まるC言語プログラムの作成
↓
このセクションでは
DCモータ1(M1)
が回転するプログラムを作成して動作確認します
DCモータ
このDCモータは左右に回転することができます。DCモータ駆動基盤で回転方向を切り替えています。
outp関数について
void outp(unsigned char adrs,
unsigned char data)
指定したポートにデータを出力する
ランプを点灯させたり、モータを回転させたりするにはそれが接続されているポートに動作命令のデータを出力します。
outp関数
はYellowSoft社が提供する関数で引数を2つもち、第1引数にはデータを出力するポートのアドレス、第2引数には出力データを指定します。この関数のプロトタイプ宣言はIo.hファイルに記述されています。
DCモータ駆動基盤のポートアドレス
outp(DC_MT, A);
DCモータ駆動基盤にデータAを出力する
M1が接続されているDC モータ駆動基盤はディップスイッチでポートアドレスが0x20に設定されています。
そこで、
outp関数
の第1引数にこれを指定することでM1を動かすことができます。
その値はDC_MTで定義されています。
M1を動かす命令
DCモータ駆動基盤の出力端子
モータ左回転命令の定義
M1を左回転させるにはDCモータ駆動基盤の4ビット目(端子4)にM1Lが接続されていますので、その端子に電流を流します。
端子に電流を流すには対応するビットを1にしたデータを出力すればよいのでM1を左回転させるには0x10の値を出力します。この値はDC_M1_Lとして定義してあります。
DCモータ駆動基盤の出力端子
モータ右回転命令の定義
M1を右回転させるにはDCモータ駆動基盤の5ビット目(端子5)にM1Rが接続されていますので、0x20の値を出力します。
その値はDC_M1_Rとして定義してあります。
また、M1を停止させるには電流を流さなければいいので各ビットをすべて0にした値を出力します。
これはDC_MA_OFとして定義してあります。
バーチャル実習スタート
M1を回転させるプログラム
#include<Io.h>
#include<Const.h>
void main(void)
{
outp(
(1)
解答を選択してください
DC_MT
EPORT_A
EPORT_B
、
(2)
解答を選択してください
DC_M1_R
DC_M1_L
DC_MA_OF
);
// モータ回転命令
while(1);
// モータ回転を維持する
}
ボタンを押してモータが動くか確認してください
[C言語ビデオメインに戻る]
[一つ前に戻る]