金沢様
重ねてのご回答、大変感謝しております。
言葉の使い方もままならず、ご迷惑をおかけしております。
さて、モーター&ドライバですが、
日本パルスモータ社のPFC55-48B04というモータと
BCD4012Bというドライバを用いて行おうとしています。
このドライバーの取扱説明書にあります、CCWの+-とCWの+-の入力部に
信号入力(パルス)とあったものですから
以下のようなプログラムでパルスを発生したものを
H8の出力ポートとこのドライバを接続してパルスを
入力と考えた次第です。
これは、正しいことかどうかご判断賜れましたら幸いに存じます。
----------------------------------------------------------
/* CCW(左回り・反時計回り)初期化 ************************************/
void ccw_init(void){
/* トグルモード出力 */
ITU.TMDR.BYTE = 0x98; /* 10011000 通常モード */
ITU1.TIOR.BYTE = 0xBB; /* 10111011 トグル出力 */
ITU1.TCR.BYTE = 0xA3; /* GRAコンペアマッチ clock 1/8 10100011 */
ITU1.GRA = 0xfffe; /* (FFFF:65535:21.333msec) */
ITU.TSTR.BIT.STR1 = 0; /* カウント停止状態 */
PADDR = 0xff; /* portA出力に設定*/
return;
}
/* CCW(左回り・反時計回り)パルス発生 ************************************/
/* (パル数を与えてこの関数を呼び出す。)*/
ccw(int x){
/* CCW側の(TIOCA1:14ポート) */
ITU.TSTR.BIT.STR1 = 1; /* カウント開始 */
x = x * 2 - 1;
while(x != 0){
ITU1.GRA = 0x1E00; /* GRAを0x1E00 7680(2.5msec)に設定 */
do{ /* TCNT = GRAになるまで待つ */
}while(ITU.TISRA.BIT.IMFA1 == 0);
x = x - 1;
ITU.TISRA.BIT.IMFA1 = 0; /* 検知フラグを戻して再開 */
}
ITU.TSTR.BIT.STR1 = 0; /* ITU1 TCNTカウント終了 */
ITU1.GRA = 0xFFFE; /* GRAを65534に設定 */
return;
}
----------------------------------------------------------
>>コントローラのCCWとCWに入り口に金沢様の教えてくださいました
>>トグル出力のパルスを入力してコントロールいたします。
>
>これ違う CW/CCWは回転方向を決めるもので パルスを入れるものでない
>コントローラにクロック入力は無いのですか そこにトグル出力を入れます
>
>
>********************************************
> 〒216-0015 川崎市宮前区菅生6-9-2
> Tel 044-977-6886
> Fax 044-977-2384
> E-mail kanazawa@xxxxxxxxxxxxx
> 金沢政夫
>********************************************
----
鈴木 政之 suzuki@xxxxxxxxxx