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

基于ST官方电机开发套件:FOC5.3库-正反转加减速代码及调...  

[复制链接]
mmuuss586 发布时间:2019-1-9 11:05
阅读主题, 点击返回1楼
5 收藏 9 评论193 发布时间:2019-1-9 11:05
193个回答
mmuuss586 回答时间:2019-1-9 11:15:58
点击测试电机参数后等待测试完成(也可停止测试)
6 D2 R" F$ }6 B* l% Q& j! ^" ` 13.png . {3 J  C. y! o4 |# Z( T

" J& [5 h2 [) }, g# Z
mmuuss586 回答时间:2019-1-9 11:16:33
测试完成后如下图所示(测试不成功的话就重新测试下),
0 u+ _" P0 A  F1 L3 m测试成功的话Save和Play按钮功能有效,测试完成后同个电机每次的参数有有些差异,但差别不大
0 U5 z1 ?+ X( M2 ~% D0 S 14.png : v/ d: X: _+ N" e( x
/ |" L. X3 h" s

7 Z, F# Y& \, k+ \& Q" q
mmuuss586 回答时间:2019-1-9 11:17:11
点击Save保存电机参数后如下图,
9 B% H/ M, m) u" s' c# c输入名字后保存即可(路径不可选,保存在默认路径下),
# G+ g6 w; P0 J3 i$ X- ]4 z通过MotorControl Workbench生成库的电流环PID参数相关根据电机参数算出来的1 w1 D4 f7 x! Z! X" y
16.png 3 l% `% t/ ^/ A5 k8 M

2 p. u, Z; Z# m0 {6 i
) Q+ ]5 x' D9 Z" S. Y0 ?7 R
mmuuss586 回答时间:2019-1-9 11:20:07
点击Play后,再点击Start即可让电机转动,通过调节中间箭头调节转速,( g3 s. D2 P3 J0 t7 U9 ^
点Stop按钮停止转动,点Done按钮关闭界面(如电机在转动则停止转动),5 k" p/ ]; f9 z9 S- J# g. }& M
如遇干扰等原因连接不成功,可点左下角按钮重新连接。3 n$ T! b; P( S" |4 Q8 F& ^( M0 H
由于是高速电机,加速度和目标转速不要设置过低,否则转不起来。5 |# r6 u# K; p( H7 i6 Z# h
17.png
# x9 L$ o. T; }4 [! g' d+ r* b* {7 j3 V

# x% Q0 G; m7 F( S( N
mmuuss586 回答时间:2019-1-9 11:21:29
关闭电机并退出电机测试回到Workbench主界面,点击New Project新建工程,选MC Kit并选择相应的板子和配套的电机参数(也可自定义)
$ \- E+ I& c# \% n+ t; v 18.png + \+ @! _: D" b$ u
# k* m0 ~- M6 s9 o4 J; w4 I: t
, o5 x1 x8 M/ O7 H7 g2 u/ L
mmuuss586 回答时间:2019-1-9 11:22:11
点击OK跳到工程硬件配置窗口界面,如下图所示,可更改相关默认参数0 T6 T" s+ ]: K, I# G) x
19.png
/ L9 q; O  z1 _- _% M
9 g- _- n7 [/ U+ V" w; F2 Z
mmuuss586 回答时间:2019-1-9 11:22:47
所有参数设置完成后或不设置,点击生成按钮生成相应的工程文件(向下箭头)
- h3 M3 y6 ^3 ~ 19.png
6 G- V8 N) N0 k" ]2 F0 ~$ `
; M4 J2 D+ C4 R; O5 z
mmuuss586 回答时间:2019-1-9 11:23:43
点击OK按钮后如下图所示,可修改工程名和选型路径等6 e4 y- o  k# n, a, K: T1 v
21.png 7 S, ^2 n+ [( s" P$ F# y$ _

8 V" X% @" h% g) B% p
mmuuss586 回答时间:2019-1-9 11:24:24
点击保存按钮后如下图所示,可生成相关的软件工程(MDK或IAR)
) i- ^6 p# u# j* j) V- |5 _ 22.png
$ O2 L6 y. K7 b% a
7 o9 O1 C6 I) w9 G* {
mmuuss586 回答时间:2019-1-9 11:25:36
生成完后如下图所示,会显示Completed 23.png
/ @+ C. k6 w+ C" D0 T' g
mmuuss586 回答时间:2019-1-9 11:26:50
找到刚才生成的文件夹下的工程文件,打开MDK工程,如下图所示 24.png 4 T  b" e, k7 K" v
mmuuss586 回答时间:2019-1-9 11:27:24
优化等级设置成最高(设的太低,FOC库会运行报错,导致电机转不起来),并编译下工程( i' j& |: I( J" M0 L% f8 I
25.png ! R% W8 ~% L# G% r! c0 ^, c

. [, U3 T7 U1 [+ t  E* @% J4 G1 E
mmuuss586 回答时间:2019-1-9 11:27:51
在mc_api.c中有一系列函数来实现对电机的控制,主要调用mc_api.c里的一些函数9 w6 m2 K1 R- B4 i
26.png / Z( o0 R& w. P4 A
5 a; m& ]0 U3 [! s
mmuuss586 回答时间:2019-1-9 11:28:18
mc_api.c中常用函数. d6 P! w" N/ O; h

& t# L& w' W: rMC_StartMotor1
3 ?4 H% r, E+ SMC_StopMotor1
; r& o" b# y+ h/ D0 K6 B( [$ ?MC_ProgramSpeedRampMotor1, S" K( Z" z" }$ X
MC_ProgramTorqueRampMotor1; j; Z& D' U+ X# a% U1 J
MC_GetMecSpeedReferenceMotor1
8 T3 w* B% S7 z' nMC_GetMecSpeedAverageMotor1
' p3 o  [5 O3 j* H) mMC_GetSTMStateMotor1
" e! n8 g# @6 k% f; }0 O: HMC_GetOccurredFaultsMotor15 }7 y) e/ b2 E- C5 u) \1 |& g
MC_AcknowledgeFaultMotor1) c* j) Y$ A9 ~" k: i) X
MC_GetImposedDirectionMotor1
6 m( V/ x& F5 C# ^
mmuuss586 回答时间:2019-1-9 11:29:07
MC_StartMotor1();  //电机启动2 E  F2 T2 G) Y+ Z6 x6 d
如果Motor1为IDLE状态,该命令立即执行启动电机,返回值true,反之返回命令丢弃返回false。3 \5 z, z& W& `* q
bool MC_StartMotor1(void)
7 x& C" H0 J: y. W1 Q" V{
* X# A$ y, z, R+ p2 S        return MCI_StartMotor( pMCI[M1] );
5 x9 W3 M: M7 E3 g}5 |: L( h) Z, }9 i' L8 q% P
/ ^: R( u5 G2 M
MC_StopMotor1();  //电机停止" |, {5 C! y& ~$ l( U0 r( B
如果Motor1为RUN或START状态,该命令立即执行停止电机,反之被丢弃。) D) H. f3 l9 [; D5 o# D1 W
bool MC_StopMotor1(void)
9 I! `4 ?1 B2 i* t, W' D7 S1 m8 r$ a; x{9 n, ]; ]% g( W
        return MCI_StopMotor( pMCI[M1] );
: ~# Z* l, |! j0 ^}: B; r9 e, C7 F, e

所属标签

相似分享

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