找回密码
 立即注册
查看: 187|回复: 0

FOC电机控制BLDC无感上位机指令集开源共创

[复制链接]
已绑定手机

307

主题

584

回帖

2961

积分

金牌会员

积分
2961
发表于 2026-10-22 20:38:02 | 显示全部楼层 |阅读模式
本例程只能用作学习研究,压缩包内有源代码,指令集说明,上位机调试,原理图等资源
本人也在学习FOC中,有做的不足之处在本帖留下意见,共同学习。
例程中用到的FOC中功率开发板是STCFOC官方出品,想要同款开发板小程序搜索STCMCU店铺。

2026.11.7   STCFOC20261107.zip (709.65 KB, 下载次数: 0)
取消定时器0中断,测速改为在PWMA中断中查询定时器0中断标志,中断优先级:串口1(3),PWMA(2)
新增控制指令-关机,在待机的基础上所有外设停止工作,处于关机模式需要用控制指令-开机唤醒
新增控制指令-开机,设备关机后用此命令唤醒,开机指令由串口发送一个00H
新增读取配置反馈-最高转速,记录本次启动最高转速,下次启动清零
新增速度指令,单位rps
新增速度环(M/T法)
开环启动改为闭环启动(PWM闭环启动和速度环闭环启动),启动失败调节下面参数
QiDongBuJinSuDu启动步进速度,默认50
QiDongDianLiu启动电流(PWM),默认100

ADC在串口1通讯中打开电源测得的值不正确,现已全程打开,待优化
控制指令-休眠改为待机,待机后CPU停止工作,所有用到的外设正常工作
150度过零点改为330度

2026.10.22    FOC20261022.zip (578.25 KB, 下载次数: 60)
正弦波驱动改为马鞍波驱动SPWM[360] -> SVPWM[2048]
增加测转速功能(定时器0),测量时间1/2秒,测量速度*2*60rpm
新增失步次数记录,在指令读取配置(01H)查看。

修复软复位后单片机运行不正常的问题



2026.10.15
感谢论坛网友lcwswust提供的架构
本例程下载频率12MHZ,PWM频率144MHZ,PWM信号输出20KHZ,系统时钟36MHZ
整个电机控制都在PWM更新中断中完成,中断频率20KHZ,每中断一次50微秒
150度(853)为过零点,过零检测窗口130度(740)-170度(967)
电机控制分为四步:开环启动-闭环输出-过零检测-等待本圈结束
定时器0(中断优先级3)-->测转速
串口1(中断优先级2)-->串口通讯
PWMA(中断优先级1)-->控制电机任务
按键P54为复位按键

本例程配套调试软件
使用方法:
1,扫描串口,找到对应的串口号
2,获取机号,获取成功标题会显示机号
3,复位,复位选项保持默认
4,进入设置PWM页面,发送PWM值,注意PWM没有写限制,不要拉到顶
其他功能暂时没匹配好不要使用





1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-11-8 01:35 , Processed in 0.461051 second(s), 43 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表