您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 二阶环节电压跟踪控制系统的设计
计算机硬件课程设计报告二阶环节电压跟踪控制系统的设计学生:专业:班级:重庆大学自动化学院2011年9月1目录0.引言.......................................................31.系统要求....................................................32.硬件系统的设计..............................................32.1.电路组成..................................................32.2.各部分硬件设计.............................................42.2.1二阶环节电路.........................................42.2.2主控电路设计.........................................42.2.3单片机核心控制模块....................................52.2.4.数模转换器DAC0832....................................52.2.5.模数转换器ADC574A....................................62.3.操作方式.................................................63.系统软件设计................................................74.数据记录....................................................85.参考文献....................................................9附录一控制电路原图...........................................10附录二组员分工...............................................10附录三程序流程图.............................................11附录四程序代码...............................................12附录五心得体会...............................................142二阶环节电压跟踪控制系统的设计摘要:搭建一个二阶环节,设计一个控制器输出作用于电路输出端使其能够跟踪0-5V范围内的任意阶跃信号。并通过示波器显示输出信号曲线。同时人机交互接口,如键盘、显示器可以设置和显示信号参数,满足控制精度小于±5%,调节时间小于5秒。关键字:二阶环节,单片机,A/D转换,D/A转换,标度转换0.引言为了更好的熟悉计算机控制技术,熟悉单片机的编译和操作环境,结合计算机软件和硬件知识,使所学的计算机相关知识得到更好的巩固和应用,并更好的结合实际的使用环境。故设计了二阶环节电压跟踪控制系统,本系统的主要实现功能和要求有:1)设计并搭建二阶环节电路,绘制完整的控制系统框图和电路原理图;2)分析和论述系统采用的主要单元的工作原理和特性;3)完成二阶环节电压跟踪控制的程序设计(如:系统初始化;主程序;A/D转换;D/A转换;标度变换;显示和键盘管理;控制算法;输出等);4)对控制系统进行系统联调。1.系统要求按任务书搭建二阶环节;可以进行人机界面交换,通过控制器输出作用可以跟踪由二阶环节电路输出端输出的一定范围内电压阶跃信号,并使控制精度和调节时间满足任务书要求。2.硬件系统的设计2.1电路组成设计系统的主芯片由SST89E554RC单片机构成,用以实现主电路的控制和系统相关算法的的实施,采用DAC0832转换器与AD574转换器进行数字电压信号和模拟电压信号间的转换,并用万用表或者示波器进行数字的显示。该系统由89E554RC单片机、DAC0832、AD574、4×4键盘、示波器等元器件构成。通过4×4键盘将期望电压信号值输入单片机,单片机进行标度转换处理将信号输入DAC0832,将数字电压信号转换成模拟信号作用于3二阶环节电路的输入端,通过二阶环节电路的输出端将所得电压信号输入示波器进行显示,与此同时将所得电压信号输入AD574进行模数转换,通过示波器或者万用表显示其数据,将所得数字信号反馈至单片机与期望值进行比较、处理,从而使二阶环节电路所得信号达到期望值。其电路构成框图如图1所示:图1控制系统框图2.2各部分硬件设计2.2.1二阶环节电路根据任务书要求,已将二阶环节电路给出,其电路由电阻、电容、运算放大器构成,有延迟等作用,其电路图如图2所示。图2二阶环节电路图2.2.2主控电路设计主控芯片采用SST89E554RC单片机对电路进行控制,接口图如图3所示,P20~P23口接键盘Y1~Y4(键盘X1~X4接开关0),P00~P07口接DAC0832的D0~D7口,P10~P17口接AD574的D4~D11口,P25口、P26、P27口分别接AD574的A0口、WR口与STS口;DAC0832的WR与CS口接地,OUT接二阶环节电路的输入端,二阶环节电路的输出4端接示波器和AD574的10VIN口;AD574的12/8口与CS口接地。系统中单片机运用控制算法对电压期望和反馈的实际电压数值进行分析比较和运算,并输出调节信号,通过D/A转换输出调整电压,作用于二阶环节电路的输入端,使示波器显示出期望电压信号波形图。其中二阶环节电路输出的实际电压信号通过AD574转换后反馈至单片机。总之,系统设计的目标是通过对输出电压的跟踪使输出电压达到期望值。2.2.3单片机核心控制模块该系统采用了SST89E554RC单片机作为控制核心。SST89E554RC是美国SST公司8位微处理器FlashFlex51系列的成员,是采用先进的SuperFlashCMOS半导体技术设计和制造,是采用8051的指令集,并和标准的8051控制器管脚兼容,嵌入SuperFlash存储器,器件带有72/40Kbyte的片内FLASHEEPROM存储器,使用了SST公司专利的CMOSSuperFlashEEPROM技术,FLASH存储器可用标准的87C5×OTPEPROM编程器来烧录,在上电复位时,单片机可以配置成外部主机的从属设备,以源代码存入,也可以做外部主机的控制机,执行IAP操作。还具有掉电保存信息功能,掉电后主控制器可将显示内容和显示模式等信息保存在Flash中,再次上电后可以继续显示。图3SST89E554RC单片机接口2.2.4数模转换器DAC0832数模转换器DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。DAC0832主要参数如下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为(+10~-10)V,供电电源为+5V~+15V,逻辑电平输入与TTL兼容。本设计只需一个模拟量输出,因此,DAC0832的输出采用单缓冲输出方式。其接受从单片机送来的数字信号,并将其转换为可在0V~+5V范围内变化的模拟信号,此信号输出至二阶环节电路模块,从而调节该模块的输出功率。数模转换器DAC0832与单片机SST89E554RC的接口电路如图4所5示。图4控制系统电路原理图2.2.5模数转换器AD574A模数转换器AD574A是12位逐次逼近式A/D转换芯片,8位A/D转换模式下对应的数字量输出为00H-FFH,以及相应的通道抵制锁存用译码电路,其转换时间为25μs左右。二阶环节电路输出将电压信号输入模数转换器AD574A,转换后的数字量输入到单片机SST89E554RC中。上图因软件中不存在AD574A,故采用AD1674设计电路图。在实际操作过程中,12/8与CS接地,A0接P2.5,R/C接单片机P2.7,STS接P2.6。62.3操作方式打开keil软件建立newproject,选择SST89E554RC芯片,设置参数,建立C语言文件,编写试验程序,保存,按照硬件连线方法进行连线,打开试验箱,打开keil调试,执行程序,按下键盘按键,在示波器上得到电压变化曲线,并用万用表测得输出端电压,按RET可进行复位。3.系统软件设计在程序设计时先对程序进行初始化,定义变量赋值,定义键盘输入电压。然后判断键盘控制的输入电压,启动A/D转换器,读取A/D转换器的STS脚是否为低电平。若为高电平,则返回继续检测STS管脚的电平状态。STS一旦变为低电平,则单片机读出A/D转换器的输出结果,计算反馈电压值,并计算误差,然后进行误差积分,判断误差绝对值是否大于5%,若大于5%,则在PID算法式子中加入积分环节,并计算PID输出值,然后将PID输出值转换成数字信号输出至D/A转换器中进行数模转换。然后程序重新返回至初始化之后,进行下一轮,由此反复。在D/A转换中,单片机中PID算法输出值化成数字量之后,通过P0口输给DAC0832转换器进行数模转换,最终将模拟信号输入给后面的二阶电路。由于DAC0832的控制口在试验箱上都已经通过硬件连接的方法连好,所以DAC0832相当于是直通的。这个过程的相关程序:t=kp*e1+b*ki*e+kd*(e1-e2);out=((t+5)*127)/5;if(out255)out=255;if(out0)out=0;P0=out;在A/D转换。p27=0;使单片机通过AD574A的R/C’和A0启动AD574A转换器。P26接的是AS574A的STS管脚,先给STS管脚赋值高电平是为了消除该管脚低电平的干扰。然后通过while循环,采用查询方式了解STS是否为低电平,如果为低电平,则执行7e2=e1;一句,将上一次的电压记录给e2,然后通过P27赋值高电平来读取A/D574A的转换结果。然后把新的电压赋给e1,然后再把e1化成对应的模拟量。其相关程序是:p27=0;p25=1;p26=1;while(p26!=0){p26=1;}e2=e1;p27=1;P1=0XFF;e1=P1;e1=((e1-127)/127)*5;标度变换。在程序中,由A/D转换器采样来的电压值是一个数字量,但是单片机编写的程序中进行PID计算的都是模拟量,所以要对AD574A的转换结果要进行标度变换,即数模转换。相关的程序语句是e1=((e1-127)/127)*5;另外,当PID式子的计算结果是模拟量,而单片机输出的只能是数字量,而且后面的DA0832接受的也只能是数字量,所以还要进行标度变换,即模数转换,转换成数字量输出单片机。相关的语句是out=((t+5)*127)/5;显示与键盘管理。通过万用表或者示波器来显示给定电压的数字表示和输出的控制电压的数字表示。键盘管理方面,通过四个按键来控制给定电压的大小,在实验箱上的4*4键盘上,从上往下2行,第一行的任一个键按下,设定值加0.5v,第二行的任一键按下,设定值减0.5。控制算法。通过编写一个PID算法程序,对误差进行积分,然后判断误差的范围是否在规定的0.05以内。PID算法的程序语句为t=kp*e1+b*ki*e+kd*(e1-e2);输出。当PID式子算法的结果结算结束之后,先将结果转换成数字量,然后通过单片机输出给DA0832进行数模转换,然后输入后面的二阶环节。84.数据记录根据实验过程用万用表记录二阶环节电路输出端的实际电压值,测试实验结果是否符合设计精度要求建立表格。期望值(V)在各时间段实测值(V)0s0.5s1.0s1.5s2.0s2.5s3.0s3.5s4.0s4.5s5.0s100.8821.0791.0360.9600.9230.9
本文标题:二阶环节电压跟踪控制系统的设计
链接地址:https://www.777doc.com/doc-2739143 .html