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

基于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
- t4 W: T: s. v; T$ }

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)免费的编译器编译时,出现了如下的链接错误:
) k2 \6 }* m$ v  d1 S! W  rc:/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), w# [5 Z6 @9 a6 g8 O
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 value7 S0 |8 H: ?2 L% u; @; V
collect2.exe: error: ld returned 1 exit status0 t7 l; g5 q3 N+ \) _/ q
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).+ l5 G1 v+ N7 t) D8 ^
因为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版本不一样,自然会出错了)* U4 A% s2 u2 b: I* O
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令8 J4 G2 w! q6 A
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
  q$ C( O: s: j4 o2 }void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )% {2 W- v! T0 N& d+ |
{* l3 a7 A6 x( o# u+ Y
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
4 X6 E  F7 s; C* L}
% z( }# e. E" b
3 X/ e0 G: ?  H; NMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令
$ g+ J+ v0 _; p3 V% K3 R. X调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩# z) r1 i: [# u0 ?/ l% i
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )* h( I; h& B. g" A
{
2 D% z8 g, |7 }$ F" [$ Q        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
$ Y. Y# L- `+ s}
& g$ n  Y: C# {- j) T
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误. S: g6 w" l# O: U
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。. }/ T! C/ d) Z1 a0 r
bool MC_AcknowledgeFaultMotor1( void )0 s4 L( x$ J/ o$ X) [/ l
{- r2 }# Z! Q+ l- A* q1 ^
        return MCI_FaultAcknowledged( pMCI[M1] );
: Z( `; H9 [! J/ ^5 I: y: b}; S% G4 x; r$ e$ U

& s5 B4 B, {4 A: h4 J6 |" G) m5 qMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回19 y% ^5 @& j( w- `2 c
int16_t MC_GetImposedDirectionMotor1(void)
: e) h" D+ ^0 Y  j/ b{
2 L) x. N, N; h; D  B: k        return MCI_GetImposedMotorDirection( pMCI[M1] );/ A' D) R  Z: @
}
" F, O, S6 O6 d# L$ w2 L4 ]8 Q! u
6 y  u" G0 G) w# r3 c3 L
  Z1 K. i3 D2 Q" B8 `3 P/ X
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:6 F1 ~6 a! Z6 z% d  ]3 N% z& j) \' j6 N
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
% g0 z- o/ W' Q  S) A" z6 h2 }2、软件界面上有些变化,更简洁。
3 g, y8 t' G& y
; G6 t! W  f! b* q' ^' c$ T2 ZFULL库版本和普通版本的区别:
4 s) Y6 M. h, Ufull版本区别:开放了弱磁,mtpa及前馈的源代码。( P; J4 _3 }- Q+ `( {0 V5 M
7 S0 ~5 i8 R: G1 [3 }/ e  l8 p  p
FULL版本申请:, O3 i  y. L2 }; l; m+ [
到ST官网,用企业邮箱申请。6 [) U! Y5 {" \1 l
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台% y/ J% f9 w7 b" O. J+ @
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;# M- P& G- b5 t/ Z7 k5 Y) ?/ ~
1.png
+ {4 |' z9 p; ~9 i; z6 T请事先下载安装软件:/ R% z  e, q" S
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);- F) r* ~/ t. \. _* q$ S$ W$ T, U
2) STM32CubeMX 4.26及以上版本;
' h1 P" N$ c' S3 R, ]3 u# M3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:5 n7 Q/ K* N8 _- }8 Y! x1 }
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;1 ~' O- l: e- F
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);# B' _5 T1 V* R4 o0 X' u, F1 G
) e$ f7 x% _/ i
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
0 S$ O1 l3 G: e) L/ t: ~ 2.jpg
5 `$ c- d% N3 F
  Y2 R" D# @* k+ _; f
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件" G. a& n# \! [# o& {
3.png : D* m+ `0 [" i+ o

2 u1 w! ~, }' d+ I. u. ^
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示' S( e" N0 B  B0 a
4.png . |0 J: W8 R) Q  Q5 _

6 v6 g" P/ D! E& j8 T
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别, @' n& s3 ^* }5 n+ Y# v4 l/ ^, C
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。9 T* T( g) P: Y) B
5.png : H, u0 `' ?6 B; B& e& Y2 O

# a( a, [* E+ `' T1 q
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
0 |8 U" o3 ?6 W% G4 [ 6.png , H" c4 g- i. F) l
; _! V+ ~9 z8 R3 Y7 t
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8++ }* y( S( M9 e$ @; z4 o; Q/ `8 E8 D
X-NUCLEO-IHM07M1 3Sh
$ G" R- V' G" t 7.png
1 S/ ^; h0 y4 d& T) j4 g6 S" Z  `: `: L1 w5 i6 P1 a. L
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)' m- x& D: U) v" d0 L/ Q! E
8.png
+ R' E; B( b8 w+ n: `5 g* i
2 B) C2 P+ }0 ^
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)# g* S; N8 @, d$ S1 [5 t
9.png % B% c! Z  k: M! ^7 r# {

: w) x2 F7 z: j2 P1 {3 k
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
% S- [. \( b+ X* m, S- e' O 10.png 5 E. y+ N7 W9 d$ n7 ]# j, X( F
3 m+ W0 g* k* I6 y
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)' d" t$ u  c, a
11.png 5 ], [1 H0 |1 Q  w' K( J% q
4 d+ p3 P+ s0 d! ?# ?, e
mmuuss586 回答时间:2019-1-9 11:13:52
15.png * l/ P: q9 `* g" G/ [
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试* H4 z9 L7 z  y! g( `
电机参数
; d% g, N! v% B' j+ B+ k 12.png
6 G8 d0 A" O/ e4 ^5 k* N; M& J
: S: U- q$ _) W$ a, L

所属标签

相似分享

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