L9110S是爲控制和驅動電機設計的兩通道推輓式功率放大專用集成電路器件,將分立電路集成在單片IC之中,使外圍器件成本下降,整機可靠性提升。安全
該芯片有兩個TTL/CMOS兼容電平的輸入,具備良好的抗干擾性;兩個輸出端能直接驅動電機的正反向運動,它具備較大的電流驅動能力,每通道能經過750~800mA的持續電流,峯值電流能力可達1.5~2.0A;同時它具備較低的輸出飽和壓降與靜態電流;內置的鉗位二極管能釋放感性負載的反向衝擊電流,使它在驅動繼電器、直流電機、步進電機或開關功率管的使用上安全可靠。
L9110S被普遍應用於玩具汽車電機驅動、自動閥門電機驅動、電磁門鎖驅動等電路上。oop
序號 | 符號 | 功能 |
---|---|---|
1 | OA | A路輸出管腳 |
2 | VCC | 電源 |
3 | VCC | 電源 |
4 | OB | B路輸出 |
5 | GND | 地址 |
6 | IA | A路輸入 |
7 | IB | B路輸入 |
8 | GND | 地線 |
/* L9110 控制小型直流電機實驗 實驗目的:經過L9110的簡單鏈接控制直流電機的 方向 與 速度 實驗設計:Joystick 充當油門與前向後方向的控制,控制桿隨着方向上將速度由小至大推動 注意:一個L9110只能控制一個電機,且須要將 IA 與 IB 與 Arduino 鏈接 */ const int IA = 5; // pin 5 connected to pin IA const int IB = 6; // pin 6 connected to pin IB byte speed = 255; // change this (0-255) to control the speed of the motor void setup() { pinMode(IA, OUTPUT); // set pins to output pinMode(IB, OUTPUT); Serial.begin(9600); } void loop() { int offsetX=525; //當控制桿位於中位時的模擬輸入值,不一樣的控制桿可能有不一樣的誤差。 int x =analogRead(A0); bool isFoward = x <= offsetX; speed = x==offsetX ? 0: (isFoward ? (255- map(x,0,offsetX,0,255)): map(x,0,1024,0,255)); Serial.println(speed); isFoward ? forward() : backward(); } void backward() { analogWrite(IA, 0); analogWrite(IB, speed); } void forward() { analogWrite(IA, speed); analogWrite(IB, 0); }
L9110控制電機速度和方向很是簡單,按上述真值表中的定義,只要向輸入端IA/IB輸入高電平則爲轉動,IA 正轉,IB爲反轉。ui
速度是經過調幅PWM 信號進行控制,也就是對IA/IB 寫入 1~255 的速度範圍則可控制電機的轉速。this