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

基于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
! R3 v' i- T5 s9 n) ]7 }

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)免费的编译器编译时,出现了如下的链接错误:% H' }6 c8 Q) _- 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)$ N/ v9 m: }" W; n5 X
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
3 I" c3 @' w% e; zcollect2.exe: error: ld returned 1 exit status
0 A2 ^. l+ f# E3 t".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).) {, U9 c" H  E$ L# T
因为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版本不一样,自然会出错了)
2 \+ U# ~! L# R# [- T; Z9 a请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令: S* N2 X2 n. d/ J$ q* I
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度. O7 B7 C# _6 @: c% v/ y+ i
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
* {) X7 `- O5 ^0 I{
, ^' p$ g, j  n7 G* S  _        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
; e8 J4 b# p* |9 e. s' n" n+ x}
3 f' ~/ H' X/ ^1 y  H2 g! k
- o, S6 [) ~) v: @MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令- ]& n  w. ^0 \4 b5 }5 ~
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
+ l5 G, W, }4 G, ~; t1 tvoid MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )/ R. f2 |" w' N% j: t) K* i
{* [+ T) O' A' c0 a: x
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );+ g0 G! n( b8 |2 x
}
! w# `8 Y, O) ~5 _/ g
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误3 _" y% D6 `  Q0 R$ d3 B7 B
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。4 v; h! [+ C5 ^, J" y
bool MC_AcknowledgeFaultMotor1( void )
: e& ~# k& ^  Y' ^. ~4 t{
# f! g- B. K. S) B* }        return MCI_FaultAcknowledged( pMCI[M1] );+ ^0 C. B3 _# N0 R
}: j7 p3 }& M6 t

% `  i3 F; W! x/ v; K9 U) pMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1. h. q: l; \4 q4 F; m5 U+ U
int16_t MC_GetImposedDirectionMotor1(void)& P' s# @1 h& a! n9 e
{1 J, M  r+ [* `" l. l3 b
        return MCI_GetImposedMotorDirection( pMCI[M1] );0 {: [3 {. }$ o) A, F
}
9 F; L* T! V3 v2 r+ |& r6 N& ~- o1 \3 L& i: F8 V

5 ^3 W4 L/ z" K8 a) A$ Y3 i1 S3 {
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
' P  E: p/ l5 ]/ _9 }3 O  x1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;9 w! C; Z% n! }
2、软件界面上有些变化,更简洁。
" G! J, {8 H5 |
( f  w* W8 H7 w4 ^5 E0 rFULL库版本和普通版本的区别:" ?) @4 M1 y" ^& J* I
full版本区别:开放了弱磁,mtpa及前馈的源代码。
' c3 u4 [8 C$ y, c+ P, {8 y
" k+ l2 e/ L1 X" yFULL版本申请:+ ~! H# M% N. e6 ^; i
到ST官网,用企业邮箱申请。+ [  e/ a, ?$ r% V. B) m
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台3 [, g. s( \. S) l8 q" X' K# S; U
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
4 Q' ]( |2 t. q7 q 1.png . }" |3 z9 o/ e9 n
请事先下载安装软件:- O& S: s; D9 H" v: S9 j5 Z2 f
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
) N# K: l$ O9 |2) STM32CubeMX 4.26及以上版本;
+ d4 i- B' a; r# x3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
, E* C  @" a: N* w; T5 R8 {+ {左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;4 `% x9 W) Y+ z2 ]
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);8 s  O$ d; s) K' y$ O

' W9 P: `( E" g  {+ \首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
2 }% r9 N4 N, G 2.jpg
5 ?( \3 r: f% L  i" |; ]  f% y3 K0 k; t
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件* O6 d0 I; |& ?! r% r
3.png 3 f+ p% A. b$ y( L& D( o
: Y2 K1 v) f; g/ R4 d
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示/ k$ d9 \. p2 \) C  I1 e" M+ L; _
4.png * x6 c; _8 X" q1 _$ y4 H

9 h! u  Z2 K1 T6 e/ e1 g# V' w
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别7 ?* [0 G$ f% H/ R4 K: u. b
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。0 Y4 f4 f  y- J8 I7 ?
5.png 6 N2 l0 |2 ~* k9 c
) W8 R; C6 D% ^" H7 B2 G
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
6 S( J" P, D# r: Q  X 6.png
, u" ^' g$ c, Y
, F. O4 o: b2 T4 \/ z1 p
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
, G" [& O2 z0 C0 x) `X-NUCLEO-IHM07M1 3Sh
1 V) s, `, ]" F, W/ p% ~) V2 o% ] 7.png . S/ y  y8 j' [' d

6 s1 P! U5 D- X0 k
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮). Z* g9 p6 s5 r% t
8.png
( l: `; b' V$ \$ o! h0 f. |+ b  ]7 ~% |# f. k& `
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)* I" I& W8 F& i) Z, M
9.png 0 C9 {# u: P/ J3 h6 f  Y4 p

- |4 h$ ?  Q7 c/ i+ |, G
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
# B) k* s* o* O: A. W 10.png : V" I& a9 b+ ], e, o- d& Q
% ^3 c" ?2 i1 O( v8 M
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)
, F5 [( {3 ]( X/ @1 \2 ]" M' G 11.png - T  [& s8 p1 x5 F+ ?0 T. w4 D
* ^" z- q' O1 ]* j7 F4 v- _4 s! Q
mmuuss586 回答时间:2019-1-9 11:13:52
15.png * v* f2 n" j& [" b. J3 \4 P2 |
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试9 y8 i/ c1 p2 x) ^
电机参数
% y2 F1 M8 b( M: _ 12.png ' v1 T8 V8 C5 Q- ]! s1 N$ w

0 Z5 Z1 i2 V% @8 Q

所属标签

相似分享

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