当前位置:文档之家› 车载冰箱温度控制系统

车载冰箱温度控制系统

课程大作业设计报告(2019-- 2020年度第2学期)课程名称:控制装置与仪表B题目:车载冰箱温度控制系统设计与仿真院系:控制与计算机工程学院班级:自动化1704学号:120171070716学生姓名:郭云泉指导教师:张文彪设计周数:2周成绩:日期:2020年5月19日一、设计要求1.根据以下控制装置的组成设计一个车载冰箱温度控制系统(半导体制热和制冷),并说明变送器、控制器和执行器的选型以及相应装置的特点,同时阐述整个系统的控制流程。

图1 控制装置的组成2.假设车载冰箱温度控制系统被控对象的传递函数为()1seG ss-=+,控制系统的采样周期T为0.5s,基于Matlab软件编写控制算法,实现以上系统对阶跃式温度设定的仿真,完成控制器的参数整定,并分析控制参数对系统性能的影响。

二、设计正文1.车载冰箱温度控制系统硬件设计及控制流程描述1.1 温度控制系统总体设计架构整个温控系统由Arduino单片机、LCD显示电路、供用户设置预期温度的按键、电源、驱动电路、温度变送装置、半导体制冷片、保温箱体、变压器组成。

总体设计框架如图2所示:图2各个部分的相应功能:Arduino单片机:整个温控系统的控制器。

按键:调整预期温度。

LCD显示电路:显示预期温度和实时温度。

温度变送装置:检测箱体内的温度并转化为数字量送给单片机。

驱动电路:将单片机输出的不同占空比的数字PWM脉冲信号转化为模拟的电压,并进行功率放大,驱动半导体制冷片输出不同的功率。

半导体制冷片:对箱体内进行制冷。

变压器:将汽车电瓶的12V电压转换为5V电压对温控系统供电,其中LCD显示电路、按键电路、温度变送装置均由单片机供电。

电源:汽车电瓶1.2 控制器的选择此温控系统通过控制器输出不同占空比的PWM,并经驱动电路放大后来控制制冷片功率,从而实现温度调节。

因此,控制器需要有能输出不同占空比PWM的IO接口。

且此温控系统实现的功能比较简单,对控制器运算能力要求比较低,因此选用了Ardiuno Uno单片机作为控制器。

Arduino UNO是基于ATmega328P的Arduino开发板。

它有14个数字输入/输出引脚(其中6个可用于PWM输出)、6个模拟输入引脚,一个16 MHz的晶体振荡器,一个USB 接口,一个DC接口,一个ICSP接口,一个复位按钮。

它包含了微控制器所需的一切,你只用简单地把它连接到计算机的USB接口,或者使用AC-DC适配器,再或者用电池,就可以驱动它。

实物图与技术参数如图3、图4所示:图3图4 各个引脚功能如下:①Vin:电源输入引脚。

当使用外部电源通过DC电源座供电时,这个引脚可以输出电源电压。

②5V:5V电源引脚。

使用USB供电时,直接输出USB提供的5V电压;使用外部电源供电时,输出稳压后的5V电压。

③3V:33.3V 电源引脚。

最大输出能力为50 mA。

④GND:接地引脚⑤IOREF:I/O参考电压。

其他设备可通过该引脚识别开发板I/O参考电压。

⑥Serial:0(RX)、1(TX),被用于接收和发送串口数据。

这两个引脚通过连接到ATmega16u2来与计算机进行串口通信。

⑦外部中断:2、3,可以输入外部中断信号。

中断有四种触发模式:低电平触发、电平改变触发、上升沿触发、下降沿触发。

⑧PWM输出:3、5、6、9、10、11,可用于输出8-bit PWM波。

对应函数analogWrite() 。

⑨SPI:10(SS)、11(MOSI)、12(MISO)、13(SCK),可用于SPI通信。

可以使用官方提供的SPI库操纵。

⑩L-LED:13。

13号引脚连接了一个LED,当引脚输出高电平时打开LED,当引脚输出低电平时关闭LED。

⑾TWI:A4(SDA)、A5(SCL)和TWI接口,可用于TWI通信,兼容I²C通信。

可以使用官方提供的Wire库操纵。

⑿AREF:模拟输入参考电压输入引脚。

⒀Reset:复位端口。

接低电平会使Arduino复位,复位按键按下时,会使该端口接到低电平,从而让Arduino复位。

1.3温度变送装置的选择考虑到车载冰箱实际应用和控制器接口资源有限,温度变送装置应具有体积小,测量精度高,占用接口资源少的特点,因此,采用DS18B20作为测量变送装置。

实物图和封装图如图5、图6所示:图5 图6相关技术特性如下:①、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

②、测温范围-55℃~+125℃,固有测温误差1℃。

③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。

④、工作电源: 3.0~5.5V/DC (可以数据线寄生电源)⑤、在使用中不需要任何外围元件⑥、测量结果以9~12位数字量方式串行传送接线原理图如图7所示:图71.4 半导体制冷片的选择选取TEC1-12706型半导体制冷片。

实物图如图8所示:图8相关特性参数如下:外部尺寸:40*40*3.75mm内部阻值:2.1~2.4Ω(环境温度23±1℃,1kHZ Ac测试)最大温差:△Tmax(Qc=0) 67℃以上。

工作电流:Imax=4.3-4.6A(额定12V时)额定电压:12V(Vmax:15V启动电流5.8A)致冷功率:Qcmax 60-72W工作环境:温度范围-55℃~80℃(过高的环境温度降直接影响制冷效率)1.5 驱动电路的设计根据帕尔贴效应,半导体制冷片的吸热量的大小与电压值成正比,通过改变制冷片两端的电压值便可以改变制冷片的功率。

