8個のモータを動かす
ハードウエア編
モータドライバボードをもう一枚必要とします。もう一枚は上下逆刺しにします。一枚につき12V1Aのモータを4つまで駆動できます。
※ATTENTION!! 最初に配った単3電池だと電源不足になります。充電電池(エネループ6本とか、ラジコン用に売っているNiMH,NiCd,Li-Poなど電流出力特性が高いバッテリ)にするか、単2の電池(4本)に電源を交換しないとマイコンが貧血(電流不足)を起こして動きません!!(電圧にして6Vから7.2Vくらい)
I/Oボードの準備をします。指定したジャンパーをすべて取り外す必要があります。4つのLEDは使えなくなります。
ソフトウエア編
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の速度で回転 } }