当前位置:文档之家› 图像采集通用控制系统的设计与实现

图像采集通用控制系统的设计与实现

图像采集通用控制系统的设计与实现张超,古乐野,徐晓,乔忠慧(中国科学院成都计算机应用研究所,四川 成都610041)摘要:本文介绍了一种基于ARM的实时图像采集通用控制系统的设计与实现。

在设计中主要采用了LPC2132微控制器芯片和四相步进电机正弦波驱动器STK672—080芯片。

文中主要介绍了该控制系统的工作原理、系统组成、硬件设计以及软件设计中的关键问题。

关键词:ARM;图像采集;人机交互;步进电机中图分类号:TP368.1文献标志码:BDesign and Implementation of Universal Control System inImage CollectionZHANG Chao, GU Le-ye, XU Xiao, QIAO Zhong-hui(Chengdu Institute of Computer Application, Chinese Academy of Sciences, Chengdu, Sichuan610041, China)Abstract:This paper introduced the design and implementation of real-time image collection’s control system based on ARM. LPC2132 microcontroller and the sine wave stepping motor driver were adopted in the system. This paper also described the construct of the system, design of hardware, several critical techniques in the development of software of the control system.Key words: ARM; image collection; human-computer interaction; stepping motor0 引言OCR(Optical Character Recognition)阅读机是以实时图像采集和图像处理为核心技术的, 主要由送纸机构、扫描主体和接纸机构三部分组成。

送纸机构主要功能是搓动纸张,并将纸张传送到扫描主体中;扫描主体的主要功能是采集图像,并将纸张传送到接纸机构中;接纸机构主要功能是装载已经扫描过的纸张。

在OCR阅读机中,控制系统的性能直接决定图像采集的速度。

本文介绍了一种基于ARM的图像采集通用控制系统的设计方案,这种方案比较稳定、可靠,还大大提高了图像采集的速度。

1 系统结构设计和工作原理图1 OCR阅读机的控制系统部分组成框图本控制系统主要有ARM主控模块、电源模块、信号检测模块、电机驱动模块和显示驱动及按键模块五个部分;ARM控制模块是主控模块;电源模块提供系统中各芯片所需的电压;电机驱动模块主要负责控制步进电机;显示驱动及按键模块用来输出与用户进行交互的提示信息,并识别用户的按键信息。

图1是OCR阅读机的控制系统部分的结构组成。

在OCR阅读机的控制系统中有两个步进电机:送纸电机和走纸电机。

送纸电机用于在送纸机构处搓动纸张,把纸张传送到扫描通道中;走纸电机用于把扫描通道中的纸张传送到接纸机构中。

以ARM为核心的控制系统是OCR阅读机的控制系统部分,主要功能是利用信号采集模块采集的纸张有无信号以及用户提供的按键信息对步进电机进行准确控制,同时在显示驱动模块输出已经扫描的纸张数目以及扫描故障等信息,以方便与用户进行交互。

2 主要芯片介绍在图像采集控制系统中用到的芯片主要有ARM微控制器芯片、步进电机驱动器。

ARM 芯片选用的是Philips公司的LPC2132微控制器芯片;嵌入式运动控制技术广泛采用ARM 微控制器芯片,它包含了多个学科,它覆盖了嵌入式技术、计算机技术、智能控制技术、检测技术和运动控制技术等诸多方面【1】。

步进电机驱动器选用的是SANYO公司的四相步进电机正弦波驱动器STK672—080。

2.1 LPC2132CPU简介LPC2132CPU是Philips公司推出的基于ARM7TDMI-S核的精简指令系统的32位高速处理器,具有高集成度和高性价比,很适合于嵌入式系统设计【2】。

它的工作电压为 3.3V,大大降低了功耗,内核ARM7TDMI-S的工作电压仅为 2.5V。

较小的封装和极低的功耗使LPC2132CPU可以理想地用于小型系统中,如访问控制、POS机、通信网关、协议转换器、嵌入式软modem、声音辨别和低端成像、以及工业控制和医疗系统中【3】。

LPC2132CPU本身的特点很好的满足了本系统的需要。

2.2 STK672-080简介STK672-080是SANYO公司生产的一种步进电动机驱动器厚膜混合集成电路,它的输出级使用功率MOSFET组成,同时包含一个内部的微步距控制器和一个单极性的恒流PWM系统【4】。

STK672-080内部提供的4相步进电动机分配控制器可获得准正弦波驱动电流,从而使用户应用更简单方便。

它有五种激励(通电)方式,可提供微步距控制以使步进电动机的基本步距角的最大细分为1/16。

STK672-080步进电机控制器的速度由时钟信号控制。

通过它可使用户方便地实现高转、低振动水平、低噪音、快速响应和高效驱动的电动机控制系统。

STK672-080的典型应用包括传真机发送与接收步进电机驱动、复印机送纸、光学系统步进电机驱动、激光打印机鼓驱动、打印机台架步进电机驱动、X—Y绘图仪笔驱动、工业机械手以及其他步进电机的应用方面【4】。

