基于ATmega8单片机的SPWM调制信号的实现

合集下载

基于mega8的pwm控制输出(icc下)

基于mega8的pwm控制输出(icc下)

一、设计内容该设计是利用A VR mega8L内部的定时/计数器可输出PWM波以及LED灯器件,设计一个按键可调LED灯亮度的电路。

设计的电路,通过两个按键,可以调节单片机输出PWM 波的占空比,从而调节LED灯的亮度。

二、基本原理PWM波是由mega8L的内部定时/计数器输出的。

Mega8的快速PWM模式可用来产生高频的PWM波,在TCNT1里设置TOP值,再设置TCR1A的值用之与TCNT1的值匹配产生PWM。

然后利用这个原理,改变TCR1A寄存器的值来调控PWM波的占空比,从而令一个周期内的高低电平产生变化,输出到LED灯上,LED灯的亮暗就会随着高低电平而变化。

三、系统硬件设计1)电源系统:此电源系统的功能是将AC220V经过整流,降压输出5V的DC供mega8的运行。

在稳压部分用四个电容滤波,两个470u电解电容用于滤去高频波,两个0.1u贴片电容用于滤去低频波。

2)Avr mega8单片机系统:此系统用于发生PWM波,按键1和2用于调节PWM的占空比。

LED1用于检测调节PWM波是否成功。

LED前选择330欧电阻用于限流,防止电流过大而容易引至LED灯烧坏。

LED2位置的是总电压4.9V,4.9/330=0.015A=15mA,符合LED工作电流小于20mA的要求。

四、系统软件程序的设计1)流程图:2)C语言程序:#include <iom8v.h>#include <macros.h>void port_init(void){PORTB = 0x02; //端口输出高电平DDRB = 0x02; //初始化PB1为输出口PORTC = 0x30; //内建上拉电阻打开DDRC = 0x00; //初始化PC4、PC5为输入口PORTD = 0x00;DDRD = 0x00;}void timer1_init(void){TCCR1B = 0x00; //stopTCNT1 = 0x00ff; //setup //设置TOP值为0x00ffTCCR1A = 0b10100001; //COM1A1、COM1B1、WGM10置位TCCR1B = 0b00001001; //WGM12、CS1置位//设置T1计数寄存器为8位快速PWM模式;无预分频}//call this routine to initialize all peripheralsvoid init_devices(void){//stop errant interrupts until set upCLI(); //disable all interruptsport_init();timer1_init();MCUCR = 0x00;GICR = 0x00;TIMSK = 0x00; //timer interrupt sourcesSEI(); //re-enable interrupts//all peripherals are now initialized}void dalaynms(unsigned int j) //延时程序{unsigned char i;while(j>0) //当输入j=500,延时约500ms{for(i=0;i<187;i++){asm("nop"); //插入汇编空操作指令,目的是耗掉cpu的一个周期}j--;}}void main(){unsigned char l=64;init_devices();OCR1A = 64;while(1) //检测按键按下否{if((PINC&(1<<PC5))==0) //当键2按下,PWM波占空比减少{dalaynms(500); //延时程序,防抖动l-=6.4;OCR1A=l;if(l<=6.4){l=6.4; //当占空比等于十进制6.4之后,不再减少OCR1A=l;}}if((PINC&(1<<PC4))==0) //当键1按下,PWM波占空比增大{dalaynms(500);l+=6.4;OCR1A=l;if(l>=128) //当占空比等于十进制128后,不再增大{l=128;OCR1A=l;}}}}今次设计,将PWM波分20级,最大值为十进制的128,每一级为十进制数的6.4,因为占空比到50%时,LED灯已经足够亮,再继续增大高电平的比例LED灯的亮度已经无明显变化。

SPWM算法的分析与实现

SPWM算法的分析与实现

SPWM算法的分析与实现SPWM算法的基本原理是通过对比参考波形和三角波形来生成PWM信号。

参考波形是所需输出的交流电信号的波形,而三角波形是由频率为基准频率的三角波信号生成的。

通过比较两者的幅值,可以确定开关器件的导通和关断时间,从而控制输出电压的波形。

SPWM算法的核心是调制信号的生成。

调制信号是一个频率和幅值可调的信号,用于控制开关器件的导通和关断时间。

常见的调制信号有正弦波、三角波和锯齿波等。

在SPWM算法中,使用三角波作为调制信号,因为三角波信号的频率很容易调节。

1.生成三角波信号:通过计数器和查表法生成频率可调的三角波信号。

计数器的计数范围根据所需输出的频率进行设置。

2.生成参考波形:参考波形是输出交流电信号的理想波形。

可以根据所需输出的波形进行选择,常见的有正弦波、方波等。

参考波形可以通过查表法或者数学函数计算生成。

3.比较参考波形和三角波形:将参考波形和三角波形进行比较,确定开关器件的导通和关断时间。

如果参考波形的幅值大于三角波形的幅值,则开关器件导通;反之,则关断。

4.控制开关器件的导通和关断时间:根据比较结果,控制开关器件导通和关断时间的长度。

导通时间越长,输出电压的幅值越大;导通时间越短,输出电压的幅值越小。

5.输出PWM信号:根据开关器件导通和关断的时间长度,生成PWM信号。

PWM信号控制开关器件的导通和关断,进而控制输出电压的幅值和频率。

在实际的应用中,SPWM算法还需要考虑一些问题。

例如,如何解决开关器件的导通和关断的过渡问题,以及如何进行电流和电压保护等。

此外,为了提高系统的稳定性和抗干扰性,还需要添加滤波器和反馈控制等。

总结起来,SPWM算法是一种常用的电力调制技术,通过调整电压的幅值和频率来控制输出的交流电波形。

它主要通过参考波形和三角波形的比较来生成PWM信号,控制开关器件的导通和关断时间。

在实际应用中,还需要解决过渡问题和进行保护措施,以提高系统的性能和稳定性。

SPWM原理以及具体实现方法

SPWM原理以及具体实现方法

SPWMSPWM(Sinusoidal PWM)法是一种比较成熟的,目前使用较广泛的PWM法.前面提到的采样控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同.SPWM法就是以该结论为理论基础,用脉冲宽度按正弦规律变化而和正弦波等效的PWM波形即SPWM波形控制逆变电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值.定义我们先说说什么叫PWMPWM的全称是Pulse Width Modulation(脉冲宽度调制),它是通过改变输出方波的占空比来改变等效的输出电压。

广泛地用于电动机调速和阀门控制,比如我们现在的电动车电机调速就是使用这种方式。

所谓SPWM,就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规率排列,这样输出波形经过适当的滤波可以做到正弦波输出。

它广泛地用于直流交流逆变器等,比如高级一些的UPS就是一个例子。

三相SPWM是使用SPWM模拟市电的三相输出,在变频器领域被广泛的采用。

该方法的实现有以下几种方案。

