该文档是关于北京交通大学计算机课程设计的一个项目,主要涉及水温控制系统的开发,采用PID控制算法和单片机AT89C51进行实现。在这个项目中,学生需要设计一个能够测量并控制40到90摄氏度范围内水温的系统,要求精度高于1摄氏度,并具有显示功能。此外,系统还需要能够根据设定值调整水温并保持恒定,同时鼓励在设计中提高控制性能、缩短调节时间和增加打印功能。
PID(比例-积分-微分)控制是一种广泛应用的自动控制策略,它通过结合当前误差、过去误差的累积以及误差变化率来调整控制量,以达到期望的控制效果。在这个课程设计中,PID算法被用来生成PWM(脉宽调制)信号,以此控制电炉的加热,从而实现对水温的精确控制。然而,传统的PID算法对于不同环境的适应性较差,可能需要不断调整参数以达到最佳性能。
为了解决这个问题,设计者引入了模型参考自适应控制(MRAC)算法,这是一种能够在系统参数变化时自动调整控制器参数的方法。通过单片机实现的自适应控制可以弥补PID控制在特定条件下的性能下降,确保水温控制系统在各种时间常数下都能满足技术指标。此外,通过优化设计,该系统还能减少输出继电器的开关次数,这对于应对环境参数频繁变化的小型水温控制系统尤为重要。
在硬件设计方面,系统主要包括DS18B20温度传感器用于测量水温,单片机作为核心控制器,以及与之配合的硬件电路,包括信号放大、继电器、A/D转换、键盘输入和LED显示等。DS18B20是一种数字温度传感器,可以直接输出数字信号,提供高精度的温度测量。单片机接收传感器数据,计算PID控制信号,然后通过A/D转换器将模拟信号转化为数字信号,再由PWM控制电炉的加热。
开发环境包括Windows XP操作系统、DICE反汇编环境用于程序开发,Protues仿真系统用于电路的虚拟原型设计,以及Keil集成开发环境用于编写和编译C语言程序。这些工具共同构成了设计和调试整个系统的平台。
这个课程设计项目涵盖了温度测量、PID控制、自适应控制、单片机应用和硬件电路设计等多个关键知识点,旨在训练学生综合运用理论知识解决实际问题的能力,提升他们的工程实践技能。