基于STM32F103VE的智能信箱系统的设计与实现
引言
本文引用地址://m.amcfsurvey.com/article/148268.htm为了解决传统信箱容易发生的锁孔堵塞、钥匙丢失、信件丢失、浪费空间、垃圾广告等问题,保护信件的安全、有效,我们设计了一个智能信箱系统。它采用封闭式管理和细化空间、动态分配的存储理念,增加了安全性,提高了用户数量。它还具有身份验证、来信提示、网络查询等功能,可以广泛应用于小区、学校、医院、企业等。
一、 整体构架
智能信箱的系统构架主要有两部分,即控制系统与机械设备。控制系统用于保存和管理用户与信件的信息,下达“存”或“取”的命令给机械设备,它包括主控芯片模块、存储器、触摸屏、网络接口、实时时钟、电磁继电器、步进电机驱动器等;机械设备则负责执行控制系统下达的命令,完成信件的存取过程,它包括带步进电机的线性十字滑轨以及用于存放信件的存储阵列等。
二、 存/取信件的具体实现
存/取信件是系统的主要职能。用户执行存信或取信操作时,系统会进入存储器中查询相关的用户信息和存储信息,根据一系列算法,算出十字滑轨上滑台的运动轨迹,用电机驱动滑台按照轨迹执行存/取信任务,完成任务后,系统自动更新存储器中的信息,保持与存储阵列内的情况一致。
2.1 线性十字滑轨
线性十字滑轨是信箱系统当中实施机械动作的部分,为了保证系统的精确性,我们采用了滚珠丝杠十字滑轨。它由两副正交安装的滚珠丝杠副和滑台组成,水平滚珠丝杠副安装在竖直滚珠丝杠副上,形成一个平面直角坐标系,信件就被存储在这个坐标系里。每副滚珠丝杠副都由一个步进电机来驱动,通过控制输出脉冲个数来控制角位移量,再通过滚珠丝杠副将角位移转换为线性位移,达到准确定位的目的。
2.2 脉冲数控制算法
在脉冲输出上,我们采用了PWM(Pulse Width Modulation)脉冲输出。当系统进入存/取信件任务时,系统读出目标单元格在存储阵列中的横纵坐标值,计算出两幅滑轨的运行距离,从而确定每个步骤必须输出的脉冲数量。脉冲数的计算公式:
其中P为脉冲数,C为当前步骤操作的坐标值,D为单位坐标值的实际距离,S为滚珠丝杠的导程,α为步进电机的步进角,一般为1.9°,n为步进电机驱动器的细分数。
在编程实现上,我们使用了两个定时器,其中TIM2作为脉冲计数器,TIM3作为PWM发生器,工作原理阐述如下:①将TIM3设置成PWM输出模式,不断地输出PWM脉冲序列;②将TIM2设置成外部触发模式,用作脉冲计数器;③将TIM3的PWM输出连接到TIM2的脉冲输入上,使能TIM3,就可开始记数;④将TIM2的溢出值设定为步进电机所需的脉冲数P,一旦计得所需脉冲数,立即进入中断,关闭TIM3的使能,停止脉冲输出,这个过程远快于PWM的输出频率,可以实现精确控制输出脉冲数。
2.3 空间管理方法
传统信箱采用的是一人一格的平均分配方式,但每人信件数量往往不同,且当今网络高速发展,信件数量大幅减少,传统信箱的分配方式无疑造成了空间上的浪费。我们采用细化空间、动态分配的管理方式,将每一格尺寸缩小,以每日每户平均来信数量为准,如有超过,则另行开辟空闲单元继续存放,同时,自动记录所存信件的用户信息;因此信箱整体规模缩小的同时,支持更多用户的使用,便于信件的集中管理,解决传统信箱分散、难管理的问题。
评论