求DSP三相异步电动机SVPWM开环调速控制程序(软件法)的Simulink工程包

求DSP三相异步电动机SVPWM开环调速控制程序(软件法)的Simulink工程包,第1张

1,目前国内已经有了转子导条检测设备了,用该设备可以做检查的;只能知道有无问题,但找不到哪根条断了;

2,可以测量导条的电阻与正常值比较,缺点有是找不到哪条断了;

3,磁粉探伤;即在导条两端通电,用磁粉检查,导条断裂的部分磁场较弱。

给反方向的转矩就能反转,具体体现在程序里面就是Q轴的电流为负编码器的读数如果正转时Q轴读数是在直轴基础上加90度。

那反转就减九十的这个方法。

同步发电机为了实现能量的转换,需要有一个直流磁场。而产生这个磁场的直流电流,称为发电机的励磁电流。

根据励磁电流的供给方式,凡是从其它电源获得励磁电流的发电机,称为他励发电机,从发电机本身获得励磁电源的,则称为自励发电机。

FOC控制方式和六步换向方式,FOC是通常采用的是svpwm调制方式,六步换向方式也就是我们说的pwm调制或者叫做方波调制,两种调制方式对比时可以发现,在相同转速和相同载荷情况下,svpwm调制方式下输出的电流比方波调试方式的电流高12备左右,具体记不清楚了,你可以查阅一下两种方式下转矩输出的关系。对高压来讲,过流保护一般是对线路或设备进行过负荷及短路保护,而电流速断一般用于短路保护。过流保护设定值往往较小(一般只需躲过正常工作引起的电流),动作带有一定延时;而电流速断保护一般设定值较大,多为瞬时动作。

你说的是PWM事件生成吧

void PWM_Init(u16 arr,u16 psc)

{

GPIO_InitTypeDef GPIO_InitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); //使能GPIO外设和AFIO复用功能模块时钟使能

//用于TIM3的CH2输出的PWM通过该LED显示

GPIO_InitStructureGPIO_Pin = GPIO_Pin_8;

GPIO_InitStructureGPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOA, &GPIO_InitStructure);

//设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形

GPIO_InitStructureGPIO_Pin = GPIO_Pin_7; //TIM_CH2

GPIO_InitStructureGPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出

GPIO_InitStructureGPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

//GPIO_WriteBit(GPIOA, GPIO_Pin_7,Bit_SET); // PA7上拉

TIM_TimeBaseStructureTIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 80K

TIM_TimeBaseStructureTIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值 不分频

TIM_TimeBaseStructureTIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim

TIM_TimeBaseStructureTIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位

TIM_OCInitStructureTIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2

TIM_OCInitStructureTIM_OutputState = TIM_OutputState_Enable; //比较输出使能

TIM_OCInitStructureTIM_Pulse = 0; //设置待装入捕获比较寄存器的脉冲值

TIM_OCInitStructureTIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高

TIM_OC2Init(TIM3, &TIM_OCInitStructure); //根据TIM_OCInitStruct中指定的参数初始化外设TIMx

TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能TIMx在CCR2上的预装载寄存器

TIM_ARRPreloadConfig(TIM3, ENABLE); //使能TIMx在ARR上的预装载寄存器

TIM_Cmd(TIM3, ENABLE); //使能TIMx外设

}

TIM_SetCompare2(TIM3,led0pwmval);

扇区判断公式:

B0 = Uβ

B1 = sin60Uα - sin30Uβ

B2 =-sin60Uα - sin30Uβ

然后将上面算出的B0,B1,B2代入公式:

P=4sign(B2) +2sign(B1) +sign(B0)

(上式中sign(x)是符号函数,如果x>0,则sign(x)=1;如果x<0,则sign(x)=0)

算出来的这个P值与扇区的对应关系是:

P : 1 2 3 4 5 6

扇区号: 1 5 0 3 2 4

至于一个周期的SVPWM波的脉冲数是多少是取决于你设的定时中断的频率是多少,就是说取决于程序员,频率设得越高电压矢量过渡得越圆滑,一般我做的是50us或100us一中断。初学者会认为这个脉冲数会跟电压矢量的转速有关,其实他们不塌噶,不是一个概念。

这个也可以称之为逆变换也可以这么理解,通过IPARK变换后出现的Ua 和Ub 分别是直角坐标系的横轴和纵轴如果在1区满足的条件是合成适量要在0-60度之间,那么Ua和Ub的关系就出来了,最终通过ua和ub的关系式就是你上面的 Va Vb Vc可以判断出所在的扇区,这个是这个是克拉克变换的主要目的,总之就是个tan角度的和Ua Ub的关系

参考这个

空间矢量调制的第一步是判断由Uα 和Uβ所决定的空间电压矢量所处的扇区。

假定合成的电压矢量落在第 I 扇区,可知其等价条件如下: 0<arctan(Uβ/ Uα) <60

落在第 I 扇区的充分必要条件为:Ua > 0 ,Uβ > 0 且Uβ/Ua <√3。

同理可得到合成的电压矢量落在其它扇区的等价条件,得出:

Uref落在第Ⅱ扇区的充要条件为:Uβ>0 且Uβ/ Ua>√3;

Uref落在第Ⅲ扇区的充要条件为:Ua<0 ,Uβ> 0 且-Uβ/Ua <√3;

Uref落在第Ⅳ扇区的充要条件为:Ua<0 ,Uβ < 0 且Uβ/Ua <√3;

Uref落在第Ⅴ扇区的充要条件为:Uβ<0 且 -Uβ/Ua>√3;

Uref落在第Ⅵ扇区的充要条件为:Ua>0 ,Uβ<0且-Uβ/Ua <√3;

若进一步分析以上的条件,可看出参考电压矢量 Uref 所在的扇区完全由Uβ、√3Ua-Uβ、-√3Ua-Uβ三式决定,因此令:

---------------------

作者:qlexcel

来源:CSDN

原文:>

以上就是关于求DSP三相异步电动机SVPWM开环调速控制程序(软件法)的Simulink工程包全部的内容,包括:求DSP三相异步电动机SVPWM开环调速控制程序(软件法)的Simulink工程包、SVPWM控制PMSM电机时正转和反转是怎么控制的、FOC电流环的调试步骤是怎么样的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9680343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存