Board logo

标题: 基于CAN总线的电梯主控系统软硬件设计 [打印本页]

作者: 520503    时间: 2015-9-13 18:01     标题: 基于CAN总线的电梯主控系统软硬件设计

 摘 要:为了升级现有电梯控制系统,给出了一种以LPC2294 为主控芯片的电梯主控系统的设计。软件上以抢占式多任务实时操作系统μC/OS 为平台,实现了电梯主控系统中的输入采集、调度分配、CAN 通信、菜单输出等任务;硬件建立在LPC2294 基础上,实现了与变频器互联互通、编码器脉冲反馈的采集、井道开关量的输入输出等。

  1 引言
  随着城市化建设事业飞速发展,高层建筑和智能建筑大量涌现对电梯控制提出了许多新的要求,与此同时 MCU 与现场总线技术的发展为电梯控制系统不断完善提供条件。由于现代电梯控制系统在安全性、稳定性、人性化的要求不断提高,对原有系统在通信方式和电机控制方式等方面进行升级也显得尤为必要。
  在通信方式上,CAN 总线技术的引入改变了RS485 总线在电梯控制上只能构造主从结构的通信网络、缺少总线仲裁与实时响应效果不理想等方面的缺点,这也使得在现代电梯控制系统的设计时,可以把一些井道开关量信号轿厢控制器来采集,然后通过CAN 通信把有效信号直接传输给主控系统,这样就减少主控系统的负担,增加系统的安全性;在电机控制上,电梯控制系统经历了双速系统、多段速系统与当前采用的模拟量控制系统三个阶段,使得乘客在乘坐电梯时舒适感逐步完美,电梯控制系统也得到了不断改变并趋完善。
  2 系统简介
  现代电梯电气系统由电力驱动系统、电气控制系统和安全保护系统组成(如图1)。其中电力驱动系统由曳引电动机、速度反馈装置(旋转编码器)、电动机调速装置(变频器)和电源系统等部分组成;电气控制系统又由电梯主控系统、外呼控制系统、轿厢显示、门控制系统和外召系统等部分组成;安全保护系统由光幕、急停、门锁、安全窗等组成。

  

  图1 电梯控制系统结构图

  电气控制系统中电梯主控系统主要收集电梯井道限位信号和电梯外呼内叫的呼梯信号,然后根据系统参数和系统的当前状态,与门控制系统和电力驱动系统交互完成整个电梯的运行控制。其在电梯的电气控制系统中扮演了举足轻重的作用。
  2 控制系统硬件设计
  主控系统的硬件设计主要包括微控制器、CAN 通信模块、光耦输入、继电器输出、存储器模块、液晶显示模块、按键电路、电源模块、复位模块和JTAG模块等。其硬件框图如图2 所示。

  

  图2 主控系统的模块。

  在主控系统中,外接了4 路CAN 总线收发器,分别连接到电梯外呼采集板、轿厢采集板、电动机调速装置(变频器)、以及群控电梯板。主控系统与电梯电气系统的其余子系统之间的通信。光耦输入、继电器输出电路的功能主要是让电梯主控系统采集井道限位信号和输出井道限位;液晶显示模块和按键电路则是给电梯调试人员设计的调试接口,用来查看系统运行参数和改变系统运行参数;而铁电存储器用来保存系统参数运行参数。
  2.1 微控制器模块
  LPC2294 是基于一个支持在线仿真和跟踪的16/32 位ARM7TDMI-STM CPU,并带有16KB 的SRAM 和256 KB 板级高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。
  由于LPC2294 的144 脚封装、极低的功耗、多个32 位定时器、8 路10 位ADC、4 路CAN、PWM 通道以及多达9 个外部中断使它们适用于汽车、工业控制应用以及医疗系统和容错维护总线。LPC2294 包含至少76(使用了外部存储器)~至多112(单片)个GPIO口。由于内置了高速的串行通信接口,它们也非常适合于通信网关、协议转换器以及其它各种类型的应用。
  2.2 CAN 模块电路
  在电梯控制系统中,往往是一栋大楼中使用多台电梯构建一个由多台电梯组成的群控系统。在一台电梯控制系统内部主控系统要与轿厢板、外召板之间进行通信;在各电梯之间由群控板负责收集各台电梯运行状态和电梯负载量然后根据相应的算法进行派梯,这样就使得控制系统中的通信压力较大。由于LPC2294 内部带有4 路CAN 控制器,使得该处理器很适合应用于电梯控制系统中。
  各路CAN模块电路基本一致,从微控制器中CAN控制器上引出输入/输出引脚RD/TD 到CAN 收发器TJA1050 相应的管脚上。为了减少终端反射对系统的影响,需要在每路CAN 总线的两最远端各加上120Ω的终端电阻。从通信角度看,电梯控制系统的设计是以主控系统为中心的CAN 通信系统的设计,因而在主控系统在设计的时,给每条CAN 总线的CANH 和CANL 之间添加上了120Ω的终端电阻是必要的。另外由于系统中的供电采用的是24V 的标准工业用电,而这非电子元器件的承受电压范围,因而避免在工程施工中接线错误对系统致命破坏,设计的时候在CANH 和CANL 口线上添加了TVS 管。如图3 所示。

  

  图3 CAN 模块电路。

  CANH 和CANL 输出到GND 的匹配电容C1 和C2 经常被用于提高抗电磁干扰的性能。相应噪声源的阻抗和CANH 和CANL 对地的电容组成了一个RC低通滤波器,在抗干扰的性能的问题上电容的值应该尽可能大,才能获得低的角频率。另一方面输出级的整个电容负载和阻抗为数据信号建立了一个低通滤波器。因此相关的角频率要比数据传输频率高。这使电容值必须由节点的数量和数据传输频率决定。当TJA1050 的输出级阻抗大约是20Ω,总线系统有10个节点,速度是500kbit/s 则电容的值不应该超过470pF.
  2.3 光耦输入电路
  在电梯电气控制系统中主控系统为了电梯不发生安全事故,安全稳定地运行,因此要实时地从电梯安全保护系统中采集电梯井道信号。对于实时性要求非常高的输入开关量直接通过光耦输入到主控系统,如开/关门限位、上/下强减、上/下限位、光幕、门锁、抱闸反馈等开关量信号。另外为了减小输入信号对微控制器的影响,在微控制器端对这些开关量信号,采用了光耦隔离其电路原理图如图4 所示。

  

  图4 光耦输入电路。

  当然部分的对实时信号要求不是特别高的输入信号如消防、锁梯、直驶、满载、超载等,可以通过轿厢板或者外召板以同样的方式采集,然后通过CAN 总线传递给主控制系统。

  

  图5 继电器输出电路。

  3 控制系统软件设计
  控制系统软件设计时采用了当前主流的keil 集成开发环境。软件设计以抢占式多任务实时操作系统μC/OS 为平台实现[5]了电梯主控系统的调度分配、CAN通信、液晶显示三个任务,如图6 所示。

  

  图6 系统控制通信图。


  3.2 CAN 通信任务
  原则上对4 路CAN 控制器的资源分配为:CAN0外呼通信、CAN1 内召通信、CAN2 变频器通信、CAN3群控子系统通信[7]。但系统中可以在软件上进行相应的配置,然后使得任意CAN 控制器可以与任意的外部子系统相连,这样就增加了系统的灵活性,也给操作人员带来了方便。在CAN 通信任务调用之前,需要调用相应的CAN 控制器初始化函数,对CAN 控制器中断、波特率、验收过滤器等进行相关的设置。在CAN通信任务中,一方面需要完成4 路CAN 控制器通过中断方式接收到缓冲区中的数据再验证无误后交付给主控调度任务,令一方面需把主控会把给群控调度器、变频器、内召板、轿厢板发送的信号或者命令交付给CAN 通信任务。CAN 通信任务再接收到主控的数据做相应的验证,封装成相应的协议格式的帧,然后发送给相应的子系统。
  在CAN 通信中,发送数据的封装和接收数据的解封遵循的格式除了变频器部分参考第三方提供的CAN 总线通信协议,其他模块与主控系统的通信完全依靠下述自定义协议。在电梯控制系统中,CAN 通信全部采用CAN2.0 所规定的扩展数据帧[5-7],其格式如表1 所示。传输的帧中29 位ID 按下表划分(全0 或者全1 将被舍弃)。
  表1 扩展帧ID 格式

  

  在表1 中,主控部分的子设备dev 有外呼、内召、群控、变频器,以序号001、010、011、100 等;“-”部分是在设计协议中没有用到的数据位,程序中用0填充;cmd 表示发送方给接收方发送的命令字(如相应信号登记命令、相应信号清除命令);data 部分表示发送方给接收方发送的信号数据,由于在系统设计的时候考虑的最高楼层为64,因此数据部分在传输的时候,每次主控给与外呼、内召通信的时只需要一帧就可以完成,其数据字节bye1 的BIT0 表示第1 楼信号,byte8的BIT8 表示第64 楼信号。
  3.3 液晶显示任务
  从任务间通信角度,液晶显示任务主要接收主控任务以消息队列方式传入的相关系统参数(如上/下行、当前楼层、目标楼层等),然后通过调用12864 点阵液晶驱动函数和查询用户按键的输入状态,提供给用户相应的显示菜单,以现实相关的系统参数。
  当然该任务,也得提供给用户相关系统参数设置的接口, 然后把相关参数保存在铁电存储器FM24CL64 中。
  4 结束语
  本文设计的基于CAN 总线的电梯主控制系统具有成本低,工作稳定等特点,完全能够满足国标GB7588-2003 对电梯控制系统的各项指标。由于篇幅的限制,本文没有给出相应的外召板、内叫板,群控板的设计及其具体的实现,另外与变频器的接口完全按照变频器第三方基于CAN 总线的具体通信协议。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0