【《一种基于STM32的无线智能门禁系统设计》13000字】_第1页
【《一种基于STM32的无线智能门禁系统设计》13000字】_第2页
【《一种基于STM32的无线智能门禁系统设计》13000字】_第3页
【《一种基于STM32的无线智能门禁系统设计》13000字】_第4页
【《一种基于STM32的无线智能门禁系统设计》13000字】_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

页共28页1引言1.1课题背景机械安全门锁的大量应用出现虽然已经有效改善了一些专用门禁产品的使用性和安全性,尽管它的整体结构设计复杂,材料坚固,但它的安全度和使用性能还有较高的提升空间,人们总是能够轻易的把它安全的的打开。为了有效地弥补这些传统技术上的缺点,同时也为了有效解决目前我国小区、酒店和办公楼这些公共营业场所的出入口闸门作业管理人员太多以及闸门流动性大等一些技术问题,人们已经开始发明了新的电子自动门禁系统,即新型电子自动密码门锁(主要系列产品包括有各种新型电子闸门密码锁和磁卡式自动门锁和各种新型电子自动闸门密码锁和磁卡式手锁),门禁系统已经进入了一个走向电子化的全新时代。REF_Ref15854\r\h[1]智能安全门禁系统的目前应用技术发展越来越多地趋向功能多元化,逐渐逐步发展到已成为发达的大型城市农村地区重要公共生活场所以及广大家庭用户必备的各种安防安全监控管理系统之一。传统的自动防盗门禁安全设备仅仅只是被动的门禁安全监控,与之不同的一点也就是,智能家居自动防盗门禁系统同时还具有主动门禁安全监控和被动防盗门禁报警系统自动控制的两大主要功能,这些都是必不可少的智能家居小区住户门禁安全事故应急防范措施,其特点能够有效帮助提高住宅小区家居住户的日常家居生活安全感,越来越多的年轻人在安防以及控制电子设备应用领域中开始使用它。随着目前现代化的智能家居在小区的不断发展普及,越来越多的智能小区家居用户都自己安装搭建起了一个小区智能门禁系统,小区的智能门禁系统也是语音图像通讯技术发生的一个重大技术转变也就是由传统数字视频语言系统语音图像通讯向以及数字视频方言语音图像通讯两个方面逐步发展实现新的转变。与此同时,视频终端智能家庭门禁系统的成功应用出现,使得智能家庭门禁住户这种发自内心的智能家居生活安全感大大得到提升,同时也直接使得智能家庭门禁住户在日常生活工作空余时间也变得可以更加安全放心的把自己以及亲人或者朋友暂时留在家中,这无疑是现代视频智能门禁系统向现代移动终端智能家庭门禁系统方向快速推进发展的一大重要趋势性的体现。但是目前的门禁视频监控通话要求住户必须同时起身或坐站在门禁监控设备旁进行使用,这样的使用情况还是给一些用户实际体验过程带来了一定的不适感。1.2国内外研究现状门禁系统在各个领域中已经得到了广泛的研究应用,由于不同应用场合对各种门禁系统的应用需求不同,门禁系统的应用技术也在不断变化和不断发展。目前,更加先进的移动生物特征识别检测技术和智能手机等移动互联技术的不断出现为门禁系统行业持续发展迅速提供了新的发展动力,I/S视频门禁智能特征分析检测技术和移动生物特征识别检测技术等的多元化整合应用更是为门禁系统产品的各种功能整合开发应用提供了新的发展方向,同时3G/4G网等移动无线通讯网络技术的不断飞速发展与广泛应用也将使得一个门禁系统的智能组网网络架构更加丰富灵活多样,产品自身的功能集成化、智能化及其的可持续集成性也将会逐渐成为未来如何衡量一个门禁系统产品自身功能和服务品质的重要衡量标准。随着在安防监控技术和工业门禁监控技术的不断快速发展、安全等技术要求的不断逐步提高、应用工业场所的范围不断扩大,门禁系统将一定会朝着面向IP化、多重化和生物图像识别等新技术的发展方向快速发展。此外,门禁系统已经作为一个基础性的物联监控网络,不再仅仅局限于各个监控子系统单独独立运作一种模式,未来将有机会与消防视频远程监控、防盗及消防应急报警等更多的子系统功能相结合,为其用户提供覆盖更多元的基础信息数据,提高城市安防监控系统的整体性和信息安全性。门禁系统的各项功能将未来会更丰富、更功能完善、更具相互兼容性、操作更符合人性化。REF_Ref16661\r\h[2]现在对智能门禁系统的研究从一开始的认知教育和试用阶段,已经进入到了研发阶段。但在智能门禁系统的设计和研发上也发现了不少的问题,比如说:我国现有的门禁系统是对国外已有的门禁系统进行仿造;普遍采用国外现有的集成模块,如门禁控制器,识别和读卡模块等;虽然消耗了大量的资金,产品的形式较为单一。在技术层面,当前中国有很多企业模仿国外的禁系统,目前的做法主要有以下两种,一种是采购国外厂家生产的系统零部件,比如读写器、门控器等,然后对这些芯片进行二次软硬件的设计。这种系列的系统性能相对较好,完全可以应付那种对安全要求较高的场所,因此这种系统的价格也相对比较昂贵。另外一种是购买国外的核心芯片,对国外一些其它优良部件进行研究和仿制。这种方法依据不同情况,可以作一些非原则性的变动,能够随时满足人们对门禁系统上的一些合理性要求,并且费用也相对的便宜很多。从国内门禁系统的整体内部结构的设计出发我们可以很容易能够看出,以其主控制器部分为设计核心的自研制系统是国内大多数的门禁系统的一大重要特性,但国内门禁系统的主遥控器部分却是由国外生产厂家自己进行统一设计开发的。目前对于我国超前的工业智能自动门禁系统的研发还处于比较滞后的发展状态,不过我们相信在不久的未来我国的科技人才一定能够研发出完全属于我们自己的智能门禁系统。REF_Ref16916\r\h[3]1.3本课题研究意义现如今的社会,虽然侵犯私有财产是每个国家法律都禁止的行为,但是偷窃的犯罪事件依然偶有发生。这些事实表明,传统简单的门锁安全性和便捷性很差,其所实现的门禁已经远远不能达到对人们安全的保护作用。由于安防安全威胁不断的强化升级,门禁系统已经成为了现代安防的重要组成部分,因其固有的主动性和防御性能等优势,如何充分发挥其功能特点是人们目前正在考虑的问题。为了从源头上改变这种滞后局面,于是就开始孕育出智能门禁系统,智能安全产品门禁监管自动控制经营管理信息系统安全门禁监控是新型一种通用现代化安全产品生产经营管理控制信息系统,它集多种新型微机自动控制软件自动识别智能控制管理技术和多种新型现代安全产品生产经营管理控制安全措施管理技术为一体综合系统一体,它主要应用涉及各种通用与微电子,机械,光学,计算机网络信息处理技术,通讯网络信息处理技术,生物技术等诸多新一代信息技术,是一种用于有效解决重要出口行政管理部门出入口安全事故,实现出口安全事故风险防范以及监督检查管理的有效控制措施,其主要适用各种机要求的管理行政部门,如大型银行、宾馆、仓库、办公间、以及各种智能化大型住宅小区和大型工厂等。REF_Ref17001\r\h[4]2STM32门禁系统硬件设计方案门禁系统的相关硬件功能电路设计作为整个系统开发工作的重要物质基础,首先必须要充分考虑技术研究系统开发的实际可行性,然后还要考虑涉及到门禁系统的硬件功能、成本和应用性能等,最终才能确定整个系统的相关硬件功能方面的电路设计。本处理系统主要采用了STM32F103C8T6单片机、WIFI模块、触摸屏以及智能手机APP构等建出一款可触摸解锁的智能门禁系统。系统整体硬件组成框图如下所示:舵机模块模拟开关锁舵机模块模拟开关锁触摸屏模块输入密码STM32STM32模块无线传输无线传输WIFI模块 2.1MCU主控芯片STM32F整个公司系列产品主要包括一些属于中低端的32位数的新型核心产品以及ARM公司系列四位数的内核和多核心以及微控制器,该公司系列产品的每个核心芯片码和每个芯片码的产品系列代号分别也都是意法半导体(ST)公司也都是由三星公司出品,其它的核心码和内核芯片代号分别是Cortex-M3。该系列产品设计框图其中的两种小型射频设备无线通信产品设计小型芯片内终端容量计算大小设计可以直接按片内片外终端容量设计过程中的终端容量设计大小大致分为FLASH的两种类来设计片内终端容量,根据它的容量大小大致可以进行容量计算也因此可以将其容量大小大致细分为三个设计大类:小型中间片内终端设计大容量(16K和32K)、中间小型片内终端集中大容量(64K和128K)、大容量(256K、384K和512K)。芯片上的多种智能集成两个多种智能外部硬件定时器分别提供具有Timer,CAN,ADC,SPI,I2C,USB,UART等多种智能集成两个智能外部硬件预设定时器的管理软件功能。该设计系列产品框图产品设计系列图其中的两种射频无线通信设计芯片内容量大小可以直接按片内终端设计中的容量大小分为FLASH的两种设计片内容量,根据它的大小大致进行计算也可以将其大小细分为三个大类:小型中间终端大容量(16K和32K)、中间小型终端大容量(64K和128K)、大容量(256K、384K和512K)。芯片上的多种集成两个智能外部定时器分别具有Timer,CAN,ADC,SPI,I2C,USB,UART等多种集成智能外部预设定时管理功能。REF_Ref17072\r\h[5]该门禁系列高级门禁系统所用于得到的主要门禁微控制器包括为一个新的STM32F103C8T6,STM32F103C8T6是一款基于新的ARMCortex-M3内核(ARM公司在每次使用ARM11以后都将内核改用旧的A和Cortex代码来来进行命名,并将其区别分成一个新的A或A、R和旧的A和A或M三类,M类的门禁系列并没有提供包含诸如M0、M0+、M3、M4、M7)的32位的高级通用门禁微控制器,采用了新的rlqfp48封装,由意法半导体公司(ST)内核开发团队推出,属于STM32系列(ST公司还有SPC5X系列微控制器)。其中在程序中的存储器中在FLASH中的容量长度是64KB(64Kx8bit),RAM容量长度是20KB(20Kx8bit),2个12bitADC合计12路通道(外部通道只有PA0到PA7、PB0到PB1,并不是18通道),37个通用I/O口(PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1),4个16bit定时器(TIM1(高级控制定时器,带死区插入,常用于产生PWM控制电机)、TIM2、TIM3、TIM4),2*IIC,2*SPI,3*USART,1*CAN,工作电压2V~3.6V,工作温度为-40°C~85°C,系统时钟最高可到72MHz(一般是由8MHz的外部时钟经锁相环9倍频到72MHz),其引脚图和原理图如下图所示。REF_Ref24348\r\h[21]图2.1STM32F103C8T6引脚图图2.2STM32F103C8T6原理图2.2无线传输(WIFI)模块设计目前现在手机市面上最常见的无线网络数据传输连接方式主要分为是基于麦芽机的蓝牙无线数据传输和WIFI无线数据传输两种。蓝牙是一种多功能的在装置之间可以进行无线通信的一种无线通讯通用技术标准,它真的可以同时支持多种格式语音和其他视频格式数据之间进行通信。蓝牙的时刻跳频扩谱波段划分范围一般为2400-2483.5MHZ,使用的划分方式应该是一个新的FHSS(不同频带时刻跳频扩谱)波段划分信道方式,普遍意义上每分钟不同频带时刻跳变1600次,将83.5MHZ的不同速率频带的时刻波段划分信道组成79个不同速率频带波段的时刻划分信道,每个不同跳频频带时刻只大约使用占1MHZ的部分跳频带宽。蓝牙的无线语音音频调制电话通信使用方式一般也都是有GFSK(高斯调制蓝牙语言声音音频和视频传输控和调制蓝牙语音移动电话通信按键数据音频传输控),同时它还可以具有一种可以直接连线支持各种类型蓝牙电话设备通信中的无线通信语音通讯、电话通信数据通讯、音频通信传输方式调制蓝牙电通信、语音数据通信和无线通讯语音电话数据音频传输方式,调制蓝牙电话通信语音数据通信,特点之一是价廉并且方便简单易用。所有这种不同型号类型版本中的蓝牙电话设备、蓝牙语音无线通信系统数据、音频电话通信系统距离系统在与蓝牙语音电话设备之间也都有所区别,主要是因为它们可以直接通过网络连线或者联合在一起,数据音频通信系统通常一般使用时的音频传输方式版本距离一般指的也就是10米,在2010年6月底正式开始发布之后推出的最新的一种蓝牙电话通信系统版本,也就是Bluetooth4.0传输方式,通常使用时的传输距离一般也可以直接通过连线起来达到50米。蓝牙4.0包括三个子版本规范,即一种新的传统蓝牙移动网络蓝牙无线连接技术、高速无线蓝牙移动网络蓝牙和一种新的无线蓝牙低速高功耗无线蓝牙连接技术。增加电池容量续航延长时间、节能和增加了移动设备的配件种类是Bluetooth4.0的主要特点体现,蓝牙4.0的视频数据总线传输速度已经达到了24Mbps。蓝牙的无线连接简单快速,价格低廉,体积相对较小携带方便。WIFI的英文全称是WirelessFidelity,是指在IEEE中所定义的一个用于无线网络射频通信的一个工业设计标准(IEEE802.11)。WIFI技术是无线通信局域网(WLAN)的无线通信数据传输通信技术,采用的频率是2.4GHZ或5GHZ的一个无线通信数据频段。值得注意的重要一点是,当你的蓝牙和牙刷WIFI都在2.4G的长波的无线频段时,因为两者都同样主要是用蓝牙无线电中的波段信号来进行传递无线电的信号,所以相互之间有时候它可能甚至会轻微有一些干扰,不过并不严重,有时候它的信号传输速率变慢可能甚至会轻微上下变慢或者导蓝光以致牙刷的无线连接不稳定。WIFI的主要技术特点之一是无线传输数据的运行速率较高(300Mbps),传输时的数据运行持续距离较长,具有良好的数据保密性和数据通信可靠(抗干扰和相对抗双向多径半波干扰强)等。REF_Ref17232\r\h[20]无线网络传输门禁模块主要用于智能手机的APP和其他门禁系统的无线连接,从而显示门禁系统的开关锁状态以及密码正确与否。此次蓝牙设计建议采用WIFI数据传输,因为基于WIFI的蓝牙适用范围可能更大,并且基于WIFI的数据传送速度显然要比传统蓝牙快得多。而对于它们的主要使用扩频方式,蓝牙使用的一般方式是无线跳频,而它的WIFI则是直接进行序列化的扩频,使用时只需要将STM32模块和串口WIFI模块连接在一起,直接进行信号匹配,匹配成功就可以进行数据传输了。REF_Ref17334\r\h[15]本次测试产品设计中所需要采用的无线数据传输内部控制芯片模块主要采用是基于ARM的ESP8266芯片,ESP8266芯片,这也就是一款基于有线串口发送数据信号转无线传输模块的控制芯片,内部控制模块内置自带自动安装保护固件,用户安装操作简单,无需远程软件编写即可根据安装时序自动发送数据信号等,其时钟结构图如下图所示:图2.3ESP8266时钟结构图2.2.1ESP8266模块的功能描述(1)主要功能:ESP8266可以实现的主要功能包括:串口数据透传、PWM串口控制调控和GPIO串口自动控制。串口数据透传::本机可以直接实现各种数据的串口传输,并且这种数据串口传输的速率可靠性也比较好,最大的数据传输速率范围为:460800bps。PWM串口调控:两色灯光自动调节,三色Led自动调节,电机自动调速等。GPIO串口自动控制:控制开关,继电器等。(2)不同工作管理模式:ESP8266模块同时支持STA、AP和STA+AP三种不同的工作管理模式。STA应用模式:ESP8266模块通过移动路由器连接互联网,手机或平板电脑通,过无线互联网连接实现对所有设备的实时远程控制。AP通信模式:ESP8266模块可以作为通信热点,实现智能手机或平板电脑直接与各个模块进行通信,实现局域网的无线网络控制。STA+AP操作模式:两种操作模式的无缝共存切换模式,即用户可以同时通过连接互联网使用控制器实现无缝相互切换,方便用户操作。(3)应用领域:可将串口CH340转WIFI。工业透传DTU。WIFI远程监控/控制。应用于玩具领域。实现对多色LED的控制。实现消防、安防的智能一体化管理。智能卡移动终端、无线POS机、WIFI摄像头、手持移动设备等。(4)AiCloudAiCloud是安信可科技(AiThinker)公司推出的一种基于互联网企业云计算平台管理服务。用户随时可以在该监控平台上对所有设备状态进行实时的远程监控和数据管理,从而对所有大数据设备进行实时管理和数据分析,实现真正的智能设备管理智能化。AiCloud可自动打包一整套的开发解决方案服务器的解决方案,为了使客户可以节省大量开发成本,大幅度加快其产品开发的工作进度;客户也可以同时接受不同客户的各种定制化开发需求,在新的Android/IOS开发平台以及APP的技术支持下,实现了Web的多个页面自动配置。REF_Ref17477\r\h[8]2.2.2硬件连接ESP8266模块从其中一组电源供电器件中引出6个引脚,如下面模块框图所示:图2.4ESP8266模块引脚图引脚说明:VCC:连接一个正极(有些用的是3.3V,有些用的是5V,我的这个符号是5V),GND连接负极RXD:用于发送数据的一个主机接收端(这也是的意指通过连接一个大的单片式虚拟主机或者通过连接USB转TTL两个主机模块的发送数据也称TXD)TXD:指主机连接数据的一个连接端和发送端(这也是的意指通过连接一个使用单片式块的主机或者通过连接USB转TTL两个单片模块的主机数据连接RXD)RST:复位,低电平有效IO_0:它可以应用于同时控制主机进入继续固件时的两种烧写模式读读输入模式,低电平->烧写阅读模式读写,高电平->控制继续固件运行时的烧写读读模式(默认)用于通信连接手机通信的通讯端口一般有四个引脚,也就是和普通通信单片机的引脚USART一样的引脚,连接后的通信端口方式按照如下所示方式进行连接:单片机端TXD(PA9)-ESP8266RXD单片机端RXD(PA10)-ESP8166TXD2.3触摸屏模块设计触摸屏主要用于门禁解锁、显示密码和修改密码等。本次设计我们选用的型号是TJC4832T135-011C(C:电容式触摸),即:3.5寸的T1系列电容触摸串口智能屏。这种USARTHMI智能屏利用字符串指令进行数据传输,使用方便,维护轻松,其产品外观和外观如下图所示:图2.5触摸屏外观图图2.6触摸屏结构图2.3.1特性参数介绍(1)触摸屏的电器性能参数如下表所示:表2.1电器性能参数参数测试条件最小值典型值最大值单位工作电压4.55.06.0V工作电流VCC=5.0V,背光亮度最大-135-mA普通睡眠模式(lowpower=0)7.089.0mA深度睡眠模式(lowpower=1)3.03.54.0mA(1)推荐工作电源:5V500mA的直流稳压电源(2)电容触摸或无触摸模块测试条件(3)该模式下唤醒时间较长,串口接收唤醒会丢失部分数据,所以建议客户在发送一条无效命令并延时50ms以后再正常操作屏幕(2)触摸屏工作环境和可靠性参数如下表所示:表2.2工作环境和可靠性参数参数测试环境最小值典型值最大值单位工作温度5.0V电压下,湿度60%-202570℃储存温度--302585℃工作湿度25℃10%60%90%RH三防处理--无--(3)触摸屏的接口性能参数如下表所示:表2.3接口性能参数参数测试条件最小值典型值最大值单位串口波特率标准24009600921600bps串口输出电平(TXD)输出1,Iout=1mA3.03.2-V输出0,Iout=1mA-0.10.2V串口输入电平(RXD)输出1,Iout=1mA2.03.35.0V输出0,Iout=1mA-0.70.01.3V(4)触摸屏的存储器性能如下表所示:表2.4存储器性能存储器类别参数最小值典型值最大值单位FLASH存储器字库图片存储空间8MB用户存储EEPROM无无运行内存(RAM)控件/变量存储空间3584BYTE串口指令缓冲串口指令缓冲1024BYTE2.3.2功能简介(1)可以通过串口进行通讯(2)可以设置设备地址(3)开放了串口升级协议(4)可以显示方向(5)具有工业级和医疗级EMI性能(6)通过了静电测试2.4舵机模块设计2.4.1实物图、引脚及其参数舵机最早广泛应用于在高空航模飞行运动中,在现代航空飞行模型中,通过自动调节涡轮发动机和各个传动控制杆和舵的平面角度来自动实现航空飞行机的各种飞行运动姿态。标准的自动舵机系统有三条导线,分别是:舵机电源线、地面导线和舵机控制线。中间的电线是连接电源线,颜色一般为绿或红色,一边的电线是连接地面电线,颜色一般主要为白或黑色。舵机最基本的动力能源运行保证就是由这两至三根线缆来提供的,主要作用是降低电机的高速转动动力消耗。Futaba的导线控制电路信号的导线一般为红或白色,jr的一般为绿或桔黄色。舵机系统具有以下一些主要特点:舵机体积紧凑,比较方便进行安装;舵机输出的转向力矩较大,稳定性已经足够好;运动控制比较简单,便于和其他数字控制系统进行接口。REF_Ref17588\r\h[9]然而正是由于这种舵机传动具有很多的性能优点,因此它现在不仅仅广泛应用在太空航模中的运动中,还已经不断扩展推广到各种民用机电产品中的后来,也越来越广泛应用于工业机器人的运动控制。其实物图、引脚以及参数如下图所示:图2.7舵机实物图、引脚及其参数2.4.2舵机的结构及其工作原理一般来讲,舵机主要由以下几个部分共同组成,反馈舵机电位和设计5k、直流式发电机、控制器和电路板等。舵机的转动脉宽脉冲控制舵机脉冲处理信号通常认为是一个具有周期性的宽度为20ms的高速舵控电机脉宽脉冲调制(PWM)舵机脉冲调制信号,其中它的高速舵机的宽脉冲调制信号在其位置具有周期性的宽度一般定义范围大约为0.5ms-2.5ms,相当于舵机对应的在转动舵盘的舵机脉冲信号位置周期宽度为0-180度,呈线性垂直地或线性地对方向进行变化。显而易见,给它们的两个电机平行转动速度提供一定的脉宽,它的两个电机转动进入输出轴或电机输出输入轴和电机转动轴就一定很有可能会一直与它们的保持在一个相同或与其速度对应的两个电机平行转动速度方向同的角度上。无论它的内和侧或外界转矩怎样都会使它发生重大性的改变,只有给它本身新的信号方向提供一个另外一定频率宽度的高频生成脉冲才能输出生成信号。舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的外加基准控制信号,有一个比较器,将这个外加控制信号与其他基准控制信号相进行比较,判断其输出转动方向和转矩大小,从而可以产生驱动电机的高速转动控制信号。控制器在电路板内部接受一个来自低频信号输出线的高频控制电路信号(具体控制信号方法待会再说一讲),控制器使电机减速转动,电机减速带动一系列减速齿轮传动组,减速后齿轮传动至电机输出端的舵盘。舵机的电位控制通过输出电路传动轴和轴对舵机所在位置物理感应器的反馈由于驱动机的电位系统是与自动计算机系统是通过舵盘直接相连的,舵盘直接控制舵机转动的运行方向,同时舵盘带动轴对舵机所在位置物理感应器的反馈从而驱动舵机电位的设计,电位的设计将舵机输出端的电压变成信号从而直接控制驱动电路板块并进行感应反馈,然后根据舵机所在位置等来决定驱动电机的正确转动运行方向和旋转速度,在舵机达到目标时即停止。REF_Ref17677\r\h[10]2.4.3注意事项(1)由于单向转动时舵机的高速单向飞行转动舵机程序一般需要很长的连续运行时间,所以高速舵机转动程序加速公式数值中的加速函数公式a值和舵机程序公式b的两个数值的连续运行时间要随速度差的变化不能太快,不然舵机就很有概率可能跟不上高速单向转动时的舵机程序。根据实际设计工作中的需要,选择合适的延时,用一个可能属于一种a或b类舵机等级的高速步进递增驱动舵机循环驱动一个齿轮进行循环,可以直接让一个可以驱动它的高级舵机很流畅的高速沿着往复方向转动,同时也不会直接使舵机产生任何可以像一般舵机使用高级高速步进驱动齿轮循环驱动的风力发电机一样的复杂高速旋转和脉动。REF_Ref17748\r\h[7](2)当前的一个舵上电机SG90无法正常工作运行的两个主要组成原因是工作电压不稳定或当前舵上电机PWM的工作数值不正确。3STM32门禁系统软件设计方案门禁系统以STM32为控制核心,程序使用C语言编写,软件设计是使得功能正常发挥的强有力保证,主要包括开发环境的介绍、软件的主程序模块以及各个模块的设计与实现等,通过把这几个模块有效组合在一起,从而实现整体系统的软件设计。3.1开发环境介绍STM32编程处理软件目前实际使用较多的类型是使用Keil单片机软件编程处理软件和IAR单片机软件编程处理软件,本设计采用的是Keil作为系统的开发调试环境。Keil,这是一个软件公司的英文名字,该软件公司负责制造和开发销售一个种类广泛的软件开发工具,包括了ANSIC和微编译器、宏结构汇编应用程序、调试器、连接器、库资源管理器、固件和实时操作系统中的核心(real-timekernel),由德国慕尼黑KeilElektronikGmbH和美国德克萨斯的KeilSoftware组成。Keil程序提供了一套包括一个C语言编译器、宏汇编、连接器、库数据采集和库管理和一个功能强大的自动应用开发调试仿真器,是一个包括Java和应用程序调试器等在内的完整自动开发调试应用的流程,通过一个基于Java的自动应用程序调试开发系统集成式的自动调试开发应用环境(uVision)将这些组成部分完美地紧密结合在一起。uVision软件开发应用环境软件界面友好,操作简单,容易快速简单容易上手,具有调试程序和通过软件应用开发软件自动程序进行软件仿真的强大软件应用开发功能。运行诸如Keil等系列应用软件后您可能还会需要重新安装包括WIN98、NT、WIN2000、WINXP等多种版本操作系统。与此同时,与其他其它汇编语言软件相比,C语言编程设计语言及其作为一种编程设计中的软件应用语言在各种类型应用程序软件设计中的编程环境中的确在功能上、结构性、可读性以及可维护性上都同样比较优秀具有明显的技术走向性和国际性。如果软件需要同时使用多种编程语言才能进行软件编程,那么它的开发软件调试Keil几乎就是不二之选,即使是也不一定软件需要同时同样使用多种其他软件编程设计逻辑语言而仅用一种其他编程汇编语言也不可能同时进行多种软件调试编程,其方便快捷而且简单易用的软件调试编程软件开发应用集成调试编程软件开发应用环境、强大的软件应用程序调试开发软件应用集成开发编程设计语言调试仿真以及开发应用软件调试开发软件集成处理器等开发工具也一定会拥有机会远远能够做到令其事半功倍。REF_Ref18003\r\h[11]3.2主程序设计该新型门禁系统除了用到了STM32作为系统主控控制芯片,还用于得到了较多的外设,因此本门禁系统设计采用的是模块化的系统设计工作思路。采用这种方式设计开发思路的最大好处主要在于我们可以首先将子集的任务各个击破,然后再对它进行一个整体的数据统计和调试,便于开发团队紧密合作和实现模块化的复用,专业开发者的时间从而被大大节省、专业程序员的开发工作效率被有效提高。本程序设计主要采用C和Keil两种软件语言进行系统开发、C语言进行编写程序,主要的程序模块设计有两个主要的程序设计模块,无线数据传输(WIFI)系统模块,触摸屏模块,以及智能手机APP模块。REF_Ref18062\r\h[12]其软件流程图如下所示:系统待机系统待机按键识别按键识别数字密码数字密码服务器进行密码确认服务器进行密码确认开锁失败是否正确否开锁失败是否正确是开锁成功并显示于开锁成功并显示于APP3.3无线传输(WIFI)模块程序设计无线传输(WIFI)模块在系统启动后,初始化微控制器,待初始化工作完成后,与其手机APP连接使用,从而完成智能门锁系统的实时监控。在此情况,如果密码连续输错5次,门禁则进入自锁状态。其部分程序如下所示:(1)初始化WIFI的复位IOvoidWiFi_ResetIO_Init(void){ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;/ GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOA,&GPIO_InitStructure); RESET_IO(1);}(2)WIFI发送设置指令charWiFi_SendCmd(char*cmd,inttimeout){ WiFi_RxCounter=0; memset(WiFi_RX_BUF,0,WiFi_RXBUFF_SIZE); WiFi_printf("%s\r\n",cmd); while(timeout--){ delay_ms(100); if(str(WiFi_RX_BUF,"OK")) break; printf("%d",timeout); } printf("\r\n"); if(timeout<=0)return1; elsereturn0; }等待连接WIFI,获取IP地址charWiFi_GetIP(inttimeout){ char*presult1,*presult2; charip[50]; WiFi_RxCounter=0; memset(WiFi_RX_BUF,0,WiFi_RXBUFF_SIZE); WiFi_printf("AT+CIFSR\r\n"); while(timeout--){ delay_ms(100); if(strstr(WiFi_RX_BUF,"OK")) break; printf("%d",timeout); } printf("\r\n"); if(timeout<=0)return1; else{ presult1=strstr(WiFi_RX_BUF,"\""); if(presult1!=NULL){ presult2=strstr(presult1+1,"\""); if(presult2!=NULL){ memcpy(ip,presult1+1,presult2-presult1-1); printf("ESP8266的IP地址:%s\r\n",ip); return0; }elsereturn2; }elsereturn3; }}3.4触摸屏模块设计图形化企业用户操作界面的工程总体设计基本理念和它是一种充分运用结合我国现代商业计算机技术信息科学、美学、心理学、行为学和心理学,及各种对现代商业信息服务管理领域企业用户实际需求特点进行综合分析的一种新型人机系统工程,强调将实现人-机-机器人和工作环境三者有机结合而成为一个新的整体人机系统的工程设计。这种主要用于面向我国企业系统客户的软件系统工程师的系统设计其主要工作目的也就是通过不断优化我国企业系统产品的软件系统操作性能,使企业用户实际操作更加地符合人性化,使其更好地能够适合我国企业系统用户的日常实际操作以及使用中的需求,直接地应用于不断提升我国企业系统产品的技术国际化与市场化和核心技术竞争力,减少企业用户的各种认知心理负担。图形化产品设计方式可以有效保持产品界面的直观一致性,满足不同行业目标产品用户的不同创意设计需求,建立产品界面与目标用户的良好互动性和交流。这其实是对用户显示界面的设计,其目的是为了更好地用户体验。REF_Ref18160\r\h[13]本次项目设计的门禁系统所需要使用的系统屏幕格式是一个串口屏,即:USARTHMI。用户串口交互是将一个终端控制设备与其他终端控制用户连接在一个底层或将封包安装在一个用户串口中的底层上,在具有终端控制用户串口交互功能以后,通过一个终端控制用户串口(USART232)与一个终端用户MCU串口进行交互。MCU某个用户设备可以随时通过一个新的USART指令发出的某个指令随时可以通知某个用户设备、切换某个用户组件系统页面或者随时可以改变某个新的用户设备组件的系统管理属性,当某个新的用户设备组件或者某个用户设备当前已经同时进入了某个用户组件系统页面,设备也同样应该可以随时通过一个新的USART发出指令随时通知某个设备用户或者某个MCU操作者。REF_Ref18212\r\h[14]其部分程序如下所示:(1)串口2printf函数__align(8)charUSART2_TxBuff[USART2_TXBUFF_SIZE];voidu2_printf(char*fmt,...){ unsignedinti,length; va_listap; va_start(ap,fmt); vsprintf(USART2_TxBuff,fmt,ap); va_end(ap); length=strlen((constchar*)USART2_TxBuff); while((USART2->SR&0X40)==0); for(i=0;i<length;i++) { USART2->DR=USART2_TxBuff[i]; while((USART2->SR&0X40)==0); } }(2)串口2发送缓冲区中的数据REF_Ref18555\r\h[18]voidu2_TxData(unsignedchar*data){ int i; while((USART2->SR&0X40)==0); for(i=1;i<=data[0];i++){ USART2->DR=data[i]; while((USART2->SR&0X40)==0); }}3.5手机APP模块设计本次产品设计中,使用的这款手机开发APP软件开发工具指的是手机AndroidStudio,这指的是一个全新的Android手机开发应用环境,它本身指的也就是美国Google公司开发的一款可以同时面向所有手机Android各类手机软件开发者的手机软件工具IDEA,它支持多种操作系统,比如:Windows、Mac、Linux等。基于目前比较流行的Java开发语言,它采用一种集成式的开发应用环境来对IntelliJ进行搭建而非集成,开发者甚至可以在自己编写程序的时候同时能够直观看到自己的开发软件被应用在不同屏幕尺寸和大屏幕环境中的不同样子。REF_Ref18310\r\h[16]AndroidStudio基于IntelliJIDEA,类似于EclipseADT,它们还分别提供了一个相互集成的基于Android的系统开发工具,并使其可广泛用于进行系统应用软件开发和实时进行应用系统硬件调试。同时,在IDEA的基础上,AndroidStudio还提供:(1)基于Gradle的构建支持(2)Android专属的软件重构和快速软件修复(3)常见问题解答提示您该软件工具以前是用来实时捕获作业系统中的性能、可用性、版本以及系统兼容性等常见技术问题(4)支持ProGuard和应用签名(5)基于组件模板的开发向导可用来自动生成常用的的Android类的应用程序设计和开发组件(6)功能强大的布局编辑器,可以让你拖拉UI控件并进行效果预览REF_Ref18375\r\h[17]4系统功能测试以下是门禁系统的开发成果实例展示,系统的硬件软件功能已经基本全部实现了,门禁系统的使用方法与基本功能如下所示:(1)通过USB给电源模块供电,打开门禁开关,屏幕界面如图显示:图4.1门禁开关界面(2)打开手机提前安装好的APP,通过下图所示WIFI与门禁系统连接起来,当手机APP界面出现如图所示IP地址时,证明连接成功。图4.2所连接WIFI名称图4.3APP所显示界面(3)初始密码为四个“1”,若所输密码正确,屏幕则会显示“密码正确”四个字,开锁成功,同时,舵机转动(模拟开锁状态),APP也会即时显示“门已打开”,之后会自动上锁,舵机再次转动(模拟上锁状态),防止出现忘记锁门这样的情况。在密码正确的情况下,该系统还具有更改密码的功能。图4.4密码正确时(4)若所输密码错误,屏幕则会显示“密码错误”四个字,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论