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

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

' d, G& A: |7 ]! s+ k" m

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)免费的编译器编译时,出现了如下的链接错误:
0 N/ f2 J$ F& p% [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)% I* H9 U, P# v- w: e+ R7 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: error adding symbols: bad value# `8 y4 o* X  Y: h+ K
collect2.exe: error: ld returned 1 exit status
1 ]' P$ m3 |  V% _: f- q".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).- v6 ]! d5 r5 [9 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版本不一样,自然会出错了)2 y7 R: v6 r) x4 Y
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令
; H6 E0 V1 \  |( I2 J调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度" `7 S  E0 j* i. ^. l! |
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
6 l: k' f, Q$ m4 i4 u  w{+ _1 |, k& {, Z! X6 d* H* k
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
  Z! z0 ^' ^: X& Z: i$ n}' v! x# ?3 ?2 f4 R, G' w

7 a% R( f" n! X2 A0 ~/ |' RMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令) ^1 T! W: M+ y/ ]5 H( ]( a, D
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩5 w5 c" l: y1 w0 |' x% u; h: O" g
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )  F, @. \! ]/ H8 q' u
{' C! D7 m; h. \% H2 Y5 ~
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );! r4 e) s1 J# B
}
$ L8 ^" R( ^: f- Y; }
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误! M* j+ Y: m5 }$ T1 h; E6 N9 z
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。
$ f/ w7 g/ L6 T9 Nbool MC_AcknowledgeFaultMotor1( void )
, `  T2 R6 n1 I7 u9 [5 @8 P9 G{
/ h" B. ]/ j8 U        return MCI_FaultAcknowledged( pMCI[M1] );  ~2 y" n3 o" \! Q" x7 |( {# C
}! N% J9 i. Y2 n1 d0 Q  I

  b% ?2 ]' q9 F3 u; RMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1# o$ H! ~+ X: {5 X8 _0 L( P9 m2 K% o
int16_t MC_GetImposedDirectionMotor1(void)
0 x7 m" }$ x; n, ]{
. M- O7 A5 p: ^6 f        return MCI_GetImposedMotorDirection( pMCI[M1] );
; \$ B2 z7 B% J* j' {  n2 s}
5 `- g" b6 p! q6 S& e0 f: k, g+ R9 p1 l9 S* o4 }
1 M6 U% ]7 R  B1 w- j5 `
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
  j/ P! O7 d  {) I+ f' ^1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;% [! @: P1 U/ n; f8 X
2、软件界面上有些变化,更简洁。
8 g4 }* |1 S; t: p7 L( p/ M2 h
; s3 J, @+ m4 m* y0 F( S5 eFULL库版本和普通版本的区别:0 w4 L6 K8 Z. D* q. P1 G
full版本区别:开放了弱磁,mtpa及前馈的源代码。
( |7 d$ ~" }$ Y. \! l- a9 x  t) E/ O) r
FULL版本申请:
& b* n5 f& O& M7 ]8 H: l到ST官网,用企业邮箱申请。
8 Y7 y' r' g6 s! A0 E0 d" @7 G1 o
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
3 l5 a; E/ I0 i! q硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;! l# \& V- l7 z+ \  O
1.png * B" W$ \+ {, `9 n
请事先下载安装软件:  Y3 B' W. V: H- i( @) [2 ]
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
" ^" @$ f% \/ U, E' w2) STM32CubeMX 4.26及以上版本;
9 {# h. f( c/ H3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
4 o5 A; |/ z7 U8 b& e# z& l0 L左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;7 t4 o3 A4 b# Z1 y1 r
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);* C0 q! X4 a4 x! n8 }  C) q& h

% K: z5 u8 d7 S. ~7 @# a首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
0 g! T0 G' \0 P6 } 2.jpg
$ T% |6 {" Z6 e- x) u# C# V0 i, }2 r, q+ ?
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
0 F7 m, l$ u" l, A 3.png % e: E) U) j: j, t; V: x

4 v! T/ }& @# M
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示) `% a- ?' @# O
4.png
( q8 D* A5 V0 R! U3 f  c6 F
5 J2 ^8 g) m! k- z  y6 k
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
) ]  S/ u3 H6 [! I使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
' S0 v. f- w$ l" U( E 5.png ; S- Q8 h, h9 w

3 @$ `' K* O; d0 k& s( E# ^
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示: _3 J6 i) c6 d+ A
6.png
5 _* {9 Z( X1 {' A) ?: [# N+ @' J8 x; B# _7 B( L! {( q; k
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+6 w0 C6 m& |; t2 c. m  V5 b
X-NUCLEO-IHM07M1 3Sh
! f/ V1 @  q6 I0 Q# M 7.png ) b$ y* |+ v2 e8 l/ T; U) P

4 {" T/ _" \8 T( `9 D
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)- o4 D3 g. s# e3 r0 n& Z1 [
8.png
* m5 o; ^; P- R+ i$ C* I+ ~& G5 e5 N- g) S
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)% x9 D2 c" I* P$ r8 o
9.png
8 @. _+ j4 |$ G0 T, z
- \1 }) u) L' V8 C: W' h
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
$ M' C+ |" u! K  n; ~ 10.png 8 f) E5 q  n3 U9 ]# v; a

8 `8 s, l% |! V( Q
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)- s8 O2 W6 m9 A0 @4 q5 W0 X( ^
11.png $ h: x( D$ }5 T; a( |

5 U! G; x1 R( }- Q0 M
mmuuss586 回答时间:2019-1-9 11:13:52
15.png 5 A8 v, t1 H+ f' f
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试2 d/ z$ I# \0 V% y: I4 A
电机参数8 W7 p2 B& U/ q, |/ q6 `0 E+ f- B
12.png ' \) f* L, K9 m: ~
9 W2 J& ]4 @, ^  S

所属标签

相似分享

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