### 第8课 风扇

#### 8.1 项目介绍

130电机控制模块采用HR1124S电机控制芯片。HR1124S是应用于直流电机方案的单通道H桥驱动器芯片。HR1124S的H桥驱动部分采用低导通电阻的PMOS和NMOS功率管。低导通电阻保证芯片低的功率损耗，使得芯片安全工作更长时间。此外HR1124S拥有低待机电流，低静态工作电流，这些性能使HR1124S易用于玩具方案。

该模块兼容各种单片机控制板，如arduino系列单片机。模块上自带的防反插红色端子间距为2.54mm，实验中，我们可通过输出到两个信号端IN+和IN-的电压方向来控制电机的转动方向，使用PWM输出控制风扇的转速，让电机转动起来。

#### 8.2. 模块相关资料

**（1）元件知识：**

130电机控制模块采用HR1124S电机控制芯片。HR1124S是应用于直流电机方案的单通道H桥驱动器芯片。HR1124S的H桥驱动部分采用低导通电阻的PMOS和NMOS功率管。低导通电阻保证芯片低的功率损耗，使得芯片安全工作更长时间。此外HR1124S拥有低待机电流，低静态工作电流，这些性能使HR1124S易用于玩具方案。

该模块兼容各种单片机控制板，如arduino系列单片机。模块上自带的防反插红色端子间距为2.54mm，实验中，我们可通过输出到两个信号端IN+和IN-的电压方向来控制电机的转动方向，使用PWM输出控制风扇的转速，让电机转动起来。

![](media/motor-schematic-diagram.png)

|工作电压：|3.3-5V(DC)|最大电流：|200mA (DC5V)|
|-|-|-|-|
|最大功率：|1W|控制接口：|双数字口（数字输入）|
|工作温度：|-10°C ~+50°C|环保属性：|ROHS|

**（2）控制方法**

需要两个引脚控制风扇的电机，一引脚为IN+，二引脚为IN-。PWM值范围是0~255，当两个引脚的PWM输出一定差值时，风扇就能转动。

|IN+ - INB- = -45|顺时针转动|
|-|-|
|IN+- IN- ;= 45|逆时针转动|
|IN+ == 0 , IN- == 0|停止|

#### 8.3 实验组件

|![](media/esp32.png)|![](media/button.png)|![](media/motor.png)|![](media/fan2.png)|
|-|-|-|-|
|ESP32 Plus主板 *1|按键 *2|130电机模块 *1|风扇叶 *1|
|![](media/4p.png)|![](media/3p.png)|![](media/usb.png)||
|4P线 *1|3P线 *2|USB线 *1||

#### 8.4 模块接线图

木板房子⑦处(左侧)按键1，木板房子⑨处(右侧)按键2和130电机模块的控制引脚：

|木板房子⑦处(左侧)按键1（S引脚）|io4|
|-|-|
|木板房子⑨处(右侧)按键2（S引脚）|io32|
|电机模块的IN+引脚|io19|
|电机模块的IN-引脚|io18|

⚠️ **特别注意：智能家居已经组装好了，这里不需要把按键模块和130电机模块拆下来又重新组装和接线，这里再次提供接线图，是为了方便您编写代码！**

![](media/pjt8.png)

#### 8.5 控制风扇转动的实验代码1

控制风扇的正反转和速度。

![](media/pjtx13.png)

#### 8.6 实验结果1

按照接线图接好线，外接电源，选择好正确的开发板板型（ESP32 Dev Module）和 适当的串口端口（COMxx），然后单击按钮![](media/upload.png)上传示例代码至ESP32主控板。示例代码上传成功后，上电后，可以看到顺时针和逆时针不同转速转动。

![Img](../../media/image-08.gif)

#### 8.7 代码流程图

![](media/project08.png)

#### 8.8 按钮开关风扇的实验代码2 

一台简易的风扇，通过木板房子⑦处(左侧)按键1开关风扇，木板房子⑨处(右侧)按键2控制风扇的速度。

![](media/pjtx14.png)

#### 8.9 实验结果2

按照接线图接好线，外接电源，选择好正确的开发板板型（ESP32 Dev Module）和 适当的串口端口（COMxx），然后单击按钮![](media/upload.png)上传示例代码至ESP32主控板。示例代码上传成功后，上电后，先点击一下木板房子⑦处(左侧)按键1，风扇开始转动，再点击木板房子⑨处(右侧)按键2进行调速，可以调节风扇不同的转速，最后按一下木板房子⑦处(左侧)按键1，风扇停止。

![Img](../../media/image-08-1.gif)