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

【学习必备】每天学习STM32小技巧-4

[复制链接]
STMCU-管管 发布时间:2022-4-20 14:42
【学习必备】每天学习STM32小技巧-4
1.gif
前一篇已分享了10个小技巧今天继续为大家分享10个小技巧:0 O# W  \( ^/ G! d4 S8 a
6 _8 Y" ]% q- E
技巧31:自动装载寄存器和影子寄存器:前者相当于51当中的溢出设定数值。而影子寄存器顾名思义是影子,就是寄存器的另一分copy。实际起作用的是影子寄存器,而程序员操纵的则是自动装载寄存器。如果APPE位使能,表明自动装载寄存器的值在下一次更新事件发生后才写入新值。否则,写入自动装载寄存器的值会被立即更新到影子寄存器。
+ d$ U  P7 n# |6 h
11.png
技巧32:RCC_PCLK1Config(RCC_HCLK_Div4); PCLK1的4分频给定时器基准时钟。( `2 d% k- S, v# a. v6 [! F5 i

4 V9 W! }0 G# N- V5 M$ G/ t
, R. O& E( c. i; h
技巧33:定时器配置:RCC、NVIC、GPIO(OC输出或者PWM)、TIMx。- t9 ?3 p0 U4 F! o/ b- R, C0 g  r

1 X3 v, R5 |0 P  g技巧34:通用定时器可以输出4路不同的PWM,高级定时器可以输出4路不同的PWM外,还可以输出3路互补的PWM信号(驱动三相电机),一共有7路。这样算出来STM32可以产生30路PWM=7*2+4*4。8 `& {# h7 F9 q2 w, x

) @! V5 _- S) N; y- ~* {+ z
! p! f) D$ k& @: o2 |" l
技巧35:+ b! z( p1 }8 x6 R
12.png
技巧36:高级定时器时钟源挂在了APB2上,而通用定时器挂在APB1上。AHB(72mhz)→APB1分频器(默认2)→APB1时钟信号(36mhz)→倍频器(*2倍)→通用定时器时钟信号(72mhz)。如果APB1没有分频,那么通用定时器的时钟信号频率就直接等于APB1的时钟频率,没有上述的倍频器*2过程。TIM_SetAutoreload()用来改变PWM的频率,TIM_SetCompare1()用来改变占空比。
- i# L! Q; n% L- ^5 H, L
8 G  }9 q5 D+ ?8 g$ `$ x6 Z' D
9 l  P: o! S  H" X: P/ I& q$ @
技巧37:有刷电机一般启动力矩大一些,无刷电机启动力矩小,运行起来力矩大。有刷电机采用电刷机械电流换向,而无刷电机则通过霍尔传感器测出转子的电流来判断电机的运动位置和方向,返回给控制回路。
1 E4 D& D2 s$ u9 U9 u9 j) R9 \' |' Q

2 W8 o7 k, r1 M技巧38:死区是必须要有的,因为这涉及到电路的短路问题。晶闸管在换向的时候需要死区时间来彻底关断线路。/ u* ~8 }" L) y0 [# I
' a3 ?2 b' Y6 @+ A# z4 j
' `0 C8 r2 y* `7 D' b
技巧39:刹车功能用来在控制回路出现问题时,硬件自动给予外部电机进行紧急刹车制动,反应在PWM上持续给出一个固定的占空比?(三相驱动也是?)9 w" U5 Z) a  ~  r* X# Y4 Y
* T1 N: A) z, X# p+ e

+ l% Y, S( B0 t& w1 C技巧40:PWM输出最好采用PWM模式,其他的比较输出模式相位会慢慢改变,不精准。
9 |6 V0 a" F  T
9 R  u' [- `4 }! R
往期回顾:4 s" E1 Q6 _2 o" D) S% V
【学习必备】每天学习STM32小技巧-1
论坛还未大家准备诸多STM32系列开发经验:
3 B. b* R, j0 e" x4 H

' H9 ~* H% \8 U
8 [# y; C8 j9 B4 t6 |* u8 b

( ?' g; W" r1 n1 _
' H9 \! j: V; i+ L
; W# T! o8 C( H; p: d% v& e
收藏 评论0 发布时间:2022-4-20 14:42

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版