1.3.1等面积法该方案实际上就是SPWM法原理的直接阐释,用同样数量的等幅而不等宽的矩形脉冲序列代替正弦波,然后计算各脉冲的宽度和间隔,并把这些数据存于微机中,通过查表的方式生成PWM信号控制开关器件的通断,以达到预期的目的.由于此方法是以SPWM控制的基本原理为出发点,可以准确地计算出各开关器件的通断时刻,其所得的的波形很接近正弦波,但其存在计算繁琐,数据占用内存大,不能实时控制的缺点.1.3.2硬件调制法硬件调制法是为解决等面积法计算繁琐的缺点而提出的,其原理就是把所希望的波形作为调制信号,把接受调制的信号作为载波,通过对载波的调制得到所期望的PWM波形。

通常采用等腰三角波作为载波,当调制信号波为正弦波时,所得到的就是SPWM波形。

基于Atmega8无线信号软件编解码的实现方法及性能分析

基于Atmega8无线信号软件编解码的实现方法及性能分析

基于Atmega8无线信号软件编解码的实现方法及性能分析邵平凡;陈华斌
【期刊名称】《福建电脑》
【年(卷),期】2009(025)008
【摘要】无线通信在现实生活中的应用范围非常广泛,无线信号的编解码是其中一个重要的技术环节.本文介绍一种软件编解码方法,实验模型采用AVR单片机ATMEGA8,着重对编解码原理、程序流程、定时器的使用等内容进行阐述,并给出了性能分析和相关结论.
【总页数】2页(P115-116)
【作者】邵平凡;陈华斌
【作者单位】武汉科技大学计算机学院,湖北,武汉,430081;武汉科技大学计算机学院,湖北,武汉,430081
【正文语种】中文
【中图分类】TP3
【相关文献】
1.一种基于H.263的实时软件编解码器实现方案 [J], 赵军军
2.基于面向对象方法的ASN.1编解码的设计与实现 [J], 李贺禄;蒋凡;杨敬峰;高翔
3.基于面向对象的语音编解码软件的设计实现 [J], 王萍;陈相宁;王京;石磊
4.基于面向对象方法的XER编解码的设计与实现 [J], 李贺禄;蒋凡;杨敬峰;高翔
5.基于软件定义无线网络的协作式路由实现和性能分析 [J], 费宁;徐力杰;成小惠
因版权原因,仅展示原文概要,查看原文内容请购买。

基于单片机的SPWM变频调速器设计

基于单片机的SPWM变频调速器设计

摘要变频器具有调速精度高、响应快、保护功能完善、过载能力强、节能显著、维护方便、智能化程度高、易于实现复杂控制等优点。

从变频器技术发展来看,电动机交流变频技术将成为今后工业自动化的主要对象之一,是当今节能、节电、改善工艺流程,以及提高产品质量和改善环境、推进技术进步的一种主要手段。

变频器的发展趋势是小型化、智能化、多功能、大容量、低价格的方向。

本文重点介绍了C8051F040单片机硬件和软件设计,硬件电路方面详细阐述了单片机的最小系统及外围电路;软件设计方面,首先,通过单片机的可编程计数器阵列PCA来实现输出频率可变的正弦脉宽调制控制波形,具体包括PCA的设置和16位SPWM实现的软件编程;其次,给出单片机内部的频率捕捉程序和软件设计;最后,分析了单片机最小脉冲的解决方法。

该SPWM波形控制方法简单,精度较高,效率高,实时性好。

目前市场相继推出的数字式SPWM变频器中,大多数都采用了专用的SPWM 芯片(如HEF4752,SLE480).这样可以使编程简单,但增加了投入,鉴于此,本设计主要是通过单片机的控制,产生SPWM波形的变频器,从而降低变频器的成本,可以使变频器得以推广。

关键词:单片机,SPWM ,变频器DESIGN OF SPWM FREQUENCY CONVERTER BASED ON SINGLE CHIP MICROCOMPUTERABSTRACTFrequency converter speed control precision, fast response, good protecting function, strong overload capacity, energy saving significantly, convenient maintenance, high intelligent degree, easy to realize complex control, etc. From the inverter technology, ac. frequency conversion electric motor technology will become one of the main object in industrial automation, is the energy saving, power saving, improve process flow, and improve product quality and improve the environment, one of the main means to promote technological progress. Inverter is the development trend of miniaturization, intelligent, multi-functional, large capacity, low price direction.This article focuses on the C8051F040 microcontroller hardware and software design, hardware circuit aspects in detail elaborated the SCM smallest system and the peripheral circuit; Software design aspects, first of all, through the single-chip microcomputer programmable counter array PCA to realize the output variable frequency sinusoidal PWM control waveform, including the setting of PCA and 16-bit SPWM realization of software programming; Second, given the frequency of thesingle chip microcomputer internal capture program and software design; Finally, the paper analyzes the single chip microcomputer minimum pulse solutions. The SPWM waveform control method is simple, high precision, high efficiency and good real-time.Launched digital SPWM inverter in the market at present, most of them adopt the SPWM dedicated chip (such as HEF4752, SLE480). This allows the programming is simple, but increase the investment, in view of this, this design is mainly controlled by MCU, produces SPWM waveform of the inverter, and reduces the cost of the inverter, can make the inverter to promotion.KEY WARDS:single chip microcomputer, SPWM, the inverter目录摘要 (I)1 绪论 (1)1.1 国内外的发展现状 (1)1.1.1 国内的发展现状 (1)1.1.2 国外的发展现状 (1)1.2 研究背景 (2)1.3 本论文的组织和结构 (3)2 变频器的控制及其原理 (4)2.1 变频器简介 (4)2.1.1 变频器的分类 (4)2.1.2 变频器的应用领域 (4)2.2 变频器的原理 (4)2.2.1 交——交变频 (4)2.2.2 交——直——交变频 (5)2.2.3 变频器的电路图 (6)2.3 SPWM变频器IGBT输出的调制方式 (7)2.3.1 SPWM原理 (7)2.3.2 SPWM的调制方式 (8)2.4 U/f的控制方式 (11)3 硬件设计 (13)3.1 硬件系统原理框图及其总体方案 (13)3.1.1 系统结构框图 (13)3.1.2 专用芯片SLE4520结构及简介 (13)3.2 C8051单片机简介 (15)3.2.1 单片机的发展 (15)3.2.2 单片机的最小系统 (15)3.2.3 单片机的键盘及显示电路 (16)3.3 IGBT驱动及其电路 (20)3.3.1 IGBT简介 (20)3.3.2 IGBT驱动 (20)3.3.3 IGBT的保护电路 (22)3.4 控制电路设计 (23)4 软件设计 (25)4.1 SPWM波的生成 (25)4.1.1 计数器阵列PCA (25)4.1.2 SPWM波形的生成 (27)4.2 16位的SPWM软件编程 (28)4.3 频率的捕捉程序 (29)4.4 最小脉冲问题分析 (30)5 结论与展望 (31)5.1 变频器的结论 (31)5.2 设计的展望 (31)参考文献 (33)致谢 (36)1 绪论随着电力电子技术和微机控制技术的进步,为交流电力拖动的开发创造提供了更有利的发展条件。

基于MATLAB的SPWM电压型逆变器的仿真与分析

基于MATLAB的SPWM电压型逆变器的仿真与分析

基于MATLAB的SPWM电压型逆变器的仿真与分析作者:周胜兰来源:《电子技术与软件工程》2015年第06期摘要基于MATLAB软件中的Simulink和Power System Blochset,建立了以IGBT为开关器件、有数字PI调节器的SPWM电压型逆变器的仿真模型,分析了主电路及控制电路的工作原理,完成了逆变器输出特性的仿真。

