* Pulse Width Modulation(パルス幅変調)制御 [#eb3dc03c]

* モータードライバ: TA8428K [#d0431e69]
- http://akizukidenshi.com/download/ta8428k(s).pdf

|*#|*Name    |*Arg    |*Func         |
|*1|##IN1  ##|##i1 ##|制御用入力端子|
|*2|##IN2  ##|##i2 ##|^             |
|*3|##OUTA ##|##o1 ##|〜1.5A        |
|*4|##GND  ##|##gnd##|GND           |
|*5|##OUTA~##|##o2 ##|              |
|*6|##---- ##|##-- ##|              |
|*7|##Vcc  ##|##vcc##|VCC〜30V      |

|     |    |lx: |     |lx:   |c
|*Mode|*IN1|*IN2|*OUTA|*OUTA~|
|*制動| H  | H  | L   |  L   |
|*正転| H  | L  | H   |  L   |
|*逆転| L  | H  | L   |  H   |
|*停止| L  | L  | Z   |  Z   |

* ハード [#j705136e]
### verilog
;pin ctrl.gnd = driver.gnd = 0V
;pin ctrl.vcc = 5V
;pin driver.vcc = 12V

;C[10  uF](driver.gnd, driver.vcc)
;C[ 0.1uF](driver.gnd, driver.vcc)

;Arduino ctrl
;TA8428K driver

;driver.i1 = ctrl.D3
;driver.i2 = ctrl.D11

;pin driver.o1;
;pin driver.o2;
###

* ソフト [#f78cb14d]
### C
void setup() {
  Serial.begin(9600);
  pinMode( 3, OUTPUT);
  pinMode(11, OUTPUT);
}

int c1 =  3;
int c2 = 11;
int t = 100;
int d =  50;
int command = 0;
void loop() {

  if (Serial.available() > 0) {
    command = Serial.read();
  }

  digitalWrite(c1, LOW )
  digitalWrite(c2, HIGH)
  delay(d);

  digitalWrite(c1, LOW)
  digitalWrite(c2, LOW)
  delay(t-d);
}
###
    技術 一覧 検索 最新 バックアップ リンク元   ヘルプ   最終更新のRSS