你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
基于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
a0a.1 32b0c
点击测试电机参数后等待测试完成(也可停止测试)
6 D2 R" F$ }6 B* l% Q& j! ^" `
. {3 J C. y! o4 |# Z( T
" J& [5 h2 [) }, g# Z
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:16:33
a0a.1 32b0c
测试完成后如下图所示(测试不成功的话就重新测试下),
0 u+ _" P0 A F1 L3 m
测试成功的话Save和Play按钮功能有效,测试完成后同个电机每次的参数有有些差异,但差别不大
0 U5 z1 ?+ X( M2 ~% D0 S
: v/ d: X: _+ N" e( x
/ |" L. X3 h" s
7 Z, F# Y& \, k+ \& Q" q
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:17:11
a0a.1 32b0c
点击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
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
a0a.1 32b0c
点击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
# 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
a0a.1 32b0c
关闭电机并退出电机测试回到Workbench主界面,点击New Project新建工程,选MC Kit并选择相应的板子和配套的电机参数(也可自定义)
$ \- E+ I& c# \% n+ t; v
+ \+ @! _: 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
a0a.1 32b0c
点击OK跳到工程硬件配置窗口界面,如下图所示,可更改相关默认参数
0 T6 T" s+ ]: K, I# G) x
/ L9 q; O z1 _- _% M
9 g- _- n7 [/ U+ V" w; F2 Z
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:22:47
a0a.1 32b0c
所有参数设置完成后或不设置,点击生成按钮生成相应的工程文件(向下箭头)
- h3 M3 y6 ^3 ~
6 G- V8 N) N0 k" ]2 F0 ~$ `
; M4 J2 D+ C4 R; O5 z
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:23:43
a0a.1 32b0c
点击OK按钮后如下图所示,可修改工程名和选型路径等
6 e4 y- o k# n, a, K: T1 v
7 S, ^2 n+ [( s" P$ F# y$ _
8 V" X% @" h% g) B% p
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:24:24
a0a.1 32b0c
点击保存按钮后如下图所示,可生成相关的软件工程(MDK或IAR)
) i- ^6 p# u# j* j) V- |5 _
$ O2 L6 y. K7 b% a
7 o9 O1 C6 I) w9 G* {
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:25:36
a0a.1 32b0c
生成完后如下图所示,会显示Completed
/ @+ C. k6 w+ C" D0 T' g
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:26:50
a0a.1 32b0c
找到刚才生成的文件夹下的工程文件,打开MDK工程,如下图所示
4 T b" e, k7 K" v
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:27:24
a0a.1 32b0c
优化等级设置成最高(设的太低,FOC库会运行报错,导致电机转不起来),并编译下工程
( i' j& |: I( J" M0 L% f8 I
! R% W8 ~% L# G% r! c0 ^, c
. [, U3 T7 U1 [+ t E* @% J4 G1 E
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:27:51
a0a.1 32b0c
在mc_api.c中有一系列函数来实现对电机的控制,主要调用mc_api.c里的一些函数
9 w6 m2 K1 R- B4 i
/ Z( o0 R& w. P4 A
5 a; m& ]0 U3 [! s
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:28:18
a0a.1 32b0c
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_GetOccurredFaultsMotor1
5 }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
a0a.1 32b0c
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
赞
评论
回复
支持
反对
1
2
3
4
5
6
7
8
9
10
... 13
/ 13 页
下一页
所属标签
相似分享
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
测试成功的话Save和Play按钮功能有效,测试完成后同个电机每次的参数有有些差异,但差别不大
/ |" L. X3 h" s
输入名字后保存即可(路径不可选,保存在默认路径下),
通过MotorControl Workbench生成库的电流环PID参数相关根据电机参数算出来的1 w1 D4 f7 x! Z! X" y
点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
! g' d+ r* b* {7 j3 V
# k* m0 ~- M6 s9 o4 J; w4 I: t
, o5 x1 x8 M/ O7 H7 g2 u/ L
5 a; m& ]0 U3 [! s
MC_StartMotor1
MC_StopMotor1
MC_ProgramSpeedRampMotor1, S" K( Z" z" }$ X
MC_ProgramTorqueRampMotor1; j; Z& D' U+ X# a% U1 J
MC_GetMecSpeedReferenceMotor1
MC_GetMecSpeedAverageMotor1
MC_GetSTMStateMotor1
MC_GetOccurredFaultsMotor15 }7 y) e/ b2 E- C5 u) \1 |& g
MC_AcknowledgeFaultMotor1) c* j) Y$ A9 ~" k: i) X
MC_GetImposedDirectionMotor1
如果Motor1为IDLE状态,该命令立即执行启动电机,返回值true,反之返回命令丢弃返回false。3 \5 z, z& W& `* q
bool MC_StartMotor1(void)
{
return MCI_StartMotor( pMCI[M1] );
}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 n, ]; ]% g( W
return MCI_StopMotor( pMCI[M1] );
}: B; r9 e, C7 F, e