基于STC89C52单片机的可控旋转视觉试验台的设计

2014-06-09 12:33黄佳军项辉宇刘倩倩
机电产品开发与创新 2014年3期
关键词:数码管试验台按键

黄佳军,项辉宇,刘倩倩,孙 超

(北京工商大学 材料与机械工程学院,北京 100048)

基于STC89C52单片机的可控旋转视觉试验台的设计

黄佳军,项辉宇,刘倩倩,孙 超

(北京工商大学 材料与机械工程学院,北京 100048)

为实现对物体的不同角度、不同位置、不同速度的拍照,设计了一种基于STC89C52单片机的可控旋转视觉试验台。试验台由系统软件及硬件共同组成,实现了试验台角度的调节,正反转的控制、速度的控制。将两个CCD摄像机摆放在试验台的两侧,通过对试验台的控制,然后按照既定的条件触发摄像机拍照,将获得的图片传输至图像处理分析软件中进行分析处理。

视觉测量;试验台;STC89C52;步进电机

0 引言

视觉测量技术主要分为两个阶段,即图像采集阶段、对图片的分析处理阶段。图像质量的好坏决定着视觉测量的精度,所以在视觉测量系统中,图像的采集也是尤为重要的。基于此本试验台的设计主要是完成前期的工作即图像采集阶段。当今国内视觉测量试验台还不是特别多,不能够满足和模拟产品在生产过程中的各种状态。本设计采用STC59C52芯片作为系统控制器,采用步进电机驱动芯片去驱动步进电机的方式去控制旋转试验台的精确转动,利用复位开关按键和数码管去实现试验台的控制和数据显示。通过实验对比,证实该设计是切实可行的。

1 系统方案设计

1.1 系统组成及工作原理

本试验台的设计要求:转盘转速在速度范围内可调、转盘转角为0~360°且精度越高越好,误差在5%以内、转盘可正转可反转、可实时显示输入数据、实时采集图像等。故本试验台主要由单片机、数码管显示电路、键盘的扫描电路、驱动电路、时钟电路与复位电路、电源电路、通讯电路和摄像机拍照电路等组成。图1为该试验台原理结构框图。

该系统的工作原理为:通过按键扫描电路输入数据,并通过数码管显示电路实时显示数据。然后根据不同的控制需要将数据传递给单片机作为发送给步进电机的脉冲个数或者频率,从而实现对试验台的控制,并在需要的位置对物体进行手动拍照,进而实现整个试验台的设计要求。

可控旋转试验台实现的基础是步进电机和复位开关。步进电机是机电控制中一种常用的执行机构,它的功能是将脉冲信号转化成角位移,即只有当步进电机驱动器接收到一个脉冲信号后才能驱动步进电机转动一个固定的角度(步矩角)。

试验台转动角度(°)=步进电机分辨率(°)*脉冲数;试验台转动速度(°)=脉冲频率(Hz)*60/每圈步进电机的分割数(步进电机转动一圈需要的脉冲数)。

从上述两个公式可以推出:通过控制输入脉冲的数量和频率可以控制步进电机的旋转角度和旋转速度,从而达到准确定位和调速的目的。 然后利用多个复位开关实现对试验台的控制。

图1 试验台原理结构框图

1.2 图像采集

图像采集的过程从几何角度可以看成是将客观世界的场景通过投影进行空间转化的过程,如用照相机或者摄像机进行图像采集时要将3D客观场景投影到2D图像平面。这个投影过程可用投影变换来描述。

如图2所示为一成像过程的基本几何模型示意图,其中摄像机坐标系统xyz中的图像平面与xy平面重合而光轴(由镜头中心给出)沿Z轴。这样图像平面的中心处于原点,镜头中心的坐标是(0,0),λ是镜头的焦距。根据投影变换,可以得出摄像机坐标系统中任一点的笛卡尔坐标的矢量形式:

图2 投影变换成像示意图

其中c的前两项是3D空间点投影到图像平面后的坐标。本设计使用的摄像机型号为DH-HV1302UM和DH-HV1303UM,在摄像机自带的开发程序HVDevice中将摄像机的同步方式改成外触发,并且是选择电压下降沿外触发。连接摄像机的触发端口与单片机的引脚相连,利用软件编程改变引脚的电平,使单片机引脚能输出一个下降沿脉冲信号,信号传递至摄像机触发拍照。

2 系统硬件设计

本试验台采用STC89C52作为主芯片。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

本系统所用单片机引脚及其功能如表1所示。

表1 STC89C52芯片引脚功能表