并采用FFT分析工具对仿真结果进行谐波分析。

【关键词】SPWM 电压型逆变器数字PI调节器1 SPWM基本原理SPWM调节是以等腰三角波为载波,正弦波为调制波,当三角载波与正弦调制波波形曲线相交时,在交点处的时刻点将会产生控制信号,此控制信号便是用来控制功率开关器件的通断的,如此便可得到一组相等幅值,而脉宽正比于对应区间正弦波曲线函数值的矩形脉冲。

每一个矩形脉冲的面积与相应坐标处的正弦波面积一致,因而这一组矩形波与期望的矩形波等效。

这种调制法称为正弦脉冲宽度调制法(SPWM),这种序列的矩形波称作SPWM波。

2 三相SPWM电压型逆变器控制系统基本原理该系统实现的功能是完成电压的逆变,即将直流输入电压变换成交流输出电压。

由整流二极管构成的不控整流电路为三相桥式逆变器系统提供直流输入电压,SPWM实现脉宽调制,数字PI调节器能依据实际要求实时地调节逆变器的输出电压幅值,完成调压控制。

三相桥式逆变器的输出交流电压中一般含有较高次的谐波,经LC滤波电路后可有效的滤掉高次谐波,最后经全控型器件即组成完整的三相电压型逆变器。

3 三相SPWM电压型逆变器的建模与仿真利用Matlab软件,在Simulink环境下的Power System仿真工具箱搭建的三相SPWM电压型逆变器的系统电路模型。

系统主电路实现的是交流-直流-交流的转换。

交流发电机输出有效值25KV,频率60HZ,容量10MVA的正弦交流电压,经过25KV/600V,50kVA的变压器降压后,通过一个由二极管构成的三相桥式不控整流电路,再经LC滤波电路滤掉高次谐波获得的直流电压,作为逆变器的输入电压,该逆变器由绝缘栅双极型晶体管 IGBT作为开关器件,且载波频率为2kHZ。

Atmega8输出PWM波的仿真实验

Atmega8输出PWM波的仿真实验
PORTD=0X00;//D端口初始化
DDRD=0XFF;//数据D端口显示
/***** T/C1初始化************/
//T/C1控制寄存器:
TCCR1A=0xA1;//8位快速PWM(p91),匹配时清零,TOP:255(0x00ff)
//pwm频率=时钟频率/(0(无分频)+(1+255(top))
while(1)
{
for(i=0;i<500;i++);//延时
OCR1A=ADCH;//把AD转换的值赋给OCR1A寄存器,使得PWM的占空比随AD转化的值变化
PORTD=ADCH;//如果转换结果为左对齐,那么仅需读取ADCH ,否则必须先读出ADCL再读ADCH
}
}
二、仿真经过及结果:
8个LED灯从上到下分别接PD0—PD7,即由低位到高位。从图一到图七演示了电压从最高5V降到最低0V,占空比随之变小的经过,其中图四为占空比1/2时的画面。
A
一、硬件部分:
1.AD转换:
由引脚ADC0(PC0)输入0—5V变化的模拟电压量(通过调节变阻器实现),经由内部AD转换得到8位二进制数字量,数据传给D端口,控制8个LED的亮灭以显示这8位二进制数。
2.PWM控制输出电压(DA转换):
DA转换通过改变PWM波的占空比来实现,其中单片机OCR1A(输出比较寄存器)寄存器控制PWM波的占空比,将AD转换的数字量赋值给OCR1A寄存器,则PWM波的占空比将会随着AD转换值的改变相应的改变,通过PWM波输出端口PB1输出波形,PB1端口通过低通滤波器输出的电压实现了数字量转变为模拟量的过程,即实现了DA转换。
图一

TCCR1B=0x09;//输出比较寄存器

SPWM原理以及具体实现方法

SPWM原理以及具体实现方法

SPWM原理以及具体实现方法SPWM(Sinusoidal Pulse Width Modulation)是一种通过改变脉冲宽度来实现正弦波形输出的调制技术。

它是一种广泛应用于交流调速、无线电通信、音频音频处理等领域的调制技术。

本文将详细介绍SPWM的原理和具体实现方法。

一、原理SPWM的基本原理是将一个固定频率的三角波和一个可变频率的正弦波进行比较,通过改变正弦波的频率和三角波的升降沿来控制输出脉冲的宽度,从而实现输出波形的调制。

具体实现方式如下:1.生成三角波:首先需要生成一个固定频率的三角波,可以使用计数器、比较器和数字-模拟转换器等元件实现。

计数器用于产生固定频率的方波信号,比较器用于将方波信号转换为三角波信号,数字-模拟转换器用于将三角波信号转换为模拟电压信号。

2.生成正弦波:使用正弦函数生成一个可变频率的正弦波,频率根据应用需求决定。

一般使用时钟、计数器和查表法实现,通过改变时钟的计数值和查表法来调整正弦波的频率。

3.比较器:将三角波和正弦波进行比较,比较的方法可以使用电压比较器或者运算放大器进行。

根据比较结果,可以确定脉冲的宽度。

4.输出脉冲:通过改变脉冲的宽度来控制输出波形的幅值大小。

当三角波的斜率大于正弦波时,输出脉冲宽度增大;当三角波的斜率小于正弦波时,输出脉冲宽度减小。

5.滤波器:通过滤波器对输出脉冲进行处理,去除高频成分,得到带有基波的正弦波。

SPWM的具体实现方法依赖于所使用的平台和应用需求。

下面以数字信号处理平台为例,介绍SPWM的具体实现方法。

1.生成三角波:使用计数器和比较器,生成一个固定频率的三角波信号。

计数器的计数范围决定了三角波的周期,比较器将计数器的输出进行比较并产生三角波信号。

2.生成正弦波:可以通过使用FPGA或DSP等处理器实现正弦波的生成。

根据所需频率和精度,使用查表法或数学函数生成正弦波信号。

3.比较器:将三角波和正弦波进行比较,可以使用比较器模块实现比较操作。

基于ATmega8的PWM双闭环直流调速设计论文

基于ATmega8的PWM双闭环直流调速设计论文

本论文主要是对双闭环PWM直流调速系统的研究,实现对电动机的数字化控制。

在设计中,对PWM直流调速的原理、双闭环直流调速原理和特点进行了全面阐述。

为实现系统的微机数字化控制,采用了ATmega8作为整个控制系统的核心部分,配以显示、驱动、测量等模块,实现对电动机转速参数的显示和测量。

硬件组成包括ATmega8单片微机、电流检测模块、转速检测模块、保护模块、键盘模块、显示模块、直流电机驱动模块等组成。

在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,为了提高控制系统的性能和可靠性,设计中,对电流环和转速环采用PID调节器。

在软件实现中,本系统采用增量式PID控制算法来改变PWM的占空比,在硬件结构上采用了集成电路模块,简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。

实现了直流电动机的实时数字PWM控制,具有控制方便、组态简单和灵活性大等优点。

