前言 客户在使用 ST FOC4.3 库文件控制电机过程中,当使用了 STM32F30x 芯片时,如果使用的是 ICS(Isolated Current Sensor)采样电流信号时会遇到无法编译通过报错问题,本文用以说明如果修正这个问题。5 \& N* f2 p W' Q9 C n8 ^- _$ H: N$ F3 Z9 w- L. h : Y& u' f1 h( P, { l 问题描述 n0 R/ c- g1 z3 m# w 使用芯片为 STM32F303RCT6,当用到 FOC4.3 库进行电机控制时,如果使用了 ICS 作为电流采样,会遇到编译报错,如下提示:: W, a3 R9 P1 ~ + ^6 J" u; M& S2 Q/ o2 G 具体位置在 MCTask.c 的下面程序段:# x- n% {' J4 N- q* |6 ]
看到上的错误提示是没有定义 ICS_DDParamsM1 和 IF3XX_NewObject 所用的形参 pICS_F30xParams_t 没有匹配。察看库中调用的根源在 pICS_F30XParams_t 与 ICS_DDParamsM1 是不同的,有个别的地方需要调整,因此根源在于没有在 头文件中定义相应的参数表。" s* v: l% z3 H. k! H1 _
解决方法 . G1 j/ V3 d0 j8 R2 d* z 1. 在...\web\SystemDriveParams 中增加支持 STM32F30x 的 ICS 采样的参数定义 ICS_F30XParams_t K( l0 i) B* x7 J$ J! _& b ICS_F30XParamsM1 = {……} ; 2. 该参数表需要对应于 pICS_F30XParams_t 结构体中的定义,新增文件见附件文件; - e- k. m: X7 M5 ^6 T/ p2 j s 3. 修改 MCTask.c 中的形参,改 ICS_DDParamsM1 为 ICS_F30XParamsM1 1 P) v, Y+ Q) C6 } 7 }! ~7 \4 |% H5 i8 L { 完整版请查看:附件! S% N+ O' K5 F9 L) d* y/ E + @2 ~7 \" L8 R |
ST_FOC4.3库关于STM32F30x系列ICS采样代码修改.pdf
下载254.43 KB, 下载次数: 3
【经验分享】基于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微控制器从低功耗模式唤醒
在 STM32 F0、 F2、 F3、 F4 和 L1 系列 MCU 中使用硬件实时时钟 (RTC)