APP下载

车用组合开关耐久性检测系统设计与关键技术*

2020-05-25唐伎玲费树明

汽车技术 2020年5期
关键词:测试数据试验台工位

唐伎玲 费树明

(1.长春大学,长春 130022;2.长春工业大学,长春 130012)

主题词:车用开关 耐久性 检测系统

1 前言

车用开关的耐久性能研究,即疲劳寿命研究,是机电一体化、计算机控制技术和信息检测技术有机结合的产物。目前,国内的开关试验机产品普遍存在通用性差和检测效率低的问题:车用开关规格性能大都有相应的国家标准,汽车开关功能逐渐多样化,尤其是转向柱组合开关种类快速变化,目前市场上的耐久性检测试验台很难适应较新型组合开关的试验要求[1];耐久性试验机多是单机模式,可以实现多工位的串行动作,缺少对多开关联合动作的并行检测能力[2]。

本文根据汽车转向柱上的常用开关(如远近光、雾灯、夜间行车灯、转向灯、雨刮器开关等)的耐久性检测需求,以实现通用性、提高检测效率为目标,设计一款能实现旋动、拨动、抬动3种动作并行控制,并能实时显示开关闭合状态的车用组合开关耐久性检测系统。

2 检测系统的设计

车用组合开关耐久性检测系统由检测试验台和检测控制子系统组成,如图1所示。

检测试验台采用基于ARM 处理器的闭环控制,通过电机驱动系统实现每个工位上执行机构的精确控制[3],完成对开关进行旋动、拨动和抬动动作的并行控制,同时通过现场传感器获取检测开关当前闭合状态完成独立检测,且各工位可以同时对3 种类型的开关实施组合动作的检测,进而提高系统的通用性。

检测控制子系统采用中控机与基于ARM的分控机的双控结构[4]。中控主机负责对测试数据的输入及测试顺序进行编排并发送给ARM处理器,同时接收ARM处理器发送的检测开关当前闭合状态并实时显示,需完成人机交互模块、数据库和通信模块的设计。ARM 处理器负责与中控主机通信、接收测试数据、调度试验台3个工位多开关并行动作,同时采集各开关当前闭合状态发送给中控主机,需完成通信程序、驱动程序和调度程序的设计。软件系统结构如图2所示。

图2 检测控制子系统软件结构

3 关键技术的研究与实现

3.1 试验台的机械结构设计

图3 试验台三维结构示意

开关旋动机构如图4所示。通过对远近光灯、雨刮和间歇调整等开关的机械结构进行分析,确定支架的左右调节角度范围为0°~120°,上下调节角度为0°~50°。机械手由一个自带减速比为1∶60的减速机带动定比齿侧压力传感器控制[6]。

图4 开关旋动机构结构示意

开关拨动机结构如图5 所示。拨动机构主要实现针对转向开关和雨刮器开关的前后拨动,由高精度伺服电机驱动,并通过滚珠丝杠将动力传递给安装在直线导轨上的滑动底座,滑动底座移动时,带动开关手柄实现前后拨动。直线导轨滑块上连结板与滚珠丝杠螺母连结块通过力传感器相连,传感器根据左右拨动力大小判断转向开关、雨刮器等通断位置或挡位。

图5 开关拨动机构示意

抬动机构底座连接件结构如图6 所示。由直线电机将动力传递给安装在滑动底座的拨杆,使其做直线运动,并通过拨杆上的夹紧模块实现开关手柄的上下抬动动作。夹紧模块安装有力传感器,开关通断后通过记录力传感器读数判断开关当前闭合状态,并与标准件数据比较判断其品质优劣。其动作的速度、力和频率根据开关的不同类型在系统软件中设定。

图6 抬动机构底座连接件结构示意

3.2 通信功能实现

3.2.1 主控机通信模块的设计

可靠的数据通信是系统稳定运行的基础。检测开始前,用户通过系统交互界面将试验台各工位开关的测试数据写入数据库,中控主机从数据库中提取当前测试数据,通过串口发送给ARM处理器,同时通过监听方式随时接收ARM 处理器发送的试验台开关闭合状态,并实时显示于交互界面。为提高系统的检测速度,选用基于Windows32 的应用程序编程接口(Application Programming Interface,API)函数编写多线程串口通信程序,主线程负责发送数据,子线程负责接收数据。

串口通信包括简单的查询方式、定时方式和事件驱动方式。本文提出的检测系统采用事件驱动方式,其具有实时、高效、灵活等优点。通信程序的具体设计流程如图7所示。

图7 主控机通信模块设计流程

在整个程序中,OVERLAPPED是重要结构,用于设置异步输入/输出(I/O),CreatFile 函数的第6 个参数必须设置FILE_FLAG_OVERLAPPED标识,同时,串口读、写函数ReadFile 和WriteFile 的第5 个参数也必须指定VOERLAPPED结构,否则函数不会正确地报告I/O操作是否完成[7]。串口使用完毕后必须调用CloseHandle 函数将其关闭,否则将无法使用其他程序。

3.2.2 分控机通信程序的设计

