首页 百科知识 CAN总线混凝土泵车控制系统设计

CAN总线混凝土泵车控制系统设计

更新时间:2025-01-21 工作计划 版权反馈
【摘要】:关键词:CAN总线;混凝土泵车;EVC4.0基金项目:长沙市科技计划资助重点项目。为此,开发带CAN总线接口的基于ARM7的专用控制器及显示屏,在此基础上实现泵车的逻辑运动控制和人机界面显示。将CAN总线引入到泵车控制系统,在控制器系统调试后在泵车上进行实物调试,实现了系统动作、人机界面的功能要求。实践表明,CAN总线通信具有高可靠性、实时性和灵活性的优点。

沈明星
(三一重工股份有限公司,长沙410100)

摘要:设计基于CAN总线的混凝土泵车控制系统,实现泵车的功能要求。

关键词:CAN总线;混凝土泵车;EVC4.0

基金项目:长沙市科技计划资助重点项目。 
作者简介:沈明星(1982-),工学硕士,主任工程师。 
收稿日期:2016-04-25

在现代建筑施工中,凝土泵车已经成为不可缺少的重要施工设备。较常用的控制器是西门子的S7-200、欧姆龙、三菱的PLC,但不具备CAN通信接口,人机界面以文本显示为主,存储空间有限,大大限制了混凝土泵车智能化的发展。CAN总线是一种串行通信协议,它能有效支持高安全等级的分布式实时控制,与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。为此,开发带CAN总线接口的基于ARM7的专用控制器及显示屏,在此基础上实现泵车的逻辑运动控制和人机界面显示。

1.1 系统功能设计

混凝土泵车是一种利用两个油缸交替地推动混凝土输送活塞,从而将混凝土加压后用管道进行输送的机械设备。主要的动作包括:正泵/反泵、排量调节、高压/低压切换、喇叭、紧急停止、臂架动作快/慢档切换、转台正/反转、臂架伸出/折回(4节或5节臂架)、支腿动作(4支支腿)。除了支腿动作外,总线型遥控器应有实现这些动作的开关或手柄,并能显示反映泵车状况的检测量,如臂架转动角度、底盘倾斜角度、GPS地理信息等。带有CANOpen接口的多圈旋转编码器、倾角传感器、GPS控制器终端可以检测到这些信息。上述信号通过两路CAN通道传输,各节点的布置如图1所示。

1.2 硬件选型设计

专用控制器采用16位ARM7TDMI-S的处理器[2]LPC2292,该处理器带有256KB嵌入式高速Flash存储器,内置多个32位定时器、8通道10位ADC、2个CAN通道、多个PWM通道以及多达9个外部中断管脚,特别适用于工程机械的控制系统。CAN总线的接口硬件电路如图2所示。

图1 CAN节点布置

图2 CAN总线的接口硬件电路

传感器、显示屏、GPS终端通过4根电缆线与专用控制器相连,初始化分配地址及设定通信速率后,专用控制器便可以通过轮询方式访问各传感器,数据以报文的方式存放于收、发缓冲区,并将接收的信号实时发送给显示屏。

软件设计主要包括三部分:CAN节点初始化、报文发送和报文接收。除此之外,还必须编写LPC2292的启动代码,即对系统进行初始化。

2.1 传感器节点通信

CAN总线控制器的初始化过程主要包括相应的引脚功能设置、工作方式设置、波特率参数设置以及出错警告界限设置等。CAN1的初始化代码(CAN2与之类似)为:

PINSEL1=(PINSEL1&0xFFF3FFFF)|0x40000//P0.25设置为RD1;

C1MOD=0x01//软件复位,才可以对CAN控制器相应寄存器写入;(www.xing528.com)

C1EWL=ERROR_WARNING_LIMIT//出错警告界限值设置;

C1BTR=CAN_BTR_VALUE//设置CAN1的波特率、总线时序、采样位;

AFMR=0x02//设置验收滤波器为旁路,所有RX信息被使能的CAN控制器接收;

C1MOD=0x00//启动CAN1控制器工作;

另外,可以根据具体情况通过PCANView对CAN进行修改。对CAN控制器硬件初始化后,可以在ISaGRAF软件上进行如下操作:判断总线上传感器初始化成功否,若成功则对接收数据进行注册;然后启动发送命令,用户只需要将待发送的数据按特定的格式组合成一帧报文送入CAN控制器的发送缓存区,然后启动发送即可;最后根据发送情况启动接收命令,负责节点报文的接收以及数据的处理。

2.2 显示屏通信

显示屏硬件平台基于ARM9的某款处理器,带有CAN接口、USB接口和按键驱动电路,USB接口用于程序上载,CAN接口用于和专用控制器通信。操作系统采用Windows CE,编程语言采用Microsoft eMbeded Visual C++4.0(EVC4.0)。显示界面编程包括:数据通讯、屏幕显示、按键处理。

传感器只发送数据但是不接收数据,而显示屏除了接收数据还可以发送数据给控制器。专用控制器发送实时数据给显示器前,将数据送入发送缓冲区,并给发送缓冲区分配ID号,调用CAN_IITX()函数;非实时数据可以先保存在数据存储区,当显示屏操作时才调用。同时,专用控制器接收显示屏的数据,如参数选择、传感器标定等信息,根据接收数据ID号将不同数据存放于接收数据缓冲区,此时调用CAN_IIRX()函数。

嵌入式操作系统是一个实时多任务系统,采用多线程技术和消息传递的机制可有效地同步完成不同的任务,单个任务运行速度慢、时间长或出现异常不会影响其他任务实时控制,多线程的应用使程序的并行处理得以实现。在显示屏程序中,创建了两个关键线程:接收线程ThreadCanRecv()和发送线程ThreadCanSend ()。实现通信的关键代码为:

2.3 GPS通信

GPS模块可以将卫星轨道参数、上次定位位置等数据保存在静态存储器中,接收机内部有备用电池来为存储器供电。这样,开机时GPS模块可以大大简化初始化进程,加快定位速度。GPS模块向专用控制器发送经度和纬度数据并接收GPS监控中心发送的数据。

将CAN总线引入到泵车控制系统,在控制器系统调试后在泵车上进行实物调试,实现了系统动作、人机界面的功能要求。实践表明,CAN总线通信具有高可靠性、实时性和灵活性的优点。

参考文献

[1]饶运涛.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2003

[2]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005

[3]傅曦,齐宇.嵌入式系统WindowsCE开发技巧与实例[M].北京:化学工业出版社,2004

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