关键词:ATmega8单片机;直流电机;PWM调速; 双闭环; PIDThis paper is mainly to the double loop DC speed control system of study PWM, to achieve the digital control of DC motor. In the design, the principle of the PWM DC Motor Speed Control, the principle and characteristics of Double Closed Loop DC Speed Control are analyzed comprehensively expounded. For the realization of digital control computer system, using the ATmega8, as the core of the whole control system, together with the display, drive, measurement modules, to achieve the motor speed parameter display and measurement. Hardware includes the ATmega8 single chip microprocessor, the current detection module, speed detection module, protect module, keyboard module, the display module, the driver module of DC motor and other components. In the design, using PWM control mode, through changing the PWM duty cycle to change the motor armature improve the control performance and reliability of the system, the design of current loop and rotational speed, using PID regulator. In this system, the software realization of incremental PID control algorithm is adopted to realize PID parameters of the system and the software programming realize speed current digital PID adjuster operations and generate digital PWM waves.In the software implementation, the system uses the incremental PID control algorithm to change the PWM duty cycle. In the hardwarestructure of integrated circuits using modules, greatly simplified the hardware circuit, improve the stability and reliability of the system, the system's performance improved. It realizes the real-time digital PWM motor control, with convenient control, simple and flexible configuration advantages.Key words: ATmega8 microcontroller; DC motor: PWM Speed Regulator; Double closed loop; PID目录1 绪论 (6)1.1 课题的背景和意义 (6)1.2 课题研究的主要内容 (7)2 直流电机PWM调速原理和总体方案确定 (7)2.1直流电机PWM调速原理 (7)2.2 PWM脉冲产生方式 (9)2.3 双闭环直流调速系统的介绍 (10)2.3.1 双闭环直流调速系统的工作原理 (10)2.3.2 双闭环调速系统的作用 (12)2.3.3 数字双闭环直流调速系统 (12)3 系统总体方案分析与设计 (13)3.1系统总体方案的分析 (13)3.2 系统总体方案的设计 (13)4 系统硬件电路设计 (14)4.1 ATmega8单片机最小系统 (14)4.1.1 ATmega8的简介及特点 (14)4.1.2 ATmega8单片机的最小系统的其他电路设计 (16)4.2 电源模块电路设计 (17)4.3 直流电机驱动模块设计 (18)4.3.1 H桥驱动电路原理 (18)4.3.2 直流电机驱动电路设计 (18)4.4 隔离模块电路设计 (21)4.5 键盘电路设计 (22)4.6 速度和电流检测模块电路设计 (24)4.6.1 速度检测电路设计 (24)4.6.2 电流检测电路设计 (26)4.7 转速显示电路模块设计 (26)4.8 串行通信模块电路设计 (27)5电机控制策略的研究 (28)5.1 PID算法 (28)5.2 数字滤波算法 (32)6 系统软件设计 (33)6.1 主程序设计 (33)6.2 初始化程序设计 (34)6.3 中断服务子程序设计 (34)7 总结与展望 (38)参考文献 (39)附录..................................................... 错误!未定义书签。

基于单片机生成SPWM信号控制电机实现变频调速的设计

基于单片机生成SPWM信号控制电机实现变频调速的设计

目前市场上常见设备 的电机 , 多使 用调整皮带在不 同直径 的皮 带槽运 转来实 现调速 , 而这 种方法存 在需要停 机 、 费时费 力、 不可连续 调速等诸 多缺点 。为改善 对上述缺 点 , 多采用 可 连续 调速的 C V T变速 装置 , 但是 C V T 变速装置 同样存在不易 于 加工 、 造价高等缺点 。 、 针对如上 问题 , 采用 微处理 器结合驱 动 电路 , 在 不改变 电 动机输 出扭力 的同时使其转速连续可调 , 成为 了一种切 实可行
De s i g n o f S i n g l e Ch i p Co mp u t e r t o Ge n e r a t e t h e I mp l e me n t a t i o n o f Va r i a b l e Fr e q u e n c y S p e e d Re g u l a t i o n Mo t o r Co n- t r o l S i g n a l Ba s e d o n S PW M
I s S N l O 0 9 —3 0 4 4
E - ma i h k f y j @d n z s . n e t . c n
h t t p: / / www. d nz s . n e t . c n
C o m p u t e r K n o w l e d g ea n dT e c h n o l o g y电脑知识与技术
LV Di 、
( We i h a i Vo c a t i o n a l Co U e g e , We i h a i 2 6 4 2 1 0 , Ch i n a )
Abs t r a c t :A i mi ng a t t he p r o bl e m o f c omm on mo t or s pe e d c o nt r o l e q ui p me nt ,pr o pos e d us e s t he mi c r op r oc e s s or a c c or d i n g t O

ATmega8中使用定时器产生PWM输出信号

ATmega8中使用定时器产生PWM输出信号

ATmega8中使用定时器产生PWM输出信号对于ATmega8来说可以通过T/C1和T/C2定时器来产生三路PWM 输出信号供外部器件使用。

快速PWM 的产生就是先设定一个TOP值再设定一个比较值,然后,计数器开始计数,比如保持输出1,计数到设定的比较值时,电平变为0,并维持,然后继续计数到TOP电平再变为1,如此重复循环.1.T/C1可以产生2路(OC1A即PB1 OC1B即PB2).T/C2产生一路(OC2即PB3).2.需要设定T/C1的寄存器有四个 TCCR1A TCCR1B(这两个寄存器一起决定了两路PWM信号的产生方式,频率和TOP值)OCR1A(此值/TOP就是占空比) OCR1B(设定第二路PWM的占空比)2.需要设定T/C2的寄存器有2个 TCCR2(同理,这个寄存器决定了第三路PWM信号的产生方式,频率和TOP 值 )OCR2(这个寄存器决定占空比)上面所述只能产生几个固定频率的PWM信号(占空比可以随便调),并且前两路的频率是一样的.如果想产生自己想要频率的PWM,需要用OCR1A设定OCR1B的TOP值,由OCR1B产生PWM,此时OCR1A只能产生占空比50%的PWM.下面是我用ATmega8产生三路频率31.25K,占空比分别为1/3 1/2 2/3 PWM 的程序. 8M#include <avr/io.h>void main(void){PORTB=0x00;DDRB=0x0E;// T/C1 初始化TCCR1A=0xA1;TCCR1B=0x09; //匹配时清零,TOP:255,频率:8M/256=31.25KOCR1A=85; //占空比:1/3OCR1B=128; //占空比:1/2// T/C2 初始化TCCR2=0x69; //匹配时清零,TOP:255,频率:31.25KOCR2=170; //占空比:2/3while (1);}用示波器观察过,占空你很精确,频率实测是30.22K,与理论值有点误差,可能频率高了,精确度就达不到了. 我把注释再做详细一些,发上来。

基于ATmega8的直流电机PWM调速控制系统设计与实现

