王昱顺 发表于 2023-9-11 21:32:08

【STC-FOC】Fast-SVPWM输出!STC32F12K54实现,32位8051,全开源软件/硬件

本帖最后由 王昱顺 于 2024-3-27 18:30 编辑

STC-FOC Lite V2版本更新啦,本贴为较为久远版本,实现效果不好
想查看最新FOC的话请移步新的帖子:
[高性能FOC]STC-FOC Lite V2开源!经过多天测试,稳定无异常 - 有ICache的STC32F12K54测试版块,FOC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)






FOC程序实现!Fast-SVPWM输出!STC32F12K54实现,32位8051,全开源软件/硬件
现在进度为:
==V2硬件基础功能已经验证完成,已开源【STC-FOCV2测试板】、【磁编码器改装板】、【串口上位机(借用的淘晶驰串口屏软件仿真功能)】
==程序架构调试完成,但是出了点小意外,前几天调试的时候电流环抽风给电机的一相击穿了,但是现在不带PID操作是很好用的。
//==完成三环闭环:速度开环、电流环(Iq、Id双闭环)、速度环(速度串电流)、位置环(位置串速度串电流)
==完成SVPWM实现,通过对向量进行压缩,简化判断步骤,减少计算量提高速度。
可以获得14位绝对值角度、电角度、速度。可以解算Iq、Id。

等待实现的功能(按照顺序更新实现):抗齿槽算法。
加速的 硬件FPMU浮点/硬件三角函数和硬件MDU32都已经打开,
可以感觉出来速度确实嗖嗖的
attach://20919.mp4

2023年9月16日更新:
1.增加MT6701磁编码器用于读取无刷电机绝对值角度。
2.重新更改程序外设之间的配合,使用串口DMA,ADC-DMA减少浪费时间。
3.移植增加PID库,等待添加三环闭环。
4.使用的串口DMA可以方便的使用printf输出到自定义缓冲区,
   然后通过DMA_Send_Start();函数一次性发出去,觉得有用可以参考移植。
5.文件归档整理,拓展为多文件工程。
效果视频:
attach://21484.mp4

2023年9月17日更新:
1.增加电机电流环,现在可以完成电流环闭环运行。
2.调整滤波时间常数,优化一些波形问题。
3.增加计算速度的函数,现在可以正确的显示速度。
效果视频:
attach://21617.mp4

2023年9月20日更新:
1.增加电机速度闭环,现在可以完成恒定速度运行。
2.添加Id电流读取,增加Id电流环,减少损耗。
3.添加模式切换标志,三环模式可以随时切换。
效果视频:
attach://21991.mp4

2023年9月22日更新:
1.添加SVPWM输出,提高母线电压利用率。
2.修改PWM模式为中央对齐模式。
3.调整I2C通讯速率,现在为1MHz,大大提高程序运行速度。

2023年9月23日更新:
1.增加位置环模式。
2.修复累计位置函数中的逻辑错误。
效果视频:
attach://22237.mp4

2023年10月26日更新:
1.经过验证,V2版本硬件已经功能测试通过了。
2.更新了速度更快的Fast_SVPWM。经测试利用效率和波形都非常令人满意。
3.正在重构程序主体,包括中断触发链路和操作的同步。
参考文献:齐昕,王冲,周晓敏等.一种低硬件资源消耗快速SVPWM算法.电机与控制学报,2014,18(04):31-38.DOI:10.15938/j.emc.2014.04.006.

SVPWM效果图片:



2023年11月7日更新:
1.开源第二版的硬件、串口屏上位机(建议不用买串口屏,改一下Link1D就能用电脑看了)
2.程序架构调整完成,但是电流环暂时没法调
效果视频(电机没坏之前的珍贵影像):
attach://26150.mp4
这个是电桥测试,可以看到有一相有些短路:
attach://26149.mp4



王昱顺 发表于 2023-9-11 21:42:16

FOC电机控制,STC32F12K54实现
===32位8051,全开源软件/硬件

加速的 硬件FPMU浮点/硬件三角函数和硬件MDU32都已经打开,
可以感觉出来速度确实嗖嗖的, 软硬件完全开源!会持续更新新功能

更新下载地址:
2023年9月16日更新:

2023年9月17日更新:

2023年9月20日更新:

2023年9月22日更新:

2023年9月23日更新:
1.增加位置环模式。
2.修复累计位置函数中的逻辑错误。






神农鼎 发表于 2023-9-11 21:55:54

FOC控制-STC32F12K54实现,全开源
这厉害了,少年强则国强,这是STC32F拉风奖得主 ?









神农鼎 发表于 2023-9-11 21:59:09








梁工 发表于 2023-9-11 23:13:13

强!跟进学习!

qgcwh1 发表于 2023-9-12 12:58:38

楼主电压开环最高能跑多少转?前段时间用32g128移植试了一下只能跑几百转😂😂

王昱顺 发表于 2023-9-12 14:37:17

qgcwh1 发表于 2023-9-12 12:58
楼主电压开环最高能跑多少转?前段时间用32g128移植试了一下只能跑几百转😂😂 ...

现在整个程序结构还没优化,像是ADC/UART都是直接用的堵塞式。晚上我优化一下结构再测试测试,理论上来说几千转应该是没有问题。
这个跟电机的KV值也有很大关系,比如说我手里的无刷电机是24V3000转的,那么我用12V电源顶了天也就是1500转了。

王昱顺 发表于 2023-9-12 14:38:33

神农鼎 发表于 2023-9-11 21:55
FOC控制-STC32F12K54实现,全开源
这厉害了,少年强则国强,这是STC32F拉风奖得主 ?



智能车也参加了,不过很可惜比赛前硬件出问题了。这次准备早早准备继续参加比赛{:4_197:}

神农鼎 发表于 2023-9-12 14:59:10

2024年,STC组别,会有 CAN 通信部分,我们已提建议
===卓老师也认可,智能汽车应该有CAN的部分

zq98798 发表于 2023-9-13 15:05:49

这个触摸屏也挺好的,有地方买么
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【STC-FOC】Fast-SVPWM输出!STC32F12K54实现,32位8051,全开源软件/硬件