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

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

% Y: ~# u$ C9 V6 M. X9 z/ 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)免费的编译器编译时,出现了如下的链接错误:9 M/ k3 s3 Q/ g
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)
5 `7 b8 S2 T, j& ?- `. Tc:/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( `- g% s% e  `# w, d
collect2.exe: error: ld returned 1 exit status$ Z& o7 @, \% `( ]
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).
1 T7 t) E' K" `# |2 y因为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版本不一样,自然会出错了)
! o: Y  e+ S9 S: l请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令
: B1 Z4 r% e7 c, @( E调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
' r% f2 l1 S+ Q6 i% D( B! J! Vvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
6 s# t0 ^; r& x; w3 c; z7 M2 G{
* y, S: W+ F3 {2 C+ w( V5 [/ g3 ~        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );- E% {: j4 ]/ E, `
}
& k: F" _3 w; |3 F% C/ @) F$ K
, B* t/ G' @+ d0 Z# L& z! _MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令
5 `" j; K# r3 A( c调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩0 Y0 F) N; l3 C% B( B5 \
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )  P% }, u1 i* Q: A2 e3 M
{
5 M5 Q" E" J* x/ {        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
% `5 s3 E1 N: s: y% [. q}
$ I( N' j- X3 y# p, b( g
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误
6 K: n9 q; s5 s( K! [! U调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。( f) Q+ m# F8 a* \7 D
bool MC_AcknowledgeFaultMotor1( void )
$ E0 V2 W/ H5 A+ t6 F, L{
( }' D% h7 l6 [0 i6 j- r        return MCI_FaultAcknowledged( pMCI[M1] );
1 k9 O. x8 u" b1 y: F% l: U}
; ?+ M, ~2 l0 F/ e
  _) [5 G7 R8 s6 xMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回12 h( p: c) v9 p4 l. \2 a$ a
int16_t MC_GetImposedDirectionMotor1(void)0 x4 Y+ Y  U& N" k( i
{
; d/ E% v, b2 p- g        return MCI_GetImposedMotorDirection( pMCI[M1] );( j- V7 H$ e# u+ @
}
# E: d/ }8 e. h* R
9 B: c& L( }+ M" A  f2 j* u* l( N; T' Z# H+ T0 H& X
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:. N0 ~* p8 G# |4 y6 `. E
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
8 Z2 p5 j6 }% |5 I; E2、软件界面上有些变化,更简洁。3 ], U6 k3 E" j' X: y

3 E- f3 Y1 ~& x. O% y2 {4 G1 K; EFULL库版本和普通版本的区别:( i/ M5 Z& d8 T* ~
full版本区别:开放了弱磁,mtpa及前馈的源代码。1 Q. N: |- o5 J9 X

2 U& @2 V6 |: O; \5 v$ mFULL版本申请:
1 x3 ]" ^. S) j# `% s  b到ST官网,用企业邮箱申请。, f3 V/ I1 Z" @8 Y/ @2 s! l
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
5 ~6 s# K8 h! t- A2 o/ k硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
0 h; h# ]2 C2 A* q/ p6 C 1.png
9 n8 W& \/ i% z! E, Z# A请事先下载安装软件:
( R  b1 t- h/ B1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
$ ]& |& M; J+ l  ?2) STM32CubeMX 4.26及以上版本;! p( ]9 z: f+ d, A+ f" T, c* |( [4 i6 R
3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
: |9 f9 r8 G3 H( |0 [( c1 w左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
! j" d$ K, a: n6 ?% S8 M3 _# x+ |右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
( N1 N8 Y: s' ?9 B# c
4 j. Z. r7 ~* u' j5 H首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。( D/ O/ z  H6 X( X( A
2.jpg $ L+ y7 \1 k+ \, m& D. N: R% _" A6 s
7 u, b8 H: ]' A
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
$ j, j) N) D& B- c* s1 i6 w 3.png
/ D; K: |1 t0 }2 r1 P2 H: Y4 }6 f; q$ n3 J8 k+ Q1 w5 V. ~
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
6 k2 w$ M2 o) E# ~' A0 a# s 4.png
1 J* e9 J- a, ~: W8 d2 H# Q5 i% [
% |( f/ r9 v) ?: H- P, Q
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别2 D9 |& g! G7 |1 D) D, v* U
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
3 X; w6 W1 W4 G0 i 5.png ( G/ L3 s. c; O. W4 u' D

0 z2 T' |7 h7 @% q4 u
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
' S2 o) W/ V1 O" u 6.png
. |3 V1 n3 ~9 n$ Q
5 h! n+ N3 E1 o/ ~. U
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
; |  y1 i8 n/ C1 m, tX-NUCLEO-IHM07M1 3Sh: `, {7 @6 M6 |' G8 q. g
7.png
' ]7 {& `4 Q% a7 B8 o
! F: K; D5 l1 @8 a$ h1 [
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮): @6 K* R- {5 f$ r
8.png 3 s( B" ^, s6 K! z5 B

1 n1 ?' t! n6 g) R% L- J8 \
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)
/ z+ |/ d7 }5 H6 n1 `" d4 g 9.png
" ^$ N( p8 b/ I* K
/ A& P; w, \# E3 @
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)+ K/ e, e1 U0 |' z; x/ b
10.png / S3 b! B3 y+ D. E6 B7 K& M
2 @) j6 S* O3 O+ z; I: n* E
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)
5 X. J8 Z5 E9 ~5 S* J/ U 11.png
) A0 P" b" L5 x3 ]6 I- ~# V! i; W$ W' g6 u# |2 u4 |2 N
mmuuss586 回答时间:2019-1-9 11:13:52
15.png 5 X& M# L2 d7 N2 H) ^
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试
/ P" t. }  B4 |& V- ]电机参数' W* \0 f' @. w! x' {3 P6 i1 w
12.png ; k% a- N; J# ]' r: l

# M% J% P, G) |8 i7 i2 S& z7 T

所属标签

相似分享

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