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

【经验分享】X_CUBE_SPN7 程序电机启动抖动问题

[复制链接]
STMCU小助手 发布时间:2022-3-5 22:43
前言. \5 G3 W+ R8 P0 r9 E: t& `
如果客户从 ST 官网上下载了 X_CUBE_SPN7 的 BLDC 电机控制程序,并且使用 Keil 做为编译工具,那么在运行电机程序时就会遇到电机无法正常启动问题,并且无法进行程序调试,本文旨在说明这个问题所在,并给出调整方法。
- F1 E  D( J! T0 C& r" p8 b: v& ?& K6 u: y- h& j$ F9 a
X_CUBE_SPN7 库描述* W3 I0 v. a4 L& d
该电机库用于 BLDC 的方波控制,实现了无传感控制方式,使用 PWM_OFF 的 ADC 检测模式用于检测过零点,通用于STM32F0,STM32F1,STM32F3,STM32F4 系列单片机。
0 w" H' r9 x$ v9 P2 r0 X1 h1 g9 W$ T. H# _+ j+ N+ Y  R! \
问题描述: H9 g% H" {3 z0 S. v) D
ST 官网下载的 X_CUBE_SPN7 程序,使用 IAR 编译下载到芯片中,电机运行正常,如果使用 Keil 则问题比较大,电机抖动无法启动,并且调试模式无法进入。
& C$ ]9 B/ f3 G5 n- `6 x+ A4 ~8 q5 t
& X6 Q" R5 c3 W( e7 X' F' I5 |; c解决方法
( H* U: f$ E& J0 d% m  k- c关于无法调试问题
- `5 w& g& R4 ~: X5 e0 y
程序可以下载到 Flash 中但无法进行调试,按 RESET 后程序也无法回到*.s 中;察看 Keil 的 Debug 选项,发现 Options for Target Debug Settings Debug Download Options 选项在默认情况下,Download to Flash 选项被打勾了,需要去掉这个勾;需要我们使用 ST Flash 算法进行下载才能正常仿真,详细解释 Keil 网站上有具体说明
; q' e. c* T# D3 S
7 L9 U# p) ~. a5 D: G) i/ d IHTK9(YHL)R)M4ER}}SXL1D.png 0 [8 H# [1 Y0 e

" A2 S" i( T; F' Q7 E/ S3 C: e4 f; X关于电机抖动问题' L7 ?, f1 j# O: v1 e
问题根源在于 Keil 默认编译使用了 Micro LIB,microlib 是缺省 C 库的备选库,microlib 进行了高度优化以使代码变得很小,对于大多数应用这个是最佳选择,但这个备选库存在不符合 ISO C 库标准, 不支持某些 ISO 特性,并且其他特性具有的功能也较少,不符合 IEEE 754 二进制浮点算法标准;有些情况下有些编译代码变得很慢;) I* B8 \4 W! w
2 i2 D9 s) R  w1 e; Y
N6K6MPJ1@(Z~S08B{B(~TKO.png
  q& z! w: ~- C1 d& \* ?* w' N8 `4 p, r2 M) [, y8 s7 u9 P5 [) X
可以看到当使用 microlib 库进行编译的时候 MC_SixStep_Ramp_Motor_calc 这个函数执行的 States 数据为 49301(104333-53022),而不使用 microlib 进行编译时 MC_SixStep_Ramp_Motor_calc 执行的 states 数据为 1687;两者相差甚远,这个启动函数执行时间长会导致中断无法正常运行;8 U& a& K( I. O: E

" d, C+ U0 n! I0 Z5 o5 E( }8 A6 A7 p )LE~GA2U{1IO09M}IS0(1VG.png ! I% s5 K: {; A' w9 a" B8 G/ d

1 M" d9 A- x' F4 s; e这样如果客户使用 ST 电机库,并且使用 Keil 进行编译的话,需要去掉 microlib 选项;当然编译过程中也会相应带来所占用的Flash 空间变大;或者客户可以对启动函数 MC_SixStep_Ramp_Motor_calc 进行修改,这个部分有开方的操作,让启动代码变简单一些也是可以的;
7 q) r$ G6 {& s$ T$ a3 l2 K. V, C! h7 J: D0 I

) z" l' ]7 U! |
赞 收藏 评论0 发布时间:2022-3-5 22:43

举报

0个回答

所属标签

相似技术帖

官网相关资源

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