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

【实战经验】X_CUBE_SPN7程序电机启动抖动问题

[复制链接]
zero99 发布时间:2017-7-11 13:25
X_CUBE_SPN7程序电机启动抖动问题: v( Q4 [2 [+ z# _6 S6 o2 X( o' i. g

# _( W: x4 x) Z8 a, a4 N, n2 a
前言6 B; P0 F, }' H+ o- D
如果客户从ST官网上下载了X_CUBE_SPN7的BLDC电机控制程序,并且使用Keil做为编译工具,那么在运行电机程序时就会遇到电机无**常启动问题,并且无法进行程序调试,本文旨在说明这个问题所在,并给出调整方法。2 }9 z  {0 m! {- I! Y3 y" R# `
: B- ~" R& t) G9 B' G2 B0 A" o+ U
; ^9 v; s9 h8 }8 {
X_CUBE_SPN7库描述
+ v4 r' l4 b9 X3 B5 Z该电机库用于BLDC的方波控制,实现了无传感控制方式,使用PWM_OFF的ADC检测模式用于检测过零点,通用于STM32F0,STM32F1,STM32F3,STM32F4系列单片机。
( k" S* p9 ]: m. K
9 s$ b3 ]3 ]& O% ~
* y. s% Q6 S1 K3 O- f+ m
问题描述* z- u+ I/ j+ {5 I" V; `) C+ y
ST官网下载的X_CUBE_SPN7程序,使用IAR编译下载到芯片中,电机运行正常,如果使用Keil则问题比较大,电机抖动无法启动,并且调试模式无法进入。
' q# U; o$ v% h2 G* k$ L
+ ~* e& i: j0 ]9 J; F/ B& B- |
) e0 [  X4 R6 d6 v6 C
解决方法
& N6 Z6 P6 Z$ R  i5 H3 e- M- }, H
关于无法调试问题
" t' X" Z, U) {程序可以下载到Flash中但无法进行调试,按RESET后程序也无法回到*.s中;察看Keil的Debug选项,发现Options for Target Debug Settings Debug   Download Options选项在默认情况下,Download to Flash选项被打勾了,需要去掉这个勾;需要我们使用ST Flash算法进行下载才能正常仿真,详细解释Keil网站上有具体说明:
( B/ H( q# w, C6 K1 L4 G% M9 ^+ Nhttp://www.keil.com/support/docs/3508.htm

  {5 b% ^5 E) w6 s  V/ {
11.jpg 9 _- s4 c9 _; v% I2 ~4 B2 k

+ o1 R$ L. H% R4 O" p& v* p
关于电机抖动问题
. f0 E) x7 ?) z4 r( A问题根源在于Keil默认编译使用了Micro LIB,microlib 是缺省 C 库的备选库,microlib 进行了高度优化以使代码变得很小,对于大多数应用这个是最佳选择,但这个备选库存在不符合 ISO C 库标准, 不支持某些 ISO 特性,并且其他特性具有的功能也较少,不符合 IEEE 754 二进制浮点算法标准;有些情况下有些编译代码变得很慢;
12.jpg 0 o6 }, R: V, B! u

! s' K) a3 M+ t* S
可以看到当使用microlib库进行编译的时候MC_SixStep_Ramp_Motor_calc这个函数执行的States数据为49301(104333-53022),而不使用microlib进行编译时MC_SixStep_Ramp_Motor_calc执行的states数据为1687;两者相差甚远,这个启动函数执行时间长会导致中断无**常运行;
13.jpg 0 y0 D9 f. p2 M' H, G

0 z  F' [) g% |0 b% I& c
这样如果客户使用ST电机库,并且使用Keil进行编译的话,需要去掉microlib选项;当然编译过程中也会相应带来所占用的Flash空间变大;或者客户可以对启动函数MC_SixStep_Ramp_Motor_calc进行修改,这个部分有开方的操作,让启动代码变简单一些也是可以的;

7 \8 g4 N) N8 H
1 a1 P# I( V; Y/ ~6 A% e+ c0 o- o* @
( W+ f. H: B! D% N

+ @8 B3 h1 E8 ]
收藏 评论4 发布时间:2017-7-11 13:25

举报

4个回答
MrJiu 回答时间:2017-7-11 13:54:42
看一下!!!!
wolfgang 回答时间:2017-7-11 14:35:22
消灭0回复
ainrnd 回答时间:2018-6-26 11:17:13
谢谢提醒
wushengy 回答时间:2018-11-16 09:49:32
这个好,学习了
0 Z& A7 g% t2 Y  r6 \

所属标签

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