机电系统执行部件包括电机、舵机、液压缸、液压马达等,传感部分有接触和非接触的接近传感器(光电传感器)、图像传感器(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、单滤波器、正常模式和扩展帧模式下。