历史上的今天
今天是:2025年07月15日(星期二)
2021年07月15日 | 基于单片机的网络控制实现温控系统的设计
2021-07-15 来源:21ic
摘要:文中将嵌入式控制技术与网络控制技术相结合,实现了基于单片机通过因特网的控制实现温控系统的设计,文中所采用的是MSP430F1 49单片机作为控制核心,MSP430F149微控制器控制以太网控制器CS8900A实现本地局域网的功能,通过TCP协议提供与因特网进行连接,可以实现对温箱的温度进行实时有效地控制。系统体积小巧,具备温度采集和远程控制功能和良好的可扩展性。
网络控制系统(NCSs)已经成为学术和工业领域的主要研究中心之一,随着日益增加的研究趋势和研究需要,能够成功应用最新的知识和信息则显得格外的重要。随着社会发展的需求,人们对温箱的应用和需求越来越广泛,在工业生产和日常生活或科学实验中,我们随处都可以看到温箱的应用。本文是将嵌入式技术和网络控制技术结合起来实现了基于网络控制系统的嵌入式温箱控制系统的设计。网络控制系统就是通过控制系统元件(传感器、控制器、执行器等),使用共享的网络而实现信息(标准输入和输出、控制输入等)的交换。通过TCP协议将嵌入式系统采集到的温度信息发送到网络化控制与协调系统和网络监测系统并进行计算和判断后控制和协调单片机的行为。网络化检测系统通过以太网发布对单片机的控制信号,来实现对温箱的温度控制,该系统可应用于远程操作和控制等领域。
1 系统工作原理
文中基于网络控制系统的设计思想开发了远程温箱控制系统,整个系统采用B/S结构,即Browser/Server,浏览器/服务器结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。该系统主要由客户端模块,互联网Internet模块,单片机控制器及被控对象模块构成。位于客户端的用户使用浏览器访问单片机控制器及被控对象模块,在浏览器中登录成功后,通过HTTP协议将数据自动封装为TCP或UDP然后在网络上传输,然后通过网络接口CS8900A将所有从客户端传送来的信息进行自动拆封出数据并传输到单片机控制器及被控对象温箱模块进行温度控制,同理温箱的温度状况也可以传递到客户端模块,从而实现客户端与单片机之间通信,互联网Internet模块是整个控制系统的核心,实现远程客户端与温箱问的信息交互。单片机它主要接收远程客户端的命令,完成对温箱的控制,并将温箱的温度
信息反馈给远程客户端。
2 系统硬件设计
本温控系统的主要芯片是单片机MSP430F149芯片MCU。主要的器件有:数模转换器DAC5571,铂金电阻芯片,压缩机,加热丝,以太网控制器CS8900A网络接口芯片RTL8019AS等。
硬件体系上单片机MSP430F149是系统的控制中心,它监控各个功能模块的启动和运行,如图温度的测量部分,控制数据发送,并通过与网络接口芯片RTL8019AS的连接实现与PC机的以太网通信。
系统主要由远程控制端,Internet,CS8900A,MSP430F149单片机。位于远程控制端的用户通过客户机上的与INTERNER相连接的标准IE浏览器通过CS8900A以太网控制器与单片机之间通过通信从而实现对现场设备的控制,达到温度的控制。系统体系结构如图1所示:

2.1 电源电路设计
本系统需要使用+5 V和+3.3 V的直流稳压电源,其中MSP430F149及部分外围电器需要+3.3 V电源,另外部分需要+5 V电源,在本系统中.以+5 V直流电压为输入电压,+3.3 V由+5 V直接线性降压。电源电路原理如图2所示。

2.2 温度传感器采集电路
DS18B20是一款小巧的温度传感器,它通过单总线协议与MCU进行通信。MCU与DS18B20的硬件连接关系示意图如图所示,可知MCU的P2.4端口与DS18B20的DQ端连接,通过在MCU的IO端口模拟1-Wire协议的时序就能实现对DS18B20的读写了。温度传感器采集电路如图3所示。

3 系统软件设计
本设计的软件部分主要包括实现温度的采集和控制模块,数据传输的实现,客户端的远程控制3大部分。
3.1 温度的采集和控制模块
这个模块的主要作用在于控制硬件设备,完成温箱的温度采集、显示、控制功能。温度的采集和控制模块流程图如图4所示。

