
基于ST官方电机开发套件:FOC5.3库-正反转加减速代码及调试经验文档资料分享 板子:官方X-NUCLEO-IHM07M1 主芯片:STM32F032R8 驱动芯片:L6230PD 电机:BR2804-1700KV(最高12V输入,7对极) 资料下载见附件,电脑登入,要是解压不了就换360或其它软件试下 参考代码:KEIL MDK打开(5.0以上版本) 原创:mmuuss586-游名 ![]() ![]() ![]() |
ST FOC5.3(pmsm驱卿£å转å åéKEILåèæµè¯ä¾ç¨).part01.rar
下载9.54 MB, 下载次数: 2202
ST FOC5.3(pmsm驱卿£å转å åéKEILåèæµè¯ä¾ç¨).part02.rar
下载9.54 MB, 下载次数: 1786
ST FOC5.3(pmsm驱卿£å转å åéKEILåèæµè¯ä¾ç¨).part03.rar
下载7.94 MB, 下载次数: 1798
åºäºST宿¹çµæºå¼åå¥ä»¶FOC5.3åºè°è¯ç»éªå享.pdf
下载2.46 MB, 下载次数: 691
参与人数 2 | ST金币 0 | 收起 理由 |
---|---|---|
|
-1 | |
|
+ 1 |
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)
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
collect2.exe: error: ld returned 1 exit status" V+ ]. b& Z1 b* r( P. A
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s). U1 [3 b2 O3 {
因为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版本不一样,自然会出错了)
请问有高手能帮忙解决吗?共同学习!
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )
{3 F8 C, @# B6 T% X0 B. }
MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );. J c# n; @4 _( `/ o# _3 @7 g
}
% \+ ], L& g! K+ g; b9 _ m4 t
MC_ProgramTorqueRampMotor1(2000,2000); //设置为转矩模式,设置转矩指令) |# Y" s: L- l/ e3 C6 Z$ ~
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )
{
MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );: Z$ d% s0 Z$ L7 i+ J( n, [
}( i& s% e" Y7 m0 }, b
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。0 j0 \( H! I2 ?/ X
bool MC_AcknowledgeFaultMotor1( void )4 {! Z2 l1 j; e. q! b
{- z3 d, v4 N: }' M- G+ W' y
return MCI_FaultAcknowledged( pMCI[M1] );0 }& _/ h4 {# P6 i/ m$ ^
}
Motor1Dir=MC_GetImposedDirectionMotor1(); //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回1
int16_t MC_GetImposedDirectionMotor1(void)
{8 r& U. }$ L, y( a1 z
return MCI_GetImposedMotorDirection( pMCI[M1] );
}! w. g0 F) ^' j! s" k2 r+ J) Z5 n5 `
, o: W) c4 r: L# B, o! a% i
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;+ N1 H( k% B$ g. \' q% X& }
2、软件界面上有些变化,更简洁。8 u" R4 Q' Y% U# F
2 o- h1 o1 C0 a& f5 q
FULL库版本和普通版本的区别:
full版本区别:开放了弱磁,mtpa及前馈的源代码。
1 ~. T8 k, C8 g2 {( N* n) q
FULL版本申请:" h) B( b* l/ S. v X& ]8 n
到ST官网,用企业邮箱申请。: I1 \+ k% q' J' R& \
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
请事先下载安装软件:% D6 w1 U8 |/ E
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);3 L) r% E1 V4 u6 D" U
2) STM32CubeMX 4.26及以上版本;' d' x- M5 K3 j' p4 D5 Q q
3) KEIL MDK 5.0 及以上版本。
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);' S; y6 `: V" K" w' t7 {8 M
, B" [- Z3 f# X7 I, J/ g
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。+ T g: O# S. T6 {
f/ ^- e) M! _5 L% \# _
使用ST MC Workbench GUI上的专用按钮(Motor Profiler)或直接打开安装文件运行ST的电机参数测量工具。) [0 \( k9 h5 [. V+ }2 r" P8 H
% [7 S9 D) R3 q+ Z
X-NUCLEO-IHM07M1 3Sh' A6 Z7 B4 n; }( S8 d
& ~9 f9 T: [* I& A. r
电机参数1 q9 u0 z% Q- m7 p3 g
2 [) l5 _1 } D0 t, i