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

基于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
" N* w* L( P$ M) x. I

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)免费的编译器编译时,出现了如下的链接错误:
' S- L3 U* X- ?$ uc:/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)
" v! c0 C3 W9 Q& l4 X8 f6 uc:/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  @) v) z3 p; X5 x1 B
collect2.exe: error: ld returned 1 exit status! d( R4 a" {; h
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).
1 o* J$ F  f# X7 z6 J* d因为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版本不一样,自然会出错了)
/ {- I: [+ N' w# H请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令
; C. k3 o9 m* e# }2 z2 a7 f调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
( a$ V7 Y/ K" T/ wvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
7 J) K5 X7 n' Q* @( r* w$ _{0 m; }$ b, B6 c) Q2 x
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );3 b# F# i2 C4 U- |- k  d9 ^
}5 h9 L" W/ [  k: D# ~
- M7 \( P1 K( x( N' h
MC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令
; V6 G/ k1 Y9 L% k调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩; W2 L, P, S3 [& H
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )6 G- D5 ?4 b' \. d
{
4 F; X6 c: X  \4 g6 ~0 y' g3 |+ M9 d$ k        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
  J' [4 C  i" s( u4 U8 n( F}
3 o' O5 v7 U2 z  U4 Q
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误3 K  j* n* x1 Z6 D0 ^/ w  f+ \
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。
; [: D: A2 y  @8 N" g8 k4 ^bool MC_AcknowledgeFaultMotor1( void )$ D& T3 H  ]% h0 T" `% [
{- I, n# n7 F; @' ~, E$ @0 _5 E5 q) _
        return MCI_FaultAcknowledged( pMCI[M1] );
1 @9 s8 x: R+ B* ^}% Q; Z* d# v7 ^

: \+ F% P8 c# n4 R  j! d1 NMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回16 b; Y  d% k4 ^8 o  k/ t8 n
int16_t MC_GetImposedDirectionMotor1(void)( t, j, h/ C) O% U, u% K8 T) V
{! d/ ?" I5 i  ^
        return MCI_GetImposedMotorDirection( pMCI[M1] );
: b$ ~6 i/ `, E: o% b+ U) {8 b}9 a9 O. Q( B- U3 S3 o. h& |2 t" A

2 c" D6 x) D  `5 @/ D) X% J; h7 @" X+ ?) M( f' I, N6 Z
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
& T# k# @- Y2 r1 S8 B2 N1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
  C, K' u# e$ T" `1 u2、软件界面上有些变化,更简洁。
- e7 S8 y  g2 s# |+ b
8 ~- u5 d9 K1 g; o2 QFULL库版本和普通版本的区别:3 L( a0 w  G5 Z/ o
full版本区别:开放了弱磁,mtpa及前馈的源代码。$ I: p/ i3 H0 A+ P' Z

9 b! Q2 A$ w6 g' WFULL版本申请:
- _( p  g' ?2 K2 G9 R( U+ w到ST官网,用企业邮箱申请。' M8 D5 r: z4 a  ~+ l! v
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
9 I1 [+ r% g4 N硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;/ A4 H3 f6 q0 Z
1.png
9 n) n* c! [$ H+ u请事先下载安装软件:& n* `, J- c: Q  k
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
& y7 _4 L  s- P: T7 d2) STM32CubeMX 4.26及以上版本;. a6 c$ V0 [# Q- W  m
3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:
3 I5 n* E5 g' A% ^  G' j7 q  b1 p左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
  Q# B9 ]4 _3 H: P7 M" o右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
! Q0 R2 N8 |+ T- ]% `! T% A' T' A% X$ n3 L
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
: j6 P/ ?. Z% J$ ^# n4 ?; D5 Q  p 2.jpg , o  l# j' o5 W) Q: N
9 ^7 }$ w7 S; S) c% X
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
& o% t4 Y8 Q8 n. x4 v! n5 h 3.png 4 @+ j; K% V4 d9 @) p

# U& X# d. f" Q1 V
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
% @! T% u1 {+ q' e# E 4.png & p% K7 l( w2 z9 [/ r* n' y
4 x- e; q! g2 T( I% q( p
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别7 O. Q) R' R  r* t0 G2 n3 w
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。/ b! y2 y( `; t
5.png
! n( q6 Q( `- w1 H% Z% s, X' J) r
$ k" I  Y2 ~( n
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示+ Z% I( I0 U' d0 D2 R! C0 ?: z/ m
6.png 8 r: k! |; P* j( K; C1 K

8 e: G- ]. P/ z! m
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+
4 c; K" E+ ]$ u* D; ^8 K- rX-NUCLEO-IHM07M1 3Sh) \) j$ e! _8 S" t( `- d6 T
7.png
0 q( j! n* e. a  c& t, d& `
: H; E7 Q: a( F* ]
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)
* m* F5 x5 C  d 8.png
+ W5 [9 \8 r, X- d
: N7 I  E8 V$ ^) w( Y
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)* U- _8 e& e7 u* H
9.png - I- m4 R; \5 t6 x
& R- @2 K: N8 q/ a$ q; J
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)
* T6 u% b# V1 ~0 q 10.png 3 ~1 I- B: n3 x  v

' W- ~7 q6 _7 ?
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)
; H/ ], ~" A7 a5 U0 M7 C: q3 [% A 11.png * j  I3 b; s9 P" I2 h
3 E$ J' q; o# D, Y
mmuuss586 回答时间:2019-1-9 11:13:52
15.png $ n: H: [  ]* v* f2 u& N5 e6 p
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试5 g# Z8 m0 ^, w; a
电机参数
0 ~7 }. q% F; ~  K0 J 12.png
( m1 j- Q9 L$ ^; {3 S, U
( C& ?+ R0 G3 H5 ]* q

所属标签

相似分享

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