当将要采集温度数据时,MSP430F149将通过温度传感器采集温度,所用到得函数有:函数名称:ReadTemp,功能:从DS18B20的Scratch Pad读取温度转换结果,返回值:读取的温度数值。函数名称:uint Do1Convert(void),功能:控制DS18B20完成一次温度转换,返回值:测量的温度数值。
然后进行A/D装换将根据采集到的温度数据设置寄存器的值,处理器读取温度数据到网络控制器CS8900A中的发送控制寄存器TXCMD(000 4H),如果写入数据,那么网卡芯片在全部数据写入后开始发送数据,CPU通过发送数据寄存器PORT0(0000H)发送数据,最后通过网络发送到客户端上。客户端通过网络将命令发送到网络控制器CS8900A中的发送数据长度寄存器TXLENG(0006H),首先写入发送数据长度,然后将数据通过PORT0写入芯片进行接收,执行相应的控制操作。
3.2 数据传输的软件实现
在通过网络来实现数据的传输的时候主要应用的是TCP协议来实现收发数据,设计针对数据收发过程当中所要用到的函数。因为RTL8019 AS里是带缓存的,所以在CS8900A也需要通过对缓冲区的操作进行数据的发送和接受。
在数据包收发的过程当中,不同的任务需要不同的处理时间,这个时间可以使用MSP430F149的定时器Timer_A来提供。
3.3 客户端的远程控制模块
系统中远程控制端的用户在建立HTTP服务器之后登陆与Internet相连接的浏览器中的控制页面向MSP430F149发送控制指令,这一过程需要进行一系列的操作,首先控制器端将通过因特网TCP/IP协议与串口协议之间的转换传输过来,提取设备信息,通过和标准温度比较,如果当所测得的温度高于标准温度的时候,则输出设备信息发出降温标示的信号,单片机通过CS8900A网卡接口接受因特网发送过来的降温指示,然后通过控制压缩机进行降温,如果当所测得的温度低于标准温度的时候,则输出设备信息发出加热标示的信号,单片机通过CS8900A网卡接口接受因特网发送过来的降温指示,然后通过控制加热丝进行加热。其中HTML(超文本链接标示语言)网页数据可以保存在MSP430F149的片内
FLASH存储器中。网页能够完成接收数据、发送网页数据、关闭连接和等待其它应用进行连接等。客户端的远程控制模块流程图如图5所示。

4 仿真结果分析
4.1 实验条件
温箱的体积大小设定为1 m3;工作环境的维度为25℃;工作电压:220 V,50 Hz。
4.2 温箱控制系统的控制精度分析
为了能够准确的测试系统的控制精度,在测试的同时在温箱安置一只标准的温度计用来测实际温度。通过设定不同的目标温度值,对温箱进行温度控制,当系统显示的温度趋于稳定的时候,查看标准温度计所显示的实际温度的温度值,将实际温度和数码管显示温度进行比较,查看温度误差。具体的实验数据记录如表1所示。

4.3 温箱控制系统的控制性能分析
为了测试系统的控制性能,文中采取控制变量的方法进行控制性能的测试,主要包含3种情况:降温到预设温度、加热到预设温度、不同初始温度达到预设温度。通过仿真测试得到温度变化曲线如图6~8所示。

从以上各图中可以看出,所设计的温箱控制系统可以实现温度的实时控制,达到预设的温度值,并可以使温度保持在一个稳定的范围内,且温度的稳定误差保持在0.5℃,达到了预期的控制效果,具有一定的应用价值。
5 结论
基于单片机的网络控制实现温控系统是以单片机为核心的软硬件平台的嵌入式系统。通过使用MSP430微处理器、温度采集电路、温度控制电路搭建硬件平台,使用网络控制平台,设计出了一个基于嵌入式技术的远程网络控制温控系统。该系统体积小巧,电路连接简单,有效利用英特网的特性,用户可以方便地进行操作,增加用户所需功能。从而提高了设备的智能程度,具有较高的工程实用价值。
史海拾趣
|
打上yaffs2补丁了,内核配置时还是没有yaffs2选项。 我的内核是Linux 2.6.14.1, 官网下载了yaffs2补丁,解压后运行 patch-ker.sh c /home/my2410/linux2.6.14.1,,提示: [root@Lanry yaffs2]# ./patch-ker.sh c /home/my2410/kernel/linux-2.6.14.1 Updating /home/my2410/kernel/linux-2.6.14.1/f ...… 查看全部问答> |
|
海辉软件(国际)集团 www.hisoft.com 微软事业部-MSPD 招聘:赴微软高级软件工程师 如果您想参加一个影响全球无数顾客的产品的研发工作,这个产品应该是什么呢? 您是否喜欢在一个快节奏的环境下工作,解决客户的实际问题并且帮助 ...… 查看全部问答> |
|
我在新装的fedora 7下用minicom看2410的串口信息!可是没有任何显示!我在redhat9的minicom和xp的dnw上是可以显示的。 串口的设置serial device:/dev/ttyS0 &nbs ...… 查看全部问答> |
|
如前所述,当我们把保护电压连到同轴电缆[1]的屏蔽时,如果该保护电压大于30V有效值,就可能出现安全风险。三同轴电缆用连至大地或LO端的外层屏蔽将保护屏蔽包围起来,从而避免了这种危险。 当静电计按无保护方式工作时,三同轴电缆的连接方法 ...… 查看全部问答> |
|
用的是IAR软件,JTAG串口仿真器,调试的时候,初始化各个管脚,程序烧进去之后软件就无法识别430啦,同一个板子,我又换了一个430,能识别,可程序写进去,又无法识别啦,怎能么解决啊,我想是因为我把JTAG那几个管脚也当普通管脚用了,快点帮忙下 ...… 查看全部问答> |
|
超级强劲的KeyStone 多核 ARM 和 ARM + DSP 处理器 KeyStone 多核 ARM 和 ARM + DSP 处理器包括各种器件选择,这些器件以最低的功率级别和成本提供最高的性能。 TI 的 KeyStone 平台以低于多芯片解决方案的功耗,提供高达 5.6GHz 的 ARM 和 9.6GHz 的 DSP 处理能力,因此适用于嵌入式应用,例如云 ...… 查看全部问答> |




