基于单片机的线阵CCD实时检测系统的开发
线阵ccd实时检测系统模型
本文引用地址:https://www.eepw.com.cn/article/20996.htm为了说明线阵ccd实时检测系统的基本模型,现以机器人路径识别为例,来具体说明如何利用线阵ccd开发实时动态环境检测系统。假设在一个深色(如黑色、蓝、绿等)平面上用宽度为30mm的白线作为机器人将要运动的轨迹导引线,利用线阵ccd开发出检测白线轨迹的检测系统。先利用光学系统用摄像头将路面信息成像到ccd的感光面上;然后读取白线的位置检测信息作为机器人的视觉,让机器人在上位机的控制下沿白线轨迹运动。这是一个典型的ccd实时检测系统。整体检测系统如图1所示。

硬件设计
利用ccd的光电特性设计出的电路应能判别视频信号上输出的深色和白色区别,这样才能识别白线,同时实时反应机器人当前所在的物理位置,以便对其运动做相应的调整。线阵ccd选用nec公司的μpd3575d芯片。该芯片为20脚dip封装,像敏单元数目为1024,像敏单元大小为14μm×14μm×14μm(相邻像元中心距离为14μm),光敏区域采用高灵敏度和低暗电流pn结作为光敏单元,内置采样保持电路和输出放大电路,其外观尺寸大小为25.5 mm×10 mm,易于装卸。该器件可工作在5v驱动(脉冲)、12 v电源条件下。
该系统的简要电路如图2所示。驱动用的单片机是at89c2051,该芯片是atmel公司生产的自带2kb可编程flash存储器的可与msc-51兼容的高性能处理器。它与常规的51单片机芯片有相同的核心和相近的结构功能(如ram、定时/记数器、中断结构、串行口、振荡器和时钟电路等);有最高达24mhz的振荡频率,能高速地驱动ccd;有较少的精简i/o端口,因此体积很小,非常适用做小型应用系统的处理器。对很多嵌入式控制应用提供了一个高度灵活的有效解决方案。本线阵ccd检测系统发挥了其小而灵活的特点,既陡系统资源得到了充分的应用又让系统结陶精简紧奏,电路中二值化部分的电位器r_t用来调整二值化比较电平的阀值(0~5
v),通过它涮节整个ccd的灰度分辨率。同时整个系统对外接口十分简单,只需接上电源和两条通向上位机的信号线。上位机只需等待同步信号fc和检测脉冲信号bin_out到来的中断信号,与at89c2051相互独立,彼此之间没有任何时钟信号或复用关系。因此实际运用中器件互换性较强。既可选用普通的at89c51进行一定的端口扩展接收fc和bin_out,也可选用中断能力较强的soc芯片c8051fxx系列等。整个检测系统具有良好的柔性,最终电路体积可控制在手掌心大小之内。

信号时序及软件设计
由于硬件设计时考虑的是用软件产生ccd驱动信号,这样,软件设计的最大难点就是,既要满足ccd芯片的驱动信号要求,又要完成检测信息的完整表述。事实上,nec公司的线阵器件μpd3575d所需的驱动信号与toshiba公司传统的tcd系列器件略有差异,具体驱动信号(包括时钟φio、转移脉冲φtg、复位时钟φro和采样保持时钟φsho)的时序关系如图3所示。

评论