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

基于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
9 S  j( u5 U- @/ ~

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)免费的编译器编译时,出现了如下的链接错误:" @$ n1 [. j" f% c: ~, e
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)8 s. r' Y. V  A  S  \9 q7 I
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 value8 L- `0 q- ^" e6 u$ z
collect2.exe: error: ld returned 1 exit status  E* n6 h2 E. m( M) t1 y
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).  Y0 y# O$ Y  L5 ^6 v% C' D" S
因为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版本不一样,自然会出错了)7 L; v- q3 j" I7 f% j/ _( c
请问有高手能帮忙解决吗?共同学习!
mmuuss586 回答时间:2019-1-9 11:31:39
MC_ProgramSpeedRampMotor1(3000/6,2000); //设置为速度模式,设置速度指令
5 ]4 i5 z5 {+ m1 [调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
( ?4 J& [" e8 ?: h/ a+ lvoid MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )& s- z1 B, h' K
{
0 `1 f# s. e5 ?5 Z        MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );2 Y1 X3 Q8 T, F) a2 |+ H
}/ J6 [/ t3 K& D/ ?; q0 W# h

6 C1 e; O3 g7 |% z! HMC_ProgramTorqueRampMotor1(2000,2000);         //设置为转矩模式,设置转矩指令4 q' ^: s* U, U, F+ a, W6 ~$ I6 m4 C, e
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩( ^$ b2 _9 M2 `$ r
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )0 e+ O( g4 {2 O3 {9 @1 ^  u
{0 p; @( C" l) ?' v  T+ P! E
        MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );. Y3 `4 A+ M( U% n( l7 v$ H3 O( @
}
8 p4 w! h" x" R* s- L1 o* [( T; L
mmuuss586 回答时间:2019-1-9 11:34:47
MC_AcknowledgeFaultMotor1();//清除电机故障错误6 B9 S- p. I3 |$ a) T7 Q
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。% x0 p0 b% u3 M) l4 [
bool MC_AcknowledgeFaultMotor1( void ): {* t$ t2 k% N
{
7 p8 x. \) c' \  T5 Q        return MCI_FaultAcknowledged( pMCI[M1] );
; C$ j, G; Z# u$ h. t( z}
4 [6 ~- D' V  I8 w
- t, V2 w, t9 KMotor1Dir=MC_GetImposedDirectionMotor1();        //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回12 Y. U/ b: _  |# [
int16_t MC_GetImposedDirectionMotor1(void)
! J7 ?7 o* n2 j; b{8 F: L8 m: F0 z
        return MCI_GetImposedMotorDirection( pMCI[M1] );2 z3 g5 J3 W* J+ |
}
" _& C5 S0 R# j9 W7 M7 T
8 J7 E, g# S! n5 T% z% a
1 b; Q+ d; T3 U, o5 r( }8 K
mmuuss586 回答时间:2019-1-9 11:06:59
FOC5.3和FOC5.0、FOC5.1、FOC5.2等区别:
  k+ b% y8 S$ I8 a  h. g! y1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
3 q, p2 l* p2 @5 ~0 J& U$ B. y2、软件界面上有些变化,更简洁。' X, ]" s8 h% ?# o4 f2 u- }
! p9 }3 U7 ?9 N3 I7 b2 P0 D9 l
FULL库版本和普通版本的区别:$ H; D  `+ G' R: w
full版本区别:开放了弱磁,mtpa及前馈的源代码。( t3 D' V2 H% W$ ]3 O( G

* L0 w6 i6 C! A+ z' MFULL版本申请:/ w* }/ G+ g& Z9 [
到ST官网,用企业邮箱申请。
' k: N1 D5 K! l% ^
mmuuss586 回答时间:2019-1-9 11:07:41
实验平台+ u0 ~0 v, H' D5 M  S, ]
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;* X. W% _1 B  T7 p9 Y
1.png
# y  G6 Q; y6 U+ Z2 N/ m4 C. G请事先下载安装软件:
9 |0 T% `. z/ E9 T* w' b1 G9 W" V' |1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);0 t9 H& k/ \  r& s' W' u
2) STM32CubeMX 4.26及以上版本;
  `. l) j3 \( ^1 q7 O1 T; K  C9 z3) KEIL MDK 5.0 及以上版本。
mmuuss586 回答时间:2019-1-9 11:08:08
按照图示接线:8 r8 |+ I9 J/ x! _
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;5 \8 T: n3 V! Y/ c
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);
( E7 g( p$ \9 n/ ]1 g$ Q
( H8 w8 m: G) G, k: `首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
5 M; A' r% j8 A0 D5 u 2.jpg $ x  o7 Z" T' T2 \' D' |

( `4 X" }6 r* B
mmuuss586 回答时间:2019-1-9 11:08:38
打开MotorControl Workbench软件) M. J- a; g4 z' v8 ^# |% f
3.png 0 t  _( ?9 m( h5 U% M

8 N' E% v, \6 L4 d
mmuuss586 回答时间:2019-1-9 11:09:07
打开如下图所示
% a; ~! u' p/ ^0 S0 D8 D) h0 e 4.png / P* F3 F  S. f( U2 n
& R, B# V' f& G4 C
mmuuss586 回答时间:2019-1-9 11:09:36
MC SDK5.3电机参数识别3 ?0 y0 O7 F6 f, T* `
使用ST MC Workbench GUI上的专用按钮(Motor  Profiler)或直接打开安装文件运行ST的电机参数测量工具。
% U, b) l5 x" D/ p0 k+ w! m 5.png
- d9 w$ k/ W0 n
9 N7 n; p" ]$ L
mmuuss586 回答时间:2019-1-9 11:10:04
打开后如下图所示
2 C# ~" p8 J( c; X 6.png
( x% N" I- k2 W, g/ L6 }: h$ k
3 R" {/ @) x$ P. ~* z- {+ f
mmuuss586 回答时间:2019-1-9 11:10:35
点击SelectBoards选择相应的板子,选择:NUCLEO-F302R8+3 k) d. |: ~: D6 ~& j; @( Q7 W
X-NUCLEO-IHM07M1 3Sh
1 Z1 @& e% H1 H: n9 x 7.png
+ r# [% b" j3 E3 i  E1 [- }- [7 z0 e! ?0 l2 C, `: C
mmuuss586 回答时间:2019-1-9 11:11:29
打开后如下图,请选择Connect先连接(如连接不上则按下板子的黑色复位按钮)7 O5 p& j3 c4 c" ?  S
8.png
8 \( P. M) D2 F; m! {( ]0 q, }9 B, E3 H8 K) B/ y/ |0 q
mmuuss586 回答时间:2019-1-9 11:12:04
点击连接后,出现如下图是否需要升级固件(可以选择升级)8 _0 z; L! w# W* L. z) g  ^' i0 V: r
9.png
# y( v, ~3 Z9 V( l3 z
1 z9 X  z+ a; F8 h' }& I) }
mmuuss586 回答时间:2019-1-9 11:12:27
点升级固件后,如下图并等待升级完成(升级完成后后自动关闭)7 W8 J7 q) ?" D- O( Z3 e+ A- r; }
10.png
3 X( V6 c3 R1 Q8 Y0 I' u4 E# F/ q& Q/ t
mmuuss586 回答时间:2019-1-9 11:13:03
升级完后如下图所示,将鼠标放到Disconnect上即可看到版本号,在Pole Pairs处输入电机极对数7,其它参数默认(也可修改)+ h7 D  ~; X/ T8 S% i6 [5 Y
11.png ' n* U$ C0 L" b8 `

- r8 x2 k- T, w3 R
mmuuss586 回答时间:2019-1-9 11:13:52
15.png ; b1 ~0 S; u% Y7 j
mmuuss586 回答时间:2019-1-9 11:15:25
输入电机极对数7后, Start Profile按钮有效点击即可测试& b" ~: t0 E) k, s- _' d
电机参数
0 C5 J  ^, v5 i/ g+ P 12.png * c9 p+ l8 a" l4 l
2 D) X: o% R2 k  x$ Y3 A; ]

所属标签

相似分享

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