L9110HモータードライブモジュールArduinoUNOスモールホワイトバージョン
この記事を書く前日にA4950ドライバーの詳細な分析を書きましたが、IoT植木鉢を作っているときに、小型ウォーターポンプを駆動するこのL9110Hモータードライバーモジュールを見つけました。簡単に調べて、そのままにしておきます。データ。若い学生への将来の参考のために、L9110HモジュールとA4950ドライバーの動作モードが同じであることに驚いたのですが、両者の違いは、L9110Hには外部ドライブ電源がないことです。 、そしてそれはマイクロコントローラーに直接接続されています。5vドライバー、そして前の記事で投稿したコードを焼き、2つのPWMピン番号を変更しました。使いやすいバッチ、小さなウォーターポンプの駆動、そして小さなDCモーターファンはかなり実用的です。
1.実験の準備
1. ArduinoUNOマイクロコントローラー2.DC
ギアモーター
3.L9110Hモータードライブモジュール
2.L9110Hモータードライブモジュールの概要
1つのL9110Hモータードライブモジュールで2つのモーターを駆動できます
L9110Hドライブモジュールは、
2つの制御ピン出力PWM間の大きさの関係を比較することにより、モーターの方向を決定します。2つの制御ピン出力PWM間の差がモーター速度を決定します。
A4950ドライバーモジュールと同じ
2.1配線図
L9110Hピン | 対応するピン |
---|---|
VCC | MCU 5V |
GND | MCU GND |
A-1A | Aモーターの1番目のPWMピンを制御します |
A-1B | Aモーターの2番PWMピンを制御する |
B-1A | Bモーターの1番PWMピンを制御する |
B-2A | Bモーターの2番PWMピンを制御します |
エンジンA | モーターA |
モーターB | モーターB |
コード
unsigned int Motor_A_1A=10; //控制A电机的PWM引脚 一定改成自己用的
unsigned int Motor_A_1B=11;
char Motor_Order; //定义一个字符型变量存储串口输入命令
void setup()
{
Serial.begin(9600); //打开串口
Serial.println("/*****开始驱动*****/");
pinMode(Motor_A_1A,OUTPUT); //设置两个驱动引脚为输出模式
pinMode(Motor_A_1B,OUTPUT);
}
void loop()
{
while(Serial.available()>0) //检测串口是否有命令
{
Motor_Order=Serial.read(); //将命令存储在变量中
switch(Motor_Order)
{
//发送字符1电机正转
case '1' : analogWrite(Motor_A_1A,250); analogWrite(Motor_A_1B,0);Serial.println("/*****电机正传*****/");break;
//发送字符2电机反转
case '2' : analogWrite(Motor_A_1A,0); analogWrite(Motor_A_1B,250);Serial.println("/*****电机反转*****/");break;
//发送其他字符电机停转
default : analogWrite(Motor_A_1A,0); analogWrite(Motor_A_1B,0);Serial.println("/*****停转****/");break;
}
}
}