基于ATmega8的直流电机PWM调速控制系统设计与实现
PWM将占空比(电机电枢电压接通时间与通电 周期的比值)不同的脉冲变成不同的电压来驱动直流 电机转动,通过改变占空比,得到不同的转速,实现 电机启动、停止、和反转等功能。
单片机通过比较预设速度与实测速度的偏差,经 PID 算法得出控制量,根据控制量改变PWM 信号的输 出脉宽,经驱动电路功率放大后实现对电机速度的控 制,然后循环进入下一个控制周期。 3.驱动电路原理
Hale Waihona Puke 2.数字PID控制器[1]
在控制系统中,将输出量与给定量之间的偏差的
比例P、积分I、微分D通过线性组合构成控制量的PID
控制器获得了广泛的应用,它参数整定方便,结构更
改灵活。
PID表达式:
图5:位置式数字PID控制算法简化示意图
采用全量算法,通过差分代微分,可将表达式化 简为:
其中:


u(k)——第K个采样时刻的控制量;KP——比例
P W M 接 A T m e g a 8 的 O C R 1 A 脚 P W M 信 号 输 出 , 时间,据此即可计算出电机的转速。利用PID算法,
IN1、IN2接电机正反转控制信号;PWM、IN1和IN2具 将实时采集的电机转速值与设定值进行比较,得出偏
体逻辑功能见表1:
差,利用软件编程实现转速调节。
一、引言
直流电机因具有良好的线性调速特性、效率高、 控制简单、调速性能好及体积小等优点得到了广泛使 用。常规电机调速控制方法中,电机工作不稳定,损 耗较大,尤其在低电压轻负荷时情况更为严重,且工 作频率受电源频率的限制, 难以满足高精度的调速要 求,不利于广泛推广[1]。
如何才能使电路具有成本低、控制精度高、调试 修改参数方便,且能方便和灵活地适用于大功率、可 靠性高的直流电机控制系统中,是我们研究的目的。

基于单片机实现SPWM制作空调变频器

基于单片机实现SPWM制作空调变频器

基于单片机实现SPWM制作空调变频器SPWM(Sinusoidal Pulse Width Modulation,正弦脉宽调制)是一种通过改变脉冲宽度来调制正弦波形的技术。

在空调变频器中,SPWM被用来控制空调压缩机的转速,从而实现空调运行的频率调节。

1.信号采集:空调变频器需要采集环境温度和设定温度信号。

可以通过温度传感器采集环境温度,并通过按钮或旋钮等输入设备采集设定温度信号。

2.控制算法:控制算法主要包括温度控制算法和SPWM生成算法。

温度控制算法根据环境温度和设定温度计算出控制信号。

SPWM生成算法根据控制信号生成相应的SPWM波形。

3.SPWM输出:根据SPWM生成算法生成的波形,控制输出信号,控制空调压缩机的转速。

通过改变脉冲的占空比,改变压缩机的电流和电压,从而控制压缩机的运行频率。

4.过温保护:在空调变频器中,还应该添加过温保护功能,以避免设备超过安全温度。

可以使用温度传感器检测设备温度,并在温度超过安全限制时触发过温保护措施,例如关闭空调压缩机。

在实际实现过程中,可以使用一块适配单片机的PWM模块来生成SPWM波形。

通过调整PWM的占空比和频率,可以改变SPWM的周期和幅值,从而实现空调压缩机的转速调节。

此外,为了保证空调变频器的稳定运行,还可以加入软起动、过压保护、电流保护等功能。

软起动可以避免空调压缩机在启动时产生过大的冲击电流;过压保护可以保证电压在合适范围内,避免对设备损坏;电流保护可以监测压缩机输出电流,避免过大的电流对设备造成损害。

总结起来,基于单片机实现SPWM的空调变频器需要进行信号采集、控制算法设计、SPWM输出和各种保护措施设计。

通过合理的控制算法和SPWM生成,可以实现空调压缩机的转速调节,从而实现空调的变频控制,提高能效和舒适度。

本科毕业设计---基于单片机的spwm控制系统设计

本科毕业设计---基于单片机的spwm控制系统设计

本科毕业设计题目:基于单片机的SPWM控制系统设计学院: 信息科学与工程学院专业:学号:学生姓名:指导教师:日期:摘要论文主要目的建立基于单片的SPWM调控系统,即用单片机产生SPWM波,其中,脉冲的宽度按正弦规律变化而和正弦波等效的PWM波形称为SPWM波。

本论文中主要是根据SPWM法的原理,即通过控制电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,并且在惯性环节上的效果基本相同,从而达到等效的效果。

根据这个原理,先利用MATLAB计算出基波与载波的交点,计算出交点之间的持续时间,根据持续时间的值在单片机程序中建立一个数组,数组中的元素就是赋予定时器的初值,当定时器溢出时,输出电平自动翻转,继而查表,赋予下一个电平的持续时间,这样一直反复下去,就可以得到一个SPWM波形。

最后在protues中仿真,在示波器中可以看到SPWM波的波形。

关键词:单片机;Matlab;查表;SPWM;仿真AbstractThe main purpose of the paper to establish a SPWM regulatory system based on single chip microcomputer , namely, Using a single chip microcomputer to generates SPWM wave,Among them, the pulse width changed by the law of sine is equal to the sine wave,this PWM wave calls SPWM wave.This paper is mainly based on the principle of SPWM law, namely, the switch-off device in the control circuit is on or off , So that the area of pulse voltage output and the area of the desired output sine wave in the corresponding sections are equal,And the effect on the inertia is substantially same, So as to achieve the equivalent effect, According to this principle, First using MATLAB to calculate the intersection of fundamental and carrier wave, Then calculating the duration between intersections, Based on the value of the duration ,Create an array in the microcontroller program, Elements in the array is initial value assigned to the timer, When the timer overflows, the output level will automatic reverse. Then look up table, Given the next duration of electrical level, Finally we simulate in protues ,then you can see the SPWM wave on the oscilloscope..Key words:Single chip microcomputer; MATLAB; Look-up table; SPWM; The simulation目录1 绪论 (1)1.1 研究的背景及意义 (1)1.2 研究目的及内容 (2)2 主电路工作原理 (4)2.1 PWM控制的基本原理 (4)2.2 SPWM法的基本原理 (5)2.3 PWM控制方法 (5)2.3.1 计算法 (5)2.3.2 调制法 (6)2.4 同步调制和异步调制 (6)2.4.1 异步调制 (6)2.4.2 同步调制 (6)2.5 规则采样法 (7)3 单极性和双极性PWM控制逆变电路分析 (9)3.1 单相桥式PWM逆变电路 (9)3.1.1 原理图 (9)3.1.2 单极性PWM控制方式 (9)3.2 双极性PWM控制方式 (10)4 基于MATLAB的分析以及交点计算 (12)4.1 MATLAB简介 (12)4.2 查表产生SPWM波理论分析 (12)4.3 Matlab计算程序及仿真图形结果 (13)5 单片机程序设计 (19)5.1 AT89C52介绍 (19)5.2 程序设计流程图 (22)5.3 C语言实现程序 (23)5.3.1 程序运行软件Keil uVision2简介 (23)5.3.2 主程序 (24)5.3.3 中断程序 (25)5.4 仿真工具protues介绍 (25)5.5 仿真电路图 (26)5.6 仿真显示 (26)6 结论 (28)参考文献 (29)致谢 (30)1 绪论1.1 研究的背景及意义随着科技的飞速发展,逆变器的使用越来越广泛,逆变器能够将直流电源转换为具有所需输出电压和频率的交流电源。

单片机指令的PWM信号生成和控制

