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

基于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
& G6 C/ E7 v) X# c: |

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)免费的编译器编译时,出现了如下的链接错误:
& |0 Z! S7 s0 F, {! V1 ic:/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)+ V8 ]3 N  g1 d" d
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
2 R; z9 m3 k8 h4 m+ rcollect2.exe: error: ld returned 1 exit status
6 A) P5 i# T, T$ y".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).0 n. P/ s: m# @/ x* w
因为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版本不一样,自然会出错了)
4 _% Y6 S% }( e请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令
+ p4 ^- u8 Y7 n! O, y调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度" [( k& a" }& o* y  R
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )/ @4 D3 g* _- D. \( T# j9 _5 E" D  i$ y
{
4 Y  `1 x# y' P$ [5 m        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
7 M/ V/ E: ^- |1 ~- J* r5 J}" D+ f$ I* r3 q0 H

! ~" U' @% h: q9 I2 YMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令1 L2 h9 v4 W+ f# Z  Y7 k
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
6 @( W( b6 j9 t  B5 Pvoid MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
% z2 ~/ V" V0 j* `8 n{4 y4 ^7 [0 X8 \6 J4 h: W& J% J
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );5 H2 F5 H( ]! |4 ]) p; V! I
}" f. U, d6 n8 u4 T( A
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误
6 ^3 U' `0 @2 T调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。) t6 r' E  _) P, \
bool MC_AcknowledgeFaultMotor1( void )
& o2 |3 \+ a5 B! y; t{3 G# z; G8 A& F; m
        return MCI_FaultAcknowledged( pMCI[M1] );. j/ {1 m' W# d) S: v8 r
}
' X* f1 s# A/ `9 \/ i
- Z( W* D, I8 k" }  D4 E& KMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
+ y! c% @: r4 mint16_t MC_GetImposedDirectionMotor1(void)
' v8 i/ H% r. E' t/ {# ?{  |8 r, Z4 k' Q. m5 f
        return MCI_GetImposedMotorDirection( pMCI[M1] );3 j( F% P" I. f" W5 K
}! }! c3 z4 I6 L2 V
! U  @' ~# m& q
  K! g, B( n5 s& @: r
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:- a; X- ?+ U/ l; r) W% S
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
& g; x5 I! h( L5 C' h  t! S2、软件界面上有些变化,更简洁。: m' G) P, B6 u" L  a

: X* c, x" C( K. j8 Z, uFULL库版本和普通版本的区别:) o& T) e$ b1 N  g7 g# {' Y9 q, T
full版本区别:开放了弱磁,mtpa及前馈的源代码。$ ~' y% l" |8 O/ g1 [# |! d
1 d/ A) a2 D0 W! a
FULL版本申请:
8 o& j; y2 }3 M4 k6 C- x. \到ST官网,用企业邮箱申请。
/ _0 L  i- h. o2 S  n4 A5 G5 h: j
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
6 ^( r2 h5 F( |6 ^1 y( V( q( B硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;1 h. I$ ]- x4 R, [2 O
1.png
3 k$ O* R- q7 A5 M  k! ?5 ^. T( P请事先下载安装软件:: R/ C# f  g/ H/ f
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
% ^7 s0 {  O/ H2 |2) STM32CubeMX 4.26及以上版本;
( w2 G# {) ^) R( W3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
5 Q" b- O( r+ Y$ {2 e$ Y左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;, G$ v% Z4 ?8 f8 v
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
" C  y6 i2 b# ]5 C8 H( x% r' Q0 e$ j! |& p2 l0 ~! \7 ~. C. j$ D
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。" V" a0 S" T* r
2.jpg
% r' w/ k+ u% U7 V/ U0 O) y9 |, Q3 X. }* q/ l. A. h
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
; G* M. P0 S6 B- A) G$ Z 3.png + W; p  S* V6 Y1 `5 i

  D& M1 d! i! I& c
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
$ U, D9 f$ r* H3 l 4.png
) m) j5 @! f% T/ g1 w# a/ ^. o; q4 U* j5 D& F! }
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别
) {/ o. \) T- [9 P. X使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。3 w5 Z; A% O( g+ O: [8 I1 B/ u3 _
5.png " P2 }" d3 h4 p" m

; e' H8 e6 U3 p! S$ T& G# a
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示1 K1 S1 w0 R2 B9 X. E( g
6.png   X+ w( ]  M  t, y& l. n5 J

' B& W  g- x8 v
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+2 h8 W3 o2 X& i6 C# M' \7 Z% \
X-NUCLEO-IHM07M1 3Sh; |/ G' Q% B& {, c+ g
7.png 8 _% _; E1 Y1 e4 P% M" u
% K6 _! H) a$ t0 y1 \# Y& o
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)- n+ Y: r/ Y0 X; A
8.png : g/ f3 \5 `1 j9 s% g" J

  f9 x. k9 y% k( F4 }5 F$ N& c
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)
; z2 v1 b" v# }* [* r 9.png
/ p+ b1 A) ~6 Z. I  w( t
" _1 P" G  x- H+ Z
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭), H5 W. ~, g1 u
10.png
$ z' F- \- g. Y  h$ r
4 l. A$ \, T9 D: W: A* A. N0 y
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)
. Z, ]  t6 t, d6 q+ h 11.png
2 O9 A. ^5 ~. i# ~* F
! B( l& N, P$ F% Y7 v$ V4 [
mmuuss586 回答时间:2019-1-9 11:13:52
15.png 6 C* _: S- R2 j  l9 T7 Y, O/ L7 l
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试
* _- K, g' d$ r7 x+ Z9 c4 f电机参数
/ J% g0 L/ x& T  Q' ?' p 12.png
/ j* |/ o; }) v& J" p! C: A3 U* c: S# v9 O* t" ]7 B

所属标签

相似分享

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