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

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

[复制链接]
STMCU小助手 发布时间:2022-9-29 18:00
1.资源扩展板介绍& h4 p2 T4 e& Z9 H. B$ K
1.1硬件介绍1 v; z% {. L6 c' I- G! X# t" K2 c1 H

$ Q% l6 ^: e. m3 f 85c48d6ec2a43ae1e8e4a8d2ba034829.jpg 8 f, m) x/ q. f
0 Z& P, x5 e5 `- O! F
1.2资源扩展板可开发项目
3 J" i8 z6 r. S6 [$ `
! l# h  S( T5 W+ t7 }8 Z e38b22ab32f0a512e96e6dfd1b79dd0a.jpg 8 _- \% B# x+ R3 K6 v& k
- D3 X- M9 ^! C; B( O$ d, ^3 s
2.扩展板风扇控制
  N) b* E6 f8 x& N2 K2.1实验原理
$ @* _7 O# D; |9 ~* [3 t! z" m* w打开扩展板原理图对照扩展板可以看到扩展板有1个风扇FAN1,如下图:
9 x! B1 O" i" i: t3 t* z: j
8 w  y0 H; ^0 A+ I. T3 Z9 O e9d03b69987a5e3a875fead158fe7937.png
4 \/ Y$ h4 z8 q! |' m. I3 q9 V; x9 E5 \% v
由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。
; X% l% [! H7 ^! H, |
: M- G, ]" Z; u: M/ Q8 ? 6a898c7a443802621625c32d5942c5cf.jpg
7 l5 J6 i' W2 W
% s5 ]2 J3 b7 e8 T5 e扩展板与底板接口对照图# J7 M, U2 P/ }, N7 z

6 p- T' p: m! @7 |" h$ U# Q查看原理图可知TIM1_CH1对应PE9,查看芯片手册可知PE9可以作为PWM TIMER1的通道1使用,本文实现如何通过PWM驱动风扇:
8 d5 B9 n, Y2 X) I7 D: e* h 6$SO_UKIG{0_F~(]@QCSY.png
9 h& c6 k1 @) O# O4 L( }: U8 ]
* ^: j) |& |; L; b: V; [6 F& l+ z, w" d/ Q2 L4 ^
2.2实验目的7 p9 F5 Y4 o; l9 E# x% m) L/ U
了解风扇工作原理
  w1 K8 U0 r% T& Z% Z
  k2 ^8 i: e9 w$ C3 O学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制风扇- y+ [3 B( m! j- g' `9 |0 b
* v3 f: b) q, f" P7 Z
2.3实验环境0 U: g7 l& c" y. L% U$ x( Z
FS-MP1A开发平台" u% e* B( y  H5 j) Q
9 K% G& a/ }& n
ST-Link仿真器2 ~5 F' B* X3 [$ _# i5 t

, a4 Q0 F/ J( f( U7 gSTM32CubeIDE开发软件. F' _  I* P' ]/ j

! W. A& M/ T& S- E1 z# P2 B: ^PC机 XP、Window7/10 (32/64bit); L- F: i; E  Y2 m
8 d0 g3 w( r. O% M3 m7 y4 G" j
2.4实验步骤6 V2 ~( M* z0 {9 R
MX配置
9 w# b2 `; c. h( U  l7 N
& I% P" c/ ^+ K2 r! Y根据原理图,配置PE9引脚设置为TIM1_CH1。切换到TIM1标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。
3 Y3 Y' h$ y$ I! p; Y) I4 R4 ^2 I! |3 ~
2b5e025eee24bef6137cbae36120394b.jpg
5 R* F' t. U  C% L' s% Q' n) a% {  Q8 k) V. S
b64b4ae3640eabccb2900850bc8359ae.png
1 G  Q' a* a  q- [0 y7 p/ }# }% f: }0 q7 P
6 t0 s7 P8 B! c/ G3 B' B' ~4 d
上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\11_EX_PWM_FAN】
# r3 r2 U* d  |% w/ X
" X5 Y5 n: q: o代码设计
' g1 ^) T# }% o& d" ]  y. f0 d3 y1 f* K
找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。' u- m" O  R# `- P
& @/ S) f9 L! u  I3 P, G6 S# |
将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。0 Y1 [) x8 D9 e1 B+ R

/ {9 t6 V0 Q1 O1 Zuint16_t pulse = 0;" R2 B  W6 y  x
- n6 E! I, w' N1 |
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
' a2 d* E! m8 ?) s0 C! j) w1 t" E- T1 T' [4 ]
{0 a2 C- }" r1 i  G0 A# @( \$ q

' u% K% O( F) |2 K1 pif(htim->Instance == TIM1)& s+ f( O5 B, n/ [) S2 ^/ n  ?

/ v: E& R% b. V8 B, k{; h+ H8 k+ s  A+ _* f

. _; D, z& U8 H& p( ]1 x0 apulse += 1000;4 E" R: m& z) Y3 L' s$ S' G) h
) o4 m9 |& A8 e! D
__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,pulse);
! K* k. M. {  W6 K
3 _! U4 G4 k) y( G; i9 ~* R) h" yif(pulse >= 10000)
1 L# ~7 z" P6 {, E% R' M' g# {8 R
pulse = 0;; k5 o( n7 P! x- v6 q1 V

; ^  x6 s& B) P! |% M4 y}
" o# N( Q' w4 I% v+ v' P5 P3 V  B/ M- v- z3 Y
}2 O  q. w, e" K! {/ c

% \' a8 `3 T, [. s, k, {void TIM_PWM_START(void)
& p; e+ u9 h' q$ V! H  X7 L( [! W8 J( c# a
{: U+ V! E( F# J- R6 M# @

4 p4 S) J" u" N0 Q6 i. i1 P  Q8 M: k2 bif(HAL_TIM_Base_Start_IT(&htim1) != HAL_OK)
* R9 b1 v3 @/ C: `$ N( b, c, t6 Q* x% L% X5 y+ ]( N7 g
{7 t" L, I# F  ?( B9 ]

( q  i; R, f5 I6 V* Z! s! @7 n+ F; vError_Handler();, G* K. M$ n. o" g$ B
! D, G5 ?; Q8 g* s, T
}
$ U( J  a; Y* L8 A1 R3 k5 p) U- d9 o/ D" |
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);5 `0 S7 s  |3 l/ }+ o7 |, C
& `) u7 Z9 k( ?8 i1 A; k* [0 _& J
}5 N. o+ F2 q6 W) V3 I8 U
. w3 u4 i7 I9 \" H0 P6 M3 f5 U+ v
在主函数中调用TIM_PWM_STERT(),改变pulse的值就可以改变PWM的占空比,可以控制实现风扇的转动。
$ C& Y$ e; m' Y1 l# ]4 ^4 E————————————————
/ {4 E2 t5 B1 A$ J4 |4 E版权声明:华清远见IT开放实验室1 w, d; B1 a4 Z/ N
9 |1 y' u9 a) h" N: a
( P/ R  }2 U1 y/ i% D4 b
赞 收藏 评论0 发布时间:2022-9-29 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版