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

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

; M0 {6 i2 |( \

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)免费的编译器编译时,出现了如下的链接错误:
# E0 z& j  P" `4 d+ z: jc:/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), N3 |: Y3 V. B6 r2 `
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
% D! H+ O% r5 C$ ^' C6 e. f, i2 wcollect2.exe: error: ld returned 1 exit status5 i9 ~) l% Y  p4 T) z4 c, B, m
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).
2 w# D( V8 S) G0 O8 w/ U因为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版本不一样,自然会出错了)
, S! J2 X# @( K( w& U请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令  c6 y1 k, \5 b8 b
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
9 H' M* t: a% w. ]5 Z0 v  J2 pvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
6 T; w" x9 [- c: K8 P{
2 x4 z. H) [0 X6 r+ ?, e" K        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
- q% K- {3 i# G9 \* i}. [0 f- b0 Q7 X6 y
' \0 T  I  V1 E& v$ B
MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令2 }! b) U( w% A% u
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩$ r2 R* O4 i, H# @1 X2 V
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )0 ]2 L) A6 m. G- g  j
{
/ N& T! c/ N4 `) J0 L        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
# a8 \4 M& E: ~3 S: W/ d' y; t}9 J0 |9 y9 }% O$ d& X0 D8 k( }
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误
" ?- V. u3 G- l: v$ e调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。6 P4 @( d; r/ ?: x: N
bool MC_AcknowledgeFaultMotor1( void )
5 D* E$ f: D6 P+ e1 K4 V5 O6 X{
2 f/ t# U9 b, z3 S! r        return MCI_FaultAcknowledged( pMCI[M1] );2 P, j5 g% t9 E
}7 t) V7 K: N2 P7 T$ X

. [! ~5 W4 P% i1 P7 E5 {# oMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
( Y  Q1 b8 I" ?# E' v$ p$ P$ ^: |int16_t MC_GetImposedDirectionMotor1(void)
" w3 u7 ?! e2 k0 x& z0 k# o0 E. s{% S+ g: O3 p0 O6 ~% l$ P
        return MCI_GetImposedMotorDirection( pMCI[M1] );" t9 T* J" S+ m
}! ~2 v; X: z: }7 D
% b* V/ g1 u- l* g* V+ ^; ^0 Q/ r

& Z3 _3 b: F2 Z. n& z- v: G1 x# f/ T
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
4 y' x" l/ t' h+ A  Q1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
- I  x$ w5 L+ l2 x2、软件界面上有些变化,更简洁。1 q$ O! j+ @: D
: o/ z6 c$ W2 @# X, }+ u
FULL库版本和普通版本的区别:( P5 Q6 T( t! T! O4 e) J3 l' z
full版本区别:开放了弱磁,mtpa及前馈的源代码。6 c% G4 ^& D; Q: R. ~
; O8 i& W6 j- l$ p3 O
FULL版本申请:
5 t) \& u9 Y& q0 A6 }* L7 ^6 B/ d到ST官网,用企业邮箱申请。
' A# K$ F/ {1 S7 [, c! _
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台. P8 P* }# x# S' T0 @2 [* j& F' `. |
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;0 X6 d' M; K' \0 @, x+ c8 K
1.png 4 P3 S- b7 i" g5 `
请事先下载安装软件:# P; |" K+ d4 T9 h1 B- r
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
/ l9 a3 E' ^& z  F- d2) STM32CubeMX 4.26及以上版本;
! @7 R3 c0 g0 n$ ~& ~3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:2 Z" \/ S6 O9 r! E+ \1 _
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;3 l/ Y5 q. b8 d4 L7 c& \" n
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
! i  y3 `1 Q% p7 a2 ?6 r6 O: _: p$ E  T5 o- d3 W
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。9 p9 h" y# j+ w6 Q4 D) I9 O+ a
2.jpg
8 [' D+ j3 D3 s* P! {
6 U9 u6 _: [0 b1 R1 e3 ?# Q
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
( p8 r+ y: B' D 3.png $ c+ N7 |% f& Q5 E
/ K" [8 M. _) a9 }
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示9 c# h# C9 _# D( i2 `& K9 C8 `& ~
4.png
+ H0 O& H: h1 W( \8 @! x3 y9 D
8 `1 Z1 M" B* Y
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
0 k* _! o5 r' }使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。. `, K0 l0 q0 ]5 v' S3 g; g
5.png 0 Y* l* r1 F. L9 S

& I/ K2 W8 L/ ]
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示2 s. ?& r! V2 f& y! g
6.png + |8 ^. d6 q' [" J: W
. j; G. g3 S' g
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+" B& l& F$ x3 ]7 l
X-NUCLEO-IHM07M1 3Sh& r* W; M+ }  `- m
7.png
$ |; f/ b' y: g& t5 j- a2 B( m; J% ^2 Z" L9 R' g$ Z1 o4 S
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮); a7 O8 ~  q" E& f$ s
8.png & `5 r; k7 `8 C, a0 p
; ^. Z* t! e# s0 z
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)- m" a  J8 ]$ |+ _  X
9.png 5 A2 W. L2 g0 l% N6 T- w% q

! q% A0 ^; `: ]/ \, Z
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
! O% M. [) E4 Y0 R9 B  m 10.png
3 B+ ~6 P( _; Q+ I4 G' E  ?% Q( ~2 @$ z% m' ]
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)
, l; F  u) B5 d7 H 11.png
$ M$ c( J/ w* p
2 k4 b4 a- }" `4 J
mmuuss586 回答时间:2019-1-9 11:13:52
15.png ' ^& d! L: y5 y3 y' ~* ^
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试
+ W# g3 v% F1 p$ U% B电机参数; {* I9 |) H$ t0 q" X$ E7 }5 v
12.png
0 L' B: M( U4 F: a3 V- |9 M! z& f: h8 r- N4 C9 r; W

所属标签

相似分享

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