本文使用的是 HAL 库。
文章目录
- 前言
- 一、直流电机介绍
- 二、直流电机原理图
- 三、直流电机控制方法
- 四、STM32CubeMX 配置直流电机
- 五、代码编写
- 总结
前言
- 实验开发板:STM32F051K8。
- 所需软件:keil5 , cubeMX 。
- 实验目的:了解 直流电机,风扇 的配置和使用。
一、直流电机介绍
直流电机是一种电动机类型,它通过直流电源供电,将电能转化为机械能。这类电机在各种应用中都得到广泛使用,包括工业、汽车、家用电器等领域
主要特点:
-
可控性:通过控制电流或者电压,可以调节直流电机的转速和扭矩。
-
高启动转矩:直流电机通常具有较高的启动转矩,适合需要大扭矩启动的应用。
-
易于控制:直流电机的速度和转向可以通过简单的电路控制来实现。
-
应用广泛:由于其特性和控制便利性,直流电机在许多应用领域都有广泛的应用,包括电动车辆、机械传动、风扇、泵等。
直流电机因其简单的控制方式、高效率和广泛的应用范围而备受青睐,但也有一些局限性,比如需要维护电刷(对于有刷电机)、电刷磨损等问题。
二、直流电机原理图
直流电机由两根线控制:
一根线连接到了5V电源端口,一根线连接到了D1端口。
D1连接到开发板的PB7端口:
三、直流电机控制方法
因为一个端口已经连接到了5V端口,所以要想让直流电机旋转起来那另一个端口就必须设置为低电平才能让他转动起来。
四、STM32CubeMX 配置直流电机
把直流电机端口配置为输出端口即可。
五、代码编写
直流电机控制风扇,持续让风扇打开 5 秒,关闭 5 秒。
// 打开风扇
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET);
HAL_Delay(5000);
// 关闭风扇
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET);
HAL_Delay(5000);
示例:
总结
下一篇文章为大家继续介绍 STM32 cubeMX 的温湿度模块。