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

基于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
点击测试电机参数后等待测试完成(也可停止测试)
# P+ q3 V1 [; p' H4 C! t 13.png 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
测试完成后如下图所示(测试不成功的话就重新测试下),
( Z) ]/ ~, h! K) W测试成功的话Save和Play按钮功能有效,测试完成后同个电机每次的参数有有些差异,但差别不大. j7 \  W% M/ m" p* N
14.png
- 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
点击Save保存电机参数后如下图,
/ Z1 Z3 f( t' l输入名字后保存即可(路径不可选,保存在默认路径下),5 D# b0 O0 @% y; u* k, O
通过MotorControl Workbench生成库的电流环PID参数相关根据电机参数算出来的
  V$ u  I5 f6 n) N" E 16.png / {. \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
点击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
17.png % 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
关闭电机并退出电机测试回到Workbench主界面,点击New Project新建工程,选MC Kit并选择相应的板子和配套的电机参数(也可自定义)+ f1 M' a( |1 X* V* P  w
18.png
: 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
点击OK跳到工程硬件配置窗口界面,如下图所示,可更改相关默认参数) X( f" O( }& n% g6 C
19.png 1 \' @2 I3 X0 O/ O0 X9 a

3 F) @3 g2 d4 H3 V
mmuuss586 回答时间:2019-1-9 11:22:47
所有参数设置完成后或不设置,点击生成按钮生成相应的工程文件(向下箭头), y* ]+ H1 ^! S+ @$ p0 l
19.png + ]7 K' |) V9 K

+ B# i) R5 D3 f9 L4 x1 i% v( P9 a
mmuuss586 回答时间:2019-1-9 11:23:43
点击OK按钮后如下图所示,可修改工程名和选型路径等( u1 ~0 g7 }; Q
21.png " 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
点击保存按钮后如下图所示,可生成相关的软件工程(MDK或IAR). L& K6 B6 z1 R. [& Y
22.png
3 X8 I# J0 H+ q5 I0 B  m9 y! t, d3 U3 Q- a& M9 c) t+ h
mmuuss586 回答时间:2019-1-9 11:25:36
生成完后如下图所示,会显示Completed 23.png 1 N$ D( j* m. Z$ X8 w" G
mmuuss586 回答时间:2019-1-9 11:26:50
找到刚才生成的文件夹下的工程文件,打开MDK工程,如下图所示 24.png
5 _1 C) X; }' _$ T0 H
mmuuss586 回答时间:2019-1-9 11:27:24
优化等级设置成最高(设的太低,FOC库会运行报错,导致电机转不起来),并编译下工程1 Q5 C1 X, x: L. B6 c* k
25.png
  k$ N' L. R6 G: X/ j0 C
  i' T) E5 N- i2 H" N7 O2 w
mmuuss586 回答时间:2019-1-9 11:27:51
在mc_api.c中有一系列函数来实现对电机的控制,主要调用mc_api.c里的一些函数
" _! p; W6 w0 @/ Y 26.png 4 P- P/ }/ y' d/ M

  e9 j( U3 P  w: n- V9 a
mmuuss586 回答时间:2019-1-9 11:28:18
mc_api.c中常用函数
  U; }  t. W5 u  q" C0 \, S1 z0 @5 T% o8 ^4 C
MC_StartMotor13 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
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 pbool 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

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版