网站首页 > 技术教程 正文
众所周知,我国是一个烟草大国,烟草行业在国民经济中占有十分重要的地位。
烟草行业涵盖烟叶种植、烟叶烘烤、烟叶发酵、卷烟生产及销售等环节,各环节的生产过程、管理水平、生产能力和生产质量都将直接影响到最终产品的质量和经济社会效益。在整个烟草生产过程中,烟叶烘烤的质量起到了至关重要的作用,然而令人遗憾的是,目前贵州省乃至全国烟农多数使用人工作坊式进行烟叶的烘烤,烤房内的温度、湿度等对烟叶质量有影响的环境参数只能靠人工方式进行测量和控制,因而无法保证烤烟的质量,使得农民的收入没有得到明显提高。为了保证烤烟质量,必须采取先进的控制手段来对环境温度和湿度以及持续时间进行有效控制,自动控制技术、通信技术和计算机技术的不断发展给烤烟环境的精确控制带来了可能。
本系统结合现场总线和单片机控制技术,构建了分布烤烟控制系统,实现了对分散在不同位置的烤房进行实时远程监控。
1、 CAN 总线概述
当今计算机控制系统正迅速向分散的现场总线控制系统(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 总线适配器(USB 接口)实现计算机控制信息和 CAN 总线协议数据的相互转换,完成对现场控制节点的集中管理。
监控软件采用 Visual Basic 平台进行开发,完成对控制节点的实时监控。
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 总线应用系统目前已投入实际生产运行,并取得了良好的控制效果。
本文工作只是在现场总线方面作了一些应用研究工作,对更深入的应用研究还有待进一步深入。
猜你喜欢
- 2024-11-14 建安区拟命名2022年度文明家庭名单公示
- 2024-11-14 “让罕见被看见,让关怀更早些”,松江这个征稿活动开始了!
- 2024-11-14 新石器时代手游探索与发现:最新礼包兑换码揭秘开启史前文明之旅
- 2024-11-14 泵的选型条件及泵的选型(泵选型一般程序及需要考虑的几方面因素)
- 2024-11-14 收下这份攻略 国美零售“黑伍”海信超品惠就这样买
- 2024-11-14 汽车仪表的发展、趋势及采用CAN总线技术实现设计
- 2024-11-14 汽车时间同步(汽车上的时间不对)
- 2024-11-14 正点原子开拓者NiosII资料连载第二十章CAN通信实验
- 2024-11-14 基于CAN总线的伺服电机通信控制特性
- 2024-11-14 openEuler操作系统管理员指南:查看系统信息
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)