你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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
点击测试电机参数后等待测试完成(也可停止测试)
# P+ q3 V1 [; p' H4 C! t
7 l/ C# {7 n$ S" T& {* r$ r$ I
8 x, I) o7 X. `6 j0 e+ _/ b
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:16:33
a0a.1 32b0c
测试完成后如下图所示(测试不成功的话就重新测试下),
( Z) ]/ ~, h! K) W
测试成功的话Save和Play按钮功能有效,测试完成后同个电机每次的参数有有些差异,但差别不大
. j7 \ W% M/ m" p* N
- o7 R( v2 }' N
, V5 B+ N; n# ?2 G
& G' d! c) Q& H/ S( F0 g
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:17:11
a0a.1 32b0c
点击Save保存电机参数后如下图,
/ Z1 Z3 f( t' l
输入名字后保存即可(路径不可选,保存在默认路径下),
5 D# b0 O0 @% y; u* k, O
通过MotorControl Workbench生成库的电流环PID参数相关根据电机参数算出来的
V$ u I5 f6 n) N" E
/ {. \9 A5 n4 j
6 S( ] i0 J7 H" q. c0 B
1 V1 q( b _5 v& q+ U' @
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:20:07
a0a.1 32b0c
点击Play后,再点击Start即可让电机转动,通过调节中间箭头调节转速,
8 P. M+ K- T; I' `6 h4 o2 d. B
点Stop按钮停止转动,点Done按钮关闭界面(如电机在转动则停止转动),
/ n; u. j: e( m8 Y# o
如遇干扰等原因连接不成功,可点左下角按钮重新连接。
7 w9 j; z6 N+ q" b
由于是高速电机,加速度和目标转速不要设置过低,否则转不起来。
) g7 ?, Y2 p6 F
% f- |0 T4 ?/ l6 e$ Z# m6 E
$ s( z9 i% T/ D
" C9 W# e( d7 B( q2 g. [5 ]
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:21:29
a0a.1 32b0c
关闭电机并退出电机测试回到Workbench主界面,点击New Project新建工程,选MC Kit并选择相应的板子和配套的电机参数(也可自定义)
+ f1 M' a( |1 X* V* P w
: z4 W9 R; {8 z" q# w
3 g: h2 c: M# {6 O7 s2 ~7 \
( E( S- I3 S( X O0 ?+ r
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:22:11
a0a.1 32b0c
点击OK跳到工程硬件配置窗口界面,如下图所示,可更改相关默认参数
) X( f" O( }& n% g6 C
1 \' @2 I3 X0 O/ O0 X9 a
3 F) @3 g2 d4 H3 V
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:22:47
a0a.1 32b0c
所有参数设置完成后或不设置,点击生成按钮生成相应的工程文件(向下箭头)
, y* ]+ H1 ^! S+ @$ p0 l
+ ]7 K' |) V9 K
+ B# i) R5 D3 f9 L4 x1 i% v( P9 a
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:23:43
a0a.1 32b0c
点击OK按钮后如下图所示,可修改工程名和选型路径等
( u1 ~0 g7 }; Q
" A6 u+ n$ |# B) B9 O& K; q, }- \( z! g
* T9 O0 B; @ ?% J' V. z. a3 H" f
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:24:24
a0a.1 32b0c
点击保存按钮后如下图所示,可生成相关的软件工程(MDK或IAR)
. L& K6 B6 z1 R. [& Y
3 X8 I# J0 H+ q5 I0 B m9 y! t, d3 U
3 Q- a& M9 c) t+ h
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:25:36
a0a.1 32b0c
生成完后如下图所示,会显示Completed
1 N$ D( j* m. Z$ X8 w" G
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:26:50
a0a.1 32b0c
找到刚才生成的文件夹下的工程文件,打开MDK工程,如下图所示
5 _1 C) X; }' _$ T0 H
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:27:24
a0a.1 32b0c
优化等级设置成最高(设的太低,FOC库会运行报错,导致电机转不起来),并编译下工程
1 Q5 C1 X, x: L. B6 c* k
k$ N' L. R6 G: X/ j0 C
i' T) E5 N- i2 H" N7 O2 w
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:27:51
a0a.1 32b0c
在mc_api.c中有一系列函数来实现对电机的控制,主要调用mc_api.c里的一些函数
" _! p; W6 w0 @/ Y
4 P- P/ }/ y' d/ M
e9 j( U3 P w: n- V9 a
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:28:18
a0a.1 32b0c
mc_api.c中常用函数
U; } t. W5 u q" C
0 \, S1 z0 @5 T% o8 ^4 C
MC_StartMotor1
3 r* f) U" U1 I3 e2 b( o
MC_StopMotor1
* G: v9 |4 K0 Z5 v7 { @
MC_ProgramSpeedRampMotor1
) @+ \* c5 x6 b) c1 A& b7 i
MC_ProgramTorqueRampMotor1
# i4 [0 i% y0 C. _
MC_GetMecSpeedReferenceMotor1
" z" Q& |( Q+ ~ O4 ?0 Q! w: y
MC_GetMecSpeedAverageMotor1
+ u, g+ S$ L1 S) l; ^
MC_GetSTMStateMotor1
: U9 M! l% w' s3 z6 x
MC_GetOccurredFaultsMotor1
4 o/ N8 \4 X% A& u8 f& J, d
MC_AcknowledgeFaultMotor1
' [/ O. E% D+ w
MC_GetImposedDirectionMotor1
' L) W% c# r" O# P
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-1-9 11:29:07
a0a.1 32b0c
MC_StartMotor1(); //电机启动
( A0 }4 E" j* Q7 x
如果Motor1为IDLE状态,该命令立即执行启动电机,返回值true,反之返回命令丢弃返回false。
( A" n( y4 E' A5 z2 `
bool MC_StartMotor1(void)
" L/ A! u! \) P" r# O8 C" T% m
{
3 B9 k9 Q0 D, g
return MCI_StartMotor( pMCI[M1] );
" w7 E$ ]& t& B9 j
}
3 K, w9 `$ [ m( p T9 s& J2 }' I( L" Z
0 k, ^& |# W0 y6 p
MC_StopMotor1(); //电机停止
0 `9 ~5 `% |! ]
如果Motor1为RUN或START状态,该命令立即执行停止电机,反之被丢弃。
/ v8 G R- t# }& W, _5 i8 p
bool MC_StopMotor1(void)
4 ^2 e8 E" \9 v7 F3 L: ^9 X+ G& N
{
0 S; C5 N4 L) z2 m$ N/ |; D' f! u
return MCI_StopMotor( pMCI[M1] );
$ ?8 o- g- Q1 m- { {& A
}
# Z! u# A1 C8 r* X2 a
赞
评论
回复
支持
反对
1
2
3
4
5
6
7
8
9
10
... 13
/ 13 页
下一页
所属标签
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
测试成功的话Save和Play按钮功能有效,测试完成后同个电机每次的参数有有些差异,但差别不大. j7 \ W% M/ m" p* N
, V5 B+ N; n# ?2 G
输入名字后保存即可(路径不可选,保存在默认路径下),5 D# b0 O0 @% y; u* k, O
通过MotorControl Workbench生成库的电流环PID参数相关根据电机参数算出来的
点Stop按钮停止转动,点Done按钮关闭界面(如电机在转动则停止转动),
如遇干扰等原因连接不成功,可点左下角按钮重新连接。
由于是高速电机,加速度和目标转速不要设置过低,否则转不起来。) g7 ?, Y2 p6 F
( E( S- I3 S( X O0 ?+ r
3 Q- a& M9 c) t+ h
0 \, S1 z0 @5 T% o8 ^4 C
MC_StartMotor13 r* f) U" U1 I3 e2 b( o
MC_StopMotor1
MC_ProgramSpeedRampMotor1
MC_ProgramTorqueRampMotor1
MC_GetMecSpeedReferenceMotor1" z" Q& |( Q+ ~ O4 ?0 Q! w: y
MC_GetMecSpeedAverageMotor1
MC_GetSTMStateMotor1: U9 M! l% w' s3 z6 x
MC_GetOccurredFaultsMotor1
MC_AcknowledgeFaultMotor1
MC_GetImposedDirectionMotor1
如果Motor1为IDLE状态,该命令立即执行启动电机,返回值true,反之返回命令丢弃返回false。( A" n( y4 E' A5 z2 `
bool MC_StartMotor1(void)" L/ A! u! \) P" r# O8 C" T% m
{3 B9 k9 Q0 D, g
return MCI_StartMotor( pMCI[M1] );" w7 E$ ]& t& B9 j
}3 K, w9 `$ [ m( p T9 s& J2 }' I( L" Z
0 k, ^& |# W0 y6 p
MC_StopMotor1(); //电机停止0 `9 ~5 `% |! ]
如果Motor1为RUN或START状态,该命令立即执行停止电机,反之被丢弃。
bool MC_StopMotor1(void)4 ^2 e8 E" \9 v7 F3 L: ^9 X+ G& N
{0 S; C5 N4 L) z2 m$ N/ |; D' f! u
return MCI_StopMotor( pMCI[M1] );$ ?8 o- g- Q1 m- { {& A
}# Z! u# A1 C8 r* X2 a