单片机指令的PWM信号生成和控制

单片机指令的PWM信号生成和控制PWM(Pulse Width Modulation)脉宽调制技术被广泛应用于单片机控制系统中。

PWM信号的生成与控制对于电机驱动、灯光调节、温度控制以及音频处理等应用起到了重要作用。

本文将重点探讨单片机指令的PWM信号生成和控制的原理、实现方法以及常见应用。

一、PWM信号生成原理PWM信号是一种以方波信号为基础的调制信号,信号的占空比(Duty Cycle)决定了信号的高电平和低电平时间比例。

单片机通过改变占空比来实现对设备的控制。

常见的PWM生成方式有两种:软件生成PWM和硬件生成PWM。

软件生成PWM是通过编程计算电平切换的时间来实现,适合频率较低的应用。

硬件生成PWM则是利用单片机内部的定时器/计数器模块来产生PWM信号,适合频率较高的应用。

二、软件生成PWM信号软件生成PWM信号的关键在于精确计算出高电平和低电平的时间,并进行相应的IO电平切换。

以下是软件生成PWM信号的基本步骤:1. 初始化计时器:选择合适的定时器,并设置计时器的计数模式、计数时间、时钟源等参数。

2. 设置占空比:根据实际需求,计算出高电平和低电平的时间比例,即占空比。

3. 确定周期:根据应用需求,确定PWM信号的周期,即一个完整的方波信号的时间长度。

4. 计算高电平和低电平时间:根据占空比和周期计算出高电平和低电平的时间。

5. 控制IO电平:根据计算得到的时间,控制IO引脚的高电平和低电平。

6. 循环生成PWM信号:根据设定的周期,循环生成PWM信号,以实现对设备的控制。

三、硬件生成PWM信号硬件生成PWM信号利用单片机内部的定时器/计数器模块来产生精确的PWM信号。

硬件生成PWM的好处在于能够减轻CPU的负担,提高系统的实时性和稳定性。

以下是硬件生成PWM信号的基本步骤:1. 选择合适的定时器:根据需求选择适合的定时器,通常定时器/计数器模块都支持PWM信号的生成。

2. 初始化定时器:设置定时器的计数模式、计数时间、时钟源等参数。

AVR mega88产生SPWM波形

AVR mega88产生SPWM波形

/*********************************************************************目的: A VR产生SPWM波形目标系统: 基于A VR单片机应用软件: ICCA VR版本更新记录:注意事项:详见说明书系统时钟:8.00000MHzSPWM输出:OC1A,OC1B周期50HzT0用于调整正弦波周期,T1调整正弦波波形----------------------------------------------------------------------*/#include <iom88v.h>#include <macros.h>/*------宏定义------*/#define uchar unsigned char#define uint unsigned intflash uchar SinParam[234]={127, 130, 133, 136, 139, 142, 145, 148, 152, 155, 158, 160, 163, 166, 169, 172, 175, 178, 180, 183,186, 188, 191, 194, 196, 199, 201, 203, 206, 208, 210, 212, 214, 216, 218, 220, 222, 223, 225, 227,228, 230, 231, 232, 233, 235, 236, 237, 237, 238, 239, 240, 240, 241, 241, 241, 242, 242, 242, 242,242, 242, 241, 241, 241, 240, 240, 239, 238, 237, 237, 236, 235, 233, 232, 231, 230, 228, 227, 225,223, 222, 220, 218, 216, 214, 212, 210, 208, 206, 203, 201, 199, 196, 194, 191, 188, 186, 183, 180,178, 175, 172, 169, 166, 163, 160, 158, 155, 152, 148, 145, 142, 139, 136, 133, 130, 127, 124, 121,118, 115, 112, 109, 106, 102, 99, 96, 94, 91, 88, 85, 82, 79, 76, 74, 71, 68, 66, 63,60, 58, 55, 53, 51, 48, 46, 44, 42, 40, 38, 36, 34, 32, 31, 29, 27, 26, 24, 23,22, 21, 19, 18, 17, 17, 16, 15, 14, 14, 13, 13, 13, 12, 12, 12, 12, 12, 12, 13,13, 13, 14, 14, 15, 16, 17, 17, 18, 19, 21, 22, 23, 24, 26, 27, 29, 31, 32, 34,36, 38, 40, 42, 44, 46, 48, 51, 53, 55, 58, 60, 63, 66, 68, 71, 74, 76, 79, 82,85, 88, 91, 94, 96, 99, 102, 106, 109, 112, 115, 118, 121, 124};// 234点正弦波样本值uint x_SW =3,X_A =0, X_B =74; X_C=156;int s=0;//端口初始化void port_init(void){PORTB = 0x00;DDRB = 0x00;PORTC = 0x00;DDRC = 0x00;PORTD = 0x00;DDRD = 0x0F;}//定时器T0初始化void timer0_init(void){TCCR0A|=0x00;TCNT0=0xfC; // 确定中断的时间,0.05ms中断一次TCCR0B=0x02; // 8分频TIMSK0|=0x01; // T/C0 溢出中断使能}//定时器T0溢出中断服务程序////#pragma interrupt_handler timer0_ovf_isr:17void timer0_ovf_isr(void){X_A += x_SW; // 新样点指针if (X_A> 234) X_A -=234; // 样点指针调整OCR1AH = 0x00;OCR1AL = SinParam[X_A];//匹配A值X_B += x_SW; // 新样点指针if (X_B> 234) X_B -=234; // 样点指针调整OCR1BH = 0x00;OCR1BL =SinParam[X_B];//匹配B值TCNT1H = 0x00; //重装值高位TCNT1L = 0x00; //重装值低位s=~s;PORTD=s;}//定时T1初始化void timer1_init(void){DDRB|=(1<<PB1)|(1<<PB2);/*TCCR1B = 0x00;//停止定时器TIMSK1|= 0x00;//中断允许TCNT1H = 0x00;TCNT1L = 0x00;//初始值OCR1AH = 0x00;OCR1AL = 0x7F;//匹配A值OCR1BH = 0x00;OCR1BL = 0x7F;//匹配B值ICR1H = 0x00;ICR1L = 0x7F;//输入捕捉匹配值TCCR1A = 0xA1;//比较匹配时清零,TCCR1B = 0x09;//启动定时器*/TCCR1B = 0x00; //停止定时器TCNT1H=0xfc; //初始值计数器清零TCNT1L=0xe0;TCCR1A=0xA1; // 1010 1101 频率与相位修正PWM,发生匹配的时候,电平为0 TCCR1B=0x09; // 0001 0001 不分频,TCCR1C=0x00; //OCR1A=0x7F; // 在这种模式下最大值寄存器OCR1A中的值OCR1B=0x7F;}void init_devices(void){CLI(); //禁止所有中断MCUCR = 0x00;port_init();timer0_init();timer1_init();SEI();//开全局中断}//主函数void main(void){init_devices();TCNT0 = 0x00;//初始值TCNT2 = 0x00;//初始值SEI(); // 开放全局中断while(1){///LED_DISP(OCR1AL);}}。

基于单片机生成SPWM信号控制电机实现变频调速的设计

基于单片机生成SPWM信号控制电机实现变频调速的设计

