Sample Programs

8個のモータを動かす

ハードウエア編
モータドライバボードをもう一枚必要とします。もう一枚は上下逆刺しにします。一枚につき12V1Aのモータを4つまで駆動できます。

※ATTENTION!! 最初に配った単3電池だと電源不足になります。充電電池(エネループ6本とか、ラジコン用に売っているNiMH,NiCd,Li-Poなど電流出力特性が高いバッテリ)にするか、単2の電池(4本)に電源を交換しないとマイコンが貧血(電流不足)を起こして動きません!!(電圧にして6Vから7.2Vくらい)

 8個もーたを動かす

 

I/Oボードの準備をします。指定したジャンパーをすべて取り外す必要があります。4つのLEDは使えなくなります。
8個モータを動かす

ソフトウエア編
8個のモータが回せます。

F28035templateBase
を変更します。

NolibM.h

// プログラムタイプを指定
#define DUAL_DRIVE   // モータドライバ2枚刺し 有効にするとLED1-4,D3(CN13),D4(CN14)使用不可
// モータドライバを2枚刺しで使用する場合は,JP1-4をすべて外す

コメントを外します。DUAL_DRIVEを宣言します。

サンプルプログラム
F28035_template_main.c

void main(void)
{
Uint16 AdcResults[16];
int16 speed;
initNolibM(); //初期化

	while(1)
	{
		DELAY_US(1000);
		AdcResults[0]=sensor(CN10);
		speed=((signed int)AdcResults[0]-2000)/20;

		motor(speed,MotCN3);		//DCモータ(CN3)をspeedの速度で回転
		motor(speed,MotCN4);		//DCモータ(CN4)をspeedの速度で回転
		motor(speed,MotCN5);		//DCモータ(CN5)をspeedの速度で回転
		motor(speed,MotCN6);		//DCモータ(CN6)をspeedの速度で回転

		motor(speed,RMotCN3);		//逆挿し基板DCモータ(CN3)をspeedの速度で回転
		motor(speed,RMotCN4);		//逆挿し基板DCモータ(CN4)をspeedの速度で回転
		motor(speed,RMotCN5);		//逆挿し基板DCモータ(CN5)をspeedの速度で回転
		motor(speed,RMotCN6);		//逆挿し基板DCモータ(CN6)をspeedの速度で回転
		    }
}
Follow Me!
  • Twitter