DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 527|回复: 0
打印 上一主题 下一主题

[接口电路] CAN总线在分布式烤烟控制系统中的应用

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
众所周知,我国是一个烟草大国,烟草行业在国民经济中占有十分重要的地位。烟草行业涵盖烟叶种植、烟叶烘烤、烟叶发酵、卷烟生产及销售等环节,各环节的生产过程、管理水平、生产能力和生产质量都将直接影响到最终产品的质量和经济社会效益。在整个烟草生产过程中,烟叶烘烤的质量起到了至关重要的作用,然而令人遗憾的是,目前贵州省乃至全国烟农多数使用人工作坊式进行烟叶的烘烤,烤房内的温度、湿度等对烟叶质量有影响的环境参数只能靠人工方式进行测量和控制,因而无法保证烤烟的质量,使得农民的收入没有得到明显提高。为了保证烤烟质量,必须采取先进的控制手段来对环境温度和湿度以及持续时间进行有效控制,自动控制技术、通信技术和计算机技术的不断发展给烤烟环境的精确控制带来了可能。本系统结合现场总线和单片机控制技术,构建了分布烤烟控制系统,实现了对分散在不同位置的烤房进行实时远程监控。1? CAN总线概述?当今计算机控制系统正迅速向分散的现场总线控制系统(FCS)方向发展,现场总线的使用,使得包含工业控制系统在内的各类控制系统的控制功能彻底下放到控制现场,系统的性能进一步提高。?在众多的现场总线中,CAN(Control Area Network)以其独特的优势在各类控制系统的应用日益广泛。CAN总线协议简单、实现容易、成本低,能方便与微控制器接口,特别适合中小型控制系统中。因此,考虑到行业特点及控制要求,在方案中我们选择了CAN总线作为整个系统的数据通信系统。2? 控制系统方案?本系统基于CAN总线构建,将CAN总线接口内置于烤烟控制器中,并使用双绞线作为总线连接至监控计算机的CAN总线适配器,形成分布式控制系统,如图1所示。

图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,#09HMOVX @DPTR,A?? ;使SJA1000进入复位模式……????? ;其他寄存器设置MOV DPTR,#MOD?? ;方式寄存器MOV A,#08HMOVX @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总线应用系统目前已投入实际生产运行,并取得了良好的控制效果。?本文工作只是在现场总线方面作了一些应用研究工作,对更深入的应用研究还有待进一步深入。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-12 19:39 , 耗时 0.089101 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表