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

基于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
; Q6 j2 |, g3 Q! G+ j

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

下载

9.54 MB, 下载次数: 2202

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

下载

9.54 MB, 下载次数: 1786

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

下载

7.94 MB, 下载次数: 1798

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

下载

2.46 MB, 下载次数: 691

评分

参与人数 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)免费的编译器编译时,出现了如下的链接错误:" e" x) B5 u( C1 L' ~
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)
, r  ?( ^: ?, b& kc:/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 h  X+ Z* y( w% h: kcollect2.exe: error: ld returned 1 exit status" V+ ]. b& Z1 b* r( P. A
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).  U1 [3 b2 O3 {
因为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版本不一样,自然会出错了)
: |4 J* c/ _% L) F& k! {请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令# \  s3 `, y' s1 C
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
' c( L( D& G' t+ f  \void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
) m: V0 k8 A0 O; D' s2 o) V{3 F8 C, @# B6 T% X0 B. }
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );. J  c# n; @4 _( `/ o# _3 @7 g
}
) o6 x7 D  j; C, P2 h+ T, Q2 K% \+ ], L& g! K+ g; b9 _  m4 t
MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令) |# Y" s: L- l/ e3 C6 Z$ ~
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
* y4 F) a' w/ }void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
' B$ w" Q, ?8 ?1 C6 Q) H% a* D1 o4 e{
" ]$ g* h4 W, f        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );: Z$ d% s0 Z$ L7 i+ J( n, [
}( i& s% e" Y7 m0 }, b
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误
0 S% g/ o* F4 i) n/ g8 Z调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。0 j0 \( H! I2 ?/ X
bool MC_AcknowledgeFaultMotor1( void )4 {! Z2 l1 j; e. q! b
{- z3 d, v4 N: }' M- G+ W' y
        return MCI_FaultAcknowledged( pMCI[M1] );0 }& _/ h4 {# P6 i/ m$ ^
}
" S. _: I( S. Z$ J4 m% l' L/ j
0 _* m! Y2 x. \& _) U& H8 Q% QMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
1 O1 D# }2 Y& u# X) l( x' nint16_t MC_GetImposedDirectionMotor1(void)
. t8 v4 t$ H  r{8 r& U. }$ L, y( a1 z
        return MCI_GetImposedMotorDirection( pMCI[M1] );
, s+ C, l: P) d}! w. g0 F) ^' j! s" k2 r+ J) Z5 n5 `
, o: W) c4 r: L# B, o! a% i

0 Y# V. w( Y5 o+ Y  \2 ]9 h
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:* c4 \* m) ?" v" L, P/ P
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;+ N1 H( k% B$ g. \' q% X& }
2、软件界面上有些变化,更简洁。8 u" R4 Q' Y% U# F
2 o- h1 o1 C0 a& f5 q
FULL库版本和普通版本的区别:
9 j" Y5 K( |9 ]. kfull版本区别:开放了弱磁,mtpa及前馈的源代码。
, p3 `9 h% ^" v1 ~. T8 k, C8 g2 {( N* n) q
FULL版本申请:" h) B( b* l/ S. v  X& ]8 n
到ST官网,用企业邮箱申请。: I1 \+ k% q' J' R& \
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台. K5 a6 X* W9 a$ |4 h/ ?
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
8 S" O: ]+ v; y* S( ~6 q! Y  g 1.png * a6 E- \. u3 x- I! w6 m+ C6 M
请事先下载安装软件:% D6 w1 U8 |/ E
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);3 L) r% E1 V4 u6 D" U
2) STM32CubeMX 4.26及以上版本;' d' x- M5 K3 j' p4 D5 Q  q
3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
  o7 V: Y2 i/ M$ T/ G; R左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
) a* z7 I: M/ _* j$ \* ^右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);' S; y6 `: V" K" w' t7 {8 M
, B" [- Z3 f# X7 I, J/ g
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。+ T  g: O# S. T6 {
2.jpg 5 Z+ V9 [3 w( r

0 x% F% e! O4 m5 T" d8 C9 q$ b5 r6 n
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件1 J$ }4 p  X9 q' J9 t" y
3.png
; ?0 J% q3 e( ]  f/ ^- e) M! _5 L% \# _
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
8 ^. }) a. U8 d8 @# C: @ 4.png
% o: d9 N4 \; K. I! e
9 O4 `8 m6 Q5 R; L# R6 F
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
/ d" Z+ [5 x# o+ r2 Q: o' P使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。) [0 \( k9 h5 [. V+ }2 r" P8 H
5.png
- E7 o+ U3 p, @
. f- ~7 g5 k: `& A; E4 c* w# |0 {
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
1 I+ a- ^7 B2 H* R 6.png 7 O9 I. _6 X( ]& _" B+ ^& w. P
% [7 S9 D) R3 q+ Z
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+; Z6 ]5 E1 A. z, e, D
X-NUCLEO-IHM07M1 3Sh' A6 Z7 B4 n; }( S8 d
7.png
# z$ |8 h: X; Z; z# V& a, e9 q* C
/ O* Y% i# }2 |: A# E! u, v
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)( {% d! R3 d) d
8.png
" n8 [; }9 _; d, M7 q& ~9 f9 T: [* I& A. r
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)
. @- ~8 `! s9 L* {* |8 d2 g1 I* Y 9.png . d4 x4 h8 `. l. L

% T5 y9 f& r/ {( w' J
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
6 x; j' k  x2 P- g/ |: [& |* x 10.png
. s( R: [& @8 s% V7 {
  G/ d+ x: Q5 f
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)- P3 Y3 P' |' _! n4 }0 v% J1 L+ _
11.png
- r2 u# u/ I7 S4 j& k
) L: n+ b' G) Y0 }
mmuuss586 回答时间:2019-1-9 11:13:52
15.png # p( C7 m2 v! z, H
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试! M$ v$ l, g! N: n9 d# D
电机参数1 q9 u0 z% Q- m7 p3 g
12.png ! D5 ~+ w# _$ B$ K5 r/ h% V
2 [) l5 _1 }  D0 t, i

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版