资源描述:
《基于cf和can总线的液位控制器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于C8051F040和CAN总线的液位控制器设计基于C8051F040和CAN总线的液位控制器设计基于C8051F040和CAN总线的液位控制器设计基于C8051F040和CAN总线的液位控制器设计基于C8051F040和CAN总线的液位控制器设计基于C8051F040和CAN总线的液位控制器设计基于C8051F040和CAN总线的液位控制器设计2009正第7期仪表技术与传感器InstrumentTechniqueandSensor2009No.7基于C8051F040和CAN总线的液位控制器设计胡敦利,张春晓(北方工业大学现场总线及自动化重点实验室,北京1o0144)摘要:利用8位
2、高速单片机C805117040,设计了一种可通过CAN总线通讯的液位控制器.阐述了其硬件结构原理和软件流程图,并以双容水箱液位系统为被控对象进行了先进控制算法的仿真与实际控制.实验结果表明:该控制器可实现对液位对象的良好控制,并能作为CAN总线的一个节点,与其他CAN节点及上位机进行通讯.关键词:液位控制;C8051F040;CAN总线;Smith补偿;PID控制中图分类号:rP273;TP336文献标识码:A文章编号:1002—1841(2009)07—0063—03DesignofLevelControllerBasedonCANBusandC8051F040HUDun—li.ZH
3、ANGChun—xiao(FieldBusTechnology&AutomationKeyLab,NorthChinaUniversityofTechnology,Beijing100041,China)Abstract:AlevelcontrollerusedCANbusforcommunicationwasdesignedinthispaper.Itused8-bithighspeedMCUC8051F040.Theprincipleofthestructureofitshardwareandsoftwareflowchartwereexpounded.andthesimu
4、lationandpraeti—calcontrolofadvancedcontolalgorithmsuseddouble—holdingwatertankforobjectwerecarriedthrough.Theresultsofexperimentshowthiscontrollercanmakeexcellentcontroloflevelodject,anditcanalsocommunicatewithotherCANnodesandPCactedasanodeofCANbus.Keywords:levelcontrol;C8051F040;CANbus;Smithco
5、mpensation;PIDcontrol0引言液位控制在工业生产和日常生活中有广泛应用,如锅炉水箱,储油罐等.目前多数DCS控制仪表仍然使用传统4—20mA电流模拟信号,传输可靠性差,成本较高,且各厂家的DCS自成标准,通讯协议封闭,极大的制约了系统集成的互换性和互操作性.新兴的具有现场总线接口功能的现场智能控制器,突破了传统DCS通讯网络封闭,专用的缺陷,采用公开化,标准化的解决方案,从而可以实现综合自动化的各种功能J,方便构建一种全数字化,智能,双向,互连,多节点的通信与控制系统.采用CAN总线作为现场通讯网络,同时采用单片机为控制核心,设计了液位控制器,它可以很好的实现双容水箱
6、液位的测量与控制,大大提高了系统的可靠性和抗干扰能力.1系统构成与工作原理基于CAN总线的液位控制系统如图1所示,液位控制器既作为现场控制器,控制双容水箱的液位,同时又作为CAN总线上的一个节点,通过适配卡,实现与上位机的通信,从而实现对水箱液位的远程监控.双容水箱调节系统结构图如图2所示.工作过程:储水槽中的水通过水泵一或水泵二流出,经过流量变送器一或二和调节阀送人水槽一或二.水槽一中的水通过线性化流出口流入水槽二,水槽二中的水又通过自身的线性化流出口流回到储水槽,使水始终处于循环状态.水的流量由流量变送器一或二检测出,水槽的液位由液位变送器一或二检测出,并分别变送为标准的4—20m
7、A信号送入控制系统.该系统根据需要可设定为一阶系统(单容水槽)或二阶系统(双容水槽).液位控制器以水槽一的液位高度为被控制量,其主要工作收稿日期:2008—05—25收修改稿日期:2009—02—12水泵图1液位控制系统结构图图2双容水箱调节系统原理是采集液位变送器输出的4~20mA电流信号,经信号调理电路输入至微控制器的A/D端,再通过A/D采样转换,变为数字量送给微处理器,微处理器对信号进行处理,运算得到控制量,再经D/A转换,并把控制量变