1 / 13

直流电机调速控制系统设计

直流电机调速控制系统设计. 5 、直流电机调速控制系统设计. PWM 是脉冲宽度调制的简称。实际上, PWM 波也是一个连续的方波,但在一个周期中,其高电平和低电平的占空比是不同的。一个典型 PWM 的波形如图所示。. 图中, T 是 PWM 波的周期, T1 是高电平的宽度, Vcc 是高电平值。当该 PWM 波通过一个积分器后(低通滤波器)后,我们可以得到其输出的平均电压为:

Download Presentation

直流电机调速控制系统设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 直流电机调速控制系统设计

  2. 5、直流电机调速控制系统设计 PWM是脉冲宽度调制的简称。实际上,PWM波也是一个连续的方波,但在一个周期中,其高电平和低电平的占空比是不同的。一个典型PWM的波形如图所示。

  3. 图中,T是PWM波的周期,T1是高电平的宽度,Vcc是高电平值。当该PWM波通过一个积分器后(低通滤波器)后,我们可以得到其输出的平均电压为:图中,T是PWM波的周期,T1是高电平的宽度,Vcc是高电平值。当该PWM波通过一个积分器后(低通滤波器)后,我们可以得到其输出的平均电压为: 式中,T1/T称为PWM波的占空比。调节和改变T1的宽度,即改变PWM的占空比,就可以得到不同的平均电压输出。因此在实际应用中,常利用PWM波的输出,实现D/A转换,调节电压或电流改变马达的转速,实现变频控制等功能。

  4. 5.1 T/C0相关寄存器 T/C控制寄存器-TCCR0 Bit6,3–WGM01:0:波形产生模式 这几位控制计数器的计数序列,计数器的最大值TOP,以及产生何种波形。T/C0支持的模式有:普通模式,比较匹配发生时清除计数器模式(CTC),以及两种PWM模式(快速PWM和相位修正PWM)。 在本项目中我们使用快速PWM模式,即WGM0[1:0]=3。

  5. 快速PWM模式可用来产生高频的PWM波形。快速PWM模式与其他PWM模式的不同之处是其单斜坡工作方式。快速PWM模式可用来产生高频的PWM波形。快速PWM模式与其他PWM模式的不同之处是其单斜坡工作方式。 计数器从BOTTOM计到MAX,然后立即回到BOTTOM重新开始。 对于普通的比较输出模式,输出比较引脚OC0在TCNT0与OCR0匹配时清零,在BOTTOM时置位。 对于反向比较输出模式,输出比较引脚OC0在TCNT0与OCR0匹配时置位,在BOTTOM时清零。 由于使用了单斜坡模式,快速PWM模式的工作频率比使用双斜坡的相位修正PWM模式高一倍。此高频操作特性使得快速PWM模式十分适合于功率调节,整流和DAC应用。

  6. 快速PWM模式时序图

  7. 工作于快速PWM模式时,比较单元可以在OC0引脚上输出PWM波形。设置COM01:0为2可以产生普通的PWM信号;为3则可以产生反向PWM波形。工作于快速PWM模式时,比较单元可以在OC0引脚上输出PWM波形。设置COM01:0为2可以产生普通的PWM信号;为3则可以产生反向PWM波形。 要想在引脚上得到输出信号还必须将OC0的数据方向设置为输出。。 输出的PWM频率可以通过如下公式计算得到: 变量N代表分频因子(1、8、64、256或1024)。

  8. 输出比较寄存器-OCR0 输出比较寄存器包含一个8位的数据,不间断地与计数器数值TCNT0进行比较。匹配事件可以用来产生输出比较中断,或者用来在OC0引脚上产生波形。

  9. 5.2 硬件电路设计

  10. 从图中可以看出: 除了直流电机外,还在T/C0的OCR0的输出管脚上连接了示波器,用来观察PWM波形的占空比。 使用了两个按键用来调节占空比。

  11. 5.3 软件设计 /****************************************************************************** *作 者:电子工程学院 *功 能:T0快速PWM初始化函数 *入口参数:占空比 *返 回 值:无 ******************************************************************************/ void T0_FastPWM_Init(uint8 pwm_duty) { uint8 duty_temp; duty_temp=(uint8)((float)(pwm_duty)*256/100); TCCR0=0x00; TCNT0=0x00; //设置占空比 OCR0=duty_temp; //WGM01:0=3:设置T/C的工作模式为快速PWM模式,TOP值为0xFF //COM01:0=2:比较匹配发生时OC0A清零,计数到TOP时OC0置位 //CS02:0=1:时钟不分频,PWM频率为1000000/1/256=3906.25Hz TCCR0=0x69; }

  12. /**************************************************************/************************************************************** *作 者:电子工程学院 *功 能:INT0中断服务函数 *入口参数:无 *返 回 值:无 *注意事项:1、中断向量号:2 **************************************************************/ #pragma interrupt_handler INT0_isr:2 void INT0_isr(void) { TC0_PWM_Duty+=5; if(TC0_PWM_Duty>95) TC0_PWM_Duty=95; T0_FastPWM_Init(TC0_PWM_Duty); }

  13. /**************************************************************/************************************************************** *作 者:电子工程学院 *功 能:INT1中断服务函数 *入口参数:无 *返 回 值:无 *注意事项:1、中断向量号:3 **************************************************************/ #pragma interrupt_handler INT1_isr:3 void INT1_isr(void) { TC0_PWM_Duty-=5; if(TC0_PWM_Duty==0) TC0_PWM_Duty=5; T0_FastPWM_Init(TC0_PWM_Duty); }

More Related