APP下载

三维服装尺码自动测量系统的设计

2019-04-10高明成张兴强

科学与技术 2019年7期
关键词:测距上位脉冲

高明成 张兴强

摘要:本文主要介绍了一种在单片机控制下的人体衣服尺寸测定的的设计与实现。该系统以单片机为核心控制器,以VL53L0X激光测距模块为测量核心,实现单支多点测量,测量到的数据上传到上位机中,通过上位机转化为相对应的人体模型并存储到数据库中,进而为服装领域提供技术支持。

关键词:stm32f404单片机;VL53L0X激光测距模块;上位机

1.引言

随着人们生活水平的逐步提高以及审美能力的迅速上升,私人订制行业异军突起,而服装定制作为私人定制的重要组成部分受到了越来越多的关注。目前,人体三维测量技术正在向最优化、自动化及利用计算机测量、处理和分析的方向发展。然而在我国,人体三维测量的方法依然采用传统的手工工具,依据测量基准对人体进行接触测量,因而很难满足快速、准确、大批量测体的需要而且也很难取得人体的某些特征数据。

2.系统的基本结构介绍

该系统的主要功能有:脉冲法测距和多点测量数据,自动升降,数模转化,数据库存储数据。本系统采用220V市电供电,以可靠的单片机作为核心控制器,能稳定实现各部分功能。硬件部分主要有单片机最小核心板,测量探头部分,自动升降部分,电源部分。软件部分主要由上位机显示部分和数据保存部分组成。

2.1脉冲法测距与多点测量数据

脉冲法测距:通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。即光速往返时间的乘积的一半,就是测距仪和被测量物体之间的距离。多点测量是把多个激光探头加在框架通过舵机控制使得激光探头可以进行180°平面摆动进而形成多点测量。

2.2自动升降功能

当系统正常运行时,通过单片机控制电机带動激光测距探头向下移动,在移动过程中实时测量数据。并且当电机正转带动激光探头到达脚底时停止向下运行,电机翻转带动激光探头返回顶部等待再次测量。

2.3上位机显示以及数据保存

通过Qt Creator写出一个应用软件可以把测量的数据直观的在一个三维空间上生成人体模型,该过程只需要按照步骤把测量的数据导入即可。同时建立一个数据库保存相应的数据和生成的三维模型以便于日后的查看。

3系统硬件设计

3.1通信方式的选择

通信方式简单的有以下多种:I2C、SPI、WPM、RS232、I/O、DMA等。当我们考虑到数据的传输的速度和效率以及过程的复杂性等问题之后,经过反复的讨论与过程验证最终选择测距模块使用I2C的通信方式,上位机我们使用RS232的通信方式。

3.2测距模块

根据测量的距离以及需要的准确性,我们选用ST公司的VL53L0X芯片作为核心,该芯片内部集成了激光发射器和SPAD红外接收器,采用第二代FightSense技术,该芯片通过时间差量来计算距离,测距的长度能扩至两米,非常合适中短距离测量的应用。

由于用到多个激光测距探头,其初次上电默认I2C地址均为0X52,把多个激光测距探头I2C地址设置为不相同的,当要读取数据时通过控制单片机的总线读取指定的激光测距探头所测量的距离,并且经过修改I2C地址后的所有激光测距探头测量距离与单片机读取数据所需要的总时间只有几毫米,使得最后产生的人体数据的误差可以忽略不计。

3.3单片机的选择

单片机的种类繁多,一般按单片机数据总线的位数进行分类,主要分为4位、8位、16位和32位单片机。由于我们需要大量的I2C数据输入与读取,我们也知道日常用的4位单片机结构简单,成本很低,但指令不丰富,且编程复杂,可以用于简单的校制;虽然8位单片机和16位单片机亦小巧灵活指令丰富,但是其性能的优越性以及运算速度是32位单片机所比不上的,目前整个单片机市场32位单片机正以其本身的性能等优势快速的替换掉8位和16位单片机。

3.4电机的选择

电机分为直流电机和交流电机,根据作品所具有一定的重量的特点我们选用直流电机中的步进电机。步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

4.软件系统设计

本系统的软件设计包括控制单片机内部运行程序和编写上位机所需要的程序。这两部分的程序设计都采用了标准程序开发的模块化设计规范,提高程序的可读性和可维护性,为以后的系统功能添加和完善提供了方便。

4.1单片机内部程序

整个软件采用C语言进行代码编写,使用Keil μVision 5集成环境开发软件部分。Keil软件内部包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。Keil μVision 5是美国Keil Software公司出品最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil μVision 5,其编译器、调试工具实现与ARM器件的最完美匹配。以下是单片机程序的流程图:

单片机中读取数据代码如下:

void vl53l0x_test(void)

{

while(vl53l0x_init(&vl53l0x_dev))

猜你喜欢

测距上位脉冲
超快脉冲激光器提高数据传输速度
一场史无前例的乐队真人秀
电力电缆故障测距分析与应用
大射电
220 kV电网行波测距系统组网运行实践探讨
基础油“上位”
基于脉冲反射法电缆故障定位脉冲源的设计
基于VC的PLC数据采集管理系统