指针式仪表因具有结构简单、维护方便、不受电磁场干扰、可靠性高、价格便宜等优点,被广泛应用于科学实验和生产中。仪表检测部门和仪表观测单位在对仪表进行观测时,其读数通常由人工完成。由于人员视觉误差引起读数误差,且读数速度较慢、劳动强度大、观测周期长、工作效率低、易造成读数精度低、可靠性差、重复率高等问题。同时,指针式仪表长期使用后,由于表面污损也给人工读数带来了困难。因此,如何实现指针式仪表的自动判读,提高观测效率和观测精度,就成为需要解决的问题。 随着数字信号处理和数字图像处理技术的不断发展,应用这两种技术设计指针式仪表智能识别的方法受到人们关注,本文采用DSP技术,基于Hough变换的思想,开发了一套指针式仪表数据智能采集系统,实践证明该系统具有读数效率高、读数准确、可靠性高等优点。 1 研究现状 20世纪60年代后,随着数字图像处理、模式识别、计算机技术和人工智能理论的不断发展,机器视觉技术取得了较大进步,在许多领域获得了广泛应用。所谓机器视觉技术,主要用计算机模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。 自动化生产过程中,机器视觉系统已广泛应用于工况监视、成品检验和质量控制等领域。机器视觉系统的特点是可以提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉替代人工视觉,同时在大批量工业生产过程中,用机器视觉检测方法可以提高生产效率和生产的自动化程度,是实现计算机集成制造的基础技术。 指针式仪表的测定工作中存在频繁而大量的指针与刻度位置的视觉比较工作,这正是机器视觉技术可以发挥优势的领域。目前,在指针式仪表检定方面使用自动化检定装置的产品较少,基本采用常规的检测方法。自动化检定装置作为研究方向一直在进行之中,若自动检定系统研制成功并投入使用,将降低测试人员的劳动强度和人为因素造成的测量不确定性,对保证检定的准确可靠具有重要意义。 国内较早进行指针式仪表图像识别的是哈尔滨工业大学的李铁桥等,主要是对压力表进行了研究。王三武等人研究了水表多刻度盘的图像识别检定系统。李宝树等提到了识别指针刻度线,但这些研究都未脱离指针偏角的识别方法。再就是一些针对罗经、轿车部分仪表、飞机座舱零位仪表等的识别方案及设计。上述研究表明,指针式仪表自动读数识别的研究方法主要获取指针的角度,根据角度关系计算出仪表的读数。与人工读数的方法不同,没有根据指针与其最靠近的两条刻度的位置关系来计算读数,避免了在读数准确性上的不足。 文中设计了基于Hough变换的指针式仪表智能采集系统,实现了图像采集、处理、存储、显示读数、通信等功能,并将最终数据递交上位机数据库保存,如图1所示。 2 系统硬件设计 根据实际需要,指针式仪表数据智能采集系统需要完成图像采集、处理、存储、输出、读数、通信等功能,对数据处理能力有较高要求。Blackfin系列处理器是AD公司和Intel公司针对高速嵌入式数字处理共同开发的高性能嵌入式DSP,其中ADSP—BF533当时钟频率为600 MHz时性能达到1 200 MMACs,能很好满足数字控制器处理能力的要求。因此,采用BF533为核心处理器,以SDRAM、Flash、CMOS图像传感器、RS485串行总线分路器等为外围电路,构建指针式仪表识别器平台。 2.1 DSP内核电源电路模块 DSP—BF533采用动态电源管理技术降低芯片功耗。芯片的VRout引脚提供了片上PWM开关控制。因此只需在外部连接一个基本的开关电源电路即可实现电源电压的动态调节。采用AMS117—3.3将5 V电压转换为3.3 V。根据开关电源原理,采用VRout引脚控制场效应管FDS9431的通断调节输出电压DSP_VDD_INT。电路连接,如图2所示。 2.2 Flash存储电路模块 由于DSP—BF533内部没有程序存储器,因此需要外接Flash实现对程序的存储。另外,程序运行中的计算结果和工作状态等也需要掉电保存。DSP—BF533的EBIU单元提供了异步存储接口(Asynchronous Memory Interface),可以实现对CFI标准的Flash的读写。电路中采用Fla-sh AM29LV800作为程序器和工作数据存储器。将EBIU接口的AMS0作为片选信号,AWE和AOE信号作为读写控制信号,地址总线与数据总线连接到EBIU的地址总线与数据总线,Reset引脚连接系统复位信号。电路连接如图3所示。 2.3 TFT LCD显示电路模块 TFT LCD采用PT035TN01 24位真彩液晶,分辨率为320×240。加电后,DSP通过SPI口初始化液晶,将数据格式设置为8位数据总线模式,在3个时钟周期内分别提供R,G,B三色信号。DSP以DMA的方式通过PPI口向LCD发送R,G,B数据,采用定时器Timerl与TImer2产生VS与HS同步信号,实现对LCD的扫描。DSP与LCD的电路连接,如图4所示。 2.4 COMS摄像头电路模块 图像采集是指针识别的前提,为了使指针角度识别有较高的精度需要图像有较高的分辨率。经过Maflab仿真,图像分辨率在800×600时,具有0.5°分辨率。电路中选用TGA130V10模组,此模组采用OV9653 COMS传感器,最大分辨率支持1 280×1 024。该模组通过SCCB总线配置OV9653。配置完成后,OV9653可按VGA或SVGA方式输出YUV信号。COMS摄像头与FPGA相连,通过FPGA模拟SCCB总线配置OV9653,并完成图像数据的传输。Reset与PWDN信号由FPGA提供。COMS端口连接如图5所示。 2.5 闪光灯连接电路 为了使仪器能在较黑暗的环境下工作,电路中设计了闪光电路。闪光灯光源采用白光LED,通过Maxim公司的MAX1583为LED提供闪光所需的瞬间大电流。DSP通过SPI口向FPGA发送闪光灯操作指令,FPGA译码后通过设置Mode1与Mode2来控制MAX1583进行相应操作。电路连接如图6所示。 2.6 RS485连接模块 设计中采用RS485作为系统与上位机的通信接口。在工业自动化控制中,需要对一些表盘的数据实时监控。采用RS485接口可以快速地组成一个监控网络,网络中每个识别仪有自己特定的ID,上位机循环发送各个识别仪的ID即可获得每个表盘的实时数据。电路中采用Maxim公司的MAX13433作为RS485收发转换器。MAX13433是全双工的RS485收发器,允许直接低压ASIC与FPGA连接,无需额外器件。收发器工作电压3~5V,逻辑接口工作电压1.62~5V。设计中均采用3.3 V电压。DSP的UART_RX和UART_TX引脚分别与MAX13433的RO与DI相连,FPGA提供RS485_ DE与RS485_RE信号分别与MAX13433的DE与RE相连。DSP通过SPI口向FPGA发送指令,FPGA译码后输出对应的RS485_DE与RS485_RE控制器件的收发,实现RS485总线传输。电路连接如图7所示。 3 系统软件设计 指针式仪表数据智能采集系统的软件设计包括两大部分:DSP软件设计和上位机软件设计。AD公司的DSP开发环境VisualDSP++Developm-ent界面良好、功能强大、支持C语言开发,故DSP软件使用VisualDSP++5.O软件设计平台。 上位机程序采用数据库技术,采用Delphi7.0软件设计平台。指针式仪表智能采集系统采用C语言编程,主要包括主程序、键盘处理子程序、指针识别与读数计算子程序、串口通讯子程序,各程序模块的实现确保了系统的可行性和可靠性。 3.1 主程序流程图 主程序流程如图8所示。系统加电后初始化,对各外设进行初始化配置,按任意键进入测量状态,测量模式有两种,分为自动定时测量模式和手动测量模式。在各模式下,用户根据实际需求测量数据。 3.2 键盘处理子程序流程图 键盘处理子程序流程图如图9所示,系统设计时,考虑到为使用方便,尽量减少了按键。测量模式选择,闪光灯模式选择,选择模式内容各包含两种,默认为手动测量模式,不闪光测量模式。时间间隔设置采用三选一,用户无需自己输入。数据传输采用一键传输模式,配合确认键使用。 3.3 指针识别与读数计算流程图 指针识别与读数计算子程序主要完成仪表的读数和计算功能,最终读数的精确度和误差由此过程决定。程序先将彩色图像转换为灰度图像,再通过Sobel算子对灰度图像进行边沿分割的方法对图像进行边缘检测,利用Hough变换的基本思想确定指针位置,根据仪表量程计算仪表实际读数。流程如图10所示。 3.4 串口通讯子程序 串口通讯子程序流程如图11所示,当用户按数据传输键并确认时,系统读取按一定存储规则存储在Flash中的数据,并按照相应的组合算法,通过串口发送16进制数据,直到将所有数据发送完,发送一个发送结束的标志。上位机接收完数据后,会给系统回发接收数据成功的标志,此时系统自动清除Flash中的数据。 4 结束语 结合VisualDSP集成开发环境和串口接收数据软件,对指针式仪表数据智能采集系统进行了编程、软件调试及硬件仿真。结果表明,该系统结构紧凑、稳定性好、采集数据准确可靠、价格低廉。
|