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

基于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$ V' H: c. R+ }. p. [9 J3 ?

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

下载

9.54 MB, 下载次数: 2207

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

下载

9.54 MB, 下载次数: 1792

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

下载

7.94 MB, 下载次数: 1804

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

下载

2.46 MB, 下载次数: 697

评分

参与人数 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)免费的编译器编译时,出现了如下的链接错误:# g9 J& i" K/ ?7 ~1 _+ N
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)7 W2 ~0 y+ r, R* G# G' o/ i
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
% e3 [: D2 {, R8 ocollect2.exe: error: ld returned 1 exit status
/ X% J, F8 @# m6 R".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).+ ]& r% I6 U/ c
因为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版本不一样,自然会出错了)  @+ D9 }- E" o
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令7 s5 N* S1 ?% N6 f9 P
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
" f: [/ t  J# Zvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )8 X2 d/ }0 ~7 s
{+ X) T& f6 p4 _4 x
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
. Q5 |8 d: ]+ D}- Z  s; t( m# w* N/ G4 f

6 M% C8 u6 u3 h" K( UMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令2 R% n& F" `( c. c
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩7 r$ E1 V& D7 D$ r3 _
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )! Q; N9 N) _* {1 h0 n" b( r
{  ?9 `3 o' w* P
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );/ n6 x4 l6 q7 ~, \( l7 a
}
) P  i2 F0 L# Y8 }7 A% c+ W
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误' X, s( _2 y  P7 ^9 ^$ g' \' V# I
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。
. t- ~3 T+ |" b/ mbool MC_AcknowledgeFaultMotor1( void )6 f. f( v; y$ Y" L0 S7 }
{  P5 L* g8 w' M3 ]' A7 a
        return MCI_FaultAcknowledged( pMCI[M1] );
! O3 `8 x% E. p$ B0 d}) `  w( _! F5 L0 m; d6 P/ @. J* g

8 n* }- Y! \1 _0 G2 e+ x; k$ ^. X9 xMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
8 R1 C/ [* y1 n) l* Y6 eint16_t MC_GetImposedDirectionMotor1(void)* T% L( a/ p5 g" I& W
{
+ ^7 t# y/ o; a0 t- q2 w        return MCI_GetImposedMotorDirection( pMCI[M1] );
7 E( d# H5 F1 Z/ |+ l) F}3 N7 U9 n% {$ V8 h& I

2 h& g% L, O" d. V0 f4 l
; `% h; M  s3 [5 Q' h
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
) ?8 g2 t: Z2 H6 j0 I1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;" s, A3 l4 i. K
2、软件界面上有些变化,更简洁。
2 W, q! Y. B' Z* p6 h1 n2 p% U( W
FULL库版本和普通版本的区别:
; b+ D& _) Z# r+ c! j# v8 e6 Yfull版本区别:开放了弱磁,mtpa及前馈的源代码。3 z. L# f+ V6 b0 y3 `

- W, X7 V) q, [* e# o  cFULL版本申请:" x* X1 a5 z. F
到ST官网,用企业邮箱申请。  q2 H# B# O: ^
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台0 T8 x8 ^: p' t3 v
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
" o2 h$ X' a" f0 k# j6 \ 1.png 8 U% V* f7 R4 M! b; Q4 r. j) E
请事先下载安装软件:
. o6 c9 K3 M" d$ D6 ?1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);9 w& @3 A2 r7 \
2) STM32CubeMX 4.26及以上版本;
, o6 R) @0 d& j) l8 f" x3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:9 K7 B. _- w8 E7 [  z
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
& B2 S( x3 L: V4 L右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
! A9 C1 E7 \6 Z8 p/ `& ?( G4 Q8 R9 D, e( o9 u& W
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。1 w5 b2 X  d" ]8 w. ~
2.jpg
% C/ l' W/ c8 E# c$ G! H& X/ C0 I
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
0 _1 b- X8 h% B9 V8 r) M, l 3.png 2 I# P) C. j2 w; G' B
; i2 q8 }0 A( d/ A, `+ F
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
0 H) s8 V6 u* v" q4 K6 @; I 4.png
3 B! L& d# D2 D7 a
; b8 W+ B, W8 v
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
9 s, |% e6 e2 V0 B, b. C+ W# A使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
% p: Y: t1 Y$ s6 T/ x5 h& \+ C3 k 5.png
" N% _7 e- p# R: F1 E* s* ?' k/ N
) ^- O' Q% T, E4 k/ L. x# G" @
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
$ x3 L8 R7 y* J. H& e 6.png & f7 o3 y6 j( F) q# V

7 |" H9 T# n! C4 d( R
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
; _  G) \- `  g% N  ^2 W' zX-NUCLEO-IHM07M1 3Sh
  R: }3 t0 u% ^) {3 k 7.png
+ x0 T: p# e0 }6 n! X: l8 v( w
* O  D8 z: M' J8 s9 I0 ]) x
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮); P  F- w; u- x: R
8.png
* u& m9 D9 }( L" K/ z' r$ b/ e$ ?  B- Y" B7 f9 Q8 h0 Z' F' b
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)
9 X6 E$ R0 b5 N4 w/ X3 k- c$ | 9.png , c& r3 y3 @9 T+ ?6 ?
' Z' C% x3 `0 H, j6 z) J# b
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
. Q: [9 D( W* O# e 10.png 5 s) E  }  _5 \

0 r5 g3 A- o, B- `; W
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)% Y0 F" L# p8 u
11.png ! M- B7 ]6 X, N# f- g% O# X
6 S' e2 c/ |3 Y' t8 }7 `
mmuuss586 回答时间:2019-1-9 11:13:52
15.png
7 u$ \! H2 t7 t  k* A- d: X
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试- J5 m) ~- }' E8 [* ~6 F) _
电机参数7 u! q" I# s5 m  ~2 _& r0 }9 X
12.png
7 J6 p4 M7 G' m4 \
# R( n# H# F/ e6 ~

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版