基于单片机生成SPWM信号控制电机实现变频调速的设计吕娣【期刊名称】《电脑知识与技术》【年(卷),期】2014(000)034【摘要】该文针对常见设备的电机调速问题,提出采用微处理器结合驱动电路,在不改变电动机输出扭力的同时使其转速连续可调的方法。

并由51单片机产生SPWM信号,结合FGA25N120ANTD管功率输出器件,采用采用较为成熟的东芝光电隔离驱动芯片TLP-250作为驱动电路,对电机实现变频调速。

该设计控制简单,灵活性强,稳定可靠。

%Aiming at the problem of common motor speed control equipment, proposed uses the microprocessor according to the driver circuit, the method also does not change the motor output torque to make the rotation speed is continuously adjust⁃able. And produces SPWM signal by 51 microcontroller, with FGA25N120ANTD tube power output device adopts mature Toshiba opto isolation drive chip TLP-250 as the drive circuit, to realize VVVF motor. The design has the advantages of simple control, strong flexibility, stable and reliable.【总页数】2页(P8320-8321)【作者】吕娣【作者单位】威海职业学院,山东威海264210【正文语种】中文【中图分类】TP202【相关文献】1.基于80C196KC单片机的SPWM控制信号的实现及谐波分析 [J], 王军;王宏华;袁晓玲2.数字SPWM信号生成原理及其8XC196MC单片机实现 [J], 郭永贞3.基于单片机实现SPWM变频调速系统设计 [J], 黄灿胜;杨秀增4.基于ATmega8单片机的SPWM调制信号的实现 [J], 陈毅光;秦会斌;屈力扬5.基于CC-Link的PLC控制电机变频调速系统的设计与实现 [J], 耿欣;林中达;张龙;娄清辉;俞伟伟因版权原因,仅展示原文概要,查看原文内容请购买。

SPWM调制算法与实现方法

SPWM调制算法与实现方法

SPWM调制算法与实现方法SPWM调制算法与实现方法SPWM (Sinusoidal Pulse Width Modulation)调制理论始于1975年,近年来,正弦脉宽调制技术(简称为SPWM技术)以其优良的传输特性成为电力电子装置中调制技术的基本方式[5]。

SPWM法就是以正弦波作为基准波(调制波),用一列等幅的三角波(载波)与基准正弦波相交,由交点来确定逆变器的开关模式。

这样产生的脉冲系列可以使负载电流中的高次谐波成分大为减小。

同时,根据调制波波形的不同,还可以派生出许多方法,但着眼点都在于如何使变频器的输出电压更好地获得三相对称的正弦波。

1. 两种SPWM调制算法SPWM法的实现方式有多种,可以由模拟或数字电路等硬件电路来实现,也可以由微处理器运用软硬件结合的办法来实现。

用软件来实现SPWM法,实现起来简便,精度高,现在已经被广泛采用,此时所采用的采样型SPWM法,分为自然采样法和规则采样法。

其中规则采样法又有对称规则采样法与不对称规则采样法两种。

1.1 对称规则采样法图2所示的即为对称规则采样法。

这种方法是由经过采样的正弦波(实际上是阶梯波)与三角波相交,由交点得出脉冲宽度。

图2 对称规则采样法这种方法只在三角波的顶点位置对正弦波采样形成阶梯波。

此阶梯波与三角T内的位置是对称的。

故称为对称规则波的交点所确定的脉宽在一个采样周期C采样。

