前言 ! o* s5 u- O t' X/ G* {4 F+ u 客户在使用 ST FOC4.3 库文件控制电机过程中,当使用了 STM32F30x 芯片时,如果使用的是 ICS(Isolated Current Sensor)采样电流信号时会遇到无法编译通过报错问题,本文用以说明如果修正这个问题。 9 N1 G& A( B1 G, p # d6 w# z& [+ I) p 问题描述 使用芯片为 STM32F303RCT6,当用到 FOC4.3 库进行电机控制时,如果使用了 ICS 作为电流采样,会遇到编译报错,如下提示: . l7 v2 E5 O) R3 @ ' Q# c( T' S- i) b" {3 p 具体位置在 MCTask.c 的下面程序段:: r7 P: T: e+ `" h/ P/ ~ M
看到上的错误提示是没有定义 ICS_DDParamsM1 和 IF3XX_NewObject 所用的形参 pICS_F30xParams_t 没有匹配。察看库中调用的根源在 pICS_F30XParams_t 与 ICS_DDParamsM1 是不同的,有个别的地方需要调整,因此根源在于没有在 头文件中定义相应的参数表。
解决方法 1. 在...\web\SystemDriveParams 中增加支持 STM32F30x 的 ICS 采样的参数定义 ICS_F30XParams_t 6 V9 I0 C3 O7 T6 B& s3 \0 B9 q ICS_F30XParamsM1 = {……} ; 2. 该参数表需要对应于 pICS_F30XParams_t 结构体中的定义,新增文件见附件文件; ' W; l$ A& ~9 y! s H3 u4 ]) F$ P# j5 w( g . L! E# i/ F H4 e1 x$ z- ]- B 3. 修改 MCTask.c 中的形参,改 ICS_DDParamsM1 为 ICS_F30XParamsM1 8 M Q3 F6 I( S7 b8 D8 A6 v: L + y" \) n, A2 q( }4 X0 ] ' H2 N4 l0 k, A6 z 完整版请查看:附件 0 T$ e# q& f% W0 k7 w4 p5 S* k' T / \; V7 U; w% G |
ST_FOC4.3库关于STM32F30x系列ICS采样代码修改.pdf
下载254.43 KB, 下载次数: 4
【资料】STM32F3系列精彩集锦——教程、资料、方案
【经验分享】基于STM32F334的数字电源
基于STM32F334的BUCK同步降压数字电源设计
基于STM32F334的数字电源
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...
【基于STM32F3的电机控制】_给力外围之 OPAMP
在 STM32 F0、 F2、 F3、 F4 和 L1 系列MCU 中使用硬件实时时钟 (RTC)
STM32F334 上的 ADC 管脚和 DAC 管脚复用问题
如何使用USART或LPUART将STM32F0/F3/L0/L4微控制器从低功耗模式唤醒