OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4988|回复: 11

发一个TIM1输出6路互补SVPWM程序,带死区

[复制链接]

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
发表于 2017-11-30 11:13:37 | 显示全部楼层 |阅读模式
本帖最后由 417400765 于 2017-11-30 11:58 编辑

闲来无事,写了个SVPWM生成程序,MCU选择STM32F030C8,有兴趣的可以一起研究,如果有错误,希望大家指正附件是工程压缩包,欢迎大家下载

int Ua(unsigned int angle)
{
                int sign=1;//char sign=1;
        
                if(angle>180)
                {
                                        angle-=180;
                                        sign=-1;
    }
    if(0<=angle&&angle<60)
                {
        if(angle<30)
            return sign*QUARTER_ROOT_3*cosxFF[30-angle]/CONSTANT_SCALER+128;
        else
            return sign*QUARTER_ROOT_3*cosxFF[angle-30]/CONSTANT_SCALER+128;
    }
                else if(60<=angle&&angle<120)
                {
        if(angle<90)
            return sign*QUARTER_TOT*cosxFF[angle]/CONSTANT_SCALER+128;
        else
            return -sign*QUARTER_TOT*cosxFF[180-angle]/CONSTANT_SCALER+128;
    }
                else if(120<=angle&&angle<=180)
                {
        if(angle<150)
            return -sign*QUARTER_ROOT_3*cosxFF[150-angle]/CONSTANT_SCALER+128;
        else
            return -sign*QUARTER_ROOT_3*cosxFF[angle-150]/CONSTANT_SCALER+128;
    }
}
int Ub(unsigned int angle)
{
    if(angle<120)
        return Ua(120-angle);
    else
        return Ua(angle-120);
}
int Uc(unsigned int angle)
{
    if(angle<240)
        return Ua(240-angle);
    else
        return Ua(angle-240);   
}

void IRQ_SVPWM(void)
{
        uint8_t p=0;//char p=1; //0-Phase voltage 1-Line voltage
        
  PWM_U=Ua(angle)-p*Ub(angle);        
  PWM_V=Ub(angle)-p*Uc(angle);
  PWM_W=Uc(angle)-p*Ua(angle);  
        
  angle+=1;
        if(angle>360)
                angle = 0;
        
        TIM1->CCR1 = PWM_U;//PWMMR1;
        TIM1->CCR2 = PWM_V;//PWMMR3;
        TIM1->CCR3 = PWM_W;//PWMMR5;
}


1.jpg 2.jpg 3.jpg
STM32F030R8.rar (3.01 MB, 下载次数: 1637)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-8-12
在线时间
5 小时
发表于 2017-12-13 17:13:05 | 显示全部楼层
兄弟  这个程序放在f103ze的板子上用   需要改吗
回复 支持 反对

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
 楼主| 发表于 2017-12-21 16:25:07 | 显示全部楼层
179060730q 发表于 2017-12-13 17:13
兄弟  这个程序放在f103ze的板子上用   需要改吗

我这个是F030C8跑的,你要移植到103ZE上那需要修改外设配置
回复 支持 反对

使用道具 举报

17

主题

354

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2017-5-21
在线时间
340 小时
发表于 2017-12-21 18:12:23 来自手机 | 显示全部楼层
什么是SVPWM
回复 支持 反对

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
 楼主| 发表于 2017-12-21 18:21:01 | 显示全部楼层

你可以自行百度
回复 支持 反对

使用道具 举报

2

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
424
金钱
424
注册时间
2014-6-26
在线时间
74 小时
发表于 2017-12-22 08:55:54 | 显示全部楼层
正好最近在研究手持云台,在恶补SVPWM和FOC
回复 支持 反对

使用道具 举报

14

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
450
金钱
450
注册时间
2017-3-31
在线时间
118 小时
发表于 2018-6-25 14:26:15 | 显示全部楼层
楼主,如果用SVPWM控制电机,电压矢量一直在旋转,那电机下臂桥的控制应该在什么时刻切换?还有就是电压矢量的旋转速度和电机实际的旋转速度怎么匹配?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-6-26 01:18:43 | 显示全部楼层
cool
回复 支持 反对

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
 楼主| 发表于 2018-8-24 10:14:50 | 显示全部楼层
Owen 发表于 2018-6-25 14:26
楼主,如果用SVPWM控制电机,电压矢量一直在旋转,那电机下臂桥的控制应该在什么时刻切换?还有就是电压矢 ...

电机下桥臂和上桥臂一直是互补输出的,所以只要管好上桥臂就好了,电机实际转速=电压矢量的旋转速度-电机滑差转速,电机滑差转速由电机本身设计决定
回复 支持 反对

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2012-9-6
在线时间
26 小时
 楼主| 发表于 2018-8-24 10:16:28 | 显示全部楼层

谢谢原子哥哥,是原子哥哥把我领进STM32的大门,谢谢
回复 支持 反对

使用道具 举报

14

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
450
金钱
450
注册时间
2017-3-31
在线时间
118 小时
发表于 2018-9-3 17:45:53 | 显示全部楼层
417400765 发表于 2018-8-24 10:14
电机下桥臂和上桥臂一直是互补输出的,所以只要管好上桥臂就好了,电机实际转速=电压矢量的旋转速度-电机 ...

嗯,已经搞定了,谢谢楼主
回复 支持 反对

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2019-1-23 08:10:07 | 显示全部楼层
MARK 一下 学习中
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 07:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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