首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于CAN总线的分布式控制器设计和实现
来源:本站整理  作者:佚名  2009-10-26 12:03:49



近年来大学生的科技创新设计活动越来越丰富,而为每个机电系统设计专门的控制器不仅耗时,而且难以满足系统的稳定性要求,这样就有必要提供一种开放式的控制系统平台,让学生可以在这个平台上进行二次开发。参考文献[1]中等提出了一种基于TCP/IP和CORBA的机电控制器,其构架复杂,功能完全,十分适合工业使用,而对于在校生的设计需求,需要提供一种原理清晰,构架明朗的开放式开发系统,本文所述系统就是基于这个原则。学生可以根据不同的设计要求选择相应的硬件和软件模块,自由组合,经过一些程序编写就可以完成高可靠性控制系统构架。 

    机电系统执行部件包括电机、舵机、液压缸、液压马达等,传感部分有接触和非接触的接近传感器(光电传感器)、图像传感器(CCD、辨色传感器)、声音传感器(麦克风)等,如果采用集中式的设计方式,不仅提高了对设计者的要求,而且难以适应控制要求不断变化的情况。软件设计方面,集中式的硬件设计会使得软件构架十分繁琐,无法多人协同工作,维护困难。控制系统硬件安装方面,集中式的硬件构架很可能增加线束方面的困难。综上所述,采用分布式的设计可以减小设计风险,提高设计效率,增加系统柔性。 

    控制系统分为三部分:信号输入部分、中央处理部分和信号输出驱动部分。信号输入部分包括数字信号输入和模拟信号输入,信号输出驱动部分根据不同的驱动部件设计相应的驱动电路。学生常用的执行部件包括直流伺服电机、直流电机、气动控制阀等,后两者同属于一种控制模式,故驱动部分主要为直流伺服驱动和阀驱动。因此分布式控制模块可以分为:信号输入模块、主控模块、直流伺服电机驱动模块、气动阀驱动模块等。 

    信号输入模块主要是传感器信号的输入和编码,分为数字信号输入和模拟信号输入;主控模块是信息的处理、决策和人机交互的平台,包括键盘输入和LCD输出;直流伺服电机控制驱动模块,采用LM629作为电机控制芯片,通过H桥驱动完成直流电机的PID控制;阀驱动模块用于气动阀的开启、关闭以及直流电机的驱动,故同样通过H桥驱动模式。各个模块之间采用CAN总线构架(如图1)。控制芯片采用P89C58X2,用KeilC和CSOS系统进行算法设计,系统硬件和软件构架清晰,具有良好的扩展性。 

1 硬件电路构架 

1.1 直流伺服电机控制 

    P89C58X2与LM629之间采用总线方式连接,即单片机的P0口通过上拉电阻之后接LM629的数据输入位,HI连接单片机的外部中断口,编码盘输入A、B和IN口分别连接上拉电阻之后接电机的编码盘,而LM629的输出口PWM MAG和PWM SIG分别连接H桥电机驱动的PWM和DIR、编码盘和LM629,H桥与LM629之间均采用高速光隔6N137隔离,如图2。 

    在单板上集成两块LM629,能使结构更紧凑,算法更简单,通过软件可以方便地设定LM629工作在速度模式或者位移模式。 

1.2 CAN总线硬件设计 

    CAN总线是一种具有国际标准的性价比较高的现场总线,其最高传输速度可达1Mb/s,最远传输距离可达10km,性能稳定,十分适合可靠性要求高的分布式系统。 

    本系统CAN总线控制芯片采用飞利浦公司的SJA1000,其支持CAN2.0B的标准协议,并且芯片可以工作在BasicCAN和PeliCAN两种模式下。总线收发器采用飞利浦公司的TJA1050,它符合ISO11898标准,实现CAN控制器和通信线路的物理连接,提高CAN总线的驱动能力和可靠性。

    SJA1000和P89C58X2之间同样采用总线方式连接,连接方法同LM629,而SJA1000和TJA1050之间连接如下:SJA1000的TX0连接TJA1050的TXD,RX0连接RXD,RX1接Vref输出,SJA1000的TX1下拉电阻接地,TJA1050的CANL和CANH就是CAN总线输出。当多节点连接时,CANL和CANH之间需要加1~2个阻值为120Ω的端接电阻,能有效防止通讯总线上产生的信号反射(如图3)。在软件设计中,通过修改SJA1000的寄存器使CAN工作在PeliCAN、单滤波器、正常模式和扩展帧模式下。 

[1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:92,761.72000 毫秒