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

基于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" C; C0 b) p7 e

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: h$ I8 E6 `+ a
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)
; V. y) t+ `3 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: error adding symbols: bad value
8 J# Q- M7 o4 ]* ~2 v) b% Dcollect2.exe: error: ld returned 1 exit status1 R: O; P6 o6 l' M" @2 x
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).  ~, ^% W8 U0 v: X- q
因为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版本不一样,自然会出错了)- f) m/ o" b' G" L; P
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令& |& ]0 L* B+ y0 T. g. a
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度- c( B. d# l% H7 h
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
9 t# d# O9 u2 Z; M; q( e{0 F0 n4 L6 @# A$ Y4 L$ y( ?( Y- e2 R9 h
        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
! K6 z' ^* m( S8 ~$ p- X$ k! {! t}/ b4 O/ k3 G% |6 J  R( ~& q

7 i/ [+ X( z" xMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令! r% {& F; {, C* r
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩+ ?4 d  Q0 j3 d3 t
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
5 K' _# \% U  e{
( {* W/ O" T4 D3 W( s6 N) r0 V& F- w        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );
$ @( o8 d  j4 C  e}9 G8 {) I' E  V
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误
$ O7 ^+ l; y) w/ c/ t2 {1 j调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。: a  v+ l. l, I0 A! Z
bool MC_AcknowledgeFaultMotor1( void )
& }5 i" ~% w) ^: M% F( l% H3 h{
7 e& X; o/ {. K# p& T# K        return MCI_FaultAcknowledged( pMCI[M1] );) w) u, ^" q6 Y0 N& U* O
}
: ~% B0 S9 E2 A% o! o8 g& d: `; C
Motor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
& Q6 Z1 M& Q) j- gint16_t MC_GetImposedDirectionMotor1(void)2 a0 W; {3 ~/ K& M$ P  c3 i; ^
{
$ R9 C: z( j2 n( P, M        return MCI_GetImposedMotorDirection( pMCI[M1] );5 g2 v# T6 M8 n. t2 }7 v9 c2 @2 C- y
}0 O+ e$ k# m9 h# D

( S% s* d3 h* K# F, b/ n$ Z( D5 J
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:3 v! S6 l# n8 g0 z% m) W
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;' T( j  X8 G4 R. t" O: ^+ j2 {7 H
2、软件界面上有些变化,更简洁。
6 I. \; @2 s( S$ ^. k
$ d8 a: f$ a  e/ x% V- L8 {% ^- PFULL库版本和普通版本的区别:
8 ~3 d5 b( r$ h0 C- [  Kfull版本区别:开放了弱磁,mtpa及前馈的源代码。
% u# U  v4 O: ^& I( @! c
' E& {7 \7 i9 f0 f) c# [FULL版本申请:
1 n- ], ]% ^8 {2 l8 t到ST官网,用企业邮箱申请。$ G+ d1 v& @0 u+ x
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台
8 H* L; p6 T( {; k2 V. U* u: f硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;) o3 U" P, i5 N: N# ^9 @
1.png
* b1 ]  U! V3 m' p2 U0 B- z; t2 r请事先下载安装软件:; P+ z: A+ b, G# C+ x9 \
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);
( n8 G, n! L3 ~/ P2) STM32CubeMX 4.26及以上版本;
7 `1 l3 y' w7 F/ x, E# B3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:3 b( A( [) h! M2 a# L% d- h
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
# t' \, C0 n2 s! F6 M! h1 }右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
- a+ F7 a- ?5 `3 k, |& t3 O0 K: f3 F' Q
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
/ w- m. N) W: Y$ D; U8 m 2.jpg ) @: r% m6 a$ G5 |' P# h/ S* R
7 h+ t; H3 u) z  ~7 X- n/ @% w" L
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件
) a" G$ Y) i, j' b8 }/ m1 c3 ]/ d 3.png
- H$ w; p& C# E# s# ?( }* \! p
6 X3 a1 N* l! }* q" b
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示! Y% r! Z+ H' }. B2 u
4.png . S5 m+ U% P2 S! _

1 K7 F4 z; m+ x: |5 i6 R$ w
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别5 l! w: v  r3 s' e
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
3 E3 `3 n+ i6 Q$ B7 y6 W+ A1 A" p 5.png
+ ?& J$ s# n9 v
9 ^3 _! A; @, x0 c
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
9 ]4 \" S$ c4 g- a) v  i 6.png
* }, E+ a- o) c; b$ a7 J
' c3 T) K6 D! g9 x* x1 l
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+. y- W& ^" Z1 \: e  X2 W
X-NUCLEO-IHM07M1 3Sh' T) h4 r& ]+ M4 u+ ?
7.png
0 F) g1 D0 s; |. c3 N7 v! _7 v, I9 a* {
1 N& }6 \* w. ~0 E/ G" u
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)
) T7 N9 A* W8 Z1 o 8.png
! b; z5 @/ r5 C/ P
4 D, }8 f2 M9 B; F9 D4 z% B0 U
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)  q$ |0 |& W* L
9.png 5 T/ ^. c& Q2 o5 k$ I2 |

7 o; H1 n' \& H2 a6 d
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)( N: i% w4 e5 t7 W
10.png 1 L  v# [+ m) h! @# c" p
6 b/ S. u  R/ a% x5 x: x" s" A
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)- N4 O7 M) L. X* r
11.png
- j. X4 D1 C; x4 }2 Z( m( \1 s* l
; Z. a9 P& w: b. G1 Z
mmuuss586 回答时间:2019-1-9 11:13:52
15.png
( Y: d( [) e2 M  i7 {
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试; D" V$ d1 y9 m$ H$ K
电机参数% s- S2 `4 X2 H2 Q  K1 {4 U
12.png 6 [6 V5 s4 U; W; }
2 l' [5 q# ?( Z. f3 T& d+ R7 I

所属标签

相似分享

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