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

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

' g# {, c6 e1 J& t0 ^4 ]

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)免费的编译器编译时,出现了如下的链接错误:) c6 E; f7 ]0 d# [: v+ c% h
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)& J9 C" C# d1 `# S3 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: error adding symbols: bad value+ X" y; s: m7 p; o! G9 ~- G
collect2.exe: error: ld returned 1 exit status: b! p) [% h: D# D4 `
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).% m; ?8 q) o8 o
因为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版本不一样,自然会出错了)
* ?, B& p5 n8 X% K请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令# b+ G, E, X/ p: w% [! Z! M$ A
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
6 x! f9 E, {7 T5 t( `3 kvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
6 F1 R) ^0 T+ P9 z+ Y{
! @0 H9 J; d) K, N2 M        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
2 @2 Y. p& ~" T  f( ~}; j) Y) `8 L" V2 t" R- g
  a. U2 W, e' l& N% r- |" A4 C
MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令; L+ V* @- ^6 O) t  @7 o
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
* u9 i' I1 m2 m1 A) Q/ ~void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
4 W( ^) W! z0 d{+ g# V% }; @# A( K
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
/ Q0 B+ y3 I( i4 K7 h% l}8 N" C0 r' f( v
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误2 U* q8 ?% d9 _9 r! ]0 t
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。
2 x. S, b& g* j: e& X3 e9 L2 f5 U3 Xbool MC_AcknowledgeFaultMotor1( void )1 B0 _: X( y% r! G& @
{4 {, I, F& T+ F3 X+ a  X
        return MCI_FaultAcknowledged( pMCI[M1] );5 v" t* Z8 q8 {# o9 U( d
}4 C& s1 L3 O0 n

' c* x6 y" U) _$ {$ vMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
' d4 D( J2 t# _9 E3 [% }int16_t MC_GetImposedDirectionMotor1(void)
3 J4 a% t6 S* k  ^" Q{7 J8 G7 G/ o: r! H: ~
        return MCI_GetImposedMotorDirection( pMCI[M1] );4 L5 {. L9 Y, }, e& g
}
# K7 B. N5 F2 z% j+ M2 l
8 A+ y" @# l  q& _0 u/ E8 J6 x" ?* q/ I2 U
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
! x& {; ~$ F9 [1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;! j5 R" w1 j+ H" V+ {
2、软件界面上有些变化,更简洁。
) k: }# G+ l; D6 R4 @/ H
4 F7 E8 o5 P2 d8 EFULL库版本和普通版本的区别:
: [0 o: z, h+ J# _( T7 A7 tfull版本区别:开放了弱磁,mtpa及前馈的源代码。/ l8 B( P- p8 e/ K, O) P

* A: \. b; N7 |) R. Z( x2 vFULL版本申请:
$ ~. y  c" M; U3 G到ST官网,用企业邮箱申请。3 G9 L, o' T5 c5 G
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台) y8 \6 I* d0 L' R
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
$ {- W1 y9 i1 q. I 1.png 4 A: o+ D8 B6 ?2 e9 c! i" o
请事先下载安装软件:
8 l' O: |$ ]  G1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);) |/ k! h* D* Y- W0 [+ b2 O
2) STM32CubeMX 4.26及以上版本;2 Q6 F; P$ L1 G3 Y1 x' U9 U
3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:* S5 B; D( H; v; _, T
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;* W3 H# f. |. s5 O" b6 {7 w9 e
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
. H' y+ |; l* g4 d7 d: d0 X3 H3 D" U" J
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
9 M" s' I0 _' a9 f 2.jpg - l( c. X% s/ m3 C
8 m$ ?9 v: p3 W" c# G% V
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件& t1 t8 S! j, r. `& v
3.png
- G) h% b& R3 @! N# ^0 C* W( t" ^* A. |
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
) {% ?% u) y# h" e; h7 n$ ]/ H  { 4.png
2 S2 o9 D; d. D8 R& R- w* i9 M; h, ]% l9 w9 o- D
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别6 `/ k- ~( N: `0 r+ T
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
, u/ d7 s7 r% X( f 5.png
6 e. g" m: b4 q1 Z/ ]) D
3 t8 _+ C1 L* \+ Y! N9 n! ^' B
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
- A- s, T' a8 x; o* f1 Z% G, l" s 6.png + W# [- T3 x. e, a  ]- ]: M. P
6 E4 p$ a2 U$ @: _; ~' p- C3 d
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
  g" Y" ^) R3 o: S( lX-NUCLEO-IHM07M1 3Sh! {3 {# K: x4 I  h& s: @" B
7.png
! F1 M9 D5 N+ K2 A+ f: y% d2 g% P
9 ?/ m! {: C. r, l& q
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)- K! H; n3 e- v/ h: A2 r
8.png ( h* M" Y' u; w, E) A9 i

) L) u* P4 }; S+ l
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)1 J1 T5 i9 _2 }9 o$ Q* t8 ~$ {- X
9.png
- [0 }0 t- Q# Y1 m; i! ?2 G
* [$ V% j2 a5 \2 W. [
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭): z! c! i( o* a) I% U' j4 ~
10.png
( a" M5 q( I) H2 m# m- u# O- ~% |" q
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)
0 I. h1 ~0 u0 G0 D3 `* ?* m. r. O 11.png + G! E2 r' v; ?0 S: G/ z
: i& c0 v0 v9 W5 O; H
mmuuss586 回答时间:2019-1-9 11:13:52
15.png
9 `4 {( P) G/ y9 d$ T7 p1 ^5 p
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试) p- ?" i, h& r3 L- Y$ ?
电机参数5 M, |/ q: z" V& S2 R4 u
12.png " C! F7 c" ]; u$ x0 `2 P
8 L1 A+ F$ V$ R$ p/ E

所属标签

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