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

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

[复制链接]
mmuuss586 发布时间:2019-1-9 11:05
基于ST官方电机开发套件:FOC5.3库-正反转加减速代码及调试经验文档资料分享
板子:官方X-NUCLEO-IHM07M1
主芯片:STM32F032R8
驱动芯片:L6230PD
电机:BR2804-1700KV(最高12V输入,7对极)
资料下载见附件,电脑登入,要是解压不了就换360或其它软件试下
参考代码:KEIL MDK打开(5.0以上版本)
原创:mmuuss586-游名
1.png
0.png
00.png
. C4 ~- P9 O  ^/ `

ST FOC5.3(pmsm驱动正反转加减速KEIL参考测试例程).part01.rar

下载

9.54 MB, 下载次数: 2189

ST FOC5.3(pmsm驱动正反转加减速KEIL参考测试例程).part02.rar

下载

9.54 MB, 下载次数: 1773

ST FOC5.3(pmsm驱动正反转加减速KEIL参考测试例程).part03.rar

下载

7.94 MB, 下载次数: 1788

基于ST官方电机开发套件FOC5.3库调试经验分享.pdf

下载

2.46 MB, 下载次数: 680

评分

参与人数 2 ST金币 0 收起 理由
a754577093 -1
weiyi1990 + 1

查看全部评分

5 收藏 9 评论193 发布时间:2019-1-9 11:05

举报

193个回答
limq96d3d3 回答时间:2020-3-14 15:13:19
有个问题想大家请教一下,目前正在使用楼主的“ST FOC5.3(pmsm驱动正反转加减速KEIL参考测试例程) ”来学习,由于KEIL5的开发环境的ARMCC编译器编译受到限制,所以改用了GCC(9 2019-q4-major)版本的免费编译器(已正确配置,因为编译文件较小的其他源程序时可以正常生成可烧写文件),但因为ST的MCSDK_v5.3.2或v5.4.3的部份源程序仍不对外公开,已封装好(见工程文件下MCSDK_v5.3.2\MotorControl\lib\libmc-keil_M4.lib里的feed_forward_ctrl.o、flux_weakening_ctrl.o等),使用GCC(9 2019-q4-major)免费的编译器编译时,出现了如下的链接错误:
) O4 U0 y# i: t0 g) l' D" Mc:/program files (x86)/gnu tools arm embedded/9 2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: ../MCSDK_v5.3.2/MotorControl/lib/libmc-keil_M4.lib(sto_pll_speed_pos_fdbk.o): .symtab local symbol at index 474 (>= sh_info of 229)
2 t6 e4 _5 i# S: I: }1 w+ ~c:/program files (x86)/gnu tools arm embedded/9 2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: ../MCSDK_v5.3.2/MotorControl/lib/libmc-keil_M4.lib: error adding symbols: bad value1 s6 C0 B* x( ~5 ?. l2 j
collect2.exe: error: ld returned 1 exit status! r* K% }6 x7 p5 h/ k: {8 n' t0 B* d
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).
6 \. {$ @9 e! g6 L+ Z2 L9 W2 w+ X因为MCSDK_v5.3.2\MotorControl\lib下没有libmc-gcc_M4.lib文件,只能使用了libmc-keil_M4.lib(应该是ARMCC编译器使用的文件吧),导致编译出现了上述的链接错误?。也尝试用STMCWB安装目录下MCSDK_v5.4.3\MotorControl\lib下的libmc-gcc_M4.lib文件,链接错误更多(当然MCSDK版本不一样,自然会出错了)
6 d/ U9 g3 R- g8 A4 v2 q7 H$ U7 W请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令" p  R/ C9 B0 G
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
% Q/ g8 d7 s0 ?) H  E1 Dvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
  \( H5 q6 G+ B! Y4 f. k: z) L. [{
$ _) C' C2 f5 o        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
$ {6 q( U7 i) i}
$ Q: h( [4 q* q% h$ `5 P. ~% p6 @) j- `6 c+ j
MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令0 s# Z- h' f7 k) }5 Y9 J/ z
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩/ t5 K. q& x, R3 i! A/ f2 p! G
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )) H* l9 i7 v% Z% Q# v: F9 G
{+ a" E8 ~1 z/ P& k
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );+ C, V: d, Z" C9 h5 z+ u
}
+ Y; |/ D' G# K  ?
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误( F1 A& O* S. S. {, }4 _
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。
+ q6 Q6 G* g% jbool MC_AcknowledgeFaultMotor1( void )6 }  H! w6 n/ M0 x0 e" F
{
3 Y( w/ y1 r5 ?, D6 {- x        return MCI_FaultAcknowledged( pMCI[M1] );  N+ T; h1 e' _0 H+ p+ `
}% z) V4 i9 K1 {! ]6 P* y
; }! ^. _% }( J! M- I3 J3 y
Motor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回17 s4 o+ H' j1 S8 [3 R9 n( f! R
int16_t MC_GetImposedDirectionMotor1(void)7 U0 c' ?! {- F; D
{# ^7 W! N( B( C7 W3 ~9 F) U
        return MCI_GetImposedMotorDirection( pMCI[M1] );  g: X4 I' |3 f
}
2 t) d. o  I1 r* @, ?, N$ w& q. k" N1 G# z: `& [' K! S

