请选择 进入手机版 | 继续访问电脑版

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

基于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

! a( \5 f; F. \1 p/ \" K' r

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)免费的编译器编译时,出现了如下的链接错误:* D; j' a% n! q0 Q  ?% M
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(sto_pll_speed_pos_fdbk.o): .symtab local symbol at index 474 (>= sh_info of 229)2 |. [3 M0 c5 o9 d; t
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 value! U$ Z! {8 u4 U, Z( h5 m/ E4 h
collect2.exe: error: ld returned 1 exit status
2 J$ i6 T  u0 K0 @  G% Y5 m. C  D6 p".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).0 M; |9 ^& T; ^1 d6 w3 Q
因为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版本不一样,自然会出错了)) ~7 c; B$ k2 u7 J, d6 `. c
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令4 e' o0 T! }3 H: y" L2 x
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度1 ~) b- r1 X) _$ e2 {
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
' |! |" T8 F; M; t2 l{( v, r5 W: P, j6 B( J8 z% N
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );4 U" |3 `" [2 w* M7 Q8 j; B% t, Q
}$ ]1 ?( Z! D/ N) \* a6 M. g# E

" P) V8 c3 A4 ]# H5 d& zMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令6 z$ V- E* \+ V$ r
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩8 o. {- N9 Z& j. }4 K3 q3 ~& t
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
/ I: y7 [0 P$ R4 ?{
+ x0 r  M, T+ z+ \        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );; e1 @- V& P: u; K9 W" C
}
0 K  E/ z- M% i1 ^* g% D
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误
! O- w3 U( D- U" K4 O9 _# i调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。( P: @3 T" G& _& O2 I
bool MC_AcknowledgeFaultMotor1( void )
& d$ p9 d! R; B, L$ P; F{# h/ V. y/ M% j0 x6 m5 E8 o9 A
        return MCI_FaultAcknowledged( pMCI[M1] );
5 P6 l3 c3 h* @4 u}
1 _# u, {3 Z' z+ j. B
3 ^$ @' l. A& {1 C0 u8 mMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
5 O- a# _, w3 F5 K: `4 s) u3 w+ ?int16_t MC_GetImposedDirectionMotor1(void)4 {3 E: p  b+ u+ s
{
. A! u. {2 p. e        return MCI_GetImposedMotorDirection( pMCI[M1] );2 d% x& u# P7 E- H
}% ?/ i% E7 n) h, w6 ?

3 m4 t6 v0 Z8 n7 I. ^/ p( p
) A4 V( ~1 w2 _9 p! Z
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
4 w7 R' E: ?, j+ t1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;" w6 F# a$ Y/ s# [" o: P
2、软件界面上有些变化,更简洁。& E& O. ^- }! q# p% L9 x3 \: Y

& C& F, T% ^4 tFULL库版本和普通版本的区别:1 J' T  \, c/ F
full版本区别:开放了弱磁,mtpa及前馈的源代码。1 C1 h+ J/ ~0 x- p0 I) d+ i
, s) i/ o' |7 S0 y8 O
FULL版本申请:2 Q' \2 d( H' {4 l
到ST官网,用企业邮箱申请。
9 b# e6 Q) \8 [
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
8 `# l; b4 _6 O) s硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;) S: @. [- h8 Z& X& A
1.png
, Z$ L1 D+ W/ y- \4 ?& B! B请事先下载安装软件:9 s+ B& p; X, Y. Z; m. A
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);( u/ o  Q) \+ }. b+ a& x
2) STM32CubeMX 4.26及以上版本;
' ^9 s/ a9 g* v, x* O3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:7 C2 b) x( h+ {
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;( L. h+ L5 s& \; s
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);8 m9 n  r, w$ V" ], s& e

9 i0 v0 E, D! n1 j# o8 ]/ i# j首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
  c' ?. i$ t9 C) R9 _8 M1 s 2.jpg
% ]2 Z# M$ }- `2 P% W2 ^6 a4 l6 b( [% K! L5 X
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件+ e  x2 K/ ^" }3 x9 p
3.png ! r7 d2 V6 v, P' k
5 t9 e, |3 n7 ?
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
4 P9 f+ G+ A, r- h 4.png # Q, \5 ^3 B  O9 R
0 r$ o' c5 [) Z; {0 E( V
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
) |' x* Y. l) P使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。! A% ]7 f/ T- I+ [: o- v& A
5.png 0 X/ L1 t. Y' n; T+ _9 @% n1 |( m

; _6 T" W- J2 _' W% F& h1 ]
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示- f+ B$ }! i7 Y
6.png , P, e0 [8 Z$ C; u. d9 \) {3 W* O
( D. E4 V* [( _" \+ L
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
1 ?0 B, V. X8 @+ m# Y2 ?X-NUCLEO-IHM07M1 3Sh. ^! y% h! l  ?
7.png
* `& j7 Q( p6 y" o' E3 I4 P% _* F( k9 i' H1 L
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)4 Z  M; Z/ Y/ @4 Z) o- n. n" j
8.png , F$ t) r# Q5 I

5 D( i: \# D& k, g& ?
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)6 h0 e: r  ^% \, _
9.png
$ I8 S  Z1 S" i$ D8 V3 {! U" t3 H
' d3 l) l+ p5 C1 o) {
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
: T8 G6 R, N: I1 z4 J 10.png
  p) H# F* \/ Q# f7 n" Y8 Y) O4 |( W. }! g- ]/ X
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)2 c5 v8 s% j1 r8 ]
11.png ) Q! m, p& @: k& \4 D

6 y5 V% v6 ?( Q' s8 g; Z1 f' g  V
mmuuss586 回答时间:2019-1-9 11:13:52
15.png $ E3 M( T! V; t* m9 o
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试8 k4 W6 p& H% _5 ~7 C2 S0 J
电机参数
. U& u8 M. P7 {$ L5 `/ S' Z 12.png ) o0 n* |, C& ], x2 C" G6 q4 e& K
2 ^4 m; h) x" @' h1 B' K2 ?

所属标签

相似分享

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