温控系统是通过输出不同占空比的PWM脉冲信号来改变制冷片两端电压值,从而实现改变制冷片功率的目的。

虽然选用的控制器具备输出PWM 的功能,但是仅靠Arduino Uno 单片机的输出无法驱动制冷片工作,所以选用AQMH2407ND 作为外部驱动电路的驱动芯片,驱动制冷片工作。

AQMH2407ND相关电气参数和接线原理图如图9、图10所示:图9 图101.6 变压器的选择车载冰箱由汽车自带的12V电源供电,但单片机需要5V电源供电,且LCD显示电路、按键电路、温度变送装置均由单片机供电。

因此需要使用DC-DC转换器调节电源输出的电压值,为单片机提供稳定的电能。

选用LM2596电压转化模块,它是用LM2596芯片配合外部电路组成的具有稳定降压功能的变换器。

接线原理图如图11所示:图111.7 LCD显示电路和按键的设计1.7.1 LCD显示电路温控系统需要显示预期温度和实时温度,选用LCD1602液晶显示器作为显示模块。

LCD1602能显示16列*2行字符,可以显示字母、数字、汉字、符号等。

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,本系统采用14脚无背光即可,各引脚接口说明见表1:表1由于此次选择的控制器Arduino Uno单片机的IO口有限,所以引入一种Inter-IntegratedCircuit总线结构,仅需要时钟信号SCL和数据信号SDA两条总线就能实现设备之间的通信。

按照图12接线原理图接线。

图121.7.2 按键模块按键模块主要实现对预期温度的加减,因此需要一加一减两个独立按键。

接线原理图如图12所示:图121.8 散热模块半导体制冷是基于帕尔贴效应,热端的散热情况关系到冷端的制冷效率。

为保证冷端制冷效果,在热端需加装散热板和散热风扇。

散热板可选择铜制或铝制金属板。

散热风扇选取任意由12V电源供电的即可。

1.9 系统控制流程系统开始工作后通过按键输入预期的温度并在LCD1602上显示,DS18B20测量冰箱内的温度,将温度信号转化为数字量返送给单片机并显示在LCD1602显示装置上。

单片机根据实时温度与预设温度的偏差,对TEC1-12706半导体制冷片输出功率进行调整,直至冰箱内温度到达预设温度,控制过程结束。

在调节过程中,测量变送器测量的温度始终实时显示在显示器上。

1.10 关于控制系统存在的干扰及抗干扰措施①.不同功能的模块均有接地,但由于各个模块接地点不同,可能产生共模干扰。

只需要将各个芯片的接地点接在一起进行共地处理即可。

②.由汽车电瓶驱动整个温度控制系统,电瓶可能由于老化造成输出电压减小,但通过LM2596转换即可得到稳定的电源。

③.为避免冰箱内温度变化造成系统频繁启停,应在控制器中加入惰性区,当实时温度与预设温度的偏差超过一定限度后再启动系统进行制冷。

2.车载冰箱温度控制系统软件仿真PID算法的实现分析:此次仿真采用理想的位置型算式,控制器输出规律如下图。

将被控对象传递函数离散化:因此求得输出相应与控制器输出之间的关系:在MATLAB中实现以上两条核心算式即可。

2.1 被控对象在无控制器时的阶跃响应2.1.1 程序:G=tf([1],[1,1],'iodelay',1);%建立被控对象传递函数sys=feedback(G,1);step(sys) %绘制阶跃响应曲线2.1.2 运行结果:调节时间ts=6.6s;超调量overshoot=38.4%;上升时间:tr=0.546s;峰值时tp=2.36s 2.2 加入位置型PID控制(参数均设置为1)后的阶跃响应:2.2.1 程序:ts=0.5; %采样时间为0.5sG=tf(1,[1,1],'iodelay',1); %建立被控对象传递函数dsys=c2d(G,ts,'z'); %z变换离散化[num,den]=tfdata(dsys,'v'); %以向量的格式输出num和denel=0; %上一时刻的偏差ul=0; %上一时刻输出的控制量u2=0; %上上时刻输出的控制量u3=0; %上上上时刻的输出的控制量yl=0; %上一时刻输出的响应值sum_e=0; %偏差累计量kp=1; %比例系数ki=1; %积分系数(ki=kp*ts/ti)kd=1; %微分系数(kd=kp*td/ts)u=zeros(1,1000); %设置一行1000列的零向量,将控制量预设为0 time=zeros(1,1000); %设置1000个时间点for k=1:1:1000 %设置1000次循环,每次步进值为1time(k)=k*ts; %每个计算点对应的时间r(k)=1; %设置期望值y(k)=-1*den(2)*yl+num(2)*u3;%系统响应输出序列e(k)=r(k)-y(k); %计算误差值u(k)=kp*e(k)+ki*sum_e+kd*(e(k)-el); %PID控制器输出sum_e=sum_e+e(k); %更新偏差累计量u3=u2; %更新上上上一时刻输出的控制量u2=ul; %更新上上一时刻输出的控制量ul=u(k); %更新上一时刻输出的控制量yl=y(k); %更新上一时刻输出的响应值el=e(k); %更新上一时刻的偏差end %循环结束plot(time,y);xlim([0,10]);hold on;2.2.2 运行结果2.3 衰减曲线法对PID调节器的整定及整定后的阶跃响应2.3.1 在纯比例作用下,逐步改变比例带大小,直至响应曲线衰减率为0.75。

相关主题