版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、鞍山科技大学本科生毕业设计(论文)第 iv 页 buck-boost电路的arm单片机控制器的设计摘 要本文提出了一种基于arm的一种新型buck-boost(ac-ac)电路控制器设计。在斩控式ac-ac变换中,控制电路绝大部分还是采用pwm发生模块进行模拟控制,这些模块斩波频率高,可以进行简单的pid控制,但也有模拟电路固有的缺点:元器件老化,温度漂移,系统不灵活,精度不高,开发速度慢等问题。本文针对于这些问题,用arm嵌入式处理器lpc2114设计了一种新型控制器。由于cpu直接参与闭环控制,能显著降低系统硬件成本,同时不存在温度漂移等问题,一旦调试正常就能长期稳定运行;另外,通过软件版
2、本改变系统功能,灵活实现复杂的控制算法。因此,随着微处理器价格的降低和技术的成熟,数字控制技术必将在高性能,智能化dc/dc和斩控式ac-ac变换器中得到应用和发展。 本文对系统的结构和原理进行了具体分析,详细介绍了采用arm嵌入式处理器作为控制器的设计方法和控制策略,并进行了软件的设计,实现了buck-boot电路的全数字控制。关键词: arm ,控制器,buck-boostdesign of arm one-chip computer controller of buck-boost circuitabstractthis article proposed one kind based o
3、n arm one kind of new buck-boost (ac-ac) the circuit controller design. in cuts controls type ac-ac, in the transformation, the control circuit major part uses pwm to have the module to carry on the simulation control, these modules cut the wave frequency to be high, may carry on the simple pid cont
4、rol, but also has the analogous circuit inherent shortcoming: the primary device aging and temperature drifting ,the system is not nimble, the precision is not high, the development speed is slow and so on. in view of this, this article design its controller with arm inserted type processor lpc2114,
5、 has carried on the concrete analysis to the system structure and the principle, in detail, the article introduced the design method and the control strategy with arm inserted type processor to be the controller ,and have carried on the software design, has realized the buck-boot electric circuit en
6、tire numerical control.because cpu direct participation closed-loop control, then can remarkably reduce the system hardware cost, at the same time does not have the temperature drifting problem, once debugs normally can the long-term stability movement; moreover, we can through change system functio
7、n through software edition, nimble realize complex control algorithm. therefore, along with micro processor price reducing and the technical maturity, the numerical control technology will certainly get application and the development in the high performance, intellectualized dc/dc and buck-boost ac
8、-ac converter.key words: arm, controller, buck-boost 本模板论文目录在论文全部撰写完成后可通过链接自动生成。 目录生成要求论文严格按照模板格式撰写。 本模板已对各级标题及正文做好格式设置,使用此模板时只需在相应位置输入各级标题及正文,即可保证格式符合要求并可自动生成目录如下页。 目录生成具体做法见下页说明用完后,单击边框,dele可删除此框。目 录摘 要iabstractii1绪论11.1选题背景及目的11.2 arm的发展11.3设计完成的任务21.4设计要求及参数设定32系统硬件设计42.1主电路拓扑结构分析42.2 arm单片机的选择及
9、外围电路的设计72.3检测电路72.3.1全波整流电路82.3.2 滤波电路102.4 igbt驱动电路的设计112.5 同步电路132.6键盘显示143软件设计163.1 初始化163.1.1脉宽调制器的设置163.1.2 a/d转换器的设置173.1.3 gpio的设置:183.2 pid控制策略183.3 键盘与显示22结论27致谢28参考文献29附录a(英文文献)30附录b(中文翻译)37 鞍山科技大学本科生毕业设计(论文) 第 44 页1绪论1.1选题背景及目的随着internet的普及,我们已经进入了网络时代,进入了后pc时代。不仅用pc机能上网,用各种各样的嵌入式设备都可以上网。
10、后pc时代出现了信息电器,如掌上电脑,个人数字助理(pda),可视电话,移动电话,tv机顶盒,电视会议机和数码相机等嵌入式设备。能上网的嵌入式设备需要加上tcp/ip网络协议。由于8/16位单片机的速度不够快以及内存不够大,较难满足嵌入式设备的上网要求。随着集成电路的发展,32位处理器的价格不断下降,用户已经可以大量使用。32位risc处理器更是受到青睐。arm公司虽然只成立10多年,但在1999年因移动电话火热市场,其32位risc处理器占市场份额超过了50%,成为业界龙头老大。2001年初,arm公司的32位risc处理器嵌入式市场占有率超过了75%,引起业界的极大关注。arm公司是知识产
11、权供应商,是设计公司。arm公司本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。arm公司商业模式的强大之处在于其价格合理,全世界范围有超过100个合作伙伴包括半导体工业的著名公司。arm公司专注于设计,其内核耗电少,成本低,功能强,特有16/32位双指令集。arm已成为移动通信,手持计算,多媒体数字消费等嵌入式解决方案的risc标准。1.2 arm的发展arm在中国大陆市场成长率高达3位数。2003年arm公司实现年营收2.3亿美金。arm中国方面的业务重点在于对芯片设计公司(fables)的支持。公司成立以来,在两年多内已取得一系列成果:目前,arm已授权科汇宏盛(im
12、pact)和北京旋极为开发工具的授权分销商;中兴集成、上海华虹、大唐微电子、华为等公司先后获得arm内核授权;本地知名的晶圆代工企业中芯国际也已加入arm代工项目,可提供基于arm的ic产品制造。另外,普天慧信、科银京成、北京凯思昊鹏、中科红旗等rtos公司也开始提供支持arm内核的操作系统和开发工具;而各类大学、科研机构以及培训中心计划也在顺利开展。arm公司开发了很多系列的arm处理器核,目前最新的系列已经是arm11了,而arm6核及更早的系列已经很罕见了,arm7以后的核也不是都获得广泛应用。目前,应用比较多的是arm7系列,arm9系列,arm9e系列,arm10系列等。arm7系列
13、包括arm7tdmi,arm7tdmi-s,带有高速缓冲存储器宏单元的arm720t和扩充了jazelle的arm7ej-s。该系列处理器提供thumb 16 位压缩指令集和 embeddedice jtag 软件调试方式,适合应用于更大规模的soc设计中。其中arm720t高速缓存处理宏单元还提供8kb缓存,读缓冲和具有内存管理功能的高性能处理器,支持linux,symbian os 和 window ce等操作系统。arm7系列广泛应用于多媒体和嵌入式设备,包括internet设备,网络和调制解调器设备及移动电话,pda等无线电设备。无线信息设备领域的前景广阔,因此,arm7系列也瞄准了下
14、一代智能化多媒体设备领域的应用。arm9系列有arm9tdmi,arm920t和带有高速缓存处理器宏单元的arm940t。所有的arm9系列处理器都具有thumb压缩指令集和基于embeddeice jtag 的软件调试方式。arm9系列兼容arm7系列,而且能够比arm7系列进行更加灵活的设计。arm9系列主要用于引擎管理,仪器仪表,安全系统,机顶盒,高端打印机,pda,网络电脑以及带有mp3音频和mpeg4视频多媒体格式的智能电话中。arm9e系列有arm926ej-s,带有高速缓存处理器宏单元的arm966e-s/arm946e-s。该系列强化了数字信号处理功能,可应用于需要dsp与微控
15、制器结合使用的情况,将thumb技术和dsp都扩展到arm指令集中,并具有emdeddedice-rt逻辑(arm的基于emdeddedice jtag 软件调试的增强版本),更好地适应了实时系统的开发需要。同时其内核在arm9处理器内核的基础上使用了jazelle增强技术,该技术支持一种新的java操作状态,可以在硬件中执行java字节码。arm10系列包括arm1020e和arm1020e微处理器核其核心在于使用向量浮点(vfp)单元vfp10提供高性能的浮点解决方案,从而极大地提高了处理器的整型和浮点运算性能。现在已有strongarm系列和xscale系列。1.3设计完成的任务本次设计
16、主要完成的是以arm单片机为核心的buck-boost升降压电路的控制器的硬件设计以及软件的编程。通过软件编程使单片机产生不同的pwm波形,控制功率开关器件的导通时间,来达到维持电源频率不变,仅改变输出电压大小目的。主要用到的模块有:检测回路,将输出电压采样给arm单片机;a/d转换模块,进行数字量向模拟量的转化;arm单片机控制器,本设计采用pid控制策略;键盘显示电路;igbt的驱动电路。所以硬件部分的任务主要包括arm单片机选择,检测回路、驱动电路、键盘显示电路、以及同步电路的设计与搭建。软件主要对初始化、数据采集、键盘显示、pid控制策略的编程。1.4设计要求及参数设定设计参数及要求如
17、下:1输出功率:1000w;2输出电压:220v±20%;3输入电压:380v±10%;4环境条件 工作温度: -0+40 储存温度: -30+60 湿 度: < 80%2系统硬件设计系统的控制框图如图2.1所示。系统是由主电路(buck-boost升降压电路),检测回路,arm控制器,驱动电路,键盘显示所组成。主电路是对输入的电压ui进行斩波。检测回路是将主回路的输出电压采样给arm控制器。键盘用于输入给定电压。驱动电路是驱动主回路的igbt。输入端ui为单项交流电压,其大小由所应用的电网电压而定。本系统的ui为380v交流电压。buck-boost 负载 驱 动键
18、盘显示a r m检 测电 路 图2.1 系统框图2.1主电路拓扑结构分析斩控式交流调压主电路拓扑结构一般有三种:buck,boost,buck-boost,本系统采用buck-boost电路拓扑形式。因为这种拓扑结构既可以升高电压,又可以降低电压,负载可以灵活多变1。图2.2中t1t4为场控型器件(如mosfet,igbt等)。由于mosfet的通断驱动控制功率很小,通态压降大,难于制成高压大电流开关器件,所以本设计采用igbt,它具有电压电流容量大,安全工作区域宽的优点。t1,t2构成主开关即斩波开关。t3,t4构成续流开关。因为输入输出均为交流电压,t1至t4均需要有双向阻断的功能,因此在
19、各支路中需要串联快恢复二极管dv1至dv4以承受关断时的反向电压。在交流电源ui正半周时,用t1进行斩波控制,t3,vd3为感性负载电流提供续流通路,在ui的负半周,用t2进行斩波控制,t4,vd4为负载电流提供续流通路。ug1至ug4为igbt的控制信号。图2.3中(a)为输入电压ui的波形图,(b)为四个igbt的控制脉冲,(c)为输出电压的波形图。图2.2 斩波电路设t1接通时间为ton,关断时间为toff,则交流斩波器的导通比d为d=ton/(ton+toff)=ton/tc (2.1)改变脉冲宽度ton或者改变斩波周期tc就可以改变导通比,从而实现交流调压。将整个周期的斩波控制信号g
20、的波形用傅氏级数展开得: (2.2)式中。交流斩波调压电路的输出电压uo的波形如图2.3(c)所示,输出电压uo为 (2.3) 输入电压峰值;输入电压角频率。uo波形为一系列具有正弦包络线的脉冲,其数学表达式为:=(2.4) 图2.3 斩波电路波形图从式中可以看出,u0除了包括基波duimsint外还含有其它谐波,改变导通比d即改变ton或tc就可以改变基波电压幅值,实现交流调压。设本系统的负载为1kw,额定电压为220v,则通过的额定电流为: i=p/u=1000/220=4.5a取10%的裕量,约为5a。所以选择mg50hzys1型号的igbt。它的最大额定值见下表:表2.1 igbt参数
21、表项 目 符号单位数值集射极电压vcev500栅射极电压vge0v20连 续 集 流ica20脉 冲 集 流icma40最 大 功 耗pc w120 二极管采用快恢复二极管,选择zk7型号的快恢复二极管。为防止电压过大,对电路的损害可以在输入端串入一个熔断器,并且并联一个端电压为450v的压敏电阻。当输入电压小于450v时压敏电阻非常大,相当于断路;当输入电压大于450v时,压敏电阻将变得非常小,熔断器熔断。2.2 arm单片机的选择及外围电路的设计嵌入式技术推动着新型单片机的发展,arm单片机最新已经到了arm11版本了,型号品种迅速增多。由于arm公司不生产芯片,只是向厂商转让许可,所以a
22、rm芯片要么以专用芯片的面貌出现,要么以微处理器的面貌出现,并没有出现性价比高的通用微控制器。philips公司发现了这一空档,推出了性价比很高的lpc2000系列微控制器。lpc2000系列是以arm7tdmi-stm为内核的芯片。它是32位单片机,比51系列的单片机处理速度快,价格便宜。由于它内部集成了很多功能的芯片所以功能更齐全,arm单片机外围电路少,减少成本。本系统主要用到a/d转换器,pwm输出模块和gpio等模块。lpc2114因为有高速数据处理单元和强大的数字控制功能,特别适合需要进行复杂算法的控制系统和电力电子领域,所以本设计选择lpc2114作为控制器。除了拥有更快的速度外
23、,lpc2114还具有16kb的静态ram4,128kb片内flash程序存储器,4路10位a/d转换器,2个32位定时器,6路输出的pwm单元,多达46个通用i/o口,12个独立外部中断管脚,2个低功耗模式,双电源供电:cpu操作电压范围1.65-1.95v;i/o操作电压范围3.0-3.6v。对于lpc2114芯片,最小系统(小端系统是相对于大端系统而言的,在小端格式中,一个字中最低地址字节被看作是最低字节,最高地址字节被看作是最高位字节。大端相反)需要连接电源和复位电路。电路参考图如下图2.4所示。在单片机的p0.13、p0.15、p0.16管脚上接三个发光二极管,以备调试时指示所用。
24、2.3检测电路检测电路是用于实时检测输出电压并反馈给arm,与设定值进行比较,来调节pwm的输出值,进行电压调节。由于arm的a/d转换器要求为单级性信号且输入信号范围为0-3.3v,需要对检测回来的电压降压,电压互感器可以做到而且价格便宜。电压互感器输出的信号经过全波整流电路,变为直流。最后通过滤波器输出平直的直流低压信号。结构图如2.5所示。电压互感器要将380v电压降到3.3v,所以选择变比为100:1的电压互感器。图2.4 lpc2114小端系统图 滤波全波整流 互感器图2.5 检测回路结构框图2.3.1全波整流电路将交流电转换为直流电,称为整流。一般整流电路,由于二极管的伏安特性,当
25、输入电压u1幅植小于二极管的开启电压uom时,二极管在信号的整个周期均处于截止状态,输出电压始终为零。即使u1幅值足够大,输出电压也只反映u1大于uom的那部分电压的大小。因此这样的电路不能对微弱信号整流。而且桥式整流二极管上还有压降,也不能精确反应输入的电压。所以采用由集成运放组成的精密整流电路。图2.6所示为全波精密整流电路3。其是由半波精密整流与反相求和电路叠加而成。其工作原理如下:当u20时,由于反相端输入使集成运放的输出u010,从而导致二极管d5导通,d6截止,电路实现反相比例运算,输出电压图2.6 全波精密整流电路 uo2=(r31/r32)×u2=-2u2 (2.5)
26、当u20时,使集成运算的输出u010,从而导致二极管d5截止,r31中电流为零,因此输出电压 uo2=0 (2.6)分析图2.6中由集成运放所组成的反相求和运算电路可知输出电压: u03=(r27/r30)uo2(r27/r29)u2=uo2u2 (2.7)当u20时,uo2 =2 u2,uo3=2 u2u2= u2 ;当u20时,uo2=0,uo3=u2 ,所以 uo3=|u2| (2.8)其波形如图2.7所示。图2.7 全波精密整流电路波2.3.2 滤波电路整流电路的输出电压仍含有较大的脉动成分,为此还要进行滤波,减小输出电压的脉动,使最后的输出电压平滑接近直流。电容滤波器是最常见也是最简
27、单的滤波电路,在整流电路的输出端并联一个电容即构成了电容滤波电路。滤波电容容量较大,因此一般采用电解电容,在接线时要注意电解电容的正负极。电容滤波电路利用电容的充放电作用,使输出电压趋于平滑。图2.8 滤波后的波形当变压器幅边电压u2处于正半周并且数值大于电容两端电压uc时,电流一路流经负载电阻rl,另一路对电容c充电。电容两端电压uc与u2相等见图2.8。图中曲线的ab段,当u2上升到峰值后开始下降,电容通过rl放电,其电压uc也开始下降,趋势与u2基本相同,见图2.8中曲线bc段。但是由于电容指数规律放电,所以当u2下降到一定数值后,uc的下降速度小于u2的下降速度,uc大与u2,见图中c
28、d段。当u2的负半周幅值变化到恰好大于uc时,u2再次对电容c充电,uc上升到u2的峰值后又开始下降,电容放电。就这样充电放电,重复上述过程。滤波电路效果取决于放电时间。电容越大,负载电阻越大,滤波后输出电压越平滑,并且其平均值越大。滤波电路输出电压波形难于用解析式来描述,近似估算时,可以将波形近似为锯齿波,如图2.9所示。图中t为电网电压的周期。设电容每次充电均可以达到u2的峰值(即uomax=u2)然后按rlc放电的起始斜率直线下降,经过rlc交于横轴,且在t/2处的数图2.9 电容滤波电路输出电压平均值的分析值为最小值uomin则输出电压平均值为: u0(av)=(uomax+uomin
29、)/2 (2.9)由图2.8按相似三角形关系可得 (uomax-uomin)/uomax=(t/2)/rlc (2.10)导出 uomin=(1-t/2rlc)uomax (2.11)将式(2.11)代入式(2.9)中,可得 u0(av)=uomax(1-t/4rlc)=u2(1-t/4rlc) (2.12)式(2.12)表明,当负载开路,即rl=。,时,u0(av)=u2,当rlc(35)t/2时, u0(av)1.2 u2 (2.13)检测回路的电路图如下图所示。图2.10 检测回路2.4 igbt驱动电路的设计igbt的门极驱动条件密切关系到他的静态和动态性能,如果门极电路设计不当,就会
30、引起误触发等一些问题,因此设计时一定要考虑过流保护等问题。igbt的驱动电路有集成的和分立式之分。大多数igbt的生产厂家为了解决igbt的可靠性问题,都生产与其相配套的混合集成驱动电路,如日本富士公司的exb系列,东芝的kt系列等。这些专用驱动电路抗干扰能力强,集成化程度高,速度快,保护功能完善,其性比分立式电路要好。所以本次设计采用集成的驱动电路。选用日本富士公司的exb8快速型igbt专用模块2。它信号延迟时间不超过1us,最高工作频率可达到40-50他只需要外部提供一个+20v电源供电。其功能原理图如2.11所示。 其中方框1是过流保护电路,脚6是短路过流信号的输入端,该信号取自igb
31、t集图2.11 exb841的功能原理图极电压,利用过流保护时uce上升作为保护信号。脚4是过流保护信号的输出端。脚4用于连接外部电容,以防止过流保护电路误动作,实际上大多场合并不需要该电容,故此驱动电路没有用到脚4。保护电路的内部输出加到电压放大电路3,他在过流时切断导通信号,使放大器的输出置低位。t5和t4是功率放大级,接成推晚式,当电路3输出端置高位时,t4导通,输出正栅压+15v相反,当3置低位时,t4关断,t5导通,输出负栅压-5v使igbt关断。 脚 2 接+20v驱动电源; 脚 3 接igbt栅极,是驱动电路的输出端; 脚 1 接igbt射极; 脚 9为零电位。当关断igbt时,
32、t5导通,3脚与9脚接通,3脚接近0电位,r10和dz2使脚对脚产生负5v的关断负栅压。方框2是光耦器(isoi)起信号离作用,使驱动器的输出可与igbt栅路采用直接偶合方式,光耦器的输出端是脚15,脚14,输出信号加到电压放大器3上。exb841的硬件连接电路如图2.12所示。3脚接igbt的门极,6脚接igbt的集电极,1脚接igbt的射极,9脚、2脚接入+20v电源,由5脚引出的光电耦合器作为过流信号的输出,14脚、15脚是驱动信号的输入。在exb841芯片内集成了一个光电耦合器,14脚、15脚就连接在发光二极管的两端。由于直接输入驱动信号的电压不是很大,驱动信号采用灌电流输入方式。灌电
33、流方式使发光二极管更亮,信号不易丢失。在15脚经过限流电阻接+5v电压,若需要驱动igbt时将14脚置成低电平,这样就将电流灌入发光二极管中。图2.12 exb841的硬件连接电路2.5 同步电路输入的由于是单相交流电压,在正半周和负半周都要有不同的igbt导通,所以必须加一个同步电路,来检验电源是在正半周还是在负半周,输入给arm单片机,使其对不同的igbt加以控制,控制电路如图2.13所示。图2.13 同步电路同步比较器是由电压互感器,过零比较器和光电耦合器组成。电压互感器将380v的高电压变比成低电压进入过零比较器。当运算放大器运用范围超出了其传输特性的线性区时就进入非线性区,集成放大器
34、具有很高的开环增益,当它在开环情况下,其输出值 不是偏向正饱值和就是负饱和值,因此只要输入端有微小的信号,就会使放大器输出端处于饱和工作状态。比较器就是利用着一点来设计的。ug为比较输入信号,ur是参考电压,本设计中ur=0。放大器处于开环工作状态,具有很高的增益,当输入信号电ug小于参考电压时(即输入电压处于负半周),集成运图2.14同步电路波形图放处于负饱和状态,运放输出为0;当输入信号电压ug升高到略大于参考电压时(即处于正半周)时,集成运算放大器立即转入正饱和状态,运放输出电压uom。如图2.14所示。这样运放输出的方波的频率与电源的频率是同步的。当u0高电平输出时驱动发光二极管,p0
35、。12管脚输入高电平;当u0为低电平时,发光二极管不发光,p0.12管脚输入低电平。这样arm单片机就可以通过查询p0.12管脚的电平来控制不同的igbt导通。因为运算放大器只通过电阻就与变压器相连,为防止过大的干扰损坏运算放大器,所以在运算放大器的正负向输入端反并联两个二机管以保护运算放大器。其中,互感器的变比为100:1。2.6键盘显示键盘与单片机的连接分为矩阵式和独立式两种,矩阵式用于按键较多的情况下,且控制复杂。本设计只需要四个按键即可,所以采用独立式,直接在p0.17-p0.20管脚接四个键。max7219是一种串行接口的8位数码管显示驱动器。它与通用微处理器只有3根串行线相连.最多
36、可驱动8个共阴数码管或64个发光二极管,它内部有8×8k静态ram,动态扫描电路以及段、位驱动器。它的特点有:串行接口的传输速率可达10mhz,独立的发光二极管段控制;译码与非译码两种显示方式可选;数字、模拟两种亮度控制方式;可以级联使用。因为它与微处理器只有3根连线,印制板走线简单,占片用系统软、硬件资源少,它适用范围广。由于m a x7219具有较多优点,所以我们用它来组成显示电路。如图2.14所示。图2.15 显示电路dig0-dig7:接在数码管的公共端上,用于位驱动。load:加载数据控制引脚。clk:串行时钟输入引脚。segasegdp:7个断码和小数点输出。3软件设计软
37、件设计部分是斩波控制的核心部分,是实现控制功能的重要环节。软件主要完成对pwm脉冲的调制。将检测回来的电压与设定电压相比较产生偏差e,根据偏差e的值选择控制算法,改变pwm的输出。根据控制器的实际要求,软件设计采用模块化的结构,编程的主要任务包括:初始化,键盘输入,进行led显示,a/d转换,pid算法,产生并改变用于控制的pwm波形等。系统主程序流程图如图3.1所示。初始化模块包括复位初始化,相应寄存器初始化,全局变量的设定等系统初始化设置任务。键盘显示模块用于设定值输入和显示。a/d转换模块是将检测住回路的输出电压完成由模拟量向数字量的转化。3.1 初始化arm单片机有自己的初始化文件。复
38、位初始化程序resetinint(在start up.s文件中),调用initstack子程序(在start up.s文件中)来初始化各个模式下的堆栈,调用targetresetinit()函数(在target.c文件中)来初始化与目标系统相关的设置,最后调用ads提供的main,初始化运行时库,并进入用户的main()函数。其中要设置的模块有pwm脉宽调制器,a/d转换器,gpto等。3.1.1脉宽调制器的设置 在硬件设置部分已经介绍主电路需要的四个igbt,而且t1和t3需要在正半周开通,且他们的触发脉冲是互补的,t2和t4要在负半周开通,他们的脉冲也是需要互补的,下面我们就来解决这两个问
39、题,同步电路就是检测当前电源是在正半周还是负半周。将pwm的四个输出端分别和p0.2p0.5通过与门(或与非门)输出,即使pwm一直有脉冲输出,只要分别控制p0.2p0.5高低电平,就可以控制四个igbt在何时导通,在何时关断。下面要解决脉冲互补的问题。t1和t3是互补的,pwm1和p0.2通过与非门输出到1#exb841,而pwm3和p0.4通过与门输出到3#exb841这样就可以做到脉冲互补,t2和t4也是这样触发的。所以pwm1的pwm1到pwm4通道的初始化程序是一样的。初始化程序为:pwmpcr=0x1e00;/使能pwm1-pwm4,模式为单边沿控制pwmmcr=0x02;/当pw
40、mmr0匹配时复位pwm定时器pwmmr0=0x10000;/设置pwm周期pwmmr1=0x00000;/设置pwm占空比pwmler=0x03;/使能pwm匹配pwmtcr=0x09;/pwm使能,启动pwm定时器 开 始初 始 化键 盘 输 入 读取a/d转换值调 用 pid 算 法根据控制量设置占空比匹配寄存器的映像寄存器,改变占空比值置位锁存使能寄存器,输出新的pwm波形图3.1 系统流程图3.1.2 a/d转换器的设置a/d转换器只包含adcr和addr。adcr是控制寄存器,选择控制模式,addr数据寄存器存放转换后的数据结果。其初始化程序为:pinsel=0x00400000;
41、/设置p0.27为aino功能adcr=(1<<0) / sel=0,选择0通道 (fpclk/1000000-1)<<8) /clkdin=fpclk/1000,000-1,即转换时钟为1mhz (0<<16) /burst=0,软件控制 (0<<17) /使用11clock转换 (1<<21) /正常工作模式 (0<<22) /test正常工作模式 (1<<24) /直接启动 (0<<27); / cap/mat引脚下降沿触发adc转换3.1.3 gpio的设置:lpc2114有两个32位的通用
42、i/o口,p0口和p1口又有寄存器来控制管脚的功能,只要在相应的寄存器填充目标设置即可。3.2 pid控制策略pid控制以其算法简单,控制稳态精度高等特点,广泛应用于控制领域,特别是增量式控制具有的优点6:1.计算机只输出增量。把累计工作交给执行机构承担,误动作小,必要时可以用逻辑程序保护2.调节器在手动/自动切换时受冲击小。3.算式中不进行累加运算,增量只与最近几次采样植有关,容易获得较好的控制效果。pid控制也有自身的缺点,由于积分环节的存在,它很容易进入积分饱和状态,一旦进入积分饱和,输出将会有很大的超调,对生产产生严重的后果。要对pid进行改进。本设计采用积分分离加变比例系数控制策略。
43、理想的模拟pid控制算式为:y= kpe+td (3.1)式中 y调节器的输出;e调节器的输入偏差e=sp-pv,sp是设定值,pv是测量值;kp调节器的比例放大系数;ti积分时间常数;td微分时间常数;因采样周期ts相对于信号变化是很小的,这样可用矩形计算法代替积分,用一阶差分来代替微分,则=dt=ts= 则模拟pid算式变为离散pid算式y(k)=kp e(k)+e(k)-e(k-1) = kpe(k)+ kpki + kpkd e(k)-e(k-1) (3.2)式中t=ts采样周期;e(k)第k次采样时调节器输入的偏差值;ki=pid控制算式的积分系数;kd=pid控制算式的微分系数;y
44、(k)第k次采样后调节器的输出。由(3.2)式,可求出调节器相对应于前次采样的输出值y(k-1)为:y(k-1)=kpe(k-1)+e(k-1)-e(k-2) (3.3)即可求出增量式pid算式为:y(k)=e(k)-e(k-1)+kpkie(k)+ kpkde(k)-2e(k-1)+e(k-2) (3.4)设:ek=sp-pv; ek= e(k)-e(k-1);e(k-1)= e(k-1)-e(k-2);2e(k)=ek-e(k-1);所以式(3.4)可变为 y(k)=kpek+ kie(k)+ kd2e(k) (3.5)pid算法的改进:为克服积分饱和,采用积分分离法:1根据系统实际情况。
45、人为设定一阈值>02当>时,即偏差值较大时去掉积分环节,只有pd3当<=时,即偏差值较小进入稳态区域时,加入积分环节,进行pd运算为加快退出饱和,采用变比例系数法:1当ei0时;kp= kp;2当ei0时;kp= nkp 。设计流程图为图3.2所示,图3.2 pid算法流程图其程序代码如下: uchar propor=50; / 比例系数初值 uint integ=200; / 积分时间初值 uchar differe=0; / 微分时间初值 uchar delta=5; / 抗积分饱和分离点 uchar outputv; / 第i次实际输出值 float ui; / 第i-
46、1次输出量 float inc_u; / 输出增量 float erri_inc; / 第i次误差增量 float erri_1inc; / 第i-1次误差增量 float erri_incc; / 第i次误差增量的增量uchar pid(float setv,float inputv,uchar time)static float err_03=0,0,0; / 第i次偏差,第i-1次偏差,第i-2次偏差static float ui_1=0; /暂存当前值 err_02=err_01; /第i-2次偏差 err_01=err_00; /第i-1次偏差 err_00=setv-inputv;
47、 erri_inc=err_00-err_01; erri_1inc=err_01-err_02; erri_incc=erri_inc-erri_1inc; / 变比例系数,抑制超调 if(setv-inputv)<=0) propor*=5; /ei>0,propor不变 else propor=propor; /积分分离,防止积分饱和 if(setv-inputv)>delta) ui=ui_1+(float)propor*(erri_inc+(float)differe/time*erri_incc); /pd算法, else /pid算法 ui=ui_1+(floa
48、t)propor*(erri_inc+(float)time/(float)integ*err_00+(float)differe/time*erri_incc); ui_1=ui; /保存当前输出outi=ui; outputv=ui; return(outputv); 3.3 键盘与显示显示设置了四个led数码管。当进入设定状态时1#led显示“s”(set),2#、3#、4#led分别为百位,十位、个位。键盘设置了四个按键,有设定完成键,退出键,调位键和调数键。其示意图如下: okerr 图3.3 键盘与显示示意图键盘功能说明:同时按下1#,4#键时进入设定状态,四个显示器由实时显示变为
49、待设定状态1#led显示“s”(set),其余3个led显示0。1#键设定完成,存盘并退出设定状态;4#键,退出设定状态,不保留设定的值;2#键是位设定;3#键是调数键,调0-9之间的任意的一个数。软件的实现:在程序前面先定义键盘,然后对键盘进行扫描检测,如果有键按下,读取键值,看是否1#,4#键同时按下,若是1#,4#键同时按下,则进入设定状态,否则则继续扫描。进入设定状态后,判断哪个键按下,就相应地执行哪个键的功能,最后判断是1#键按下还是4#键按下,若是1#键按下存盘后退出键盘设定,若为4#键则显直接退出键盘设定。程序流程图如图3.4: 图3.4 键盘显示流程图程序段代码如下:定义led
50、显示字符段码,max7219不译码方式static struct uchar ascii; uchar stroke; code led_strokes='0',0x7e,'1',0x30,'2',0x6d,'3',0x79,'4',0x33, '5',0x5b,'6',0x5f,'7',0x70,'8',0x7f,'9',0x7b, ;根据显示缓冲区的内容查段码表填充显示缓冲区段码表 入口:显示缓冲区的内容 出口:无void get_segm(uchar* p)uchar *pos;uchar i=0;for(pos=p;pos<(led_buf+led_len);pos+) led_buf_segmi= get_strokes(*pos); i+; 检测是否有键按下bit key_hit(void) byte keyvalue; keyvalue=p0&0x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计师工作计划
- 电缆沟工程施工合同(3篇)
- 项目个人工作总结
- 陕西省汉中市(2024年-2025年小学五年级语文)人教版阶段练习(下学期)试卷及答案
- 2023年水文测量仪器资金申请报告
- 2024年汽车物流项目投资申请报告代可行性研究报告
- 2024年水质监测系统项目投资申请报告代可行性研究报告
- 煤矿云计算数据中心建设技术规范征求意见稿
- 上海市市辖区(2024年-2025年小学五年级语文)统编版开学考试((上下)学期)试卷及答案
- 5 闪电定位仪的日常维护方法简介
- 自动化设备生产工艺流程图
- MOOC 创新思维与创业实验-东南大学 中国大学慕课答案
- 稻米油市场发展现状调查及供需格局分析预测报告
- 英语默写版-高考英语词汇3500词
- 家居维修在线服务平台调度优化算法研究
- 河北开放大学2024年《应用写作》形考作业1-4答案
- 智鼎在线测评题库答案2024
- 小学阶段少先队仪式教育研究基于少先队员身份认同的视角
- 肛肠科护理个案
- 2024年师德师风培训学习内容-(含多场景)
- 工业园区控制性详细规划说明书(范)
评论
0/150
提交评论