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

基于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
. l( Y$ t' y; l) ^

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)免费的编译器编译时,出现了如下的链接错误:/ _$ T2 R  y& L) H! ~- 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)
: j% P! Q- G) L# H8 v3 B+ r; mc:/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
& p9 F$ }/ Z% y. S1 d4 Wcollect2.exe: error: ld returned 1 exit status$ M9 k6 s) O& F& {' }1 f
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).5 _! I& T' h( R6 t2 d6 ?- }
因为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版本不一样,自然会出错了). r6 f" h3 T4 A* i
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令
" K9 n: F1 B  P+ a" @调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度9 c5 B7 U9 I# a" v3 I: c7 T
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
2 \' ?- \3 X$ u{
- D$ n7 ]  U* S4 [9 k        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );( q: J& w: Z0 F* J, q# T
}
, m  h/ c* w- G4 S( ]8 f5 ~" M" D& Y3 [! Q& d
MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令/ o% P2 W8 L1 u! v7 v
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩) w+ A8 B( J1 Q7 ^
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
7 ~6 V+ |) A1 u) C{
$ ^# Q6 \2 `3 ~        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
8 z9 j2 g$ _6 |; R* K7 D}8 N% V7 ?2 N/ v/ B! k" z/ c7 r
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误/ r' m* {+ I9 g# F9 |: @
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。
: ~7 Q4 d, e7 L+ i7 ~7 C, \2 Rbool MC_AcknowledgeFaultMotor1( void )+ a- f/ J7 r8 q4 e  r
{+ n/ z8 u0 b4 h/ c
        return MCI_FaultAcknowledged( pMCI[M1] );) t, E9 d9 R( b; O& D" i4 l+ H4 w: @
}5 O8 W( {# _- l% o( f5 c5 `

* F& g! o5 [6 e% M8 SMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
$ |$ l: f# @8 F- Aint16_t MC_GetImposedDirectionMotor1(void)
+ N" ^( K7 m! G{0 c4 j% _, u7 G8 G' M
        return MCI_GetImposedMotorDirection( pMCI[M1] );
1 R0 t$ |. |0 x}3 k* t2 [; \; l! K3 L  b+ j+ ~
# @$ I; o7 h  ]# ~" a
9 m0 _8 n& w( N- }+ B# d
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:' M- w5 j" D' i0 h, W1 i
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;9 A( J4 r1 A: I
2、软件界面上有些变化,更简洁。
  @+ O0 Y7 V9 Q2 o& o9 I9 a7 X3 m: _; g! r
FULL库版本和普通版本的区别:
  ?) J. M; f. f% cfull版本区别:开放了弱磁,mtpa及前馈的源代码。0 d  M8 v5 t$ \) C
. [3 N+ j( W2 V3 H0 N' a0 n9 g; u
FULL版本申请:3 D* q# f4 X9 A  f
到ST官网,用企业邮箱申请。
: Y" h+ i$ }$ x+ f- }4 N, p
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
+ J( x2 u6 ~/ h& J硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
6 K. x  G0 ~% C5 v# m8 @ 1.png # q; j2 @3 Z- @" I8 Q+ A
请事先下载安装软件:7 s4 p9 s  i$ P% d# K  r/ s- e; O
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
! R6 S/ |. t) e# {1 Y2) STM32CubeMX 4.26及以上版本;
6 M8 E: W" f) Q- j; o3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:" @& E4 p0 V* C4 m' n3 P
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;% Q! J% z0 |/ l$ Y
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);. j3 n5 P8 O# l2 G# W/ L
( o2 ]7 z& I! v, [8 n7 A2 U
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。, O8 |7 k3 i/ J; E" i4 g1 [
2.jpg 6 u; ?, ~- ?! }

: i9 B* s: o  t( p
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件7 |" A" A7 M$ X/ \
3.png
# i% l: g' j/ T$ Z5 g$ m+ n' b! u+ M, V) |- y& V8 r
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示; H  m2 z1 n$ N( u' N6 t: R
4.png   \1 C! f& T; d: ^2 @6 G2 O, t
6 \+ h, N6 S5 j' i- b9 s. {) j
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别$ @- v9 W9 b" Y
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。! M' H3 G+ L8 d. A, J6 L4 @
5.png / K: B7 h' o& R. z. ]3 I

: i) @* @4 z) \/ A1 o
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示9 F, q* d) P! x& |
6.png , ]% o4 q8 l) a7 C+ _
" B# l7 \$ z/ r/ w9 u3 a
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8++ X0 I, ]! p8 ?  e4 T! ?: w
X-NUCLEO-IHM07M1 3Sh3 G6 H5 T: j9 O; q# D) t* f, w
7.png   l2 B# c- {  U

% z# b; m! F) J& C3 B- L, a) D
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)0 g, H* j9 ?4 b' b4 `% Q+ S
8.png
$ ]  U$ R8 ~$ g: u; Z
* l) e5 p+ }) S4 f
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级), `1 n+ M9 n! K5 C9 r# m) j
9.png   r; @- Y. a' k! I2 ]( g+ B

+ W7 Q/ ]& F* A- a& ^& t
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
( T$ Y0 U- `" E4 v$ [ 10.png
. d: M# t; S9 u4 z
# s) Q2 J! y, ?3 d1 f5 e: @
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)( a0 y- T4 \7 o1 r* o+ A4 S# C- K
11.png
6 i4 F+ [( i  Z" n, ~. J; A  \$ w7 i$ o
mmuuss586 回答时间:2019-1-9 11:13:52
15.png
) n1 |% H5 m) L$ \
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试
2 ?2 B$ T% ]9 y  m3 k" F! J: {9 e电机参数
; C9 I5 K9 H% y: d 12.png ' `# e" c8 }7 i$ ~

5 _! s/ x; x! o7 j: \

所属标签

相似分享

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