QW123 发表于 2025-12-9 13:34:47

那我换种问法,三种功率板,还能外接STC32G核心板实现控制吗?

RT

在论坛其他板块的提问被删了
我就在这里问吧

置顶帖里有三种功率的板子可购买

我想知道,单独的STC32G 核心板能不能结合帖子里的功率实验板一起实现其他功能,
(因为我看大中小功率实验板没有引脚引出,想着能不能结合另外的STC32G 核心板 )


梁工 发表于 2025-12-9 14:15:17

当然可以,按电路连接即可。

QW123 发表于 2025-12-9 14:31:51

梁工 发表于 2025-12-9 14:15
当然可以,按电路连接即可。

梁工,请教下,要实现正反转,得修改程序了,是吧?

梁工 发表于 2025-12-9 15:21:14

QW123 发表于 2025-12-9 14:31
梁工,请教下,要实现正反转,得修改程序了,是吧?

FOC的驱动,只需要在程序中交换任意2相的PWM装载顺序即可。
方波驱动的,启动和闭环交换任意2相的PWM装载顺序即可。

请参考我下面链接的帖子,主楼最下面的程序“三相无刷电机驱动-STC32G-无HALL-Ver3-正反转”。
BLDC三相无刷直流电机驱动-8H系列/32G系列-无HALL, 12万转, 视频讲解,改进启动算法
https://www.stcaimcu.com/thread-1822-1-1.html

FOC驱动换向跟程序中强拖启动部分的一样:
void        LoadPwm(void)
{
        Ua = (u16)((((long)svpwm_dat             *PWM_Value)>>10)+512);        //计算A相占空比
        Ub = (u16)((((long)svpwm_dat[(angle +1365)%4096]*PWM_Value)>>10)+512);        //计算B相占空比
        Uc = (u16)((((long)svpwm_dat[(angle +2730)%4096]*PWM_Value)>>10)+512);        //计算C相占空比
        PWMA_CCR1H = (u8)(Ua/256);
        PWMA_CCR1L = (u8)(Ua%256);
        if(!B_CCW)                //正转
        {
                PWMA_CCR2H = (u8)(Uc/256);
                PWMA_CCR2L = (u8)(Uc%256);
                PWMA_CCR3H = (u8)(Ub/256);
                PWMA_CCR3L = (u8)(Ub%256);
        }
        else        //反转
        {
                PWMA_CCR2H = (u8)(Ub/256);
                PWMA_CCR2L = (u8)(Ub%256);
                PWMA_CCR3H = (u8)(Uc/256);
                PWMA_CCR3L = (u8)(Uc%256);
        }
}

方波驱动闭环请参考程序中的换相序列:
void StepMotor(void) // 换相序列函数

QW123 发表于 2025-12-9 16:36:48

梁工 发表于 2025-12-9 15:21
FOC的驱动,只需要在程序中交换任意2相的PWM装载顺序即可。
方波驱动的,启动和闭环交换任意2相的PWM装载 ...

多谢梁工指点,我去琢磨琢磨,
页: [1]
查看完整版本: 那我换种问法,三种功率板,还能外接STC32G核心板实现控制吗?