- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);)~
~
*モータの前転・後転 [#pf56cde9]
モータの前転・後転・停止・ブレーキの制御をモータドライバIC 東芝TA7291Pを用い
て行う方法を示す。 06/09/18
モータドライバIC 東芝TA7291PのIN1,IN2端子に下表の信号を入力する事で
0UT1,OUT2につないだモータを制御する事が出来る。
|IN1|IN2|動作|
|1|0|前転|
|0|1|後転|
|0|0|停止|
|1|1|ブレーキ|
【16F628Aの場合】
|&attachref(PIC_motor.jpg,zoom,150x150,button){新しい写真添付};|&attachref(PIC_motor_kairo.jpg,zoom,150x150,button){新しい写真添付};|
/**
* モータの前転・後転
*
* PIC 16F628A
* 発信器:内臓4MHz
* 電源:乾電池4本(実測5.4V)
* モータードライバIC:TA7291P
* モーター:RB4,5
*
* Device Flags: _BODEN_OFF _CP_OFF _DATA_CP_OFF _PWRTE_ON
* _WDT_OFF _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
*
* 言語 MikroC v2.1
*/
void main() { //メイン プログラム
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000010; //RB1は1:入力、他のPORTBは0:出力に設定
do { //doとwhileの間を繰り返す
PORTB.F4 = 1; //モータ前転
PORTB.F5 = 0;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
PORTB.F4 = 0; //モータ停止
PORTB.F5 = 0;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
PORTB.F4 = 0; //モータ後転
PORTB.F5 = 1;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
PORTB.F4 = 0; //モータ停止
PORTB.F5 = 0;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
} while(1); //doとwhileの間を繰り返す
} //メイン プログラム終了
★この情報は役に立ちましたか?
#vote(はい[25],普通[14],いいえ[7])
#vote(はい[26],普通[14],いいえ[7])
#comment_nospam
【16F84Aの場合】
/**
* モーターを回す
*
* PIC 16F84A
* 外部セラロック:10MHz
* 電源:乾電池4本(実測5.4V)
* モータードライバIC:TA7291P
* モーター:RB4,5
*
* Device Flags: _CP_OFF _PWRTE_ON _WDT_OFF _HS_OSC
*
* 言語 MikroC v2.1
*/
void main() { //メイン プログラム
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000000; //PORTBは8個全て出力に設定
do { //doとwhileの間を繰り返す
PORTB.F4 = 1; //モータ前転
PORTB.F5 = 0;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
PORTB.F4 = 0; //モータ停止
PORTB.F5 = 0;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
PORTB.F4 = 0; //モータ後転
PORTB.F5 = 1;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
PORTB.F4 = 0; //モータ停止
PORTB.F5 = 0;
Delay_ms(1000); //1秒(=1000ミリ秒)待つ
} while(1); //doとwhileの間を繰り返す
} //メイン プログラム終了
★この情報は役に立ちましたか?
#vote(はい[6],普通[1],いいえ[1])
#vote(はい[7],普通[1],いいえ[1])
#comment_nospam