找回密码
 立即注册
楼主: 神农鼎

便宜的车规-FOC,24万转@STC32G12K128-24A车规,STC-FOC 新算法库,4/1更新

 火... [复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2026-07-02 07:51:33

20

主题

82

回帖

1021

积分

金牌会员

积分
1021
发表于 2025-11-26 15:32:21 | 显示全部楼层
我提个问题哈,STC32G12K128 ,这款芯片拿来玩FOC, 必须是是-24A的是吧?   像早起的BETA,或者没有-24A ,单纯的STC32G12K128 丝印的芯片,还能玩梁工开源的那些FOC吗? 因为手头上就这些芯片核心板子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2026-07-23 09:42:38

851

主题

1万

回帖

2万

积分

管理员

积分
24424
发表于 2025-11-27 00:30:52 | 显示全部楼层
一样的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:444
  • 最近打卡:2026-07-22 13:22:06
已绑定手机

47

主题

260

回帖

2413

积分

金牌会员

积分
2413
发表于 2025-11-27 11:21:09 | 显示全部楼层
Debu*** 发表于 2025-8-14 10:01
STC-FOC 库,完整项目程序,在 下一楼层附件 下载
STC-FOC车规-24万转-小功率原理图-20250910,提供程序支 ...

版主,中功率板适用的电机,推荐一个购买链接。小风扇最好,自己可以享用一下
8位程序---换个STC32G.h头文件,换个C251编译器就直接到STC32的高度了;
          想回到8位机,则换个STC8H.h头文件,换个C51编译器就回到8位机了.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:748
  • 最近打卡:2026-07-23 12:57:53
已绑定手机
已实名认证

140

主题

3696

回帖

9537

积分

超级版主

积分
9537
发表于 2025-11-27 17:03:46 | 显示全部楼层
lcws*** 发表于 2025-11-14 09:25
首先感谢楼主提供的电路、程序(库)。
等我有空了一定要弄一下。
前面几个视频只能看第一个,其它的只有声 ...

FOC全称是定向磁场控制,我这个里面使用了SVPWM,确实可以做到定向磁场控制
并且这个控制也是有闭环同步的,叫FOC没什么问题
相电流也可以实际观测到,确实是正弦波
不过原理确实和传统FOC不大一样就是了,没有使用电流传感器,相对而言比较取巧

截图202511271703128755.jpg

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-07-21 14:44:21
已绑定手机

5

主题

356

回帖

6446

积分

论坛元老

积分
6446
发表于 2025-11-28 09:53:17 | 显示全部楼层
王*** 发表于 2025-11-27 17:03
FOC全称是定向磁场控制,我这个里面使用了SVPWM,确实可以做到定向磁场控制
并且这个控制也是有闭环同步 ...

谢谢王工。
目前遇到一个问题请指教:
我用的芯片是EG2133,LIN是反相的,已改PWM初始化代码:
PWMA_CCER1 = PWMA_CCER2 = 0xDD;//PWMxN低有效
开环启动能转,但随后会刹车,问题在于所有PWM引脚输出低电平导致低端MOS管是处于
导通状态,请问需要怎么改?(Io_Init中对P2赋值不起作用,估计仍受PWM控制)
估计未检测到反电势而停转时引脚是受库函数 pwm_off() 控制?

点评

是的,虽然引出了引脚的宏定义,但是对于关断时刻的控制电平还是固定的 今天我修改一下库的内容,使其pwm_off可传参,到时候你更改一下传入参数使其极性改变即可  详情 回复 发表于 2025-11-28 10:20
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:748
  • 最近打卡:2026-07-23 12:57:53
已绑定手机
已实名认证

140

主题

3696

回帖

9537

积分

超级版主

积分
9537
发表于 2025-11-28 10:20:04 | 显示全部楼层
lcws*** 发表于 2025-11-28 09:53
谢谢王工。
目前遇到一个问题请指教:
我用的芯片是EG2133,LIN是反相的,已改PWM初始化代码:

是的,虽然引出了引脚的宏定义,但是对于关断时刻的控制电平还是固定的
今天我修改一下库的内容,使其pwm_off可传参,到时候你更改一下传入参数使其极性改变即可
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-07-21 14:44:21
已绑定手机

5

主题

356

回帖

6446

积分

论坛元老

积分
6446
发表于 2025-11-28 10:43:32 | 显示全部楼层
王*** 发表于 2025-11-28 10:20
是的,虽然引出了引脚的宏定义,但是对于关断时刻的控制电平还是固定的
今天我修改一下库的内容,使其pwm ...

好的谢谢,建议根据PWMA_CCER1\2中的极性来处理。
目前程序并未运行到主函数中调用pwm_off(),估计是PWM中断里处理的,开环启动后未检测到反电势自动停转的处理。

点评

已更新,可以试试,空闲电平逻辑通过PWMA_OISR设置实现 文档内有详细的操作说明  详情 回复 发表于 2025-11-28 22:21
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:748
  • 最近打卡:2026-07-23 12:57:53
已绑定手机
已实名认证

140

主题

3696

回帖

9537

积分

超级版主

积分
9537
发表于 2025-11-28 22:21:20 | 显示全部楼层
lcws*** 发表于 2025-11-28 10:43
好的谢谢,建议根据PWMA_CCER1\2中的极性来处理。
目前程序并未运行到主函数中调用pwm_off(),估计是PWM中 ...

已更新,可以试试,空闲电平逻辑通过PWMA_OISR设置实现
文档内有详细的操作说明
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2026-01-29 19:59:41
已绑定手机

0

主题

29

回帖

268

积分

中级会员

积分
268
发表于 2025-11-29 12:52:16 | 显示全部楼层
王*** 发表于 2025-9-18 10:00
当前电压和电流需要用户自行添加,程序内不做多余处理,仅保留电机驱动部分功能。

堵转保护由电机算法自 ...

2025-11-28版本的有几个问题,P36,37打开上拉电阻后开环不能启动,在闭环里转有顿挫现象,串口输出转速和电角度数值不稳定!


void Io_Init(void)
{
        P2M0 |= 0x3f; P2M1 &= ~0x3f;        //P20~P25切换为推挽输出,PWM输出
        P3M0 &= ~0xc0; P3M1 |= 0xc0;         //P36、P37切换为高阻输入,CMP采样
        P2SR &= ~0x3f;                                                                //P20~P25电平转换速度设置为最快
  P2DR &= ~0x3f;                                                                //P20~P25输出电流设置为最大
        P3M0 &= ~0x1c; P3M1 |= 0x1c;         //使用P32~P34三个按键
  P3PU |= 0x1c;                                                                        //打开P32~P34上拉电阻
        P1M0 &= ~0x03; P1M1 |= 0x03;  //P10、P11切换为高阻输入
// P3PU |= 0xc0;                 //打开P36~P37上拉电阻
        P5M0 &= ~0x10; P5M1 |= 0x10; //P54切换为高阻输入
  P5PU = 0x10;                  //打开P54上拉电阻
        P3M0 &= ~0x13; P3M1 &= ~0x13; //P30、P31设置为准双向口,串口使用
}

串口输出信息


                    
[12:50:24.829]接收←set_duty:830,erpm:-1,rpm:0
                    
[12:50:26.677]接收←set_duty:830,erpm:-1,rpm:0
                    
[12:50:29.505]接收←set_duty:830,erpm:-1,rpm:0
                    
[12:50:30.773]接收←set_duty:830,erpm:-1,rpm:0
                    
[12:50:32.037]接收←set_duty:830,erpm:11888,rpm:1698
                    
[12:50:33.306]接收←set_duty:830,erpm:-1,rpm:0
                    
[12:50:34.587]接收←set_duty:830,erpm:8919,rpm:1274
                    
[12:50:35.855]接收←set_duty:830,erpm:11841,rpm:1691
                    
[12:50:37.117]接收←set_duty:830,erpm:-1,rpm:0
                    
[12:50:38.397]接收←set_duty:830,erpm:8910,rpm:1272
                    
[12:50:39.664]接收←set_duty:830,erpm:-1,rpm:0

点评

已更新,请尝试新版本程序  详情 回复 发表于 2025-11-29 18:29
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:153
  • 最近打卡:2026-07-21 14:44:21
已绑定手机

5

主题

356

回帖

6446

积分

论坛元老

积分
6446
发表于 2025-11-29 18:14:53 | 显示全部楼层
王*** 发表于 2025-11-28 22:21
已更新,可以试试,空闲电平逻辑通过PWMA_OISR设置实现
文档内有详细的操作说明 ...

好的,谢谢王工。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-23 17:21 , Processed in 0.081148 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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