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

stm32mp1 Cortex M4开发篇12:扩展板震动马达控制

[复制链接]
STMCU小助手 发布时间:2022-10-1 21:09
1.资源扩展板介绍
/ H9 y$ w+ A: D( v3 f/ {% Z' J1.1硬件介绍/ K4 `9 m/ O0 Q; H0 D
: N: K- B& }. d9 q/ S! q, m% V
0c1e6113d0b2e013d5a435d82073771b.png
% O: q+ C* ^. U* l2 d* x) L, y" [: B2 `# _5 c0 }( O3 ~* j
1.2资源扩展板可开发项目
3 C$ z, U3 ^/ X6 P* V3 @  }
' h+ _7 l  P1 [% b" g/ ]1 G9 \
a53d114952a44c6b42945dfb64dd7137.png
! ?, ?7 ^& x( _( ~. b2 e6 r
- {6 L! _0 D+ u* G2.扩展板震动马达控制2 d; d7 W7 m+ _- c0 J
2.1实验原理
8 f" @+ i" H0 Y0 h& m5 @
打开扩展板原理图对照扩展板可以看到扩展板有1个震动马达M1 Motor,如下图:
! C& t) E9 H: n: m3 ]" j6 A
0 R0 ^0 Z. Q- {& G  z 52544811d4f0b72ff21084833ffc7856.jpg 6 p3 }3 e9 K# h5 ?5 b
3 f! d! G1 Y$ p) h. ~
由上图可见通过TIM16_CH1电平改变控制电路的通断从而驱动震动马达。6 h2 D1 F; T& j: b' w

4 j+ v6 |7 i- c- N/ A3 I2 \) d S9N0D[X$SO1}{IZ8L53IHQ2.png
4 t+ L: k3 k* e9 P
. y) P- ~  J/ D扩展板与底板接口对照图
, p/ A4 T6 e" f" s8 j: L$ l
& y, W4 M3 G; N) Y+ o$ k  h8 @查看原理图可知TIM16_CH1对应PF6,查看芯片手册可知PF6可以作为PWM TIMER16的通道1使用,本文实现如何通过PWM驱动马达:0 x8 z$ R) }) c6 f* N
G(6]ULKWLRK5)]T6QK[9_TH.png
7 X) h: ]4 `3 ?& A! j6 q1 Q& o$ a  x9 x2 I# h: e
, K, L& `' L3 b$ f& G0 h) K1 }
2.2实验目的
: J- M. z, g" v4 r- H( w% L9 ?3 Y了解震动马达工作原理
" I$ G' L$ v* |/ A
7 \2 L" V. z# \' H, N' S7 M6 S学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制震动马达3 D7 M$ J* H; K, o7 g
: w, P. u. ~. W5 i" t
7 r4 {$ l3 L8 c# W+ I5 k; v
2.3实验环境
0 S) v8 N$ p: Y+ G9 y% @! \FS-MP1A开发平台
; v. @* }  N2 ?# N
  B$ @& s) s' QST-Link仿真器
: e0 X4 L0 b7 z  c. f! ~
" M, |5 K  d6 U& M* j6 g: P! v. _, CSTM32CubeIDE开发软件' d: n0 H; v# m0 J

: @1 B! C9 _/ O$ ?PC机 XP、Window7/10 (32/64bit); ]2 k0 a1 a) {( r$ g" f: {! X
. g  E& ]& {' _8 ?3 t

3 C! i5 ~8 _, U3 l6 |- R# A0 V# i% W- C. u, k3 I
2.4实验步骤' B4 x' d3 D5 v
MX配置; l8 s; b9 V; x3 K0 J) z
" t* ^& O2 l" C  [1 f" s: E
根据原理图,配置PF6引脚设置为TIM16_CH1。切换到TIM16标签,勾选为“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。0 ~' x* q; d, t( J$ k' X
9 ~6 [, u* g0 P, U: D
& _: T) V0 V: Y. B& ]( ~, }
a453747e8d71a7946b172b9e95af839d.jpg
2 a/ m, a( P! ^- B6 k; Q/ ]2 M8 S% A4 d+ w  ^
4624f47e3324c2b5490c58bfac3ce23e.jpg
5 P( x. }9 g3 i# ?5 s+ {, Z- A9 U+ y9 C# M4 {% [3 D
上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\12_EX_PWM_MOTOR】$ u7 K+ o( f; D" k7 y) @8 o" M

' {/ W$ ^) z, V& q) F代码设计
6 o  M0 h) K0 b7 @
$ t7 n3 N5 Q0 [8 S2 y找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。
, F+ W3 ]5 t3 ~" H( k4 W/ o
6 f# u) Q: Q7 ~0 M* t将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。
6 A1 o# I5 Y! u- R
2 a# {0 u6 I% S 339791cc21a7889a8674c48760eb339a.jpg 6 Q; C1 a! z) z9 M; r
# q$ X. z/ v6 o3 G. P8 N
最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,从而可以实现振动马达不同振动频率。/ R1 g5 M* W2 F  @6 A! t* U, T5 O
————————————————
0 z. Z! D# B/ j! M9 B版权声明:华清远见IT开放实验室! s+ V) ~0 r8 \1 K4 w2 ?

! [/ r2 c% \. {9 U0 U, L' ^. t' G, \0 v/ t6 w/ h  O3 ~" K
赞 收藏 评论0 发布时间:2022-10-1 21:09

举报

0个回答

所属标签

相似技术帖

官网相关资源

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