基于现场总线和单片机实现分布烤烟实时远程监控系统的设计
0 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
评论
  • 【6.29直播】西门子EDA工具在3D IC设计中的应用


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 怎样才能快速学习8051单片机

    [导读]单片机是微机的一种,现时有8051、AVR、ARM7、ARM9等系列,其中 “8051”是源自于Intel公司的MCS-51系列芯片,但目前不同生产厂商

    06-02
  • 什么是DDR?DDR的分类有哪些?

    存储器可分为易失性存储器和非易失性存储器两类,前者在掉电后会失去记忆的数据,后者即使在切断电源也可以保持数据

    05-31
  • 51单片机RAM 数据存储区、位寻址区、数据缓冲区

    [导读]1.RAM keil C语言编程RAM是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过12

    05-30
  • STM32使用库函数驱动LED灯编写程序步骤

    [导读] 一、熟悉GPIO结构体以下这个结构体是我从官方手册中获取的:[cpp] view plain copy print?typedef struct{u1

    05-30
  • 你知道Linux下的ds18b20驱动吗?

    [导读]今天在各位前辈已有成就的基础上花了两天时间终于把这个驱动给搞定了,从开始编译成模块看效果,进行调试,再到编译进内核,最后又编译了一个界面出来,虽说大多数

    05-29
  • 一文区分AT89C51和AT89C52

    [导读]AT89C51和AT89C52是单片机的两种型号。主要区别是容量不同。at89c51最多支持4KB的程序,at89c52则最多支持8KB的程序。

    05-29
  • 功能强大的时钟中断应用分析

    [导读]在单片机程序设计中,设置一个好的时钟中断,将能使一个CPU发挥两个CPU的功效,大大方便和简化程序的编制,提高系统的效率与可操作性。我们可以把一些例行的

    05-29
  • 一文告诉你MCS-51单片机有几个工作寄存器?

    [导读]工作寄存器有4组,每组都是8个工作寄存器R0~R7,通过PSW中的RS1、RS0两位来选择使用哪一组,如果不选,默认是选择第0组。

    05-29
  • 一文详解STC89C52单片机

    [导读]STC89C52单片机简介

    05-29
  • AVR单片机时熔丝位配置出现的一些问题分析

    [导读]AVR单片机的熔丝位配置是AVR单片机初学者很容易出错的地方,其实只要注意一些事项,还是能够尽量避免单片机被锁死,即使单片机被锁死,也可以使用一些方法解

    05-29
  • 一文详解STC89C52处理芯片

    [导读]主要性能: 与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储

    05-29
  • 一文详细分析51单片机中断问题

    [导读]该寄存器用于设置定时/计数器的工作方式,低四位用于定时器0,高四位用于定时器1。 GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或

    05-29
下载排行榜
更多
广告