STM32 cubeMX 直流电机控制风扇转动

2023-12-25 15:24:04

本文使用的是 HAL 库。

前言

  • 实验开发板: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 的温湿度模块。

文章来源:https://blog.csdn.net/wuyiyu_/article/details/135197958
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。