图3 所示为试验台驱动系统总体电路图。驱动系统可以分成:时钟电路模块、按键控制模块、复位电路模块、步进电机驱动模块、按键扫描机数码管显示模块、电源模块、通讯电路模块。下面对几个重要模块加以说明。

图3 试验台系统总体电路图

2.1 按键扫描及数码管显示模块

按键扫描及数码管显示模块主要由单片机的P0口上拉电阻、共阴极四位八段的数码管和4×4键盘组成。

4×4 键盘采用高电平扫描的方式。高电平扫描时将公共端接地,当没有任何键被按下时,P2.0、P2.1、P2.2、P2.3保持为低电平。送入P2.4、P2.5、P2.6、P2.7的扫描信号中,只有一个为高电平,其余三个为低电平。如此时有按键按下,对应交叉点的行线和列线端接,行线的输出依赖于与此行连接的列线的电平状态。由此可以实现矩阵式键盘的编码处理。

数码管的显示扫描信号与按键的列扫描信号共用P2口高四位端口。由于P0口是漏极开路输出,作为I/O口使用时必须加上拉电阻,上拉电阻的大小根据需要的数码管亮度进行选择。在P2.4、P2.5、P2.6、P2.7对数码管的扫描信号加上三极管可以扩展I/O的驱动能力,而且可以起到缓冲和隔离的作用,使单片机更加稳定可靠。

八段数码管由8个发光二极管组成,其中7个发光二极管 a、b、c、d、e、f、g构成字型 “8”, 另一个发光二极管DP构成小数点。本设计使用的数码管为共阴极数码管,共阴极数码管显示的字符与单片机的P0口输出数据之间的关系如表2所示。本设计中数据选用的是十进制,故只需要0-9的字符。因为本设计要实时显示所输数据,则四位数码管显示方式选择动态显示法。所谓动态显示法就是一个一个地点亮LED,每次只有一个LED被点亮,每隔一段时间循环点亮一次。当循环点亮的速度很快的时候,根据人眼的视觉暂留效应,可以认为各个LED是稳定显示的。

表2 7段共阴极LED段码

模块的原理如下:系统复位,单片机开始对4×4按键进行列扫描,当有按键被按下时,某列线电平发生改变。又由于交叉点的行线和列线相连,使得某行线对应的I/O的电平发生改变,单片机接收到两者的信号后编码得出按键的位置。然后单片机将该位置的字符对应的LED段码发送至数码管,四位数码管在最右位显示该字符。依次类推,当第二次按下按键后,数码管将之前的字符左移一位,便可以实现数码管实时显示按键数据。当按下P1.4(数据确定键)的时候,数据保存、按键扫描停止且数码管显示该数据且不再改变。

2.2 步进电机驱动模块

步进电机的驱动脉冲是由单片机产生的,单片机通过P1.0,P1.1,P1.2,P1.3给驱动芯片L298N脉冲信号。脉冲信号先经上拉电阻将电流增大后再经过L298N电流放大,然后驱动步进电机转动。本设计使用的步进电机型号为57BYGH,其步矩角为1.8°,最大静力矩为80N·cm,是两相混步式步进电机。故其工作方式有以下几种:①两相四拍:A-B-A'-B'-A-等;②两相双四拍:AB-BA'-A'B'-B'A-AB-等;③两相八拍:A-AB-BBA'-A'-A'B'-B'-B'A-A-等。

因步进电机的步矩角与步进电机的参数有关且不变,为了实现进一步增强步进电机的控制精度,本设计采用的是两相八拍式工作方式,可以将步进电机的分辨率减小到0.9°/脉冲。两相八拍式共有八个状态,如果P1口的前四个端口输出的控制信号中,用 “0”和 “1”分别代表绕组通电和断电,则可用八个控制字来对应着八个状态。步进电机的A、A'、B、B'接线分别对应着单片机的P1.0、P1.1、P1.2、P1.3口,则单片机的控制字符与步进电机节拍的关系如表3。通过正向调用或者反向调用则可以实现步进电机的正反转。

表3 步进电机控制字符

L298N是ST公司生产的一种高电压、大电流电机驱动芯片。最高工作电压可达46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;额定功率25W。L298N芯片内部包含4通道逻辑驱动电路,可单独控制两台直流电机或者一台四相的步进电机,可以直接用单片机的I/O口提供信号,电路简单比较方便。

