单片机
返回首页

基于ATmega16L的温度控制系统设计

2012-02-24 来源:维库开发网

  1 引言

  随着科学技术的进步,检测行业发展快速,除了检测项目和内容不断扩大,更重要的是检测愈来愈科学化、职能化,主要表现在检测过程及检测结果由计算机监控和显示。多点温度的采集控制近年来在检测行业应用较为广泛,其中以微机为核心的监控技术价格低廉,使用方便,应用也最普遍。

  本文主要介绍基于ATmega16L单片机的温度控制系统的设计,具体包括炉温的采集和控制、LCD显示以及PC机绘制温度变化的曲线图等。硬件和软件设计采用模块化的思想,系统集成度较高。

  2 系统的硬件设计

  图1为系统硬件的总体结构图。系统由主控制器、温度传感器、运算放大电路、液晶显示电路、键盘电路、串口通信电路等构成。由结构图1可看出,系统模块较多,所以应合理分配I/O 口资源,各模块以ATmega16L单片机为核心相连接。


  2.1 主控制器

  系统主控制器采用ATmega16L,该单片机是一款高性能、低功耗的8位AVR微处理器,具有先进的RISC结构,内部有大容量的ROM、RAM、FLASH和EEPROM,集成4通道PWM,SPI串行外设接口,同时具有8路10位A/D转换器,对于数据采集系统而言,外部无需单独的A/D转换器,从而可节省成本。另外,该单片机提供JTAG调试接口,可采用自制的简易JTAG仿真器进行程序调试。

  2.2 温度采集电路

  图2为温度采集电路。该电路主要由温度传感器AD590和差分运算放大器AD524组成,其中温度传感器AD590是一种新型的两端式恒流器件。激励电压范围是4~30 V,测温范围为-55~+150℃。当AD590的电流流过一个5 kΩ的电阻时,温度升高1 K,该电阻上的电压增加5 mV,即转换成5 mV/K。因此,温度在0~100℃间变化时,电阻电压在1.365~1.865 V间变化。运算放大器AD524用于把绝对温度转换成摄氏温度。


  2.3 温度控制电路

  该电路主要由光电耦合器和可控硅组成,如图3所示。单片机发出的控制信号(PWM)经驱动器后控制光电耦合器的工作状态。当光电耦合器工作后,使双向可控硅的触发极处于高电平,可控硅处于导通状态,进而控制加热棒的工作。

  2.4 其他电路

  (1)显示电路系统的模块较多,I/0接口紧张,显示器选用液晶显示器TCl602A,接口采用高4位数据传输方式。

  (2)键盘电路系统采用非矩阵式键盘,该键盘结构简单,使用方便,不会占用较多I/O,适用于按键个数较少的场合。

  (3)串口电平转换 电路电平转换由MAX488器件完成,MAX488为RS-488收发器,速度高于MAX232,简单易用,单+5 V供电,外接少量器件即可完成从TTL电平到RS-488电平的转换。

  3 系统软件设计

  系统采用分层控制方式保证温度控制系统稳定。下位机采用ATmega16L单片机作为硬件开发核心,采用C语言编程。上位机采用工控机作为监控系统,采用Visual Basic6.0编程,两层之间采用RS-488通讯实现数据交换。在单片机部分,软件设计采用模块化设计方法,整个软件可分为主程序、按键处理程序、A/D转换程序、增量式PID处理程序、串行通信程序和显示处理程序、数据保存处理程序、看门狗处理程序。

  (1)主程序 系统主程序主要完成系统各部件初始化操作,此外,在系统开始运行后等待按键处理。图4为其流程。


  (2)按键处理程序 键盘处理程序通常采用查询方法实现按键的识别,CPU只要一有空闲就调用键盘扫描程序,查询键盘,识别键值,并予以处理。

  (3)A/D转换程序 ATmega16有一个10位包括采样保持电路的逐次逼近型A/D转换器,该转换器与一个8通道模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。通过设置ADCSRA寄存器的ADEN即可启动A/D转换器,只有当ADEN置位时,参考电压及输入通道选择才生效。向A/D转换器启动转换位ADSC位写“1”可启动单次转换。在转换过程中此位保持为高电平,直到转换结束触发中断。然后被硬件清零。

  (4)增量式PID处理程序 该温度控制系统具有滞后性、时变性和非线性,不可能建立该系统的精确数学模型,因此如果使用常规的线性控制理论,要达到满意的控制效果非常困难。采用  增量式数字PID控制器,可解决这个难题。

  增量式PID是指数字控制器的输出只是控制量的增量,由于计算机输出的是增量,所以误动作时对输出的影响较小。控制增量的确定仅与最近的k、k-1、k-2次的采样有关,所以能够较容易地通过加权处理而获得较好的控制效果。另外,对于数字控制系统,由于A/D转换器位数的限制,其输出控制量受最小和最大值的限制,系统加入抗积分饱和法对其优化。图5为增量式PID控制算法程序流程。

  以下是增量式PID控制的程序代码:

  (5)串行通信程序 系统与上位计算机之间采用RS-488的串行数据传输方式。单片机采用中断方式接收数据,而发送数据则采用查询方式。

  (6)显示处理程序 LCD-TC1602A LCD接口设计采用4位控制方式,使用4位数据线D4~D7控制时序分两次传送,先传送高4位数据,再传送低4位数据。

  (7)数据读写处理程序 ATmega16单片机内部集成有512 B的EEPROM,它是作为一个独立的数据空间而存在的。ATmesa16单片机通过对相关寄存器的操作实现对EEPROM按字节读写。

  (8)看门狗处理程序 ATmega16单片机内部集成有硬件看门狗,看门狗由片内独立的振荡器驱动,设置看门狗的步骤为:先初始化并打开看门狗,然后把喂狗指令放在循环程序中。

  4 系统测试分析

  各个模块测试完成后,将下位机由测试端的硬件通过串口与PC机连接,构成完整的温度测试系统。在上位机中运行Visual Basic编写的监控程序,通过下位机的键盘设置加热炉温度为80℃.单击“打开通信端口”,选择所要通信的端口后,单击“开始测温”,这时下位机就会向上位机发送实时温度值,并实时绘出温度趋势曲线。

  当单击“结束”时,整个系统停止工作。上位机显示的温度趋势曲线如图6所示,测试结果显示,该系统对加热炉温度的采集和控制比较准确。

  5 结束语

  充分利用AVR ATmega16单片机的内部资源,系统集成 度高,系统利用增量式PID算法改变PWM的输出值,然后控制可控硅的开关,最终使被控对象的温度值趋向于给定的温度值。该系统操作容易、可靠性好,具有较高的实用价值。就其采样频率和分辨率来说属于中速类型,适合于对数据采样频率要求不是特别高的应用场合。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 单稳态控制电路设计与分析

  • 光控电路设计与分析

  • IGBT模块通过控制门极阻断过电流

  • 开关电源的基本组成及工作原理

  • 基于M66T旋律发​​生器的电路图解析

  • 一个简单的红外耳机电路

    相关电子头条文章