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

【电机培训】初见成效-MC项目的生成

[复制链接]
STM1024 发布时间:2018-9-1 16:48
本帖最后由 stm1024 于 2018-9-1 17:01 编辑 $ o- _* ~6 f8 K- [& v4 p
% L  Z% @9 Z: S, {
之前把Profiler测试了一下,让电机转动起来。* [1 S- D& J( b* n8 |3 I
https://www.stmcu.org.cn/module/forum/thread-617295-1-1.html
" Y+ j, ^5 T) _2 d* z这次通过结合开发板、软件和文档,熟悉了解电机控制的SDK。
) t- q  r* r: |9 I9 T* wUM2374 是User manual-Getting started with STM32 motor control SDK v5.0$ i4 V5 x7 t. Y# M" m$ C
采用的是5.12的MotorControl Workbench,但是匹配的帮助文档仍旧是针对SDK5.0,不过软件界面和手册上稍微存在一些差异,不过这都不是什么大问题。
3 V% d; ?# }8 |/ X5 ]
2018-09-01_154358.jpg
& @) _- I* }/ F# I7 M- a0 |
在昨天能通过profiler把电机玩转以后,基本上硬件连接上已经没有什么问题,重点是从3.3节开始,MC project generation
+ s+ m1 }; D* E! w0 B
3.jpg

' k& g( A% f) C# ~' ~新建一个项目,按上图进行配置。其实第三步中不一定非要选择Kit,也可以分开选择Power & Control单独配置驱动电路板和控制板8 Y, i) f2 _: y& x. a
注意看第四步,这个地方选之前标定过的电机就可以了,我用的文件名是XD001,如果选择的是官方标配的奔牛(牛奔,哈)电机,效果也是一样的,选自己的电机,适应性更广,不至于换了电机就懵逼了。0 T# r. ?+ Q: q! A7 a
4.jpg
  Y& g2 K+ z9 O3 G1 D2 a" v& [
OK之后弹出上图的确认信息框,核对一下即可,因为这些参数都是自动测算的,所以通常不会错。
6 |3 k$ A1 N( N: E  a1 a& @6 {) S4 [/ H1 T
这下来到了主界面(下图左)
/ l# n0 o. o8 b$ T
5.jpg 6.jpg

; U+ Y7 x7 U' ~: T* G右图是UM2374 中的说明截图,实际上5.1.2中工具栏上已经没有选择输出目录的,我们可以直接点save,或者在File菜单下使用save project as...2 Y, k# O, O3 r4 t% _# y4 ]9 \
* |( n8 `" o$ B) I4 |
其实来到这里就可以点击生成了,但在生成之前,建议多看看左边这几个标签页面。
# d  m! ^; y6 o: k! A6 n例如,打开power stage标签下面的Digital I/O,可以看到控制器的配置方案:
& Q; k5 k( n3 o; I
7.jpg
这个地方如果对照着后面生成的代码阅读,会有很大的帮助。例如,我们可以看到,逆变器使用了TIM1的PA8-PA11的通道,三相电的信号使用的是PC10-PC12,串口使用的是USART2,启停按键对应的IO是PC13,这些都是可以选择配置的,通过研究这个,我相信可以把代码移植到STM32F103等系列的芯片上(打算后面做这个事情)。总之,了解针脚配置信息很重要,另一种查看的方式是使用工具栏上的那个芯片图标,查看针脚定义:
! m/ h" }& B$ ?4 E. c0 j
2018-09-01_162239.jpg

2 W) @; p$ `& q2 Y: H/ g8 R' P6 c3 L& {
下面的生成代码的工作了。点击那个向下的箭头,即Generation:1 d, r+ H; t5 S( B, c6 Z% j, A
111.jpg

: |% l3 f% s9 X& _# }生成之前,可以根据自己的需要,选择合适的工具链,我使用的是Keil v5,选好之后,点击Generate会在之前保存的项目文件目录下生成一个同名文件夹,包含了所有的项目文件。- Q- M1 D; a1 X! A5 |) x* d
. x9 E+ }& k1 L
然后就是用工具打开项目文件,编译,下载。至于配置信息,在项目中都帮你自动完成了。$ Y' ?% B  D4 n: X
2018-09-01_163033.jpg
1 O3 U: ]( N; i7 Z! c
上图中可以看到,连debug的工具都给你配置好了,这个细节做得非常不错,难怪官方的文档说的是:
+ m( X( H6 T' J0 ~Download the embedded application to the target from the IDE. If the ST/LINK is correctly; p1 C( J" N% H' T6 k# F) E
installed, this is straightforward to perform.
1 P/ p9 _0 d. h0 T8 @! ]2 |9 P最后就是打开Monitor了:
( B! H( o1 S' L7 R! k7 ^- q
2018-09-01_163351.jpg

% o- K7 o4 Q5 E4 A7 v. `- i7 ?: p, f5 x连接,running~。  W% J6 Y3 m4 x2 [
测试中发现,如果调速过快,会出现speed feedback的错误,另外就是改变转向,也会出现这样的错误。# i. `5 g2 z- U6 }4 q
最后,我还强行把转子捏死,测试一下堵转时的错误反馈,原本以为是电流会过大,Over Current的故障,结果发现依旧是speed feedback错误,而且在出现错误前,仪表上还有转速显示,这个肯定是不对的,这里先mark一下,后面需要多研究一下转速测量的原理。
0 u; n$ G" W0 w' S# n出现不要紧,点击一下Fault Ack按钮,就可清除故障信息。
# X' o. O8 d5 L/ l  A. ~) F
4 V- s2 H1 I& p2 hST一如既往地保持了过去文档详实的优点,可以让开发人员快速上手,立即看到效果,使学习曲线变得更加缓和。软件操作界面也很友好,傻瓜式的操作,背后有着很大的学问,不敢说自己掌握了皮毛,只能说是找到感觉了吧,lol。
! e8 h$ l4 u# P# B% ?- A) }, G  f, b0 z' v; z' S
后面再尝试一下在项目中修改代码,实现电机调控的功能,也就是完成培训的Task。
, F0 M# O9 B. X9 \- e0 e! `5 R5 E+ M
$ d4 v" g; O$ `
% y) `, Q* X' {7 g* V
  e1 c' I) N" e# p0 M
& x7 f' V- Y( u& ]" C" ]
赞 收藏 评论2 发布时间:2018-9-1 16:48

举报

2个回答
zero99 回答时间:2018-9-3 17:36:36
支持下, 帮楼主改成原创帖了
STM1024 回答时间:2018-9-3 18:25:10
zero99 发表于 2018-9-3 17:36* c8 H+ v% D  O6 e; z, C
支持下, 帮楼主改成原创帖了

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