QW123 发表于 2025-11-26 15:32:21

我提个问题哈,STC32G12K128 ,这款芯片拿来玩FOC, 必须是是-24A的是吧?   像早起的BETA,或者没有-24A ,单纯的STC32G12K128 丝印的芯片,还能玩梁工开源的那些FOC吗? {:4_167:} 因为手头上就这些芯片核心板子

神农鼎 发表于 2025-11-27 00:30:52

一样的

East Wind 41 发表于 2025-11-27 11:21:09

DebugLab 发表于 2025-8-14 10:01
STC-FOC 库,完整项目程序,在 下一楼层附件 下载
STC-FOC车规-24万转-小功率原理图-20250910,提供程序支 ...
版主,中功率板适用的电机,推荐一个购买链接。小风扇最好,自己可以享用一下

王昱顺 发表于 2025-11-27 17:03:46

lcwswust 发表于 2025-11-14 09:25
首先感谢楼主提供的电路、程序(库)。
等我有空了一定要弄一下。
前面几个视频只能看第一个,其它的只有声 ...

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



lcwswust 发表于 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() 控制?

王昱顺 发表于 2025-11-28 10:20:04

lcwswust 发表于 2025-11-28 09:53
谢谢王工。
目前遇到一个问题请指教:
我用的芯片是EG2133,LIN是反相的,已改PWM初始化代码:


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

lcwswust 发表于 2025-11-28 10:43:32

王昱顺 发表于 2025-11-28 10:20
是的,虽然引出了引脚的宏定义,但是对于关断时刻的控制电平还是固定的
今天我修改一下库的内容,使其pwm ...
好的谢谢,建议根据PWMA_CCER1\2中的极性来处理。
目前程序并未运行到主函数中调用pwm_off(),估计是PWM中断里处理的,开环启动后未检测到反电势自动停转的处理。

王昱顺 发表于 2025-11-28 22:21:20

lcwswust 发表于 2025-11-28 10:43
好的谢谢,建议根据PWMA_CCER1\2中的极性来处理。
目前程序并未运行到主函数中调用pwm_off(),估计是PWM中 ...

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

ct1000 发表于 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设置为准双向口,串口使用
}

串口输出信息


                  
接收←set_duty:830,erpm:-1,rpm:0
                  
接收←set_duty:830,erpm:-1,rpm:0
                  
接收←set_duty:830,erpm:-1,rpm:0
                  
接收←set_duty:830,erpm:-1,rpm:0
                  
接收←set_duty:830,erpm:11888,rpm:1698
                  
接收←set_duty:830,erpm:-1,rpm:0
                  
接收←set_duty:830,erpm:8919,rpm:1274
                  
接收←set_duty:830,erpm:11841,rpm:1691
                  
接收←set_duty:830,erpm:-1,rpm:0
                  
接收←set_duty:830,erpm:8910,rpm:1272
                  
接收←set_duty:830,erpm:-1,rpm:0

lcwswust 发表于 2025-11-29 18:14:53

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

好的,谢谢王工。
页: 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51
查看完整版本: 便宜的车规-FOC,24万转@STC32G12K128-24A车规,STC-FOC 新算法库,4/1更新