你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32mp1 Cortex M4开发篇14:扩展板风扇控制

[复制链接]
STMCU小助手 发布时间:2022-9-29 18:00
1.资源扩展板介绍
1.1硬件介绍

85c48d6ec2a43ae1e8e4a8d2ba034829.jpg

1.2资源扩展板可开发项目

e38b22ab32f0a512e96e6dfd1b79dd0a.jpg

2.扩展板风扇控制
2.1实验原理
打开扩展板原理图对照扩展板可以看到扩展板有1个风扇FAN1,如下图:

e9d03b69987a5e3a875fead158fe7937.png

由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。

6a898c7a443802621625c32d5942c5cf.jpg

扩展板与底板接口对照图

查看原理图可知TIM1_CH1对应PE9,查看芯片手册可知PE9可以作为PWM TIMER1的通道1使用,本文实现如何通过PWM驱动风扇:
6$SO_UKIG{0_F~(]@QCSY.png


2.2实验目的
了解风扇工作原理

学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制风扇

2.3实验环境
FS-MP1A开发平台

ST-Link仿真器

STM32CubeIDE开发软件

PC机 XP、Window7/10 (32/64bit)

2.4实验步骤
MX配置

根据原理图,配置PE9引脚设置为TIM1_CH1。切换到TIM1标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。

2b5e025eee24bef6137cbae36120394b.jpg

b64b4ae3640eabccb2900850bc8359ae.png


上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\11_EX_PWM_FAN】

代码设计

找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。

将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。

uint16_t pulse = 0;

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

if(htim->Instance == TIM1)

{

pulse += 1000;

__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,pulse);

if(pulse >= 10000)

pulse = 0;

}

}

void TIM_PWM_START(void)

{

if(HAL_TIM_Base_Start_IT(&htim1) != HAL_OK)

{

Error_Handler();

}

HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);

}

在主函数中调用TIM_PWM_STERT(),改变pulse的值就可以改变PWM的占空比,可以控制实现风扇的转动。
————————————————
版权声明:华清远见IT开放实验室


收藏 评论0 发布时间:2022-9-29 18:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版