3 硬件设计3.1 电源模块本控制系统采用单一电源供电,外接220V转19V的电源适配器,以ARM为核心的控制模块和显示驱动及按键模块需3.3V供电,步进电机需19V供电,同时OCR阅读机的图像采集部分需要5V供电,因而电源模块内部先采用LM2596S—ADJ开关电压调节器输出5V,然后再采用KIA117固定输出3.3V的LDO稳压器输出3.3V,这样就可以得到整个系统都需要的电压。

用户在设计时可以参阅相关公司发布的芯片文档。

3.2 显示驱动及按键模块显示驱动及按键模块的主要功能是提供一个人机交互界面,方便与用户进行交互;同时,用户还可以通过按键选择相应的控制功能。

在本系统中,显示驱动模块采用的是3个8段共阳极数码管,通过驱动3个共阳极数码管向用户显示扫描纸张的计数信息、系统菜单信息和扫描故障等信息,同时向用户提供两个按键。

在实际系统中,如果用户想显示字符,可以自己进行数码管的驱动设置。

3.3 信号采集模块在OCR阅读机中,图像采集控制系统的信号采用模块主要采用红外对管采集信号,在送纸机构处有一对红外对管用于检测纸张的有无,在扫描主体中有两对红外对管用于检测扫描主体通道中的纸张有无。

在信号采集模块中要做AD转换,在LPC2132芯片中有1个10位8路AD转换器。

根据信号采集模块采集的信号,系统用逻辑状态1表示有纸,用逻辑状态0表示无纸。

因而,我们可以确定整个系统有四种逻辑状态:如下表所示:送纸机构扫描通道含义送纸机构有纸,扫描主体无纸1 0送纸机构和扫描主体都有纸1 1送纸机构没有纸,扫描主体有纸0 1送纸机构和扫描主体都没有纸0 0表1 OCR阅读机的逻辑状态3.4 步进电机驱动模块图2 电机驱动部分原理图步进电机驱动模块主要是用来驱动步进电机,步进电机也叫步进器,它是利用电磁学原理将电能转化成机械能,将电脉冲信号转化成角位移或者线位移的开环控制元件。

在非超载的情况下,电机的转速、停止位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加上一个脉冲信号,电机则转过一个步距角。

在本控制系统中采用的是两个步距角为0.9度的混合式步进电机,型号为江苏常州合泰电机有限公司生产的57BYG206-06。

步进电机在使用的时候都要配备特定的驱动电路,用户可以自己设计步进电机的驱动电路,也可以选用其他公司已经设计成型的步进电机驱动器。

在本系统中采用四相步进电机正弦波驱动器STK672-080,STK672-080步进电机控制器的速度由时钟信号控制。

在本系统中有送纸电机(主电机)和走纸电机(从电机)两个步进电机,为了提高系统的稳定性,系统采用了两个STK672-080驱动器,分别用于控制这两个步进电机,这样有利于提高系统的稳定性和可靠性。

步进电机驱动部分的原理图如图2所示。

3.5基于ARM的主控模块基于ARM的主控模块是本控制系统的核心部分,控制系统的所有功能都是通过该模块来完成的。

ARM主控模块与其他辅助模块一起完成整个控制系统的功能,系统中用到了ARM的ISP功能,这样可以方便实现系统的软件升级。

4 软件设计软件设计是本控制系统的另一个重要部分。

在ARM控制系统中实现的主要有4个控制功能:通用扫描功能、纸张计数功能、纸张计数设定功能和纸张厚度自校功能。

通用扫描功能是在启动机器后开始扫描,直到送纸机构中的所有纸张扫描完毕或者在扫描过程中出现重张或者纸张过长等故障时会提示故障信息时停止;纸张计数功能是预先设定一个要扫描的纸张数,在启动机器后开始扫描,在扫描计数达到预先设定的纸张计数值后暂停;纸张计数设定功能是用来根据实际需要设定纸张计数值,最大值为999。

这个功能是与纸张计数功能配合使用的,在纸张计数设定完成后,会转到纸张计数功能;纸张厚度自校功能的目的是自行检测纸张厚度,以使系统更加安全可靠地运行,方便用户使用。

在实现以上4个功能的时候,有几个关键部分如下:4.1 中断处理程序在控制程序中,用到了一个定时器1(Timer1)的中断处理程序,在中断处理程序中完成了按键识别和上位机下发命令的识别、重张的检测、纸张过长检测、纸张的扫描计数和扫描纸张厚度的实时检测等重要功能。

这些功能的实时性要求很高,因而放在定时器的中断处理程序中实现。

4.2 显示驱动及按键识别在ARM控制程序中设计了两个函数用于LED的驱动显示,分别为displayLED()和displayFun()。

displayLED()用于驱动三个数码管分别各自显示控制系统中要用到的全部字符;displayFun()中用来实现系统中功能菜单、扫描故障信息和数据的显示。

显示驱动及按键模块还提供了一个与用户进行交互的两个按键。

在识别按键的时候要做按键的去抖动处理,本系统中按键的去抖动是通过软件实现的。

所采用的软件去抖动方法是在检测出按键闭合后执行一个延时程序(大约10—20ms),待前沿抖动消失后再检测按键的状态,如果按键仍保持闭合状态则确认为真正有按键按下;当检测到按键释放时,也要执行一个延时程序,避开按键的后沿抖动。

相关主题