首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于VB的电子线路板自动测试系统设计

基于VB的电子线路板自动测试系统设计

0 引言
  在电子产品的生产过程中,需要将各种电子元器件安装到电子线路板上,由于种种原因,安装后的线路板可能会存在故障,需要进行测试。在生产流水线上,若依靠人工进行测试既费事费力又容易出现差错。针对这种情况,我们在生产燃油取暖器的电子线路板的过程中,设计了一套电子线路板自动测试系统,可以在几秒钟内利用计算机自动测试线路板的各种功能,如果存在问题,测试系统会自动显示故障的类型和性质,由于采用机器自动测试,排除了人为的干扰因素,大幅度提高了测试的效率和产品的合格率。

  1 测试系统结构


  1. 1 线路板的设计


  燃油取暖器的电子线路板各有4个模拟量、2个开关量输入信号和输出控制信号,如图1所示。一般,在线路板的设计中,只需要考虑线路板的输入、输出信号接插件的结构。在这里是用仿真的方法来实现测试任务的,由计算机向线路板输入测量信号并接收线路板的输出信号,所以在设计电子线路板的时候,需要在线路板上设计相应的测试点,把这些输入点和输出点安排在适当的位置,让计算机能够输入和检测这些信息。



图1 输入输出信号


  1. 2 测试系统的硬件结构

  为了能够向电子线路板输入和获得信号,需要设计一个测试夹具。当电子线路板放置在测试夹具上时,测试夹具的测试顶针正好与电子线路板上的所有测试点相接触,测试系统硬件结构如图2 所示。



图2 测试系统硬件结构



  图2中:测试夹具由测试顶针、夹紧装置和单片机构成。夹紧装置和测试顶针使电子线路板能够可靠地与单片机进行信息的传送,单片机根据计算机发出的命令,向电子线路板输入仿真测试信号,使电子线路板工作在不同的工作状态,然后把测量到的信号,通过RS2232串行口传输给计算机,在计算机里判别电子线路板的工作状态,并以文字和图表的形式显示测试的结果。

2 RS2232串行通信的实现

  2. 1 串行通信的实现


  测试夹具中的单片机和计算机之间的数据传送是通过RS2232串行口实现的。计算机向单片机传送控制命令和数据,由单片机把信号传输到电子线路板上,然后再测量电子线路板的输出信号,通过串行口回传给计算机。串行口数据通信协议是:数据传输速率为9 600 bp s, 1位开始位, 8位数据位, 1位停止位,无奇偶校验位。由于仅仅是单片机与计算机相互传送信息,都是在生产现场工作,所以RS2232 串行口只需要接收、发射和地三根导线,也不存在传输距离的问题。电子线路板的信号都是开关量信号或模拟电压值,线路板输出的信号也是电信号,当通信传输速率为9 600bp s时,最快速度是每1. 04 ms发送一个字节。测试夹具中的单片机采用AT89C52芯片,它的逻辑电平与计算机的RS2232的接口电平不一致,需要在单片机和计算机的RS2232串行口之间设计一个MAX232芯片,该芯片可以实现把单片机的0 V、+ 5 V电压转换成RS2232接口的逻辑“1”电平( - 3~ - 15 V)和逻辑“0”电平( + 3~ + 15 V) ,MAX232芯片的应用结构如图3所示。



图3 MAX232芯片的应用结构


  2. 2 VB的应用

  VB ( visual basic)是计算机系统中主要的开发语言之一,它具有高效、简单易学的特点和强大的图形功能,支持面向对象的程序设计,具有结构化的事件驱动编程模式和良好的人机界面,提供了功能强大的通信控件MSCOMM,因此,应用VB语言可以方便地设计需要大量图形显示的应用程序。利用MSCOMM控件可以设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。MSCOMM控件是一个标准的10位串行口通信,在发送和接收数据过程中触发ONComm事件,访问CommEvent属性来了解通信事件的类型。在电子线路板自动测试中,就是应用这种方法实现计算机与单片机的数据通信的。