人力资源和社会保障部推出的《2017年度人力资源和社会保障事业发展统计公报》显示,我国参加城镇职工养老保险的农民工人数仅占农民工总人数的21.6%,参加城镇职工医疗保险的农民工人数占农民工总人数的21.7%,参加城镇职工失业保险的农民工人数占农民工总人数的17%,参加城镇职工工伤保险的农民工人数占农民工总人数的27%。目前我国失业率居高不下的形势下,农民工失业保险参保率远低于工伤、医疗和养老保险参保率,失业保险参保概率不足。因此,新生代农民工养失业老保险作为推进新型城镇化重要方面,解决好这一问题体现新型城镇化“以人为本”的发展核心。

分控机采用ARM1156T2-S 处理器,ARM11 采用ARMv6 架构并行体系结构,增强的异常和中断处理能力使实时任务的处理更加迅速,内核含有AMBA 3.0 AXI,可对频率和电压变化进行控制[8],满足系统对车用组合开关性能检测的并行性和实时性要求。

ARM 处理器的通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)通信方式有轮循和中断2 种方式[9]。多工位并行测试时,为提高串口数据处理的实时性和数据传输的效率,采用中断方式编写串口通信程序,其设计方法如表1所示。

3.3 分控机的驱动程序设计

ARM 处理器通过通用输入/输出端口(General-Purpose Input/Output Ports,GPIO)与试验台的3 个工位相连,系统将测试数据从GPIO 端口输出控制试验台各工位动作,同时通过GPIO 端口读入传感器采集的开关闭合状态。系统采用字符驱动方式,因此需编写字符驱动程序,主要设计过程为:

a.驱动程序与应用程序不同,没有main 函数,使用宏module_int 将GPIO 驱动程序加入内核全局初始化函数列表,在系统初始化时完成GPIO驱动程序注册,之后等待被应用程序调用[10]。

b.设备初始化,调用register_chrdev 函数生成字符型设备号,调用class_create 函数动态创建设备的逻辑类将其添加到内核中,使用device_create函数在linux的/dev目录下创建设备的节点,调用raw_write函数设置GPIO各端口数据输入、输出方向。

c.在file_opeartions结构体中定义设备的读(read)和写(write)操作。

d.调用open 函数打开GPIO,调用read 和write 函数读写GPIO端口的数据。

表1 ARM通信程序设计

3.4 分控机的调度程序设计

分控机的ARM 处理器需要控制多个现场,负责与主控机的通信和试验台3个工位的控制,因此需编写调度程序,主要设计过程为:

a.多线程的创建。利用pthread_create函数创建6个线程,分别是从UART 串口接收测试数据的schedule_reciever 函数、通过GPIO向试验台各工位输出测试数据的3 个gw_out 函数、从GPIO 读取开关闭合状态的gw_in 函数,以及通过UART 串口向中控主机发送数据的schedule_sender函数。

b.互斥与同步控制。1个schedule_reciever和3个gw_out同时对测试数据进行读写操作,故设置数据缓冲区control_buffer,该数据缓冲区是临界资源,使用了pthread_mutex_t互斥锁信号量和sem_t信号灯信号量及相关函数来实现线程间的同步与互斥。同理,gw_in 和schedule_sender 线程同时对开关闭合状态进行读写操作,设置了数据缓冲区result_buffer,也需要同步和互斥控制。

c.并行处理。为提高系统的检测效率,试验台多工位采用并行控制,使用针对共享内存的多线程编程技术(Open Multiprocessing,OpenMP),通过编译制导语句#pragma omp 来显示并行化。OpenMP 执行模型采用Fork-Jion 形式,并行执行时,主线程和派生线程共同工作[11]。

4 试验及结果分析

以汽车用转向管柱上组合开关为检测对象,共设计5组试验,试验台各工位的测试数据如表2所示。

表2 试验台实验测试数据

由表2 可知,试验台每种连续动作10 000~100 000次时,速度为每分钟30~60 次[12],试验台旋动精度在±0.5°以内,左右拨动精度在±0.08 mm 内,上下抬动精度在±0.1 mm 内,符合国家对汽车组合开关检测设备精度的要求[13]。检测试验台各工位实时检测过程如图8 所示,检测结果如图9 所示。

图8 各工位试验实时检测界面

图9 检测结果报表

5 结束语

本文应用CAD/CAM技术和嵌入式技术完成了车用组合开,关耐久性检测系统的硬件结构和控制软件的设计,实现了对旋动、拨动和抬动3 种动作开关的耐久性检测,提高了系统的通用性,系统利用基于嵌入式的Linux 多线程编程技术OpenMP 实现并行检测控制和实时显示测试数据,提高了检测效率。

猜你喜欢

测试数据试验台工位
血管吻合试验台的研制及试用
基于回收测试数据特点的判读方案设计与实现
斯太尔驱动桥总成试验台设计综述
汽车自由度振动试验台测试装置设计
基于TIA系统快速换批生产方法的应用
基于R-D SSD模型航空发动机安装工位检测算法
浅析汽车涂装车间工位室体送排风节能减排设计
工位大调整
测试数据管理系统设计与实现
基于烟花爆炸优化算法的测试数据生成方法