, a8 M7 V7 n- K/ M* r! ^7 z
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
: o) ?9 z; ~3 w/ Y" d1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
$ |) o" u7 |) j& ^2 ]2、软件界面上有些变化,更简洁。
1 Y4 h4 C0 K, M; |( F% v7 s  @# I
FULL库版本和普通版本的区别:
9 G  X$ H- h! j# W8 Jfull版本区别:开放了弱磁,mtpa及前馈的源代码。
% A  A8 ~* O& ?$ I8 ^% J8 A" X7 Q3 ?' Y" ]; U0 m
FULL版本申请:
/ B8 H6 Z/ Z/ s$ [7 m$ }到ST官网,用企业邮箱申请。5 F& @& I$ ~* C' r
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台8 A& J- V4 p7 n; p; ~' y1 K8 b
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
# g2 g0 z5 X7 ^8 q& ?% s 1.png
2 B9 h( _5 {* G+ {* I请事先下载安装软件:7 j& g5 u2 i! j
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
8 x7 O) J0 s( `3 ^2) STM32CubeMX 4.26及以上版本;
: f( l5 e/ D/ {7 t8 F' r9 c3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
3 i) Q  o$ M1 X0 X, s6 \左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
6 Q7 I. f) A; a* H+ d- L- h右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);- r: o, A+ d) y. r3 g
/ X! I# z$ v! n
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
0 v' i9 h: w8 w: Q3 }/ t/ l' L+ X9 x 2.jpg $ I9 c. W$ [6 G+ X- l
$ Q0 U4 E6 S, R+ D1 u$ Y
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件% ]* m2 j; r: D$ s
3.png
9 y3 x& t; x4 I5 F8 W0 a9 k/ ^9 I8 {! l; n1 V
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
  M9 J% O) n! T; l$ o 4.png ! Q; A+ ~, L) f( g' X, W

2 s: N0 y' w8 Q& F* r
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
0 Q" N; R7 ?0 l& b使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
0 m4 w  k" P$ b# E, G5 Q; }( v 5.png ( _  Z' `- Q8 F  e( r3 \
: G  {4 f$ k8 T3 K; A
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
' k: {4 X( u, I9 H" {9 s; _ 6.png 8 f$ ~' S+ r- H9 ^1 w

+ Q& A( m! u2 `2 A0 M
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+: ^3 R  m* X. V8 G
X-NUCLEO-IHM07M1 3Sh
" P, M1 ?8 A. c4 ^# P' X 7.png
' B9 O6 x% G- B2 K7 D3 |9 T) @% I9 e$ W0 A" T0 I' G# m
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)
, Q8 \3 n( h1 N" s$ K% Z# S 8.png + j$ o1 i+ E$ ^; U; x1 z

8 P0 o1 p* C/ f  R
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级). J( r' m) @1 d8 R
9.png * v( X. ?( ]. i# e) T) I) d) Q
- }% ^: m, Y- I5 z- R# H; ~
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
) [4 U4 B2 b7 }; Q' e* K" `% w 10.png
  f+ _6 K$ e$ u2 t! N" L
) c8 E% i. p7 |, r! c8 F
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改). D9 ~& t( v+ Q, P
11.png 3 r) J$ H9 q; |

6 P4 P+ b: E" g$ p0 O0 {9 a! ?
mmuuss586 回答时间:2019-1-9 11:13:52
15.png 0 y/ S9 e5 ^, D9 X/ I" g1 e
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试: j, \5 |; D( v4 v
电机参数3 _7 \" H. w. r& j" z' Z3 y
12.png
9 U0 d) w2 J( ?" B4 M: V6 `' a
+ ~/ A) t; M+ \: s( q

所属标签

相似分享

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