模块原理如下:当按下键P1.5(按角度转动)时,按键扫描的数据被单片机计算后作为步进电机的脉冲个数,通过单片机输出给步进电机,由此可精确控制步进电机的转角。同理当按下键P1.6(按速度正转)、按键P1.7(速度反转)时,按键扫描的数据被单片机作为延时函数的延时基数,使输出的脉冲信号频率发生改变,由此精确控制步进电机的转速。

3 系统软件设计

软件系统采用模块化结构设计,主要包括单片机C语言编写的延时程序、按键扫描程序、数码管显示程序、步进电机正反转程序、角度和转速的控制程序、摄像头拍照程序等。其基本思路为:将按键扫描程序收到的数据信号经过单片机处理输出给步进电机,然后通过不同的按键,控制步进电机的方向、 转速、 转角,然后使用单片机的中断功能实现摄像机拍照程序。系统软件流程图如图4所示。

图4 系统软件流程图

4 结果分析

研制完成的试验台如图5所示,将编写的程序通过keil uVsion2软件调试和编译后,利用STC公司的STCISP软件烧写程序,将编译后的代码通过串行口通讯发送至单片机。然后对其测试,检测其转动角度的准确度。分别输入不同的数据,然后选择按角度正转,利用博世的角度测量仪DWM40L去测量实际角度。理论角度是单片机根据输入角度经过单片机计算后输出给步进电机的角度,三者对比见表4。从表4中看出,理论角度与输入角度之间的误差是因为步进电机的分辨率造成的,步进电机的分辨率越小, 则误差越小。实际角度与理论角度之间的误差是由于制造误差或测量误差造成,且由数据中可知误差较小。实际角度与输入角度之间的误差在5%以内,故可以满足试验台的设计要求。当选择以速度正反转时,速度稳定。故该可控试验台对流水线产品检测的模拟实验具有很高的实用性。

图5 试验台系统实物图

表4 角度对比表

5 结论

本试验台的设计充分利用STC89C52单片机的输出功能、时钟复位功能及外部中断的功能,充分发挥L298N驱动芯片的高电压、大电流的优点。试验台的控制电路简单、经济适用、功能强大、易于操作。利用STC89C52和L298N芯片硬件和软件的结合实现视觉检测的功能,克服了传统试验台价格昂贵、功能单一、不能精确得出转速或转角的缺点。在视觉测量试验台上具有一定的发展前景。

[1]马颂德,张正友.计算机视觉:计算理论与算法基础[M].北京:科学出版社,1998.

[2]周迈.视觉图像测量三维测量教学实验平台设计与开发[D].天津大学,2008.

[3]陕西维视数字图像技术有限公司,机器视觉教学平台,http://www. microvision.com.cn/.

[4]赵建领.51系列单片机开发宝典[M].北京:电子工业出版社,2007.

[5]老杨.51单片机工程师是怎样炼成的[M].北京:电子工业出版社,2012.

[6]刘帅,祖静,张红艳.基于单片机的步进电机控制系统设计[D].电子设计工程,2012.

[7]王海波,吴晓光,李沛,余祎琴.基于AT89S52单片机步进电机控制系统设计[D].机电产品开发与创新,2009.

[8]余世超,高志,邵鹏.基于单片机的步进电机控制系统设计与研究[D].煤矿机械,2010.

Design of Controlled Rotary Vision Test-bed Based on STC89C52 Single-chip Microcomputer

HUANG Jia-Jun,XIANG Hui-Yu,LIU Qian-Qian,SUN Chao

In order to realize take photos of objects in different angles,different positions,different speed,so designed a controlled rotary visual test-bed based on STC89C52 MCU.Test-bed consists of the systems of software and hardware,implements the adjustment of angle, control of speed and reversing.With putting two CCD cameras on both sides of the test bench,through the control of test-bed,and then trigger the camera to take pictures in accordance with the established conditions,and send the images to analysis soft.

visual measuring;test-bed;STC89C52;stepper motor

TM93

:Adoi:10.3969/j.issn.1002-6673.2014.03.047

1002-6673(2014)03-121-04

2014-04-03

项目来源:学科建设综合计划 (PXW2012_014213_000059)

黄佳军(1991-),男,研究生。专业:机械工程;项辉宇(1966-),男,工学博士,教授。主要研究方向:数字化设计制造技术。

猜你喜欢
数码管试验台按键
血管吻合试验台的研制及试用
基于有限状态机的按键检测程序设计
GATRI18CF型侧翻试验台的静态载荷分析
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
滚动直线导轨副静刚度试验台设计
一种多方向导光按键结构设计
KYJ-T型空压机试验台自动化控制系统研究与开发