L9110H电机驱动模块实战:从Arduino小水泵到智能风扇控制

张开发
2026/4/8 17:01:46 15 分钟阅读

分享文章

L9110H电机驱动模块实战:从Arduino小水泵到智能风扇控制
1. L9110H模块初体验从拆包到第一个转动的电机第一次拿到L9110H电机驱动模块时我差点以为发错了货——这个比指甲盖大不了多少的板子真能驱动电机但当我用Arduino UNO接上一个小水泵后瞬间被它的实力打脸。这个看似迷你模块实际上藏着双路H桥驱动能力最大输出电流能达到800mA驱动常见的小型直流电机完全不在话下。和常见的L298N模块相比L9110H最让我惊喜的是它不需要外接驱动电源。模块直接使用单片机的5V供电省去了额外接线的麻烦。不过要注意的是如果驱动功率较大的电机比如额定电流超过500mA的建议单独给电机供电避免单片机电源过载。这里有个实测数据对比模块类型供电方式最大电流典型应用L9110H5V直驱800mA小水泵/风扇L298N外接电源2A大功率电机2. 硬件接线图解避坑指南接错线烧过两个模块后我总结出了最安全的接线方案。L9110H模块有6个关键引脚VCC和GND接Arduino的5V和GNDA-1A/A-1B控制电机A的两个PWM引脚B-1A/B-1B控制电机B的两个PWM引脚如果只用一路电机可不接新手最容易踩的坑是混淆控制引脚顺序。记住一个口诀1A高电平正转1B高电平反转。比如要让电机正转就给A-1A输入PWM信号A-1B保持低电平反转则相反。这是我常用的接线方案以驱动小水泵为例L9110H引脚 - Arduino引脚 VCC - 5V GND - GND A-1A - D9 (PWM) A-1B - D10 (PWM) MOTOR A - 水泵正负极3. 代码实战从基础控制到智能调速基础驱动代码其实非常简单核心就是两个PWM输出。但想要玩出花样还需要些技巧。下面这个增强版代码增加了串口控制和自动调速功能// 定义引脚 #define MOTOR_A1A 9 #define MOTOR_A1B 10 // 电机控制函数 void motorControl(int speed, bool isCW) { speed constrain(speed, 0, 255); // 限制PWM范围 if(isCW) { analogWrite(MOTOR_A1A, speed); analogWrite(MOTOR_A1B, 0); } else { analogWrite(MOTOR_A1A, 0); analogWrite(MOTOR_A1B, speed); } } void setup() { Serial.begin(9600); pinMode(MOTOR_A1A, OUTPUT); pinMode(MOTOR_A1B, OUTPUT); Serial.println(输入速度(0-255)和方向(CW/CCW)如150 CW); } void loop() { if(Serial.available()) { int speed Serial.parseInt(); String dir Serial.readStringUntil(\n); dir.trim(); motorControl(speed, dir CW); } }进阶玩法可以结合传感器实现智能控制。比如用DHT11温湿度传感器做个自动调速风扇#include DHT.h #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); // 电机引脚初始化... } void loop() { float temp dht.readTemperature(); int speed map(temp, 25, 35, 80, 255); // 25℃开始启动35℃全速 speed constrain(speed, 0, 255); motorControl(speed, true); delay(2000); }4. 典型应用场景从智能花盆到桌面小风扇去年夏天我用L9110H做了个智能花盆系统通过土壤湿度传感器控制水泵浇水。实测发现模块连续工作半小时后会有轻微发热但从未出现过热保护的情况。给几个实用建议驱动小水泵时在水泵电源端并联一个反向二极管防止反电动势控制风扇时PWM频率建议设置在5kHz以上避免可闻噪声需要长时间工作时可以加个小散热片最近还开发了个USB桌面小风扇用旧手机充电器供电加上电位器调速成本不到20元。相比成品风扇这种DIY方案最大的优势是可编程性——可以设置智能启停、自然风模式等。5. 常见问题排查手册Q1电机抖动不转怎么办检查PWM引脚是否设置正确测量电机两端电压是否达到额定值尝试降低PWM频率默认490Hz可能对某些电机太高Q2模块发热严重怎么解决检查是否短路或过载确保电机电流不超过800mA可以尝试降低PWM占空比Q3如何提高驱动能力对于大电流电机建议使用MOSFET搭建驱动电路也可以考虑并联两个L9110H通道需同步PWM信号有次遇到个诡异现象电机时而正常时而停转。最后发现是杜邦线接触不良。所以遇到异常时第一步应该检查所有连接点必要时可以用焊锡固定。

更多文章