基于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, 下载次数: 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 |
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)( r4 h' a! B0 }
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' l' j5 O0 Y, \! l1 q
collect2.exe: error: ld returned 1 exit status
".\NonameF3\NonameF3.elf" - 1 Error(s), 4 Warning(s).0 N7 g$ j6 d( u& c3 T2 I" a+ m5 b
因为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版本不一样,自然会出错了)# @9 p/ U% S; g8 H' S9 N
请问有高手能帮忙解决吗?共同学习!
调用此函数后hDurationms设置时间内当前速度变化到hFinalSpeed设置的目标速度
void MC_ProgramSpeedRampMotor1( int16_t hFinalSpeed, uint16_t hDurationms )% C- ~9 i$ u/ S7 L0 y
{5 Y5 ~' c) ~' T" v1 g8 B. a7 L2 h5 ^
MCI_ExecSpeedRamp( pMCI[M1], hFinalSpeed, hDurationms );
}
MC_ProgramTorqueRampMotor1(2000,2000); //设置为转矩模式,设置转矩指令/ Q# b# Q9 [5 W) ]4 \6 Q
调用此函数后hDurationms设置时间内当前转矩变化到hFinalTorque设置的目标转矩
void MC_ProgramTorqueRampMotor1( int16_t hFinalTorque, uint16_t hDurationms )& v$ C; U* I0 E* }, j: \1 _. ]! d
{
MCI_ExecTorqueRamp( pMCI[M1], hFinalTorque, hDurationms );, X* i! k; q5 o6 g
}2 P3 J2 K( e8 r4 L
调用此函数前,如果电机发生故障。电机停留在FAULT_OVER状态,并保留故障代码。调用后,状态机清除故障代码记录,并恢复到IDLE状态。, D7 k: F3 `+ @, r; A8 _# y9 x
bool MC_AcknowledgeFaultMotor1( void ). H( ~8 Y1 z; g/ ?- `. e
{1 y" G5 v/ d4 N
return MCI_FaultAcknowledged( pMCI[M1] );
}( _1 T& S, O6 o4 H0 M
Motor1Dir=MC_GetImposedDirectionMotor1(); //返回最后一个指令设置的电机方向,如果最终的速度或转矩指令为负数返回-1,否则返回17 U/ \, n4 z* K# F( G; @& V0 p7 {
int16_t MC_GetImposedDirectionMotor1(void)9 r3 J! N6 Q0 b. a" l. f
{
return MCI_GetImposedMotorDirection( pMCI[M1] );2 e, K! X7 o. P0 J
}
% x/ N6 O2 f: d% L/ g w& `
1、支持更多型号的芯片和板子,比如开始支持STM32G的芯片和对应板子;
2、软件界面上有些变化,更简洁。
6 o. m; w9 a! ^1 B' v; x f% L
FULL库版本和普通版本的区别:' j# N6 d( U* C$ }7 D7 Q( Q. K
full版本区别:开放了弱磁,mtpa及前馈的源代码。
0 @. Q+ z% m* I. m+ S3 g1 s
FULL版本申请:4 A7 H# |& Y9 H1 N& O9 W8 e; Z( {
到ST官网,用企业邮箱申请。6 R, c+ d* v) F; [8 d1 c1 ?. ~" B) z
硬件: P-NUCLEO-IHM001或P-NUCLEO-IHM002开发套件 ;
请事先下载安装软件:
1) STM32 PMSM FOC Software Development Kit - MC library(5.3.2及以上版本);$ H# i7 g+ J* S! g3 M
2) STM32CubeMX 4.26及以上版本;1 F3 e* D' q3 |/ |7 d
3) KEIL MDK 5.0 及以上版本。
左边接插件接电源(左正右负),接电源之前最好将电源调整到12V左右;
右边接插件:接电机线(电机线任意接,接错的话电机正反转方向可能是反的);- n; E/ o5 ~+ Z! @/ E
首次拆开开发套件(板子已预装程序):上电后且接上USB线,按套件底板的蓝色按钮,电机会正常转,再按下电机停止运行(如果电机不能转,请先按下黑色复位按钮,再按蓝色运行按钮)。
4 m2 G1 H) p6 E$ B) a! u
) b6 [) `( N0 ^) t& y
使用ST MC Workbench GUI上的专用按钮(Motor Profiler)或直接打开安装文件运行ST的电机参数测量工具。
0 [/ x4 w; Q& m4 A- E) M
X-NUCLEO-IHM07M1 3Sh( N7 u. T# X$ _6 e9 x/ l
+ F% G. ^' \8 d$ X& ?4 F4 [4 s. u
# S& ]7 y1 m) r/ z) Y) P# ^, k
3 A1 T$ w# v* G: H, ]* Q& E+ L" {
电机参数# H! ^5 i J( t8 T# b% F. p9 N
8 x& s: H% i! L! p