モータードライバTA7774PはMOSFETアレイではなくバイポーラトランジスタアレイなので、PWMで出力電圧を制御できるのか、と思ったので実験する。
実験用のコード
int STAND_BY = 2; int _PWM = 3; int quarter = 1023/4; void setup(){ pinMode(STAND_BY,OUTPUT); pinMode(_PWM,OUTPUT); digitalWrite(STAND_BY,HIGH); } void loop(){ analogWrite(_PWM,quarter); delay(2000); analogWrite(_PWM,quarter*2); delay(2000); analogWrite(_PWM,quarter*3); delay(2000); analogWrite(_PWM,quarter*4); delay(2000); }
ん?ずっと15V(電源電圧)が出てる、と思ったら
analogWriteって255までなのね。
analogReadが1023までだから勘違いしてた。
http://arduino.cc/en/Reference/analogWrite
- int quarter = 1023/4; + int quarter = 255/4
に直したら上手く行った。TA7774Pでは普通にベース電圧(インプット)にPWMを入れればいい。
(追記)あとあと実験したらダメだった。
IN A(or B)がHIGHでΦA→HIGHになる(論理値)から、アナログ値が使えない。
真理値とPWM出力が別端子になっているTA7291Pを使うことにした。
TA7291Pが便利過ぎる。