2020年 01月 10日 星期五
您的位置: 威廉希尔主页 > 单片机技术 >

PIC单片机设计的SPWM控制技术

来源:未知     作者:威廉希尔     发布时间:2020-01-10 10:12         

  本文采用软硬件结合设计的方法,利用面积等效法,并且基于PIC单片机实现对试验逆变系统的SPWM控制。

  1)利用分立元件,采用模拟、数字混和电生成SPWM波。此方法电复杂,实现困难且不易改进;2)由SPWM专用芯片SA828系列与微处理器直接连接生成SPWM波,SA828是由规则采样法产生SPWM波的,相对谐波较大且无法实现闭环控制;3)利用CPLD(复杂可编程逻辑器件)设计,实现数字式SPWM发生器;4)基于单片机实现SPWM,此方法控制电简单可靠,利用软件产生SPWM波,减轻了对硬件的要求,且成本低,受干扰小。

  在UPS等电力电子设备中,控制方法是核心技术。早期的控制方法使得输出为矩形波,谐波含量较高,滤波困难。SPWM技术较好地克服了这些缺点。 而当今单片机的应用已经从单纯依赖于51系列单片机向其它多种单片机发展,尤其以嵌入式PIC单片机的发展应用更为广泛。PIC单片机含具有PWM功能的外围功能模块(CCP),利用此模块更容易通过软件实现SPWM,且具有更快的执行速度。

  1 面积等效的SPWM控制算法目前生成SPWM波的控制算法主要有4种。1)自然采样法;2)对称规则采样法;3)不对称规则采样法;4)面积等效法。

  理论分析后知自然采样法和面积等效法相对于规则采样法谐波较小,对谐波的能力较强。又因为PIC单片机片内无较大空间实现在线运算,所以自然采样法不利于软件实现。本文的试验系统采用面积等效法实现SPWM控制,其原理如图1所示。

  利用正弦波小块面积S1与脉冲面积S2相等原则,将正弦波的正半周分为N等分,则每一等分的宽度为π/N弧度,利用面积等效法计算出半个周期内N个不同的脉宽值,将产生的脉宽数列以列表形式存于PIC单片机的ROM中,以供程序调用。

  由式(1)计算出的实际脉宽转换成计时步阶后生成64个值的正弦表存入PIC的ROM中以供调用。产生的SPWM脉宽表是一个由窄到宽,再由宽到窄的64个值的表。

  2 软硬件结合试验系统以PIC单片机内部的两个外围功能模块(CCP)为基础,利用该模块具有的PWM功能,软件控制两SPWM波形的输出。再将这两SPWM波利用互补导通原则变换成4,经隔离放大后驱动IGBT逆变器,实现对输出的控制。

  2.1 硬件设计试验硬件系统如图2所示。选择PIC单片机的中档系列。该系列单片机的主要特点有:

  6)含3个定时器,其中与PWM功能相关的定时器2(即TMR2)带有8位周期寄存器,且带有8位预分频器和后分频器。

  逆变部分采用自关断器件IGBT实现单相全桥逆变。IGBT是全控型电力电子器件,它的控制级为绝缘栅场效应晶体管,输出级为双级功率晶体管,因而它具有两者的优点而克服了两者的缺点。它开关频率相对高,驱率小,构成的功率交换器输出电压纹波小,线简单,是当今最具有应用前景的功率器件。

  2.2 软件设计2.2.1 PIC单片机的设置试验中设置SPWM的频率为20 kHz,并外接20 MHz晶振信号,计算得指令周期即计时步阶为0.2uS。PIC单片机CCP外围功能模块的PWM功能实现主要依靠相关寄存器值的设定,且以定时器2(TMR2)作为PWM的时基。相关寄存器的设置如下。

  2)定时器TMR2的控制寄存器T2CON设定因为SPWM频率高,周期短,在每个周期内完成脉宽的调整比较困难,故在此寄存器中设置后分频为1:3,这样每输出3个相同脉宽的SPWM波后改变一次脉宽值;

  3)2个CCP模块的控制寄存器CCP1CON及CCP2CON的设定两个CCP模块控制寄存器的设置类似,选择CCP模块作用于PWM功能模式,即bit3:0=11 。

  4)CCPR1L脉宽写入寄存器写入的脉宽值在下个TMR2周期开始时转至CCPR1H,通过读CCPR1H的脉宽值来改变PWM脉宽。

  2.2.2 SPWM波形产生的实现过程软件控制PIC单片机使之产生SPWM波形。首先将之前设置的寄存器值写入相关寄存器,当PIC的PWM功能后TMR2从0开始计数,同时CCP模块引脚输出高电平。

  — 当TMR2≥PR2时,则TMR2=0,重新开始另一个周期计数,PWM功能引脚开始输出高电平。同时TMR2的中断标志位被系统置高,即TMR2IF=1,转去执行中断服务程序。

  因实验中设置TMR2后分频为1:3,故在3个PR2周期后程序才转去执行中断服务程序。在中断服务程序中查找脉宽表,将下一个脉宽值写入寄存器CCPR1L中。下个周期输出的PWM的脉宽即为刚写入CCPR1L中的脉宽值,也就是说脉宽的变化在中断程序中实现,中断程序流程如图3所示。

  程序中利用标志位F实现SPWM输出在CCP1和CCP2中的转换。在F=1时,CCP1输出PWM波形,CCP2设置输出为0电平;在F=0时,CCP2输出PWM波形,CCP1设置输出为0电平。

  由PIC单片机产生的SPWM波可由示波器测出。由于SPWM频率为20kHz,程序中又设置每3个脉宽相等,故在示波器中不能清楚地看到脉宽从最小到最大的完整的变化过程。由PIC单片机的CCP1引脚输出SPWM波形的一段如图4所示。这段波形中的脉宽由窄逐渐变宽,符合SPWM的变化规律。

  试验中由PIC单片机的两个CCP模块产生两SPWM波,将这两SPWM波变换成4后经隔离驱动逆变系统的IGBT。产生的两SPWM波形分别对应正弦波的正负半波,完整周期的两SPWM互补波形如图5所示。

  试验系统在直流电压为30V时负载运行所得正弦波如图6所示,可知周期为19.9ms,满足工频要求。

  试验系统为单相全桥逆变系统,这种工作模式有明显的倍频效应。倍频效应有利滤波,也可以降低器件的开关频率,减小开关损耗。又因为本试验系统采用面积等效法,相对于规则采样法谐波能力较强。谐波分析后可在低电压时基本无偶次谐波,且所含奇次谐波幅值较小,能满足UPS逆变系统对谐波的要求。

  4 结语本文介绍的基于PIC单片机的SPWM控制技术很好地把软硬件技术结合在一起,针对规则采样法谐波大的缺点,利用面积等效法较好地了谐波。本文给出了具体的硬件试验系统及软件设计,分析试验结果波形后表明此方法输出谐波较小,在对输出波形质量要求较高的UPS逆变系统中有较强的实用价值。如今PIC单片机应用越来越广泛,电力电子技术发展越来越快速的阶段,这种软硬件结合的控制技术在其它很多应用领域也有较大的发展空间。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  由于在使用时,找了很久也没找到相关的程序,因此把自己后来编写的程序贴出来,希望能给后来者借鉴参考!;实验目的:熟悉SPI总线EEPROM的读写;RBO键按下时把DATA和DATA2写入到EEPROM中以EE—ADDR为地址的单元内,;完成后,单个数码观显示“9”做为完成标志;RB1键按下时,读取EEPROM中以EE—ADDR为地址的单元,并送数码管显示;硬件要求:S3、S5、S6拨码管置ON,S1第7、8ON。LIST P=16F877A, R=DECinclude “” ;包含头文件__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_

  1 前 言随着社会的发展,用电量增大,为提高用电效率,改善用电量不均衡的现象,国内各省市的电力部门己开始全面推出了复费率电能表,计量单位对复费率电能表检定的任务越来越繁重[1-2]。时钟的准确性是分时计量最重要的一部分。目前的计量单位对复费率电能表时钟检定的方法已经逐渐不能满足需要。为了解决目前复费率电能表时钟检定存在的问题,本文设计了一种基于PIC单片机的复费率电能表时钟误差分析仪的系统。该系统是一种便携式时钟误差检定装置,集计时检定,数据处理,数据传送等功能于一体,具有快捷、准确、有效的特点。l频率测量原理[3-4]系统测量频率采用的是多周期同步测量方法,这种方法是在直接测频的基础上发展测量方法,在目前的测频系统中得到越来越

  8个数码管滚动显示同一个数字8个数码管显示多个不同的字符8个数码管闪烁显示8个数码管滚动显示数字串#include__CONFIG(0x3B31);unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71};//0-F--共阴极数码管#defineLEDPORTBvoid delay1ms(unsigned int x){unsigned char i;for(;x》0;x--)for(i=0;i《165;i++);}void init(){TRISB=0x00;PORTB=0xFF;}vo

  控制部分采用PICl6F7X系列单片机,运用汇编语言编程,运行速度较快,能够达到系统的要求。在这里使用的大多是数字信号的控制,电机的控制只有开和合两种状态。在动作的过程中需要两只手臂、身体、头部、脚部等的协调动作。整个控制系统比较复杂,因而在PIC程序编写和空间分配方面需要注意一些问题。1、动作标志位的使用在整个控制中,组合的动作很多,当所有动作定位都通过光电开关控制时,在程序编写上就有一些问题。如要求左手上升到鼓掌位、右手上升到举手位(手初始在最下的放下位),光电开关0有效(即为0时是挡住),到达正确。用简单的理解可以写成下面的程序:listP

  :三相桥式半控整流电、同步信号取样电、单片机控制电、晶闸管触发电。首先,由同步信号取样电得到同步信号并送集成触发芯片TC787,经过零检测,再进行相应的延时以实现移相。单片机中的ADC负责采集直流母线电压,根据电压的设定值与实际值的偏差经过PI运算来调节给定输出。PIC单片机将电压的参考值输出到TC787,由TC787实现对晶闸管的移相触发,以实现整流调压。硬件电的整体框图如图1所示。图1 系统硬件整体框图主电设计主电采用三相桥式半控整流电,直流测采用LC滤波电流结构,主电流原理图如图2所示。半控桥选择SEMIKRON公司的SKDH146/120-L100模块,该模块额定电流140A,额定电压1200V。直流侧采用

  有自己的指令系统,即通道程序,可以与CPU并行操作,管理外设和实现主存和外设之间的信息传输,使CPU摆脱了繁忙的I/O操作。在配置通道的计算机系统中,不仅能实现CPU与通道的并行操作,而且通道与通道、各通道的外设之间均能实现并行操作,因而有效地提高了整个系统的使用效率。四、PIC单片机之I/O控制操作分析其实控制单片机,就是控制寄存器上的各个位,设置成高设置成低。就好像给你一台机器有 8个的按钮。然后你根据说明书上介绍,根据你的需要按下 或者松开相应的按键 来得到你想得到的功能。只不过我们用的不是手而是C语言来按下和松开这些按键。TRISA寄存器是方向控制寄存器。就是控制I/O输入还是输出。比如 TRISA寄存器中的

  了解ADI电网管理、能源计量方案,答题赢Kindle、《新概念模拟电》【世健的ADI之主题游 能源站】

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