开始说FOC之前,我们先来弄清楚电机是怎么动起来的,电机的q轴、d轴是什么,FOC存在的意义是什么。
2023-12-31 11:19:34 691KB d轴和q轴的概念
1
STM32和DSP无感FOC电机控制代码,算法采用滑膜观测器,SVPWM控制,启动采用Vf,全开源代码,很有参考价值。 带原理图,SMO推导,附有相关的文档资料, matlab模型,电机控制资料。
2023-11-27 13:26:01 176KB stm32
1
永磁同步电机pmsm无感foc控制,观测器采用扩展卡尔曼滤波器ekf,代码运行无错误,支持无感启动,代码移植性强,可以移植到国产mcu上.
2023-11-12 08:17:22 141KB
1
Ctrl-FOC-Lite-稚晖君开源电机FOC驱动资料
2023-11-09 08:58:00 23.88MB PMSM 电机控制
1
ODrive是一个学习FOC的驱动板,资料里面附带了ODrive的硬件原理图与PCB设计图,还有一个仿制ODrive双轴MINI FOC控制器PCB设计图。之前找了很久才找到了,传上来和大家共享下,希望对大家有帮助,欢迎下载或者永久保存。
2023-11-09 08:51:43 26.62MB 课程资源 ODrive
1
st foc sdk 5.Y.4版本
2023-09-27 14:26:53 244.05MB foc MCSDK
1
FOc矢量控制学习代码,基于ST电机库改写,有一定的学习参考价值
2023-09-06 09:10:33 327KB 电机 ST 源码
1
自己看ST的FOC库时,添加了一些代码注释,可以辅助理解代码
2023-08-29 16:56:29 255KB FOC MCSDK ST
1
将4kHz的浮点计算代码优化成了12kHz的定点计算代码,运行周期在80us以内,能够稳定运行。定点化的基本思路是将浮点数先放大一定的倍乘系数,并转换成32位整型的定点数,进行定点乘除法,再将结果还原回去,从而大大节省计算时间。倍乘系数一般取2的次方数,这样在还原的时候只需使用右移位即可代替除法操作进行倍除,从而节省一定的时间。定点化的难点在于,你不知道哪个变量该放大多少倍,太小会损失计算精度,太大会导致数据溢出,一般需要进行事先合理的评估以及实际上电试验。函数的定点化最好按先后顺序来,每转换完一步就验证一遍,确保万无一失。一般程序无法正常运行基本都是数据溢出导致的,这时需将倍乘系数调小一点。一些常量的计算不必放在循环里浪费计算资源,可以在初始化过程就先计算出来。另外,一些系数可以结合在一起,如ADC采样的电压需要乘以一个电流系数,这个电流系数就可以和PID参数合并(相乘),同样在初始化时就可以计算确定下来,省去多次乘法运算的步骤。定点化后,PID的控制量的目标输入量也需要根据你的设计进行调整,扩大相应的倍数。SVPWM的输出也可以直接设计成PWM比较值的范围,而不是占空比的形式。
2023-08-22 21:23:22 16.55MB stm32
1
参考simpleFOC代码,在stm32G431上实现了20kHz的FOC电流环。为了降低驱动器成本,将主控由G431改为F030,目前所有代码均为浮点计算,实现了4kHz的电流环(FOC单周期时间成本约230us),控制效果一般,可作为初步参考。后续需要改为定点计算,提高电流环频率以优化控制效果。。程序架构采用了ST电机库的方案,在ADC采样完成中断里执行FOC程序。驱动方式为3个EN端加TIM1三通道PWM输出,TIM3采集编码器AB相输入,3通道ADC扫描采样三相电桥低边通道采样电阻电压。TIM1为中心对齐模式1,PWM模式2,RCR设为1(每两次溢出触发一次中断,即在下溢时触发ADC采样)。上电后电机开环运行,校对Z相(外部上升沿中断)信号,确定编码器初始偏移量,调试时将变量start_run修改为1以开始执行闭环程序。电流环程序放在ADC采样完成回调函数里面,首先获取编码器计数值并计算电角度,然后获取电流采样值并经过clarke变换和park变换得到qd电流,再经低通滤波和PID计算后得到qd电压控制量,然后逆park变换并计算SVPWM占空,最后经TIM1输出三相占空。
2023-08-22 21:22:08 16.52MB stm32 电机控制 FOC