基于STM32-XY轴金属探测仪的设计*

2018-11-09 02:49袁文昊王鹏辉侯保军徐素莉
山西电子技术 2018年5期
关键词:探测仪直流电机按键

袁文昊,王鹏辉,侯保军,徐素莉

(河南科技大学信息工程学院,河南 洛阳 471003)

0 前言

金属探测仪是一种可在合适环境中探测出金属,同时可以精确定位的仪器。在现代社会中金属探测仪已经被广泛应用,比如食品加工厂或者是一些非金属物品制造厂等等这些地方都需要严格控制金属颗粒物的存在量。目前手持金属探测仪在市面上比较常见,然而手持金属探测仪只能局限于人体或小型物体的粗略检测,存在着扫描区域不全面,误差大的不足。为此文章中我们设计出一种基于STM32单片机的XY轴平面金属探测仪,具有无人操作,扫描效率高,可显示金属物精确位置坐标等特点。

1 金属探测仪的基本组成

金属探测仪的基本组成结构框图如图1所示。系统中,主控采用STM32,金属检测传感器采用LDC1000电感数字转换器。驱动器采用MOS驱动芯片和直流电机,机械装置采用同步带导向器。LED屏幕同时显示坐标数据,独立按键的设置可对装置启动或停止。蜂鸣器在探测金属物体时起到提醒作用。一个完整的探测过程是,由STM32控制驱动芯片使驱动电机开始运转,同时LDC1000电感数字转换器开始采集数据,并实时通过SPI通讯发回到核心板进行处理。如果在传感器下方检测到金属,电机会立刻停止运转,同时蜂鸣器发出提示,并且在LED屏上显示当前LDC1000电感数字转换器相对于导轨初设好原点后的坐标。

图1 系统基本组成结构框图

探测仪的关键技术是LDC1000电感数字转换器检测到金属后与单片机开始SPI通讯。接通交流电,LDC1000的线圈内的磁场会发生转变[3]。由于金属物体自身会在磁场中产生一定的涡电流,而这一定量的涡电流足以影响原本磁场的分布,只要LDC1000的传感器检测到磁场的波动变化高于正常值便可判定下方有金属存在。产生涡电流原理如图2所示。

图2 电磁感应产生涡电流

2 系统硬件设计

2.1 单片机最小系统电路设计

为了使整个装置简单易操作,单片机最小系统选择单片机、晶振振荡电路、复位电路、串口及下载接口5个必要模块。其中单片机最小系统核心为STM32,晶振电路提供基础的时钟周期,增加复位按键可在程序调试失控时复位,串口用于单片机与外部模块的数据传输交互,单片机最小系统可用下载接口与计算机连接下载程序。

2.2 直流电机驱动电路设计

直流电机驱动板设计如图3所示,直接采用直流电机进行慢速移动更好的配合LDC1000数字传感器检测待测物。LDC1000检测精确度是LDC1000检测到金属到单片机发出电机停止运转指令之间的时间。在程序调试过程中,可以将LDC1000检测精确度和电机运转速度二者结合,适当提高电机运转速度,从而提高探测效率。

图3 直流电机驱动板

设计中采用mc33886芯片,该芯片具有较好的性能。内部MOSFET电阻为120 mΩ,最大工作电流为5 A。由于离散N沟道MOSFET的电阻很低,大大降低了电枢电路的总电阻,从而提高了PWM波输出和驱动的效率。

2.3 稳压电路以及滤波电路设计

稳压芯片采用LM2940电压调节电路如图4所示。LM2940是一种线性稳压芯片,系统的外围电源需要使用5 V,所以可以使用LM2940降低到5 V。

2.4 人机交互电路设计

系统的人机交互电路原理图如图5所示。

图4 稳压降压电路

图5 人机交互电路原理图

采用上拉式独立按键,当按键被按下时返回低电平。LED五个信号端口分别连接到STM32的PTD1、PTD2、PTD3、PTD4、PTC15端口。三极管导通时蜂鸣器响铃。

3 系统软件设计

3.1 SPI通信简介

SPI是一种高速、全双工、同步串行通信总线[4]。芯片的引脚通常只占用四线(MISO,MOSI,NSS,SCK)。为了与外围设备交换数据,SCM输出时钟信号具有几种不同的状态。

1) 时钟的极性(CPOL)指定时钟空闲状态的电平。CPOL=0是低电平,时钟是空闲的。CPOL=1是高电平,时钟工作。

2) 时钟相位(CPHA)指定数据的采样时间。在每个时钟周期中,MCFA=0的第一跳和MCU后的低电平沿外部数据采样,并且第二跳沿输出数据跳跃。在每个时钟周期中的CPHA=1和高电平的第一跳是沿着输出数据,并且第二跳沿外部数据采样。时钟极性(CPOL)和相位(CPPHA)的不同组合可以形成四种数据传输定时,如图6所示。

图6 SPI通信时序原理图

为使LDC1000与STM32之间能进行SPI通信协议,决定选用单片机中PA4~PA7作为串口。当STM32和LDC1000通信时,所选信号为零,STM32将LDC1000地址从SDI线路写入LDC1000。最大位为0,其余7位为寄存器地址。访问寄存器占用8个时钟周期,期间SDO线处于高阻态[4]。当读取命令时,地址寄存器的8位字节可以在SDO线路上读取。当写入命令时,8字节数据可以写入SDI线路上的相应寄存器。最后选择信号是高的,并且对LDC1000的控制被解除。

3.2 人机交互程序设计

系统选用的是独立按键,通过判断“消抖”后的高低电平来确定按键是否被按下。独立按键的主要功能是实现人为控制装置的启动与停止或是复位。当探测器检测到金属时,核心板输出高电平送到蜂鸣器使其发声做出提示,同时核心板处理数据后将金属坐标位置显示在LED屏上。

3.3 系统主程序设计

系统主程序流程图如图7所示。由STM32产生PWM信号控制直流电机扫描二维平面,同时读取LDC1000传感器数据并进行处理。如果检测到金属,其坐标将同步显示在LED屏幕上。

4 测试方法

将金属物体放入轨道区域内,启动金属探测仪,Y轴上的电机带动探头沿Y轴往复运动一次(此时探头停在最下端靠近X轴),然后X轴上的电机带动Y轴轨道向X轴正半轴运动约2 cm。X轴上的电机沿Y轴往复运动一次Y轴。当X轴上的电机移动到坐标的末端时,电机在相反的方向上移动直到X轴的末端。如果期间检测到金属,便发出提示并记录位置,提示结束后再继续移动。

5 结语

基于STM32-XY轴金属探测仪能够在一定范围内对金属实现精确定位。通过测试,系统有如下特点:

图7 系统主程序流程图

1) 能从任意位置开始扫描,并且扫描一次能记录多个位置。

2) 一键启动之后无再需任何手动操作,装置开始自动扫描直到结束。

3) 二维平面金属自动扫描装置性能稳定,发现目标速度快。

论文设计的金属探测仪也需要进一步改进,例如扫描面积不足,只能局限于二维导轨覆盖平面之内;仪器体积大,携带不便。只能辨认是不是金属,无法判定金属类别。有必要对算法和机械结构进行进一步的研究。

猜你喜欢
探测仪直流电机按键
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
太赫兹大气临边探测仪遥感中高层大气风仿真
基于有限状态机的按键检测程序设计
按键消抖在单片机和FPGA实验教学中的应用
七二二所“大地电磁探测仪开发”项目顺利通过验收
无形杀手的克星——航天科工集团研发便携式次声探测仪
基于FPGA的双绕组无刷直流电机软件设计
一种多方向导光按键结构设计
直流电机电源设计研究