2. 3 VB通信控件的程序设计

  VB串行口的初始化程序如下:


  Private Sub Form_Lopad ( )   ;串行口初始化程序


  Comm1. InputLen = 0 ;设置串行口1


  Comm1. Settings =“9 600, n, 8, 1”;设置波特率、奇偶校验、数据位和停止位


  Comm1. InputLen = 0 ;读接收缓冲区的数据


  Comm1. InBufferSize = 255 ;设置接收缓冲区的大小


  Comm1. OutBufferSize = 255 ;设置发送缓冲区的大小


  Comm1. PortOpen = True ;打开串行口1


  Comm1. SThreshold = 1 ;缓冲区空触发


  Comm1. Rthreshold = 1;数据进入接收缓冲区触发接收事件


  End Sub ;程序结束


  此外还有数据发送和接收程序。数据发送程序是计算机向单片机发送控制命令和数据,使电子线路板进入工作;接收程序是接收单片机检测的数据,通过这三个程序,完成数据的串行通信工作。

2. 4 单片机串行通信程序设计

  单片机与计算机进行串行通信,需要对AT89C52的串行口控制器SCON设置,使SCOM = 50H,工作在串行方式1的10位异步通信方式,使AT89C52的中断允许寄存器IE的中断位EA = 1,允许串行口中断。串行口的初始化程序如下:


  CXK:  MOV TH1,  #0FDH  ;设置波特率


  MOV TL1, #00H


  MOV TMOD, #20H;设置定时器2的工作方式为2


  MOV TCON, #40H ;定时器启动


  SETB ES ;串行口允许中断


  MOV SCOM, #50H;设置串行口工作方式为1


  RET


  3 测试系统的工作流程


  测试系统的工作流程共分以下六个部分:


  ① 室内温度测试。计算机通过单片机发出一个室内温度的仿真信号,与接收到的温度测量信号相比较,误差在±0. 5 ℃时认为测试结果正确,否则显示有故障。



  ② 汽化温度测试。计算机通过单片机发出一个汽化温度的仿真信号,与接收到的温度测量信号相比较,误差在±2 ℃时认为测试结果正确,否则显示有故障。同时,当汽化温度达到235 ±3 ℃时,应该接收到启动油泵驱动和点火控制、燃烧风机、取暖风机的控制信号,否则显示有故障。


  ③ 火焰温度测试。计算机通过单片机发出一个2~3 V的火焰温度仿真信号,与接收到的温度测量信号相比较,误差在±012 V时认为测试结果正确,否则显示有故障。同时,当火焰温度电压高于315 V时,应该接收到关闭汽化加热、油泵驱动、点火控制、燃烧风机和取暖风机的控制信号,并且还会接收到报警输出信号,否则显示有故障。


  ④ 燃烧风机速度测试。计算机通过单片机发出一个燃烧风机速度的仿真信号,与接收到的燃烧风机速度相比较,测量信号的误差在±5 r/min时认为测试结果正确,否则显示有故障。


  ⑤ 油面位置测试。计算机通过单片机发出一个油面位置低的仿真信号,若接收到油面位置低的报警信号,则认为测试结果正确,否则显示有故障。


  ⑥ 振动检测测试。计算机通过单片机发出一个振动的仿真信号,若接收到振动的报警信号,同时接收到关闭汽化加热、油泵驱动、点火控制、燃烧风机和取暖风机的控制信号,则认为测试结果正确,否则显示有故障。


  以上所有的输入/输出信号都是电信号,不涉及传感器和机械部件,所以测试的速度很快。通过以上的信号仿真测试,可以检查燃油取暖器电子线路板上的输入/输出接口部分的电子元器件质量和焊接质量。


  4 结束语


  燃油取暖器电子线路板测试系统,充分发挥了VB的图形功能,在使用中具有相当友好的用户界面。由于使用了计算机,可以存储记录大量的测试数据,可以十分方便地进行生产质量的分析,这是单纯使用单片机所不能达到的。如果把该系统的测试夹具经过适当的改动,重新设计用户的操作界面,还可用于其他电子线路板的自动测试。
the king of nerds
返回列表