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

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

9 Q/ I+ x. {) D+ H8 p) R& s7 y

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)免费的编译器编译时,出现了如下的链接错误:# x: q2 {4 i9 h# c3 I$ e
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 a4 ~$ J4 ^4 B/ Z2 {( ^) 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: error adding symbols: bad value
$ Z: d( E- n- Ycollect2.exe: error: ld returned 1 exit status
) ]8 F9 E* z! ?( o".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).- Y' ^/ E9 E$ i. j: @
因为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版本不一样,自然会出错了)
9 P2 P1 t; G) m% v" e' |! a请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令4 B; V9 [% n8 v9 q2 ~$ r$ W
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
7 e8 N7 U; S% d3 w3 S$ Pvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )  o* @. i/ V  I( r# P
{4 n- Z; l. k7 S/ a
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );2 L$ f, g  `. Y2 T+ D
}
. y9 ]4 O; \5 N$ E1 ^) m, v
. u: ], D; u8 Q/ h. G* v3 RMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令3 X0 O4 d- h) B$ O
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
, o" E& M( S$ ]/ i& {. k' ~void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
/ _% k! |' L9 f4 c, D" g{
% [* @4 k9 `" Z! E( u8 \        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );9 N7 M: }6 w2 e( M4 L
}* B# i4 O5 Y9 ^$ J6 u
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误$ n  d4 h- \8 t1 ~; ^1 B5 _
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。4 y4 U) Z9 w6 d9 L4 [4 n
bool MC_AcknowledgeFaultMotor1( void ), ?- w" x9 W1 z
{
5 y5 c" M% s" i4 h6 h# E/ F        return MCI_FaultAcknowledged( pMCI[M1] );
; G. B4 F9 U$ V% p}
8 j5 U8 c1 n' ]  B6 {) E% s# j% V( z2 ~* {; \+ M  d, g: k& J+ C5 U5 ~
Motor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1. a! v% G0 F# w: r8 K/ Q
int16_t MC_GetImposedDirectionMotor1(void)" ~( [/ k" a' w
{
" `8 R5 K5 [+ z$ o        return MCI_GetImposedMotorDirection( pMCI[M1] );- ?$ B4 l7 t! s
}/ q. t7 H: C; U) ^+ \% @0 T
; I- u) ^& o3 v  n5 }
& K' D! ?3 l/ f8 l# f, p! T. R0 Z
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
) I! Y$ o& r, D4 S* P1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
! I/ `! d$ V" V: f1 O) m9 J7 a2、软件界面上有些变化,更简洁。
" G; U/ ~5 q, W- Y) {7 n' l3 \+ t: |0 L) {
FULL库版本和普通版本的区别:' ?: S% w6 ]* o) t! _0 E
full版本区别:开放了弱磁,mtpa及前馈的源代码。8 x# G4 Q/ x* e8 z

- t% \- w1 O- s; QFULL版本申请:
8 T) h# f/ i9 Y# A到ST官网,用企业邮箱申请。& j5 S3 F& h  c1 I
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
' b- `) p" p- R* h; n1 Z硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;. ^/ L1 a, }8 E( ^% c& Q
1.png # @; v; R1 Z9 j' {
请事先下载安装软件:
, h3 d) f9 V. Z- m+ m1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);. m3 e6 V* ^/ G7 a! ]' n8 {
2) STM32CubeMX 4.26及以上版本;
( X  O% d3 [& P7 [. ]( ?: ]3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:: \+ o' _7 O& K- n
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
8 |. W# C! L5 h0 P8 y( D6 Q, T+ |, O右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);5 M& ^  C+ E$ s; t- H1 w  q
+ V8 Z. ~8 U/ j) Z& k0 ?6 h0 [* C
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。% n) a5 C. q7 Q5 n6 J
2.jpg : w. `1 ^- U6 }$ x0 T
4 B+ ]% _, @4 ]3 z4 r: K' P% `
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
2 X* Z7 d: N3 F5 S 3.png + Q% A5 a: [* n! s( |) \& D
  I3 C* a3 @/ W. k* [1 X( \# F
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
5 p3 S9 }7 i, W- ?0 I0 {( W 4.png
( h& y6 s- g5 m, _
5 l1 T& c! `+ R
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别# H$ H$ _6 S" W4 w
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。: q# e; P4 t: h: C1 X
5.png
5 J2 J4 O3 M; _  G7 \) T# f: R7 k6 Y" z5 E( l% t) o7 P
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
& r) W0 `+ c! D5 S 6.png
: g5 v! q; T4 N% i/ f! r, _
+ b$ p5 S# Y8 o6 I4 `
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
- H) r& E7 S/ o2 B; lX-NUCLEO-IHM07M1 3Sh
- D4 T: J% e5 g, `5 g 7.png + x: x7 F+ h& c5 o. S( ^* Q+ b+ _

5 m4 \! V3 l) y% z* G
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)
# Y8 m/ a7 q( O" [9 y- w# a 8.png
  A" H$ I4 c# i! C1 {/ n; _7 Z# G* S  E" F- \
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)
8 N  v3 o. @* I7 {+ p! B4 r) H 9.png
* n7 E. L4 A5 }8 H1 M* r- K" W+ O
0 @4 ~1 L2 ?6 ?; b  G6 L
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)- r- H) ?( m; F. f8 B, S
10.png ) l1 e5 d& N% {% b

( @# I6 \2 b1 V- W' @
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)0 d+ N: K+ T. G) @: v: G8 c7 T
11.png
$ k. r  @* ]' W. c. Z; k( s
/ U, @- {. l. w5 K6 Y
mmuuss586 回答时间:2019-1-9 11:13:52
15.png % l, a6 X1 `1 M& l
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试
7 V: H" B( X, U电机参数+ U* S: L5 q8 F7 @
12.png
, W# ^+ c6 y& H$ L7 K9 v5 V) f2 I/ z3 O( E& q

所属标签

相似分享

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