叶何
摘 要:本文介绍了一种基于嵌入式STM32F4的马赛克运动控制系统,通过正反面识别模块、颗粒颜色识别模块、铺贴控制模块的设计可实现马赛克自动铺贴,经过实验测试,本系统具有铺贴效率高、运行稳定等特点。
关健词:嵌入式STM32F4;马赛克;运动控制系统
1 前言
陶瓷马赛克作为当代极具观赏和使用价值的装饰艺术,被广泛应用于高端会所、别墅、星级酒店等高雅场所。图1为生活中常见的马赛克产品,笔者通过走访佛山部分马赛克厂家发现,此类马赛克产品生产的自动化程度不高,虽然市场上有部分机械能实现马赛克的自动铺贴,但由于其售价过高、性价比较低,很难在一般的生产企业实现推广应用,本文基于一款性价比极高的嵌入式芯片设计了一套马赛克全自动铺贴系统,对用到的硬件设备进行了精简的设计,同时也保证了铺贴效果。
马赛克产品的传统生产过程可简述为图2中的五个步骤,分别为颗粒的制备、颗粒的铺贴、纸贴的敷贴、烘干和打包;笔者通过在佛山地区部分企业的调研发现,马赛克产品的诸多环节依旧靠人工完成,如按预设图案铺贴马赛克的环节和打包等工作。
2 系统总体结构设计
STM32F407采用ARM公司先进的Cortex-M4内核框架设计,该系列存储器拥有高达1M字节的片上闪存和196K字节的内嵌SRAM,并集成了多种实用的外设接口,如本系统用到的FSMC、DCMI及SDIO接口等;图3为本系统各功能模块与STM32内部资源连接关系,其内部集成的DCMI外设接口能让摄像头获取的图像数据快速传入MCU进行处理,此接口使得控制器能在单位时间内处理更多的图像数据,有利于提高运动系统的铺贴效率和识别精度。STM32F4能通过锁相环PLLCLK时钟倍频到168Mhz的频率,此频率比普通的51单片高15倍左右,因而在刷新速度和工作效率上可以取得更加优秀的效果。
本系统总体结构采用如图4所示的方案,马赛克颗粒在振动盘的驱动下沿其滑道向前运动,经过正反面识别模块的筛选,只有反面朝上的马赛克颗粒继续向前移动,到达颜色识别区域后,系统会根据预设图案选择指定颜色的马赛克颗粒通过识别区域,其余不满足要求的马赛克则通过气嘴吹入振动盘,经过筛选合格的马赛克颗粒会进入颗粒铺贴系统,铺贴胎膜可按产品尺寸(mm)定制为10 × 10、20 × 20、25 × 25等不同规格,铺贴系统主要由一个XY方向的移动平台构成。通过图5所示的流程完成颗粒筛选工作。
3 系统各关键功能模块的设计
3.1马赛克正反面识别模块
马赛克颗粒在振动送料器的驱动下会沿其滑道移动,由于马赛克颗粒是随机堆放在振动盘中的,因而从滑道中出来的马赛克颗粒会出现正面朝上和反面朝上两种状态;实际铺贴过程中,一般将马赛克颗粒按预定顺序正面朝下铺设在胎膜中,这样铺贴完毕后可直接进入下一道纸贴敷贴工序。
马赛克正反面识别模块采用如图6设计的电路结构,其中ST188是一种单光束反射式光电传感器,它主要由一个高发射功率红外光电二极管和一个高灵敏度光电接收二极管组成,通过合理的外围电路设计,其检测距离在5 ~ 15 cm之间。TDA2822是意法半导体公司开发的一款双通道单片功率放大器,其具有电路简单、电压宽度广、工作稳定等特点。在图6所示的电路中,通过ST188输出的检测信号经过TDA2822的放大处理后可直接驱动S9013来控制继电器的吸合。
3.2马赛克颜色设别模块
TCS230是一款性价比很高的可编程彩色光到频率的转换器,它由美国TAOS公司推出,该芯片上集成了RGB三种滤光器,可将不同颜色的光信号输出为数字量[1]。文献[2]介绍的颜色识别方案正是基于以上工作原理实现的,通过对此方案进一步研究发现,TCS230在实际工作过程中容易受周围环境光线的影响,而且其识别精度与马赛克颗粒通过识别区域的速度有关,针对以上几点,本文提出了一种基于OV2640摄像头模块的识别方案,通过图7所示的原理图连接至系统[3]。
OV2640是美国OmmiVision公司生产的一款1/4寸CMOS图像传感器,该传感器能输出高达15帧/秒的UXGA图像,通过SCCB接口编程可控制图像的输出模式、帧频等参数,支持自动曝光控制、自动消除灯纹和自动白平衡等和图像识别相关的关键功能[4]。在本系统中OV2640连接至STM32的DCMI数字图像接口可实现高速数据的传输要求,通过软件设置将OV2640的图像输出为RGB565格式,通过读取摄像头指定区域的RGB数据,再将其转换为HSV模型处理,HSV模型能更加清晰地表达色彩的明暗、色调以及鲜艳程度,从而在实际运用中更有利于颜色的比对[5]。
OV2640识别部分关键代码如下:
void OV2640_RGB565_Mode(void)
{ u16 i=0;
for(i=0; i<(size of(ov2640_rgb565_reg_tbl)/2); i++)
{ CCB_WR_Reg(ov2640_rgb565_reg_tbl[i][0],
ov2640_rgb565_reg_tbl[i][1]); }
} //设置:RGB565输出
LCD_DrawRectangle(215,375,265,425);
Rs=0; Gs=0; Bs=0;
for(i=1; i<=50; i++)
{ for(j=1; j<=50; j++)
{ masic=LCD_ReadPoint(i+215, j+375); R=masic>>11;
G=(0x07e0&masic)>>5; B=0x001f&masic; Rs=Rs+R; Gs=Gs+G; Bs=Bs+B } //获取颜色数据
}
4 结论与展望
笔者设计的马赛克自动铺贴控制系统通过采用OV2640摄像头模块可快速判别进入识别区域的马赛克颗粒,解决了多色马赛克颗粒的分选技术。通过后续升级可将马赛克产品打包线集成至本系统。
参考文献
[1] 张松灿, 肖本贤. 高分辨率颜色传感器TCS230的原理和应用[J]. 单片机与嵌入式系统应用, 2005(3):44-46.
[2] 蔡晨晖, 王兴波等. 马赛克自动铺贴机的控制电路设计及实现[J]. 佛山陶瓷, 2016, 26(5):38-41.
[3] 葉何. 一种基于视觉识别的多颜色马赛克颗粒分选机构[P].中国CN206104397U, 2016.
[4] 王建, 梁振涛, 郑文斌,等. STM32和OV2640的嵌入式图像采集系统设计[J]. 单片机与嵌入式系统应用, 2014(9):46-48.
[5] 唐光艳. VB中RGB颜色模型与HSV颜色模型转换的实现[J]. 科技信息, 2009(2):125-126.endprint