基于现场总线和单片机实现分布烤烟实时远程监控系统的设计
elecfans 2023-03-21

众所周知,我国是一个烟草大国,烟草行业在国民经济中占有十分重要的地位。

烟草行业涵盖烟叶种植、烟叶烘烤、烟叶发酵、卷烟生产及销售等环节,各环节的生产过程、管理水平、生产能力和生产质量都将直接影响到最终产品的质量和经济社会效益。在整个烟草生产过程中,烟叶烘烤的质量起到了至关重要的作用,然而令人遗憾的是,目前贵州省乃至全国烟农多数使用人工作坊式进行烟叶的烘烤,烤房内的温度、湿度等对烟叶质量有影响的环境参数只能靠人工方式进行和控制,因而无法保证烤烟的质量,使得农民的收入没有得到明显提高。为了保证烤烟质量,必须采取先进的控制手段来对环境温度和湿度以及持续时间进行有效控制,自动控制技术、通信技术和技术的不断发展给烤烟环境的精确控制带来了可能。

本系统结合现场总线和控制技术,构建了分布烤烟控制系统,实现了对分散在不同位置的烤房进行实时远程。

1、 总线概述

当今计算机控制系统正迅速向分散的现场总线控制系统(FCS)方向发展,现场总线的使用,使得包含工业控制系统在内的各类控制系统的控制功能彻底下放到控制现场,系统的性能进一步提高。

在众多的现场总线中,CAN(Control Area Network)以其独特的优势在各类控制系统的应用日益广泛。CAN总线协议简单、实现容易、成本低,能方便与微控制器,特别适合中小型控制系统中。因此,考虑到行业特点及控制要求,在方案中我们选择了CAN总线作为整个系统的系统。

2、 控制系统方案

本系统基于CAN总线构建,将CAN总线接口内置于烤烟控制器中,并使用双绞线作为总线连接至监控计算机的CAN总线,形成分布式控制系统,如图1所示。

2.1烤烟控制器

内置单片微控制器(AT89C52)的烤烟控制器对烤烟环境的温度及湿度进行采样,依据一定的控制规律(烤烟环境的温度和湿度控制规律)产生控制信号对温度及湿度进行控制,并接收监控计算机发送来的命令完成控制参数的修改或上传检测到的温度和湿度。

由于烤烟过程对环境的要求并不是非常高,为简化控制系统结构,降低成本,使用了如下方案进行设计。

温度的采样采用全数字DS18B20(DALLAS公司生产),该使用串行接口(1-Wire总线)与微控制器连接,测量温度最高达125℃,精度可达0.005℃,完全可满足烤烟温度检测的需要;而温度的调节直接通过直流电机驱动火门控制进风量进行。

环境的湿度可间接从采样到的湿球温度计算得到,从而避免使用昂贵的;而湿度通过直流电机控制窗户的开启大小来控制。

CAN总线接口使用菲利浦公司的SJA1000协议、6N137光电和82C250总线构成。

2.2 监控计算机

利用CAN总线适配器(接口)实现计算机控制信息和CAN总线协议数据的相互转换,完成对现场控制节点的集中管理。

监控软件采用Visual B平台进行开发,完成对控制节点的实时监控。

3、烤烟控制节点设计

依据上述控制功能要求,烤烟控制节点包含AT89C52、LCD、CAN总线接口、两片DS18B20、两套直流电机控制电路,如图2所示。

3.1 硬件组成

AT89C52是烤烟控制器的核心,完成温度和湿度的采样与控制、控制算法运算、键盘扫描、LCD显示、数据通信等功能。

LCD显示器用于现场显示采样的温度及湿度、控制参数设定值等,由于需要显示的内容较少,选用段式显示器;而键盘用于在现场设置控制参数,为了简化接口电路,采用独立式键盘电路,即每个按键占用AT89C52的一位量输入。

DS18B20和直流电机控制电路组成温湿度采样与控制电路。DS18B20的控制程序按其规定的时序进行编写,通过单片机执行SETB P1.7(或P1.6)和CLR P1.7(P1.6)即可产生所需要的软件脉冲,从而实现对温湿度的数字化输入;而直流电机的控制通过对P1.5(P1.4)进行控制产生高低电平,再送由和直流组成的电机驱动电路,即可实现对电机的正反转控制,通过传动机构带动火门(或窗门)移动对温度和湿度进行调节。

烤烟控制器CAN总线接口由SJA1000、6N137和82C250组成,如图3所示。SJA1000以并行接口芯片和中断形式与AT89C52连接,AT89C52对映射到的SJA1000有关进行读写,即可实现SJA1000初始化设置、数据收发、数据校验等操作;6N137组成光电隔离电路以提高系统的抗干扰能力;82C250则提高总线驱动能力。

3.2 程序设计

烤烟控制器程序除了完成定时对温湿度的采样与闭环控制和实现人机接口外,还要对监控计算机通过CAN总线发送来的远程命令进行响应,以便执行特定的功能。由于系统采用中断方式实现温湿度的定时采样和CAN总线的通信,因此程序包括主程序和中断服务程序两部分,其中定时中断程序较为简单,在此不再详细介绍。

3.2.1 主程序

主程序完成对和CAN总线的初始化,并循环扫描键盘和控制LCD显示。

对CAN总线的初始化主要是对SJA1000的工作方式、接收滤波方式、接收屏蔽寄存器(AMR)、接收代码寄存器(ACR)、波特率参数和中断允许寄存器进行设置,在初始化前必须使SJA1000进行复位模式,当初始化设置完成后,须使SJA1000回到正常工作模式,才能实现正常工作。为增强程序的可读性,在程序执行代码前使用EQU伪指令将SJA1000各寄存器所对应的器地址定义成特定的符号。

MOV DPTR,#MOD ;方式寄存器

MOV A,#09H

MOVX @DPTR,A ;使SJA1000进入复位模式

…… ;其他寄存器设置

MOV DPTR,#MOD ;方式寄存器

MOV A,#08H

MOVX @DPTR,A ;使SJA1000进入工作模式

……

3.2.2 中断服务程序

当监控计算机通过CAN总线向控制节点发送数据时,一旦CAN数据帧内的接收方地址与初始化程序中设置的地址匹配时,SJA1000即通过INT1(外部中断)向AT89C52发送中断请求,当AT89C52响应中断请求后立即转向中断服务程序执行,在中断服务程序内进行信息的解释,并进行相应的控制,如传送温湿度数据、修改控制参数等。在对SJA1000接收的信息进行处理前,还需要对总线脱离、错误报警、接收溢出等进行处理。

MOV DPTR,#SR ;状态寄存器地址

MOVX A,@DPTR

ANL A,#0C3H ;读取总线脱离、错误报警、接收溢出、有数据等位

JNZ ERRPROG ;转错误处理程序

…… ;正常处理程序

4、监控软件开发

监控管理计算机完成对各烤房的实时监控,为实现完整的信息管理功能,需要构建数据管理系统。系统中基于MS-Access构建平台,利用VB开发监控软件实现与烤烟控制器的通信并访问数据库。

监控软件功能主要包含定时循环数据采样(循环依此采样各烤房数据)、实时、温湿度曲线显示(打印)、数据统计报表(打印)等。

5、结束语

CAN总线是目前广泛采用的现场总线标准,其协议简单,容易实现,能方便与各种微处理器接口,本文研究的CAN总线应用系统目前已投入实际生产运行,并取得了良好的控制效果。

本文工作只是在现场总线方面作了一些应用研究工作,对更深入的应用研究还有待进一步深入。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    前天
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    前天
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    前天
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    前天
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    07-01
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    07-01
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    07-01
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
广告