由图2得出脉冲宽度为:)t sin 1(2e ωM T t C p += 式中:e t 为采样点时刻。

由上式可知采样点时刻e t 只与载波比N 有关,与幅值调制比M 无关,且e t =n T k ,k=0,1,...,N-1。

在对称规则采样的情况下,只需知道一个采样点e t 就可以确定出这个采样周期内的时间间隔和脉冲宽度p t 的值。

1.2 不对称规则采样法如果既在三角波的顶点位置又在底点位置对正弦波进行采样,由采样值形成阶梯波,则此阶梯波与三角波的交点所确定的脉宽,在一个三角波的周期内的位置是不对称的,如图3所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目来源 : 浙江省自然科学基金资助 ( Y 1080589) 收稿日期 : 2010- 05- 21 修改日期 : 2010- 06- 04
[ 3]
个彼此相连的脉 冲所组成的波形。这些脉冲的 宽 度相等 , 都等于 /N, 但 幅值不 等 , 且脉冲 顶部 是 曲线, 各脉冲 的幅值 按正 弦规律 变化。如 果把 上 述脉冲序列用同样数量的 等幅而不等宽的矩形 脉 冲序列代替 , 使 矩形脉 冲的中 点和相 应正 弦等 分 的中点重合 , 且 使矩形 脉冲和 相应正 弦部 分面 积 ( 冲量 ) 相等 , 就得到如图 1 所示的脉冲序列 , 这就 是 PWM 波形。可以看出 , 各脉冲的宽度是按 正弦
据。在 OC1A 输出 SP WM 的同时, 应使 PD7 引脚输 出高电平 , PD6 引 脚输出 低电平 ; 而 当 OC1B 输出 SPWM 的时候 , 应使 PD6 引脚输出 高电平, PD7 引 脚输出低电平。
图 图 5 全桥逆变器等效图
6 捕获中断流程图
3 软件设计
如图 5 全桥逆变器等效电路所示 , 控制单片机 的引脚 OC1A 和 PD7 分别 驱动 S l 和 S4, OC1B 和 PD6 分 别 驱 动 S2 和 S3。 捕 获 中 断 用 于 在 引 脚 OC1A 和 OC1B 上产生 SPWM 脉冲, 如图 6 所示 , 在 中断程序中首先判断是否禁止了 SP WM, 若是则使 产生 180 方波信号的两个引脚 PD6 和 PD7 输出低 电平, 并往寄存器 OCR1A 和 OCR1B 写入一个大于 200的数据 , 这将使 引脚 OC1A 和 OC1B 输出低电 平 , 从而禁止产生 SPWM; 若没有 禁止 SPWM, 则在 前半个周期 , 使 OC1A 引脚产生 SPWM, 后半个周期 使 OC1B 引脚产 生 SPWM, 即往 寄存器 OCR1A 和 OCR1B 中分别写入正弦表中前 200 个和后 200个数
[ 2] [ 1]
图 1
SP WM 基本原 理示意图
1 正弦脉宽调制技术原理与方式
1 . 1 SPWM 的基本原理 在采样控制 理论 中有 一个 重要的 结论 : 面积 ( 冲量 ) 相等而形状不同的窄脉冲加在具有惯性的 环节上时 , 其效果 基本 相同。如图 1 所 示的 正弦 半波波形分 成 N 等 份, 就 可把正 弦半 波看成 由 N
[ 7] 2
。如图 2 所示 , 在半个周期内三角波载
波只在一 个 方向 上 变化 的 控制 方 式称 为 单 极性 PWM 控制方式。
图 2 单极性 SP WM 控制方式原理图
如图 3 所示 , 在半个周期内三角波载波在正负 两个方向上变化的控制方式叫做双极性 P WM 控制 方式。单极性法所得的 SPWM 信号有正、 负和零三 种电平 , 而双极性得到的只有正、 负两种电平。比较 二者生成的 SPWM 波可知 : 在相同载波比情况下 , 生成的双极性 SPWM 波所含谐波量较大 ; 并且在正 弦逆变电源控制中 , 双极性 SP WM 波控制较复杂。 因此一般采用单极性 SPWM 波控制的形式
关键词 : ATm ega8 单片机 ; SPWM ; 面 积等效; 逆变器 中图分类号 : TN914 . 2 文献标识码 : A 文章编号: 1005- 9490( 2010) 05- 0599- 04
近年来, 随着逆变电源在各行各业中的广泛应 用, 如何采用正弦脉宽调制 ( SPWM ) 技术从而更有效 控制逆变电源成为了当前研究重要的课题 。目前, SPWM 信号的产生主要有 3 种方法: 1 . 使用振荡器、 比较器等通用集成电路来实现 , 但所用元件较多, 线 路复杂, 不易控制。 2 . 使用 SG3525 、 TL 494 等专用集 成电路产生 SPWM, 控制线路简单, 但缺点是无法全 面实现对系统的反馈控制 ; 3 . 以微处理器为基础, 利 用软件产生 SP WM 波, 此方法控制电路简单可靠, 减 少了硬件电路, 降低了外界干扰, 实现了低成本 。 本文介绍一种利用 ATm ega8 单片机实现 SP WM 波形 的方法。
[ 8]
2 . 1 ATm ega8 单片机简介 的硬件接口电路 , 并且在软件上能有效的支持 C 高 级语言及汇编语言。 ATm ega8 是基于增强 , 秦会斌等: 基于 ATm ega8 单片机的 SPWM 调制信号的实现
601
由于要求产生的 SPWM 频率为 20 kH z , 即周期为 50 s , 因此计数器的计数周期也为 50 s, 即计数从 0 加 到 TOP 值和从 TOP值减到 0的时间为 50 s 。将 T / C1的时钟输入设置为 8 MH z, 即无预分频, 经过计算 可知 , TOP值应为 200 。在正弦波的前半个周期 , 在捕 获中断中不断根据前面所得到的正弦表的数据更新 OCR1A 的数值, 使 OC1 A 引脚输出 P WM 脉冲来驱动 图 5中的 Sl, 并使 OCR1B 中的数值大于 200 , 使 OC1B 引脚输出低电平让图 5 中的 S2 处于截止状态 ; 在正 弦波的后半个周期, OC1B 引脚输出 P WM 脉冲驱动 S2, 而 OC1A 引脚输出低电平让 Sl处于截止状态。
( Institute of E lectron D ev ice & Appl ica tion, H angzh ou D ianzi Un iversity, H angzhou 310018 , Ch ina ) *
*
Abstract : Ai m in g at the hardw are syste m to produce SPWM ( S in e Pulse W ave M odu lation) w ave has som e w eak ness inc lud ing large d iscreteness , com plex c ircu it and diff icu lt contro, l in troduces a m ethod to generate SPWM w ave by ATm ega8 m icrocontro ller in phase correct P WM m ode. l U sing the equ iv a lence princip le to generate SPWM pulse , wh ich w ill be applied to the sin gle phase in verter pow er . Experi m ental resu lt show s that the w ave is w e l,l and the m ethod to produce SPWM w ave is feasible and effective . K ey w ord s : ATm ega8 MCU; SPWM; equivalence prin c ip le; Inverter EEACC: 1250 do: i 10 . 3969 / j . issn. 1005- 9490 . 2010. 05 . 019
4 实验结果
根据上述设计思路 , 分别在普通模式和相位修 正模式下编写了程序, 产生的 SPWM 波通过 I R 2110 驱动芯片驱动四个场效应管组成的全桥逆变电路。 图 7 为普通模式下产生的 SP WM 波, 经低通滤波后 的波形如图 8 所示。可以看出 ATm ega8 在 普通模 式下产生 20 k H z的 SP WM 存在失真, 波形不光滑等 缺点。在相位修正 模式下产 生的 SPWM 波如图 9 所示 , 图 10 为相应的滤波波形, 结果表明在此模式 下产生的 SPWM 相位精确, 失真小。基于以上分析 可以得出 , 采用相位修正模式能够产 生高精度 SP WM 波。同时采用单片机作为控制器件, 不仅成本 降低 , 电路结构设计简单, 而且调试方便 , 受外界干 扰较小, 有很好的实用性和可靠性。
基于 ATm ega8单片机的 SP WM 调制信号的实现
陈毅光, 秦会斌 , 屈力扬
( 杭州电子科技大学电子信息学院 , 杭州 310018)
*
*

要 : 针对传统硬件系统产生 SPWM ( 正弦脉冲调制 ) 波存在电路复杂 , 离散 性大以及 不易控制等 缺点, 介绍了一 种用 AT
m eg a8 单片机相位修正 P WM 模式产生 SP WM 波的方法。运用面积等效原理生成 SPWM 脉冲序列 , 并将此 SPWM 波应用于单 相逆变电源。实验结果表明波 形良好 , 证明了利用其产生 SPWM 波的可行性和有效性。
[ 4]
R ISC 结构的低功耗 CMOS 微控制器。由于其先进 的指令集以及单时钟周期指令执行时间 , ATm ega8 的数据吞吐率 高达 1 M IPS /MH z 。 ATm ega8 具 有以 下特点
[ 6]
: 512 字 节 的 在 线编 程 /应 用 编程 ( ISP /
2
I A P ) F lash 程序存储器, 512 字节 E PROM, 1 k 字节 SRAM, 32 个通用工作寄 存器, 23 个通用 I /O 口, 3 个带有比较模式灵活的定时器 /计 数器, 18+ 2 个内 外中断源 , 1 个可编程的 USART 接口, 1 个 8 位 I C 总线 接 口, 4 ( 6 ) 通 道的 10 位 ADC, 2 通 道 8 位 ADC, 可编程的看门狗定时器, 1 个 SP I接口和 5 种 可通过软件选择的节电模式。 2 . 2 用 ATm ega8产生 SPWM 脉冲 ATm ega8有三个定时 /计 数器, 其中 T /C1 是一 个 16 位的多功能定时 /计数器 , 它具有两个独立的 输出比较单元、 一个输入捕获单元、 相位正确的脉宽 调制输出和四个独立中断源。 T /C1 有多种工作模 式, 其中相位修正 PWM 模式可以 提供获得高精度 相位准确的 PWM 波形的方法。当 T /C1 工作在此 模式下时, 计数器为双程计数器 : 从 BOTTOM 一直 加到 TOP, 在下一个计数脉冲到达时 , 改变计数方 向, 从 TOP开始减 1 计数到 BOTTOM。在设置正向 比较匹配输出模 式下: 正向加 1 过程中 , TCNT1 的 计数值与输出比较 寄存器 OCR1A /OCR1B 的 值相 同匹配时清零 0C1A /OC1B; 反向减 1 过程中, 当计 数 器 TCNT1 的 值 与 输 出 比 较 寄 存 器 OCR1A / OCR1B 的值相同匹配时置位 OC1A /OC1B。设置成 反向比较匹配输出模式时 工作过程与上述 过程相 反。图 4 为相位修正 P WM 模式下工作时序图
相关文档
最新文档