编程语言应用

首页 » 常识 » 问答 » 单片机的分析设计
TUhjnbcbe - 2022/9/24 7:56:00

单片机的分析设计

目录

1.1工作原理分析.2

1.1.1CO检测原理.2

1.1.3单片机工作原理.4

1.1.6甲醛检测原理.8

1.1.8光照强度检测原理.10

1.2课题研究方法.11

2系统总体设计.14

2.1PID算法的原理.14

2.2系统方案选型.14

2.3.1供电方案选型.18

2.3.2显示屏幕的选型.19

2.3.3电机转速的选择.21

3系统硬件的测试.31

3.1主控制器的设计.31

3.2LCD显示模块设计.32

3.3蓝牙模块电路设计.37

3.4温湿度传感器电路设计.38

4系统软件的设计.39

4.1编程语言及软件的选择.39

4.2显示工作流程图.39

4.3时钟子程序设计.40

4.4温度子程序设计.40

4.5PID算法分析.42

5硬件的设计及测试.45

5.1实物电路焊接.45

5.2实物的设计.48

5.3实物的焊接设计.48

5.4实物测试结果.49

总结.49

致谢.50

1.1工作原理分析

1.1.1CO检测原理

一氧化碳作为一种无色、无味、无嗅、无刺激性但又对人体有害的气体,在某些存在一氧化碳气体的场合进行检测就显得尤为重要。目前市场上存在的一氧化碳检测传感器主要有半导体型、电化学型以及红外型。其中的半导体型一氧化碳传感器是化学传感器,主要依据的也是电化学原理,即当一氧化碳通过传感器的外壳上的气孔再经透气膜扩散至工作电极时,在电的催化作用下,一氧化碳在电极上发生氧化反应和还原反应,从而在传感器工作电极和对电极之间形成电位差,然后通过参比电极稳定电位,使得电位变化和一氧化碳浓度值的变化形成一定的正比例关系,依此来检测一氧化碳的浓度值。通常是将一氧化碳传感器与报警装置配套使用的,在检测区域内一氧化碳浓度值到达报警值时启动报警装置给区域内人群警示。本设计中主要通过一氧化碳传感器检测其浓度值,并将值传输到客户端,不需要加配抱警装置。

一氧化碳(化学式CO)是一种无色、无味、无嗅、无刺激性气体,不易容于水,但是可以与人体血液中的血红蛋白结合,进而影响氧气无法与血红蛋白结合,引起人体组织缺氧,使人窒息而亡。在一些地区会采用煤炭取暖,由于其不能充分燃烧,产生一氧化碳使人中*的事件时有发生,因此便有了检测一氧化碳的传感器的出现。目前市场上所使用的CO传感器大体有以下几种半导体CO传感器、电化学CO传感器、变色光散射检测CO传感器、NDIRCO传感器等。半导体CO传感器是最早出现的检测CO的传感器,通过半导体气敏元件与CO接触产生性质变化来实现对CO的测量,主要有电阻式和分电阻式两类,其特点是价格低廉,采购较易,但是初期研发的传感器,功耗较高,会被温度、湿度等环境因素影响测量结果。近年来市场上出现的电化学CO传感器、变色光散射检测CO传感、NDIRCO传感器等新式传感器从CO的物理性质和化学性质入手,提高了检测的准确性的同时在功耗程度上越来越小。PM2.5可吸入颗粒物,又称为细颗粒物,简称PM2.5。这种颗粒物的直径很小、但是表面积较大,会携带大量有*有害的物质,且可以长时间悬浮在空气当中,因此对人体健康和空气环境的危害十分严重。PM2.5传感器是根据光的散射原理研发的。众所周知,微小的颗粒和分子在光的照射下会导致光发生散射,同时还会吸收部分光能。,如果用一束单色光照射被测颗粒物场域时,光强会因为颗粒物的散射和吸收而损失、衰减,通过这种方式计算出的光照进入测量颗粒物浓度场域相对衰减率,其值的大小就可以反应所测颗粒物场域浓度值。其中光照强度与通过光电转换的电信号成比例关系,测量出电信号就可以计算出相对衰减率,进而求出浓度值。目前市面上做毕业设计类PM2.5检测常用的传感器型号为GP2YAU0F,该产品的检测精度准确,其内部是由红外发光二极光提供光照的,然后对角侧的光电晶体管接收到二极管发出的经过颗粒物折射后的光能,将其转化为电信号。

PM2.5传感器又称粉尘传感器,是用来检测环境中直径达到2.5mm可吸入颗粒物,该传感器依据光的散射原理,即微小粒子在光照下发出散射光并吸收部分光的能量影响光照强度的衰减程度来研发的。PM2.5在空中长久漂浮会携带大量的有*、有害物质,人体通过呼吸系统吸入PM2.5后长时间沉积在肺泡中,其所携带的有机污染物和重金属微粒将会通过人体循环系统进入其他身体部位,对人体健康和空气质量产生巨大影响。因此,在检测空气中PM2.5的值的过程中,人类深刻的认识到了空气中微小颗粒对人体健康和环境的影响能力。我国工业化和城市化进行的不断加快使得环境问题凸显,空气中PM2.5成为了主要污染物,其浓度值的测量时有爆表情况发生。国家和社会因此投入大量人力、物力、财力用于PM2.5检测传感器的研发、生产上。我国的PM2.5传感器和空气中微小颗粒物检测技术也在近年迎来其中快速发展,勒夫迈自主研制的激光PM2.5传感器和PM2.5检测模块以其优良的性能被广泛应用于空气净化产品、便携式环境测量仪表、空气质量监测设备、智能家居等领域。

1.1.3单片机工作原理

单片机又称微型计算机、微型电脑,是一种超大规模的集成电路芯片。其内部集成着中央处理器(CPU)、随机储存器(RAM)、只读存储器(ROM)、中断系统、定时/计数器以及多种I/O接口等微型器件,对于控制系统而言,它就是系统的核心,所有的数据、信息对通过它来处理、运算、存储,与人们日常生活中适应的计算机有着相类似的功能。单片机作为控制核心,大多数会被嵌入到控制系统之中,与系统成为一个整体。单片机作为控制核心,其优点是在于它内部高度集成着各类微型器件,控制能力强,体积还小,拥有很高的可靠性,并且相比与大型工业控制计算机,它的电压很低,功耗小,用一些小型电源就可以驱动,形成产品后便于携带。现在单片机在人们日常生活中,随处可见,各类产品都有着单片机的影子存在。STC89C51是一款美国STC公司推出的8位微处理器,内置标准51内核,工作电压4.5V至5.5V,内部闪存为4K。在工作过程中它通过执行CPU控制程序,不断访问存储空间,对数据信息进行运输和处理,工作频率可以达到40MHZ。芯片与外部连接的主要引脚除了用来供电的VCC和GND外还包括一些功能口和4个外部接口,其中P0是一个数据/地址复用口,P1口和P2口是带有上拉电阻的8位双向输入/输出口,P3口虽然也是带有上拉电阻的8位双向输入/输出口,但是由于其拥有其他功能,因此大多是不会被用来进行数据传输。

单片机,全称为单片微型计算机(MicrocontrollerUnit),是一种微型嵌入式控制器,通常以MCU的英文缩写表示。最初的控制芯片内部只集成了CPU进行逻辑运算,后来随着其发展,将其他外围设备和CPU集成在同一芯片内部,从而形成了微型计算机系统,应用于更加复杂且对控制核心体积有所要求的控制设备之中,这就是单片机的早期由来。一开始,单片机是应用于工业领域的,由于其快速的运算能力和良好的控制效果,对于工业发展有着极其重要的作用,许许多多的工厂通过引用由单片机控制的设备来改善传统的生产方式,大大的提高了工厂产能,节约成本,也提高了操作人员的工作效率。如今,随着单片机技术越来越成熟,其应用范围早已不仅仅局限于工业领域,如仪表仪器、航空航天、医疗设备、家用电器、智能设备等领域都有单片机的存在。而且随着单片机技术的发展,其相比于其他控制器,体积越来越小,功耗也越来越低,计算能力和控制能力也越来越强。因此,单片机的市场前景极好,在未来将会被作为主流控制器应用在各个领域。因此,本设计中也采用单片机作为作为系统控制核心。

单片微型计算机,也称之为单片机,是常用的嵌入式开发所用的微控制器,他的产生最早被用来做工业控制,在早些年代,其集成度高、体积小、功耗低、稳定性高以及丰富的I/O接口的特点迅速为工业控制领域做出了重大贡献。单片机由内部只有中央处理器(CPU)的芯片以及大量的外围设备组成的一个集成度较高的微控制模块(如图一),用通俗的话来讲,单片机就是利用外围电路(包括各种外围传感器)收集外界非电信号,通过中央处理器(CPU)进行信号处理,并输出相应执行指令。

作为一种具有低功耗且高性能于一身的单片机,STC89C52采用的是CMOS工艺,它是一个8位微控制器,拥有8k字节的交互式矢量图能力,内置4KB的带电可擦可编程只读存储器,高灵敏度的复位电路,看门狗定时器,字节大小的随机存取存储器,32位I/O口线,3个16位定时器/计数器,4个外部中断,丰富的全双工串行口,这使得STC89C52在成为众多微控制器中的佼佼者,可以说是同价位的单片机中的性能怪兽。为工业控制提供丰富的解决方案。另外,STC89C52可调整到节电模式,即将工作频率降低到0Hz的静态逻辑状态。在非工作模式下,CPU停止工作,但与此同时还允许R存储器、外部中断继续工作。在掉电保护模式下,将RAM里面的内容保存起来,石英晶体振荡器被迫终止动作,因为单片机需要石英晶体脉冲来进行一切工作,单片机工作靠的就是由时钟晶振提供脉冲信号,一旦晶振不再产生脉冲信号,单片机的CPU停止工作,直到人为干预或者脉冲信号的到来触发复位,使得CPU重新接收脉冲信号,从新运行指令。

单片机供电采用DC口接入,其具有电流自我补偿的功能,而且内部具有电流过载保护电路其额定电压,一般5V。STC89C52单片机共有4个8位并行I/O端口,这些接口均可编程访问接入。且为双向I/O口,可以写入也可以写出。在程序中,每对一个接口写入逻辑电平“1”时,表明对该接口高电平接入,写入逻辑电平“0”时,表明低电平接入。在对程序进行校验时,外加一个上拉电阻,除了钳制电平以外,还具有保护电路的作用。其中P1、P2、P3口为8位双向可通的且具有内置上拉电阻,对P1端口写“1”时,内部上拉电阻将高电平进行钳位拉高,方便对内输入,当对外输出接口使用时,将电阻阻值调低,由于内部电阻具有钳位电平的作用,此时引脚将输出电流。

P0口双向I/O口,可以写入也可以写出。在程序中,每对一个接口写入逻辑电平“1”时,表明对该接口高电平接入,写入逻辑电平“0”时,表明低电平接入。在对程序进行校验时,往往需要对外接一个上拉电阻,通过一个电阻钳位在高电平,同时通过该电阻对单片机起到限流保护的作用。如图为单片机的引脚图:温湿度检测传感器是同时集成了温度检测元件和湿度检测元件的一类传感器,由于其同时可以检测温度、湿度情况,因此相比于单独检测温度或湿度的传感器,它应用范围和市场销量都更好。目前来说,市面上使用较多的是DHT11温湿度传感器,该传感器内部包含包含有一个NTC测温元件和一个电阻式感湿元件,其工作原理是依据温敏元件(湿敏元件)的电气特性,如阻值岁温度(湿度)的变化而变化,通过它们的比例关系计算出温度(湿度)值。其传输数据格式为8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit湿度小数数数据+8bit校验位,通过软件程序进行转化就可以直接得到温度值和湿度值,校验位的作用是检测数据传输的准确性和完整性。

温湿度传感器是应用于测量温度和湿度的传感器,早期的传感器由于技术能力的限制是无法满足同时对温度和湿度的测量的,因此为了获得温度和湿度数据,需要分别用温度传感器和湿度传感器测量。关于温度测量,人类最初发明的测量工具即为温度计,其依靠液体的热胀冷缩原理,将液体装在密封的透明玻璃管中,通过标注液体受热膨胀后在管中高度与温度关系来实现对温度的测量,它的缺点很明显,就是受制于玻璃管的影响,精度和量程都有限;而湿度传感器则是通过简单的湿敏电阻、电容制作而成,在特殊的电阻或电容上覆盖一层高分子膜,膜随着湿度的变影响电阻或电容的值,依此对应关系来测量湿度值。随着技术的发展,温度计被新型的温度传感器DS18B02所代替,其精度高于传统温度计,且受外界干扰作用不明显,同时该传感器内置现代化数字模块,如今依旧被广泛使用;湿度传感器也开始走向集成化,在原有测量元件的基础上集成更多的数据处理模块,如市场上依旧流行的DHT11。近几年来,我国为了突破国外技术制约,大力进行自主电子产品研发,其中鑫芯电子科技公司通过研究国外产品,成功研发出了无线温湿度传感器X2W-H1。

DS18B20是一种温度检测传感器,其温度转换时间可以达到毫秒左右是比较快速的检测方式,而且其在低温环境下受温度影响很小,并且能够产生脉冲信号,通过检测脉冲信号,由计数器对其进行计数,在高温环境下,其变化是比较明显的,是因为振动干扰比较大,所以与低温环境下检测的方法不同,需要单独设计一个计数器,进行计数,计数器与温度传感器的寄存器,会有一个相应的基础值,通过计数器内的数据与其脉冲信号进行减法计数,当其设定的数值减到0的时候,则相应的寄存器数值会加一,此时如果检测到寄存器数值加一之后,则其原来的计数器会被重新清零,如此反复计数可以得到相应的温度数据,同样的在高温的环境下,由于其受影响比较大,所以会采用另外一个计数器,采用了相同的操作,计数器1和2两者之间分开,所以当温度低和温度高时,其工作原理上是有一定的不同的,另外在DS18B20是一种单总线的温度传感器,所以它有着严格的书序概念,所以在读取的时候要严格的按照其设计的时序进行,否则无法检测到数据,并且还需要按照特定的协议进行其特定的协议,主要是通过初始脉冲的功能指令,以及存储器操作指令,到处理数据。严格按照这样的操作协议,才能够完整的读取到温度数据。

蓝牙无线传输(Bluetooth)是无线通信技术的一种,它可以实现短距离的无线通信,还支持点对点和点对多点的通信。蓝牙通信技术的优点是功能强大,功耗和成本都很低,现如今被广泛应用于各行业中,特别是电子产品如蓝牙耳机、蓝牙音箱、蓝牙手表等。蓝牙无线传输的核心主要包含了频射收发器、基带和协议堆栈,系统既可以实现应用于设备连接中,也可以应用于设备之间的数据交换。蓝牙设备在连接之前需要进行配对操作,其中会产生一台主设备,该设备作为小型网络环境的中心,其他加入设备都只是从属设备。在配对过程中,主设备会查找周围在线的蓝颜设备之后发出呼叫指令,从属设备需要接到指令后同意与其配对方能连接成功,在配对过程中有些设备需要通过输出相同PIN码,配对完成后就可以进行数据传输。蓝牙数据传输过程中一般采用一对一的串口数据,设备出厂前会设置好配对信息,因此只需加电连接就好,不需要外加其他辅助电路。

图蓝牙模块

1.1.6甲醛检测原理

甲醛是无色、有刺激气味的有*气体。甲醛检测传感器的类型目前在市面上很对,其中应用范围最广的是电化学甲醛传感器。电化学型甲醛传感器的灵敏度很高,其内部包含膜电极和电解液,并将其封装。检测时,甲醛气体接触到电解液被分解成带电的阴离子和阳离子,带电离子通过电极将电信号传出。此类传感器的优点是反应速度和准确性好,测量结果稳定,但由于内部电解液的损耗,使用寿命不长。传感器内部一般还会有一个辅助电极用来进行温度补偿,增加传感器的选择性。传感器的电信号与测量甲醛浓度之间是成正比例关系的,也就是信号越强,甲醛浓度越高。甲醛传感器还可以用来储存测量到的浓度值,一般内部可存储90个单独测量的甲醛浓度值。

图FS甲醛传感器

甲醛是一种无色、有刺激气味的气体,其化学式HCHO,又称蚁醛。甲醛对人体眼、鼻的器官有害,人体皮肤直接接触甲醛会导致过敏现象,吸入甲醛还可能诱发哮喘等呼吸疾病,严重者还会因为甲醛导致基因突变。但是在房屋建筑过程中会产生大量甲醛,新搬入的房屋如果建筑、装修用料不规范,则会导致新房子中甲醛含量超过正常标准,影响人体健康。而关于甲醛的检测,可以说早在很对年前就有团队着手进行,研究出的压电类甲醛传感器不用对检测样品做任何处理就可以进行测量,但缺点是其易受水分子影响,实际操作过程中如果规避不了水分子,它将无法进行检测。随着气体传感器的出现,压电类传感器立刻被其取代,而且气体传感器也成为了进行甲醇检测的主要元器件。

模数转化元器件是进行数据获取过程中经常要被用到的一种元器件,由于单片机等控制核心处理的数据为数字信号,只能识别“0”和“1”。在数据采集时,很多传感器得到的都是电流、电压等模拟信号,这些数据单片机是无法识别、处理的,因此需要特殊手段对其进行转化,即使用模数装换装置,如ADC。ADC是一款8位、双通道的A/D转换芯片,被广泛应用于模拟信号和数字信号的转化过程中。它工作时,通过CH1和CH2通道采集模拟信号,在内部完成数据转化后通过DI和DO口输入单片机,供单片机处理、运算。该芯片采集的输入电压在0V至5V之间,芯片转化时间仅仅只需32μs,由于其可以通过双数据输出的方式完成数据校验,所以数据误差较小。

无线通信技术是指不通过有线连接而通过无线电磁波信号在自由空间中进行信息传播的一种通信方式。相比于传统的有线通信,无线通信不需要布线,扩展能力强,没有信号衰减,建设容易等优点。早在20世纪20年代,无线通信技术就开始被应用于*事和航海上,其主要采用短波频和电子管技术完成,50年代末期就出现了固话式的无线通信系统;50年代后至90年代期间,它开始被广泛应用于电话、电报系统,结构构造也开始由电子管向半导体过渡。随着社会的不断发展,该技术越来越成熟、完善,频段扩大,逐步走向数字化,应用范围也从最初的少数领域步入多数领域。90年代后到今天,可以说无线通信技术已经相当成熟,其发展规模依旧呈现不断扩大的趋势,应用范围也是各行各业,而且在计算机技术发展的基础上,它的内容更加丰富、社会作用几乎无法被其他通信方式取代。如人们日常所熟知的5G网络通信、蓝牙通信、WIFI通信、无线宽带、红外通信等等。其中蓝牙通信(Bluetooth)属于短距离无线通信技术的一种,在年由爱立信公司提出,最初是为了解决设备间内部通信的,后来随着发展成为了取代计算机外设有线连接的一种有效途径,还实现了短距离的数据传输和系统控制的功能,是如今人们生活中常用的一种通信手段。

1.1.8光照强度检测原理

光照强度检测是本设计一个重要的环境参数检测,在本设计中采用光敏电阻作为检测传感器,其具有在光照强度越高电阻越小的特性,其采用的主要原理是内光电效应,当光敏电阻在特定的光波照射环境中,光照会促进其产生更多的载流子,载流子的数量随光照强度增强,所以其电阻降低,在本次设计中利用其电阻在光照下降低的特性,搭载一个分压电路,光敏电阻的电阻变化从而引起其分压的变化,然后本设计采用ADC模块来采集电压的变化,将数据传输给单片机,通过分析ADC采集的数据,即可实现对光照强度的分析处理,ADC是一款高精度的模拟量转数字量的ADC模块,其采用两根总线进行信号传输,属于串行通信,分别通过传输时钟信号传输和数据信号,通过光敏电阻,分压电路以及ADC模块组成光照强度检测模块。本设计的红外测距传感器采用的是E18-D80NK红外避障模块模块,该模块是通过对光电信号的发射接收和转化来实现对障碍物的检测的,首先通过发射端发射调制好的光信号,光信号检测到障碍物后返回,由接收端接收,之后通过特殊的光感器件将光信号转化为电信号。光信号通过了调制,可以减少外部环境的干扰;而且本设计的头部采用透镜,可以增加光信号的发送距离。单片机通过检验运行输出口的电平来判断是否前方具有物体,当检测到前方具有障碍物时红外检测模块输出低电平,同时该模块具有LED灯提示功能,在检测到物体的同时亮灯提示,在平时运行没有检测到物体时的输出高电平,LED灯熄灭,而且该传感器模块通过调节器后背的旋钮可以调整检测的距离,最远测距可以达到80厘米。该系统采用了人体红外传感器(PIR)模块HC-SR,该模块是通过其内部特殊的红外检测装置来感应人体的向外发射的红外线。因为人是恒温动物,正常人的体温一般在37摄氏度左右,且一般比周围环境温度要高,所以人体会发出波长9.5um-10um左右的红外光线,左右的能够通过滤光片的聚集下照到红外感应源上的红外线,本装置根据热释效应对9.5um-10范围内的红外线特别敏感,所以红外感应装置就是这样来感应是否有人经过的,而本模块采用菲涅尔透镜原理,大大提高了模块的灵敏性。

本模块通过调整触发方式,当检测到人体时,输出端口输出低电平,在平时运行时端口输出3.3V的高电平,虽然本设计采用的单片机以5V为高电平,但是3.3V依然被单片机认为为高,随意控制器通过对该引脚的高低电平检测即可实现对人体的检测,即可将有人经过的信号传递到特定模块,而且本模块具有灵敏度调整旋钮,可以根据检测范围和周围环境的情况调整灵敏度,具有较好的应用效果。

1.2课题研究方法

本课题的研究采用了很多种方法,不同的方法有着不同的作用,本课题主要研究了PID算法温度控制系统,分别采用文献法、实验法和分析法进行研究的。文献法主要指的是对很多相关的资料进行参考分析,实验主要是按照相关论文中概述的方案进行设计实物,对实物进行实验测试,分析法主要是对实物制作的整个过程以及理论等,进行分析总结。

文献法本课题是研究关于电机控制系统的设计,关于电机控制系统,在中国知网,或者是万方众多的数据平台当中,都有很多的文献作为参考,就本设计而言,在中国知网平台中寻找到了很多基于单片机PID算法温度控制,以及PLC

的PID算法温度控制等等,通过对这些参考文献进行分析发现其控制的原理,以及其整个操作的流程,通过对相关文献的分析和参考,可以确定本设计需要设计的流程和方法,通过文献中一些优点和缺点的分析,确定哪些是可以参考的,哪些是需要进行优化的,通过取长补短,完善论文的内容,实现本课题的内容完整度的补充,从这里就可以发现文献法的作用,可以让作者在设计的过程中有一定的设计思路,开阔作者的思路,有助于完成内容设计。

实验法实验法就是通过实验验证系统方案的可行性,在参考文献中可以发现有很多的研究方法,通过取长补短确定自己的研究方法,以及研究过程,在研究方法确定之后,需要选择相应的模块搭建硬件电路实现对开始搭建的实验方案进行验证,确定当前制定的方案,是否能够满足系统需求,这就可以体现实验的重要性,其目的就是为了验证方案的使用几率,对可行性进行分析,在实验法中需要利用相关的硬件模块,以及利用控制器与程序的结合,控制器与硬件模块的结合,通电运行硬件,与预期的功能进行对比,观察实物是否能够按照预定的方案实行,这是非常重要的,因为实践是验证真理的唯一方法,理论的可行性不一定在真实的环境中也能运行,所以实验在本设计是不可缺少的。

分析法分析法是针对实验法的基础上进行的实验,实验中会有很多的现象和数据,将这些现象和数据都记录下来,这就需要对反馈的现象进行调试,最终调试完成后,通过通电测试实物的功能,调试是非常复杂的一个过程,例如每个模块的功能,这些都需要不断的调试,确定最终的功能是否实现,在测试的过程中会产生很多的数据,以及很多的问题,需要将这些问题记录,并一一解决,而这些就是整个设计的重要部分,遇到问题后,先从硬件入手,这就需要确定一个没问题才能确定另一个有问题,确定硬件没问题,就可以确定软件程序有问题,从这两个角度寻找到问题,通过分析问题所在并及时修改,可以解决设计研究中的大部分问题,所以分析法是建立在实验法的基础上,并且通过分析可以将整个实验的过程重新整理,确定整个论文的系统架构,以及工作过程,分析法在这三种方法当中也是不可缺少的。有控制变量法、文献法、对照法等。在设计刚开始的准备阶段,便采用了文献法,首先通过知网,万方,百度学术等各种文献网站查询与本设计相关的文献,尤其是与智能台灯相关的文献,在文献查阅中,我着重查询了本设计采用的光照强度、人体感应、红外测距等传感模块的研究和应用,通过大量的文献查询我了解了智能台灯的发展现状以及多种设计方法,为本设计的研究打好了设计基础。同时本设计在进行软硬件设计时还采用了控制变量法,如在进行软件功能检测和调试,在查程序是否具有逻辑语句上的问题时,一般很难通过直接观察来找出问题,所以在检查程序时采用分模块化的检查,在检查一个模块是否有问题时可以将别的模块关掉,比如本设计的在检查各类传感器的数据采集时,我们保留正常的传感器的初始化程序和正常的其采集的数据处理以及显示,然后编译烧录,如果设备可以正常的采用环境参数并且显示,则表明该模块的程序没有问题,然后通过此办法开始检查其他模块。在进行系统调试的时候通过控制所有的环境参数不变,只改变光照强度变化,观察系统的变化来检测光照感应功能是否正常。同时本设计在进行最后进行测试的时候还采用了对照法,通过市面上的普通台灯对照本设计的智能台灯,通过使用体验来对一些参数进行微调和改进,如灯光亮度、光照感应阈值和灵敏度的调整,以及红外检测模块的检测距离都需要对照实际应用来进行调整来保证用户的使用体验,以及本设计的实用性。采用了目前较为流行的的模块化的设计方法,将系统分成单片机控制模块、温湿度检测模块、PM2.5检测模块、一氧化碳浓度检测模块、甲醛浓度检测模块、蓝牙无线通信模块等,将各个模块进行整合就可以搭建出一套无线环境监测系统。在论文撰写中通过从设计需求、设计背景、设计系统发展现状以及相关技术、产品的发展现状上进行陈述,明确自己的设计目标和设计所要达到的效果。在硬件设计过程中,需对元器件进行分析和选型,在能够满所设计需求的基础上选择价格较低的元器件,节约成本;对于硬件电路和软件系统也需进行详细的陈述,阐明硬件电路的设计原理和软件程序的设计流程,最好还需通过实际操作,完成系统实物的制作和验证、调试,记录操作过程中所遇到的问题和最终的解决方法,将理论与实际相结合,完成系统设计和验证。同时为了完成毕业设计,还运用了以下三种常用方法

(1)文献研究法。文献研究是进行系统设计时经常使用的一种方法,通过阅读文献,可以快速了解目前相关课题的研究状况,从而达到快速明确自己的研究目标的目的。同时通过阅读文献可以为我们在研究过程中遇到问题和困难时提供更多的解决方法和途径,少走弯路为完成设计节约时间。

(2)实验探究法。有了系统的设计方案之后,针对硬件设计和软件设计所需要完成的操作内容,在不断的进行试验,选择出最适合的元器件、编写出最优的控制程序,这个过程是是耗时最长,也是决定设计好坏的重要过程。需要设计者花费时间和努力的认真完成,才会有收获,完成设计,拿出成果。

(3)控制变量法。控制变量是因为进行系统设计时是需要满足多种控制效果,如既要进行距离、速度的测量,还要进行报警提示和制动系统单启动,这是不能同时完成设计验证的,因此需要对设计需求一一进行试验验证,一般采用程序注释的方式完成这一操作。

2系统总体设计

2.1PID算法的原理

图2.2PID工作原理图

如图2.2是PID算法原理图,PID算法是一种通过反馈检测偏差数据,再通过偏差数据调节被控量的一个过程,PID包括比例、积分和微分,其中偏差就是比例的作用,当测量元件检测到温度信号之后,会反馈到输入端,输入端设定的有相应的设定温度值,反馈的数据会和设定值产生偏差,为了消除偏差就需要使用比例作用,积分的做用是为了消除静差,静差是系统自身存在的,跟检测的偏差没有关系,所以需要使用积分的作用,消除偏差,系统的反应速度是通过微分来体现的,微分可以提高反应速度,可以实现超前控制,但是微分同样的也会造成噪声干扰放大,所以在不必要的地方慎用微分,这就是PID算法的工作原理。

2.2系统方案选型

采用MSP单片机为设计的控制器,作为TI公司的单片机,最明显的特征是低功耗,在功耗低的基础上可以实现快速的控制,作为一个十六位的单片机,其处理速度上很快,具有看门狗功能,内部集成的功能很多,实现本设计的和我还能。功能绰绰有余,但是其内部集成东西虽然多,但是却限制的很死,操作起来不容易,还有程序的移植性不好,加上开发的人不多,所以在开发难度上不小,除此之外TI的产品价格昂贵,所以从性价比上还有待考虑,如果有更好的选择,将不会使用该单片机。Stm32单片机作为本设计的控制核心,stm32单片机是ST公司推出的32位处理器,处理速度非常快,并且采用了arm架构,精简指令,集成外设丰富,并且可以给系统设计提供强大的外部支持,在与此同时也提高了开发的难度,所以在使用该单片机进行开发时,需要一定的技术进行支持,虽然同样的是利用C语言进行编程,但是并不像51单片机那样,是控制底层的寄存器,这就是STM32单片机的好处,ST公司推出了很多的库函数,通过对库函数的调用以及相应的API进行操作,就可以使其实现一些很复杂的功能,这就是库函数编程的好处。现在STM32单片机已经被市场广泛接受,并且使用广泛而且其价格不高,具有很高的性价比,是非常好的一种选择

综合而言本设计对于处理器的要求较高,所以采用,用stm32单片机作为处理器。本设计尤为关键的部件当属单片机,它能够之间关系到装置的稳定运行,展开众多传感器数据树立和交互处理等工作。通常情况下STC系列、STM32系列等多个系列更为普遍,单片机的选择应该按照真实需要进行展开。

选取51单片机来做主控芯片,从某种意义上在传统单片机范围之内,由于外围电路复杂程度相对较低,能够在外界晶振电路以及复位电路等协同作用下展开有关工作,开发设计的众多环节经济实惠,能够借助C语言完成编程开发工作,容易上手,能够最大限度地满足系统所需的诸多功能。然而该单片机的劣势表现尤为显著,由于资源相对匮乏,指令结构也尤为简洁,MCU处理以及运算环节不能达到较高水准。针对相对简单的系统,能够胜任有关工作,然而在复杂程度以及时效性等方面有较高需求时,自身运算能力较低的缺点便展露无疑。借助STM32展现出高性能、低功耗、接口丰富以及运算快等在内的一系列显著优势,然而由于程序复杂程度较高,给C语言开发造成一定的难度,加之成本居高不下,若将其应用于本设计,会使其较为丰富的硬件资源产生某种意义上的浪费。综上所述,尽管STM32单片机和51单片机表现出的性价比维持在较高的水准,然而设计中的系统复杂程度相对较低,使其众多硬件接口的STM32,资源出现一定程度上的浪费,徒增成本支出的同时,也使得设计难度变大。因此,本设计采用51单片机作为系统的主控制器。

计步器件是本系统的最重要的传感器件,目前市面上的主要计步器采用的都是陀螺仪作为计步传感。陀螺仪是通过感应相应的角动量变化然后将其转化为电信号,所以陀螺仪根据其输出信号可以分为两类一种是输出模拟信号的模拟陀螺仪,另一种是输出数字信号的数字陀螺仪[5]。

采用模拟陀螺仪,模拟陀螺仪较为简单直接将角速度转化为相应的模拟信号,但是由于模拟量的变化比较小,单片机的AD采集精度不够,所以需要外加信号放大电路,或者高精度的AD采集模块,用信号放大电路,容易使得信号失真,经过滤波时还会造成信号准确度降低,采用高精度的AD采集又容易造成信号延迟,不利于实时的采集数据进行控制,而且增加成本。

采用ADXL数字陀螺仪,数字陀螺仪是在模拟陀螺仪的基础上,通过增添一个高速的AD转换电路直接将模拟信号转化为数字信号,然后通过特定的协议,一般为IIC数据传输,由于直接采用硬件处理信号较为快速精确,而且通过特定协议也方便传输信号给单片机。

综上所述,本设计采用。

STM32单片机作为本设计的控制核心,STM32单片机是ST公司推出的32位处理器,处理速度非常快,并且采用了ARM架构,精简指令,集成外设丰富,并且可以给系统设计提供强大的外部支持,在与此同时也提高了开发的难度,所以在使用该单片机进行开发时,需要一定的技术进行支持,虽然同样的是利用C语言进行编程,但是并不像51单片机那样,是控制底层的寄存器,这就是STM32单片机的好处,ST公司推出了很多的库函数,通过对库函数的调用以及相应的API进行操作,就可以使其实现一些很复杂的功能,这就是库函数编程的好处。现在STM32单片机已经被市场广泛接受,并且使用广泛而且其价格不高,具有很高的性价比,是非常好的一种选择选择51单片机。51单片机是现今为止8位单片机中最为常用的。它的性能相对于其他单片机并不是非常强大,普通型号内部的扩展功能也十分稀少,但其具备了操作简单,对其每个IO口在程序中都可直接进行操作,同时内部CPU具有8Krom,bytes的RAM,它的内部拥有5种中断,和两种16位的定时器,以及21条专用寄存器组成,并且在外部有32个可直接驱动的IO口,同时它的价格在市场上也十分便宜,综合而言它不仅较早的运用市场,还具备了一定的资源和丰富的参考案例,是一款编程简单、价格便宜的单片机,因此也成为新手和刚入学者作为入门的一款单片机。

从上述的阐述中可发现,STM32的功能更加强大,资源丰富,而51单片机也能实现,就没必要造成资源的浪费,所以综合考虑本设计选用51单片机作为PID算法温度控制系统的控制模块。PIC单片机是一种小型的计算机,其功能性虽然不如计算机那般强大,其数据存储能力也不能与之相比,但是其体积小、控制能力强,在很多的行业中都有应用,特别是对于电机的控制,PIC单片机是采用总线结构,其主要的特点是指令和数据存储空间是两个独立的个体。这样的设计可以提高对数据的读取率,这也是PIC的一个重要的优点,除此之外PIC单片机还能够同时执行两条程序语句,即一条程序在被执行的时候同时也能运行另一条程序,这样可以提高程序的执行效率。PIC还有一个重要的优点,就是PIC单片机可以在一个指令周期就完成对寄存器的访问操作,比其他的单片机要快上很多PIC单片机在价格上也算中等偏下,性价比比较高,因此在使用的选择性上也是比较靠前的,本设计研究的电机控制系统,对于PIC单片机的处理能力上分析,还是绰绰有余的。51单片机是拥有51内核系列的统称,其51系列中有很多类型的单片机,51单片机采用的都是冯诺伊曼架构,该单片机是一种8位的CPU,能够拥有IO口的输入输出能力,对于一些要求不高的场合都能够对很多的传感器实现控制及采集的数据进行处理,而且使用广泛,51单片机的历史非常悠久,在这么长时间的发展里,积累了很多的开发资料,所以参考资源丰富,并且由于长时间的研发,其使用者较多,所以其价格也比较低,性价比很高,在很多的产品中都能够见到其身影,而且其入手比较简单,是很多学生选择的首要目标,所以本设计利用51单片机作为电机控制系统的主控芯片,也是一种非常好的选择。通过上述的分析,51单片机和PIC单片机都有自己的特点,相对来分析,PIC的处理能力更强,速度更快,但是分设计从性价比和需求上分析,51单片机会更加适合,所以设计采用STC89C51单片机作为系统主控制器。选择51单片机作为系统的控制器,51单片机指的是,一种兼容内核,所有单片机的统称,51单片机是最早出现,也是使用最为广泛的一种单片机,也是最容易入门的一种单片机,其具有八位的CPU,具有运算和逻辑控制能力,除此之外还有32个并行输入输出端口,可以满足很多的控制输入输出需求,由于其独特的位控制能力,所以很多的人在开发的时候都会选择这款单片机,再者就是其使用的非常的广泛,所以价格比较便宜,几块钱就可以买到一块控制芯片,加上电阻电容等器件,组成的时钟电路,以及复位电路,就保证了最小的控制系统的工作,价格实惠,还拥有很多的参考资源,是非常好的一种选择。选用MSP单片机作为系统控制器,MSP单片机在96年的时候就出现在智能化控制中,以其低功耗的特点在众多的单片机中脱颖而出,而且其具有16位的CPU处理速度也比8位的要快出很多,并且其集成度非常的高,将模拟、数字以及处理器集成在一起。在处理信号的时候,避免了外部连接很多模块,是一种节约设备体积非常好的选择。所以该单片机在很多的应用中是均有身影。当然随着时间的推进,也研发出了更多的系列,较其他单片机而言,低功耗也能够实现,其最大的特色也在时代的推进当中变得暗淡。但是其独特的处理还是非常的强势,依然有很广泛的应用,但是其内部并非开源,在使用上必须按照其设定的协议才能够对其进行开发。使用起来不是很方便,而且其价格昂贵,相对于同样性能的处理器及价格要贵出许多,所以在很多设计的时候,并不选择其作为主要的控制器。通过上述分析,51单片机的独特位控制及其低廉的价格,性价比高,所以更加适合。

2.3.1供电方案选型

电源系统是本设计的基础保障,因此对于电源的选取是非常重要的。

采用USB接口进行供电,这种方式供电电源也是随处可取,只要有USB接口的地方便可以进行USB供电,如电脑、充电宝、手机充电器等,电压也同样是5V,比较适合本系统的设计,但是有一个弊端就是不能移动,由于usb设备往往存在于电子设备上,所以USB供电虽然足够稳定,但是供电电流较低。采用干电池供电,干电池市面上随处可以买到,但是只能是一次性使用,且不利于回收,对环境的影响较大,但是可充电干电池不但可重复利用,还不会对环境产生过于恶劣影响。三节以上的干电池便可以达到本设计要求的5V电压,且相比USB接口供电,不用另外在电路板上做USB接口,且电压较为稳定,不用加装稳压模块,还非常方便移动。

本系统的移动性要求较高,所以本设计采用,采用可充电干电池组进行供电。

2.3.2显示屏幕的选型

LCD1是一种点阵原理的显示屏,使用简单,型号多样,显示内容也非常的多,能够满足低层次的各种需求,接口也可以根据实际设计过程不同情况进行选择不同的方式,如果使用的接口数量足够可以使用IO口直接连接;如果数量不够也可以选择IIC接口,非常的方便,市场上价格便宜,如果没有特殊的要求,这款显示屏是非常适合使用的,在编程的时,有很多的指令可以选择,这样文字呈现的方式就可以多种多样,而且有很多的资料和案例可以参考,非常方便。OLED屏幕是一种体积小,接口简单的屏幕,并且能够实现图片、文字、英文等内容的显示,虽然体积很小,但是显示的内容却很多,与传统的LCD屏幕不同的是,OLED屏幕采用的是有机材料制作的,其屏幕更薄,在使用的时候只要有电流流过就会产生光亮,不需要单的供电产生背光,因为这个原因,会使OLED屏幕的价格更低、功耗也更低,使得在使用的选择上更大众,但是其操控起来会需要复杂很多,首先就是OLED屏幕需要自行添加字库,实现OLED屏幕的中文的显示,对开发人员有一定的要求。综上所述,两个屏幕各有特点,OLED屏幕的功能更加强大,课题需要的显示内容很多,所以最终选择OLED屏幕作为显示的模块。串口屏显示,串口屏可以说是一种触摸屏,触摸屏也分很多种,有些是电容触摸屏,可以用手指的指腹,直接按压就可以起到作用,也有是电阻式的触摸屏,需要用指甲之类的硬物点击才能够控制,显然电容式的触摸屏会更加的方便,而串口屏主要是通过串口烧写的方式,实现屏的控制,以及内容的显示,串口屏显示内容多样,可以显示图片、视频、文字等等内容,其更依赖于图片的制作与设计,以及对串口通讯的设计,串口屏的功能很强大,而且显示内容十分丰富,但是其缺点就是价格比较高,体积比较大,针对比较要求很高的场合可以使用,可以满足各种需求,但是对于一些要求体积,或者是性价比的地方,就不太适合使用。LCD1是一种点阵式的屏幕,采用5×7的点阵显示单个字符,1的意思就是其显示的空间大小,16代表的是16列,2代表的是两行,一共可以显示32个字符,1可以显示数字、英文字母和片假文等字符,但是不能显示汉字。在不要求显示汉字和显示大量内容的情况下,1是一种非常好的选择,因为其控制比较简单,而且性价比比较高,很多的场合都能看见其身影,但是其缺点也是有的,就是需要占用的接口非常多,如果是并行输入的接口需要占用16个。接口其中5个是电源接口,剩下的11个是与单片机IO口进行连接的,这是非常占用单片机的IO口的,如果在单片机输入输出端口紧张的情况下,就不建议使用这种屏幕。但是综合来讲,LCD1是一种低端场合的优先选择目标。综上所述,串口屏的功能更加强大,但是成本较高,对于本课题显示的内容来分析,会造成一定资源的浪费,所以横向比较可以发现LCD1更加的适合于本课题的开发。

2.3.3电机转速的选择

光电编码器,光电编码器是一种采用光线的方式进行检测,利用光线和光电检测装置,组合使用,并且配合上电机上的光电码盘,就可以产生A相和B相的正交方波,这样就可以统计出电机转动的速度,在设计的时候,光电编码器对环境的要求比较高,因为光线受环境影响比较大,不仅如此,长时间的使用造成的一些灰尘都会造成是测量的结果产生误差,所以光电编码器不是一种很好的选择。霍尔编码器,霍尔编码器采用的原理是利用磁性作为检测,与光电编码器检测的装置非常的相似,只是将光电变成了磁性检测,利用该原理可以计算转动一圈需要的时间,计算电机的转速,这种检测方法的好处就是因为霍尔传感器的稳定性更好,即便有灰尘产生也不会对检测装置产生很大的干扰,测量的结果也不会有太大的变化,所以霍尔编码器是更加的稳定的。综上所述,两种编码器均可实现对电机转速的检测,但是电机转速的测试稳定性很重要,所以最终还是选择作为系统电机转速的检测模块。

单片机内部定时器也是能够作为时钟使用的,主要的时间依据是根据系统的晶振,提供的时钟频率来确定一秒钟需要设计的程序,通过程序设计以及变量的累加,设定分钟、小时、以及日期的数据,这种方法虽然能够实现,但是其复杂程度较高,不仅需要精确的时间计算,而且还需要占用系统计时器的空间,对单片机控制器是一种极大的浪费,不仅如此,单片机内部定时器计时还有一个很明显的缺点,就是单片机是不具备断电数据保留的功能,红外自动干手器主要应用场所是各大卫生间的出口处,主要采用的是市电转换的电压为单片机系统进行供电,如果突然出现断电的情况,单片机内部数据就会丢失,系统时间会出现问题,而且设置时间会变得非常麻烦,这种方案对于这种长时间的计时是不适合的。

DS是一种专用的时钟芯片,专用的时钟心片,可以精准的采集系统的时间,只需要在最开始的时候通过寄存器的调用,将时间设置好,同时也可以通过按键等方式,对系统的时间进行校准,DS与内部定时器之间的对比是非常明显的,DS具有掉电数据保存成功,这是因为DS可以利用纽扣电池维持工作,这是源于DS能够在细微电流下正常工作,属于低功耗的时钟模块,这样即便在系统总电源掉电的情况下,电池也能够为模块进行供电,再次上电的时候,始终依然可以正常运行,不仅如此,DS价格也十分便宜,来源广,是一种非常亲民的时钟模块,所以本设计综合两种考虑,还是使用DS作为系统的时钟模块。ZigBee通讯模块,ZigBee是一种短距离低功耗的无线通讯模块,ZigBee模块的诞生与蓝牙模块有着密不可分的关系,蓝牙是一种近距离的通讯模块,但是由于蓝牙模块价格一直稳定在较高的范围,所以为了弥补低价格无线通讯的空缺,很多的研究学者研究了ZigBee的无线通讯模块。从中可以发现,ZigBee通讯模块会更加便宜,而且其低功耗无线组网技术的应用可以使该模块与PC之间进行通信。该模块可以实现各个网络层之间的访问,是非常强大的一种通讯模块。该模块的应用范围十分广泛。由于其低成本、低功耗和安全性能高的特点,成为了很多短距离通信模块的首选。所以本设计采用ZigBee模块进行短距离通信也是一种选择。

蓝牙模块,蓝牙模块从诞生到现在一直没有被淘汰,就是由于其独特的短距离通信特点,蓝牙模块最常见的地方就是手机,虽然现在手机有无线WiFi等技术,但是蓝牙依然存在,就是由于其独特的地方。虽然WiFi可以与蓝牙实现相同的功能,但是WiFi模块却不能替代蓝牙模块,因为蓝牙取代了有线的数据传输,而现在蓝牙模块依然可以取代有线传输,并且没有很好的产品,能够替代蓝牙,例如手机上的网络共享,就要依赖蓝牙模块的工作,而且近距离的音频传输也比较依赖蓝牙模块的工作,所以现在蓝牙模块依然是短距离通信的热点,本设计的数据通讯传输,是依赖于手机APP与单片机之间的传递数据,所以蓝牙模块可能会更加适合本设计的需求。

综上所述,蓝牙和ZigBee都是短距离通讯的模块,但是两者应用的场合还是有很大的差别,所以设计还是选择蓝牙模块作为设计的通讯模块。SIM模块,SIM模块是一种四频的无线传输模块,拥有标准的接口,以及拥有低功耗的特性。可以通过该模块实现无线数据的传输,无论是语音消息,还是传真等等都可以进行实现,不仅如此,该模块性能突出,在很多的应用中都有他的身影,例如在传统的POS机当中就有应用,当人们刷卡之后会相应的接收到一条消息,确定是否刷卡成功,这就是该模块的一个大众化的应用,除此之外,该模块在其他领域也有所应用。不过,该模块已经为过时的产品,在世界上已经不再生产该产品,所以在产品的来源上令人堪忧,而且由于其是过时的产品,在接收信息的时效上有一定的延误,不够迅捷,所以在现在已经很少有人使用这种模块,作为短信接收模块了,所以本设计在选用的时候,也将不会考虑这个作为GSM模块的选择。SIM模块,SIM也是一款四频的模块,同样拥有低功耗,可实现语音、信息等数据的传输,在各种产品中也有所应用,这是SIM的进化版本,其能够实现在3.4伏到4.4伏之间的供电电压,相比起来范围更广,不仅如此,可在零下40度到85度之间的温度下进行工作,抗干扰性能非常好,另外,因为这是新一代的GSM传输模块,外观更加小巧,性价比比较高,是很多客户选择的对象,因为其各种需求基本上都能够得到满足。而且SIM模块接口少,使用起来非常简单,所以本设计将优先考虑使用SIM模块作为系统的短信通知模块。综合比较两种模块,SIM模块,虽然也能够满足本系统的需求,但是其已经停产,在供货来源上是很大的问题,所以本设计将优先考虑SIM模块作为系统的GSM模块。矩阵按键模块是对独立按键的矩形排列组合的形式组成的,为了可以减少对单片机上引脚的使用,使其可以达到对单片机引脚的使用率最大化,也代表着可以单片机的资源利用的最大化。避免浪费和多使用其他的外设模块。增加其他等不同的功能呢,虽然进行了矩形排列的方法,但的操作,也依然很简单,仅需要进行段选和位选就可以来调用其矩阵键盘中的按键,这样不仅减少了单片机上的I/O口的使用,还简便了操作的难度,使其可以更大限度的减少了单片机的内部资源和外部引脚的占用,更大程度的释放了其单片机,可以使其单片机可以做更多其他的事情,同时,应该了解到对于按键的操作时,应该对其进行延时和消抖,独立键盘是由一个个的按键所组成的,这样的按键对于简单的程序的使用时,会有着更加方便的操作,但对于复杂的程序来所的话就会太过于麻烦和繁琐,那是需要一个一个的定义其按键的,不同按键的不同定义不同的变量,不利于对程序的编写,在对于键盘的判定时,所采用的是高低电平来确定其功能是否运行。综上独立按键模块更具有优势,所以本系统采用。选用DS18B20温度传感器作为系统的温度检测模块,这是一种数字温度传感器,也就是其输出就是数字类型,不需要再经过模拟量转化为数字量的模块作为中介才能读取,数据使用起来较为方便,不占用系统内存。且其体积小,抗干扰能力强,价格低,在很多环境中都有所应用。而且能针对不同的场合改变其外观形状,例如正常的测温可以是裸露的外观,在进行液体测温的时候,可以用金属管将其包裹,保证其与水的接触而不导电。在其他的环境中也有不同的封装设计。其主要的读取是单总线式的,只要按照其设定的时序就可以完成对数据的读取,读取时间也非常的短。而且在单总线上可以挂接多个温度传感器,按照特定的读取方式就可以读取多路温度,在日常设计中是非常好的一种选择。选用温湿度传感器,温湿度传感器将温度和湿度集中在一起测试,方便简单,节省了单片机的IO口空间,同时,DTH11是一种价格十分便宜的温湿度模块,性价比很高,控制起来也很方便,对于本设计需要采集温湿度数据的设计来分析,是一种很好的选择。综上所述,DS18B20是更加贴合日常生活的一种温度传感器,但是不具备湿度采集的功能,所以通过比较DTH11是更加适合本设计的选择,所以设计选择作为系统温湿度传感器。

采用指纹识别的方式作为学生身份识别模块,指纹是每个学生所独有的,是表明身份的唯一特性,所以在很多的公司或者是保密措施要求较高的地方都是采用这种方案,指纹识别模块的识别方式有很多种,有光学模块、半导体模块和射频指纹模块,不过每种方式都是采用手指指面的凹凸不平的地方形成的纹路确定指纹信息,而且指纹模块的价格比较低,是非常好的一种选择,但是指纹模块也有一定的缺点,就是对学生的手指的干净度要求较高,如果出现手部有灰尘或者是湿润的皮肤,就很难检测出来,而且指纹的录入也比较麻烦,所以针对学生群体较大的学校,指纹识别不是非常的适合。采用RFID模块作为系统的身份识别模块。这是一种射频识别模块,可以对卡片的信息进行读写,然后再将卡片的信息读取,与设定好的信息进行对比,如果对比正确则确定卡片信息,如果对比不正确,则确定非该身份信息,该模块具有低电压,低成本,体积小的特点,非常适合于携带,而且兼容A应答信号,拥有数字处理能力,此外还支持加密算法等功能,是一种非接触式的通信,它与主机之间采用的是spi模式,可以减少线路的连接,而且可以减小整个模块的体积等等,使成本极大的降低,所以该模块使用的性价比非常高,而且在供电电压上只需要3.3伏的电压,即可满足模块的需求,功耗非常的低,所以也常被用来作为打卡的应用,一些公司的打卡上班,都是采用射频卡直接识别个人信息,确定是否到达上班地点,对于学校这种人流量非常大的地方,采用该卡片直接识别身份,可以减轻学校的压力,直接将烧好的卡片统一发放到每个人的手中,即可确定学生的身份,这种方法可以很大的节约时间,所以对于本设计的应用来说是一种很好的选择。

LD语音识别模块,LD语音识别采用的是ASR技术,可以与单片机或者是其他的嵌入式系统组成语音控制系统,LD的语音识别模块上集成了一个51系列的单片机,可以使用自带的单片机直接对语音进行操控,并且该模块有两种操控模式,可以为触发操控模式或者是循环识别模式,触发模式是比较单一的语音识别模式,即人为的控制才能够识别语音,第二种循环识别方式,即不停地识别人体语音信息,如果识别到语音,则会进行相应的动作,如果没有人讲话,则不会有相应的动作,LD在生活中使用是比较广泛的,应用在智能家居,或者其他的控制领域,其价格相对来讲比较中等,所以在日常生活中应用的比较多。M08-B语音识别模块,M08-B也是一种语音识别模块,其与LD最大的区别就是其控制起来要简单很多,不需要复杂的编程,直接通过串口进行操作,就可以实现对其的控制,而且其拥有多种检测方式,循环检测模式,口令检测模式和按钮检测模式,循环与按钮都是与LD有相同的地方,口令检测模式是需要先将模块进行唤醒,然后才能够进行语音识别,这种模式相对来讲会更加的精准,排出嘈杂环境的干扰,而且与其他的单片机连接要简单很多,支持多种单片机的控制,并且它能够支持本地识别,可以识别50句话,内容广泛,并且识别距离也比较远,识别率较高,是使用也比较多的一种语音识别模块,价格也在中等范围,在日常生活中也是比较常用的一种模块。

综上所述,两种模块在功能和价格上都是比较类似的,都可以实现本课题需求的功能,所以无论选择哪一种都可以,但是综合判断LD在生活中使用的会更加的广泛一点,所以最终确定选择LD语音识别模块。本设计采用的控制器是STM32,STM32是现在的主流控制系统之一,其中有32位的处理速度,内部集成ADC拥有多个定时器以及PWM的输出功能,功能十分强大,对于本设计玩具用无线遥控系统的设计,能够很好的满足其控制的条件,设计需要控制电机的运行,此时电动机的运行主要是通过驱动模块进行控制的,同时,控制器可以接收到无线遥控的信号,通过认为观察可以判断小车行进的路线是否正确,实时根据反馈的信号,控制电机驱动控制电机改变行进反向,由于STM32单片机具有PWM输出功能,所以对于电机的调速有着很好的控制,可以满足设计对小车控制的运行。51单片机是使用最为广泛的一种单片机,其操作简单,对于学生来说是接触最多的,51单片机是一个非常大的系列,其最基础的一种并且也是最常用的一种就是89系列的单片机,该系列单片机价格便宜。开发资源极其丰富,开发时间非常的久,各种资源及各种模块的设计都有着非常丰富的参考资料,可以满足很多人的开发要求,该单片机是8位的单片机,其处理速度算是比较基础的,对于本设计来说,对于单片机的处理速度并没有极高的要求,且51单片机的接口比较丰富,完全能够胜任本设计各种模块的要求,使用该单片机以及其丰富的参考资料及其资源,可以大大的减少设计的难度,可以大大节约开发的时间,是不可多得的选择之一。通过上述的分析,STM32单片机有着更加强大的功能,但是设计中需要的功能对单片机的性能没有特别高的需求,所以本设计通过各方面的对比,确定选择的51单片机,作为本设计的控制器。本设计小车的运行需要通过电机进行控制,而电机需要利用电机驱动进行控制,这是因为电机的运行电流比较大,不能直接和控制器连接,需要通过电机驱动作为中介,这样通过控制器控制电机驱动,然后利用电机驱动控制电机,本设计采用的电机驱动型号是ln,这是驱动电机的常用驱动器,同时该驱动器有一个好处是可以有输出端口给单片机进行供电,这样省去了单片机的外部供电问题[7],所以对于本设计来说,ln的选择是性价比非常高的一种。本设计采用ULN型驱动模块,该模块在5V的情况下可以和TTL和CMOS的电路直接连接,常用于单片机,智能控制器的设计中,具有耐高压的、大电流的控制,可以直接控制电机,对于本设计来说是可以实现的,且价格低,但是由于控制电路及实现起来比较麻烦,所以在对电机的控制方面并没有过多的应用,所以在驱动方面还是不如Ln驱动模块[8]。综上所述,本设计选择ln作为设计的驱动模块更有实际的意义。所以选择。步进电机,步进电机的工作原理及是通过脉冲控制电机旋转的角度,实现对电机旋转的精准控制,步进电机是一种控制很精准的电机,根据输入的脉冲信号,可以确定步进电机转动的步数,这就是步进电机与其他电机之间的最大区别,它能够接收到数字信号,并且能够将数字信号转换为相应的位移,这就是为什么步进电机能够达到精准控制的原因,步进电机能够精准控制,但是控制的方式比较复杂,而且步进电机的重量,或者是体积都比较大,而且价格也相对昂贵,所以在一些比较复杂,或者是要求较高的场合才会使用到步进电机,对于普通的场合,要求不高,会使用其他的电机作为代替。直流电机是一种控制简单的电机,直接连接电池就能够控制电机的旋转,但是电机直接接电,只能控制电机的正转,或者是反转,而且是机械调换线序,是比较麻烦的,所以直流电机也需要相应的控制器进行控制,但是控制的程序非常的简单,而且还可以通过算法对电机的速度进行控制,不仅如此,直流电机在生活中使用非常广泛,价格低,这是由于其控制非常方便,而且结构较为简单的原因,由于其性价比很高,所以在很多应用中都有使用。本设计需要通过电机驱动小车,一般的小车都是利用直流电机直接控制的,所以本设计也不例外,选择直流电机。(1)采用蓝牙模块作为设计的发送模块,蓝牙模块在人们的生活中使用是比较普遍的,每个人都有手机,手机中具有蓝牙这一功能,但是由于WiFi技术的发展使得蓝牙这种短距离无线通讯技术慢慢淡出了人们的生活,但是在生活中仍然保留了一些蓝牙技术的应用,例如蓝牙耳机就是其中一个例子,蓝牙是一种短距离无线通信模块,目前可以分为三种类型,分别为数据传输和音频模块以及蓝牙加数据2合1的一种模块,手机中的蓝牙都是设计完成的。而市场上真正需要自己应用的是一种半成品的蓝牙模块,可以通过串口调试功能以及AT指令设置蓝牙模块的功能,根据自己的需求设置,无线通讯就需要有发射端和接收端,蓝牙模块是可以实现传输模块的功能指令,一端作为主机一端作为从机,这样就可以看出是可以实现无限传输功能的,但是用过蓝牙的用户都知道蓝牙传输速度慢,且蓝牙传输的速度与距离是有非常大的关系的,并且蓝牙传输的距离受到了很大的限制,所以在稍微长一点距离的传输时,蓝牙几乎无法实现,所以根据本设计的需求蓝牙虽然能够满足,但是并不是优先选择的点。采用M超再生高频接收模块,M这种模块是应用于较短距离通信传输的一种模块。由于其是高频模块,所以在传输速度上并不慢,而且这种模块是专门应用于这种遥控开关接收以及家庭控制产品之类的设计当中,所以本设计无线遥控器的控制系统也是短距离无线通信的一种,所以对于本设计的应用其实是有很好的契合性。其工作电压在5伏左右,接收频率在.92MHz或者是MHz。其工作电压在5伏的时候要与电源的电压保持一致,并且由于是高频电路,所以要做好电源滤波,不然会产生一些干扰,这种模块需要天线作为交流的工具,所以天线对于模块的影响非常的大,需要选择比较合适的天线,而且天线的位置也对模块的接收有影响,所以在设计的过程中需要考虑天线能够露出,还要考虑不能使用屏蔽信号的材料。

综上所述,蓝牙模块在使用的时候,受到了很大的限制,而M高频接收模块是专门用于这种短距离通讯的专业模块,所以在功能上,肯定是要比蓝牙模块强很多,所以综合考虑还是选择使用M高频接收模块作为系统无线传输模块。ESPWIFI模块是一款专门运用于小型设备、物联网等方面的一款低功耗的科技产品。ESPWIFI模块可通过强大的无线局域网的搭建向服务器传送数据,以及接受服务器发送过来的数据。同时它还具备32位RISC处理器,CPU时钟速度最高可达MHz不仅如此ESP可以抵抗任何的恶劣环境下维持正常工作。在使用不仅支持单片机通过串口想ESP传输操作指令,同时可直接将ESP与电脑串口模块相连接,通过电脑直接对ESP进行相关指令的操作。NRF24L02模块是一款内部自带USB转TTL功能的WIFI模块,在使用时可直接将其插在电脑上对其进行操作,也可以通过相应的引脚连接至单片机中进行通讯。NRF24L02模块内了2.4GHz的ISM频段,可专门为模块处于低功耗下进行工作。同时在功能上支持全双工模式以及提供了windows驱动以及linux内核自带驱动,有利于开发者在使用单片机开发系统的使用。综上分析,WiFi模块会更加适合系统的功能,所以选用作为系统的无线数据传输模块。蓝牙模块在人们的生活中使用是比较普遍的,每个人都有手机,手机中具有蓝牙这一功能,但是由于WiFi技术的发展使得蓝牙这种短距离无线通讯技术慢慢淡出了人们的生活,但是在生活中仍然保留了一些蓝牙技术的应用,例如蓝牙耳机就是其中一个例子,蓝牙是一种短距离无线通信模块,目前可以分为三种类型,分别为数据传输和音频模块以及蓝牙加数据2合1的一种模块,手机中的蓝牙都是设计完整的。

而市场上真正需要自己应用的是一种半成品的蓝牙模块,可以通过串口调试功能以及AT指令设置蓝牙模块的功能,根据自己的需求设置,无线通讯就需要有发射端和接收端,蓝牙模块是可以实现传输模块的功能指令,一端作为主机一端作为从机,这样就可以看出是可以实现无限传输功能的,但是蓝牙传输速度慢,且蓝牙传输的速度与距离是有非常大的关系的,并且蓝牙传输的距离受到了很大的限制,所以在稍微长一点距离的传输时,蓝牙几乎无法实现,所以根据本设计的需求,蓝牙不能够满足,但是并不是优先选择的点。2.4G是一款新型的单片射频收发模块,可以实现音频视频等数据的传输,而且其工作在2.4GHz到2.5GHz,这个频道当中内置了很多的合成器、晶体振荡电路、功率放大电路、调制解调等等电路,通过这些电路的组合可以实现在近距离的高速通信,具有快速、功耗低、节能等优点,而且可以进行GFSK调制,拥有自动应答和自动再发射的功能,可以自动生成帧头,或者进行CRC检验,保证了整个通讯过程中的数据的准确性和完整性,在近距离通信当中,2.4G使用非常广泛,而且有多种型号可以选择,每一种型号都有自己的特点,对于物联网节水灌溉系统的应用,中距离的通信,2.4G通信模块已经完全可以实现。综上所述,蓝牙模块在使用的时候收到了很大的限制,而2.4G模块是通讯距离很远,稳定性高,所以在功能上要比蓝牙模块强很多,所以综合考虑还是选择使用2.4G收发模块作为系统无线传输模块。

ZigBee通讯模块,ZigBee是一种短距离低功耗的无线通讯模块,ZigBee模块的诞生与蓝牙模块有着密不可分的关系,蓝牙是一种近距离的通讯模块,但是由于蓝牙模块价格一直稳定在较高的范围,所以为了弥补低价格无线通讯的空缺,很多的研究学者研究了ZigBee的无线通讯模块。从中可以发现,ZigBee通讯模块会更加便宜,而且其低功耗无线组网技术的应用可以使该模块与PC之间进行通信。该模块可以实现各个网络层之间的访问,是非常强大的一种通讯模块。该模块的应用范围十分广泛。由于其低成本、低功耗和安全性能高的特点,成为了很多短距离通信模块的首选。所以本设计采用ZigBee模块进行短距离通信也是一种选择。WiFi模块,WiFi模块是现在使用非常广泛的一种模块,可以实现多种环境中的数据传输,距离可远可近,主要是通过设置其不同的配置,WiFi模块取代了传统的有线传输,无论是与电脑还是手机都可以畅通无阻,主要也是因为现在电脑或者手机都是需要通过WiFi实现网络的连接,所以使用WiFi建立与PC端的连接是一种非常方便的方法,另外现在WiFi模块的种类很多,常使用的ESP价格很便宜几十块钱就可以买到一块完整的模块,性价比很高。综上所述,ZigBee模块和WiFi模块都能够实现与PC端的连接,但是连接的方式是有很大的不同的ZigBee的连接还是需要有线的连接方式,使用不便,所以设计还是采用WiFi模块实现无线数据的传输。

3系统硬件的测试

3.1主控制器的设计

32FC8T6为核心的电路,其中包含了晶振电路、调试电路和复位电路,其中晶振电路是为了给系统提供时间的,是单片机工作的灵*,通过压电效应给单片机提供时钟,所有的外设都需要依靠这个时钟工作,一旦损坏系统就会出现问题,停止工作,调试电路在此电路中是利用SWD模式的,采用了四线的调试会更加的方便快捷,除此之外,复位电路也是最小系统的标配,复位电路可以保证系统的工作处在正常的范围内,复位的方式有很多,此电路中采用的是手动复位,在程序遇到某些硬件造成的原因的时候,或者是程序内部的因素,通过复位按键可以将程序回到原点重复执行,不会因为出现问题导致系统瘫痪。从上图3.1中可以清晰看出该单片机共有40引脚其中第1至第8位P1口引脚,其引脚内部本身带有上拉电阻且具有驱动极强的不同数量的TTL电路的8位准双向I/O端口,在使用时可直接进行使用,无需像P0口外加上拉电阻。第10至第18引脚为P3口引脚,该引脚全部具有第二功能,其中P3.0为RXD,即串口输入端RXD,同时与TXD构成单片机的程序写入端口;P3.1为TXD,串行输出端TXD,同时与RXD构成单片机的程序写入端口;P3.2为INT0,外部中断0输入端,该引脚在受电平刺激时可进入中断,执行中断程序。P3.3为INT1,外部中断1输入端,该引脚功能与INT0相同;P3.4为T0,可对外部传输的高低电平信号进行采集,实现计数功能。右侧第32至第39为P0口,其内部为8位漏极开关型双向I/O端口。可搭载8路TTL负载电路[6],同时是单片机系统总线低八位数据输出端,在使用时也可以作为通用I/O口使用,但如果作为通用I/O口使用必须焊接10K的上拉电阻,以保证管脚在使用的电压稳定。在51单片机最小系统中,晶振对于单片机程序运行起非常重要的,晶振的两个管脚分别与单片机的第18和19管脚连接,与MCU内部构成皮尔斯振荡器。同时晶振也决定单片机的机器周期和指令周期的时间。3图3.1是51单片机的电路图,电路中由单片机芯片和其他的电阻电容以及晶振构成的最小系统电路,该系统结构简单,是保证单片机能够实现控制功能的最小单位,所以设计中需要对电路中的元件进行焊接,通过焊接复位电路及时钟电路即可,复位电路是保证单片机在运行的时候出现一些特殊情况,需要将系统复位程序重新执行,保证系统不会损坏,重新恢复原样正常执行,这个部分是不可缺少的,第二是时钟电路,时钟电路是单片机最小系统的灵*,没有时钟,单片机的时序就会出现问题,无法正常工作,包括系统内部延时函数等等,都会出现误差,单片机就无法正常运行,所以可以凸显时钟电路的重要性,时钟电路主要是通过12M的晶振,以及两个陶瓷电容共同组成,单片机最小系统除了这三个部分电路之外,就是与其他电路的接口部分,首先通过网络标号的方式,将与其他模块连接的端口标出,图中通讯端口主要是与无线模块进行连接,剩下的P34-P37,主要是与按键进行连接。

图3.1是单片机最小系统的电路图,最小系统是单片机能够工作的最小电路组成,51单片机的电路比较简单,在有材料的情况下,可以自行焊接电路,主要包括几个部分,电源电路,51单片是利用5V的电源供电的,所以只需要将芯片的40引脚和20引脚了解电源的正极5V和GND即可,另外EA端也要连接VCC,可以保证程序取片内指令,所以必须保证该引脚是高电平,另外系统还需要包括复位电路,这是为了让系统能够通过硬件设备复位,实现在程序出现问题,或者人为的需要,程序重新开始执行,所以设计复位电路,其次就是时钟电路,单片机之所以能够有条不紊的处理程序指令,是因为单片机能够根据时钟提供的时序执行,这个时序就需要通过外部的晶振实现,通过在X1,X2两个引脚连接12M的晶振和电容组成,一切的程序指令都需要通过时钟电路支持,晶振的频率越高,程序执行的速率也就越高,有了这三个部分的组成,单片机才能实现控制的功能。如图3.1是stm32核心板电路图,本设计直接采用的是32的核心板作为系统的主控制器,该核心板已经是封装好的最小控制系统,核心板拥有33个IO口的输出输入,可以满足绝大部分的需求,本设计对于核心板IO口占用是比较少的,如图中,除了电源接口以外,使用了LD语音识别模块、电机控制端口以及灯光控制光端口,该核心板有两种电源的输出,分别与5V和3.3V,5V也可以作为系统的输入,在核心板上设计了一个ASM的稳压模块,如果5V作为电源输入,也可以将电压转换为3.3V供核心板工作,同样语音识别模块主要工作在3.3V,核心板可以满足语音识别模块的供电和操控,操作比较方便。

3.2LCD显示模块设计

LCD1是一种轻量化的液晶屏,具备很多特点,例如其体积,重量,小而轻,功耗等方面都比较低,是日常使用较为广泛的一种液晶屏,它可以显示字母数字或者是其他的特殊符号等等,由若干个点阵组成的屏幕,其显示的原理也是通过点阵的原理显示的,但是其余每个点阵之间都有一定的间距,所以无法显示汉字或者是像其他屏幕那样工作,除了显示汉字外,其功能性还是非常强大的,LCDL是由多个显示单元共同组成的,其控制的原理是通过三个控制端口与8个数据总线传输端口共同组成,三个控制端口,可以实现其读写以及使能的控制,8个数据总线可以实现数据的传输,其三个控制端口与8个数据传输端口,都需要与单片机的端口进行连接,实现其数据和控制命令的传输除此之外。LCD1模块的显示清晰度是可以调整的,主要是通过其V0管脚的电压进行调整,时常通过连接电位器,通过调节电位器的阻值,实现其端口电压的变化,从而实现其清晰度的调整,LCD1其主要的管脚定义,如下图3.3所示。

除了其引脚功能之外,LCD1还有相应的读写操作指令表,其操作指令表如下图所示。每一个操作指令都需要有相应的二进制代码控制,将各个二进制代码实现组合,在控制命令程序中加以体现,可以实现对LCD屏幕显示的各种操作,

如图3.2是LCD1模块的电路图,LCD1是一种并行数据输入的液晶屏,如图中的电路,除了VCC和GND是LCD1的电源端口,还有A和K是LCD1的背光显示电源接口,如果该接口通电,则显示屏会与背光显示,如果不通,则不会背光显示,V0端连接的是VCC,V0端应当连接一个可调电阻,lcd1显示清晰度主要是通过V0端口的可调电阻进行调节的。如果直接连接VCC可以将其显示的亮度最大化,这样操作也不会有非常大的问题,后面的4、5、6三个引脚是LCD1控制引脚,分别为指令和使能引脚,只有通过控制这些引脚的功能,才能够将指令和数据写入和读出,控制引脚后的D0-D7分别是数据的输入输出引脚,该引脚直接与单片机进行连接,是直接与单片机IO口进行数据传输的。如图3.4是LCD的电路图,该型号为1,此电路分析了LCD接口的走向以及各个端口的功能,以及数据传输接口的连接方式。从左至右,第一和第二是电源接口,每个模块都需要供电,所以这两个引脚是必须要连接的,只有这两个管脚通电之后,LCD1才能正常工作,3号管脚连接的是一个可调电阻,可调电阻可以调节LCD液晶屏屏幕显示的清晰度。4、5、6这3个引脚是LCD的功能控制引脚,LCD的显示全部要依靠这几个控制指令,包括写入和读出,以及使能等等。控制的LCD显示的相关指令,具体与单片机的连接通过网络标号的方式连接在一起,避免了线路连接的麻烦,LCD采用的是并行的数据输送,所以有八个数据接口,即D0-D7,另外LCD还兼具背光功能,最后两个引脚供上电就可以背光显示,具体是这两个端口接上了VCC和GND,则屏幕可以背光显示,即屏幕的亮度如图3.2是系统显示电路图,系统显示电路图接口非常的简单,利用VCC和GND给显示屏供电,该OLED屏幕采用的是IIC模式进行数据的传输,所以接口非常的少,在控制的时候只要更具IIC协议的时序就可以控制系统的显示。图3.3是编码器电路图,编码器一端和电机相连,一端和单片机连接,通过单片机接收A相和B相方波,实现对电机转速的读取,同时电机和电机驱动连接在一起,可以通过电机驱动给编码器供电,实现编码器的工作。图中是按键电路图,该电路采用的是共阴极接法,即所有的按键一端都连接着GND,当单片机IO电平发生变化的时候就可以检测到按键的按下,这种方式控制非常简单,适合于按键较少的时候使用。DS的引脚图如图3.3所示,图中该芯片一共有8个引脚,其1号引脚与8号引脚。都是VCC供电引脚,从图中可以看出,8号引脚为VCC1,与电池进行连接,VCC2与VCC进行连接。这是因为该芯片具有外部电源供电的能力,主要是为了保持主系统断电之后数据不丢失的效果。所以vcc1主要是与电池连接,vcc2与主系统的电源进行连接,其主要供电方式取决于两者之间的电压大小,在两个电源都供电的情况下,会判断VCC1端的电压与vcc2端的电压大小,选择电压大的一端的电源作为供电。2号引脚与3号引脚分别是震荡源电路接口,该震荡源连接了一个32.k赫兹的晶振。RST为复位和片选端,当该引脚为高电平时,则启动数据传输。RST端口还可以作为逻辑控制,允许地址和命令传输。SCLK为时钟控制引脚,只有当该引脚为低电平时,才能将RST端设置为高电平,IO端是和单片机口进行连接的,具有输入输出的能力。如图中3.6是时钟电路,时钟电路中有两个供电电源,一个是直接采用系统的电源进行供电,另一个是采用纽扣电池进行供电,其中纽扣电池是为了维持时钟模块断电之后系统时间数据还能继续走动,不会造成数据丢失,在供电的时候会根据两个电源的电压大小进行判断,最终采用电压大的电源进行供电,该时钟芯片采用自己独立的晶振,进行时间的计算,与单片机IO口连接的有三个引脚,分别是时钟数据引脚、输入输出引脚和置位引脚。

3.6红外传感器模块设计如图3.4是红外传感器电路图,红外传感器是一种直接触发式的传感器。即有障碍物遮挡的时候就会输出高电平,如果没有障碍物遮挡的时候,就会输出低电平,通过红外传感器输出端口out与单片机之间的连接,就可以为单片机提供电平变换的数据,确定在干手器检测范围内,是否有障碍物出现。

如图3.5是继电器电路图,继电器与外接被加热设备进行连接,继电器只是一种可控制的开关模块,控制外加热模块的通电与否,继电器的一端与单片机的IO口进行连接,通过IO口给的控制信号,控制内部线圈的吸合与断开,实现输出端端口电源与供电电源之间的连接与否。

图3.6继电器电路图

2如图3.6是继电器电路图,继电器与外接被加热设备进行连接,继电器只是一种可控制的开关模块,控制外加热模块的通电与否,继电器的一端与单片机的IO口进行连接,通过IO口给的控制信号,控制内部线圈的吸合与断开,实现输出端端口电源与供电电源之间的连接与否,继电器电路中配置了LED灯,可以作为其工作状态的指示,当系统电源接通的时候可以使LED灯点亮,并且设置了肖特基二极管,保证系统的单向导通性。

3.3蓝牙模块电路设计

如图中3.3,是蓝牙模块的电路图,数据传输部分的电路是和单片机的通讯端口连接的,实现手机和单片机之间的无线通讯,蓝牙模块的电路接口较为简单,主要是电源VCC和GND,以及P30和P31。如图所示是RFID模块的电路图,图中模块的供电电压为3.3V,但是整个系统的供电电压是5V的,是不可以直接供电,在电路设计的时候采用ASM作为系统的稳压模块,将电压降到3.3V给模块供电,剩下的控制接口和单片机的P2.0-P2.4进行连接。

如图中3.3,是无线模块的电路图,接收和发射部分的电路都是相同的,都是和单片机的通讯端口连接的,实现两个单片机之间的无线通讯,无线模块的电路接口较为简单,主要是电源VCC和GND,以及P30和P31。如图3.4是电机驱动模块的电路图,实现的是一端和单片机IO口连接,一端和电机连接,这是由于电机驱动的电路较大,无法直接驱动,所以需要借助电机驱动输出驱动信号,主要和单片机的连接时P12-P15。

如图3.4是步进电机驱动电路图,步进电机驱动需要的电流比较大,是不能直接通过单片机的IO口直接输出的,所以需要通过相应的驱动芯片进行驱动,ULN是一种常用的驱动,可以驱动电机,该芯片是一种1对1的输入及输出控制,如图中使用了IN4到IN7,作为单片机IO口的输出接口,OUT4到OUT7作为电机接口的输出端口,通过单片机就可以实现对步进电机的控制。

如图3.5是烟雾度及烟雾传感器的电路设计,烟雾度与烟雾传感器都是一种模拟量的信号,单片机是无法直接处理模拟量数据的,所以必须将模拟信号转化为数字量,信号本设计采用ADC实现对模拟量数据的变换,模数转换芯片接口有八个,其中除了正常的供电引脚VCC和GND,其他的都是输入输出数据的端口。CS为模数转换的片选端,CLK为时钟输入端口,DO和DI分别为数字输出端和输入端。ADC一共拥有两个通道,分别为CH1和CH0,其中CH0为烟雾传感器的输入端口,通过对烟雾的采集转换,可以将模拟量数据转化为数字量数据,实现单片机对数据的处理。

3.4温湿度传感器电路设计

图3.3是温度传感器电路图,该电路中DTH11有三个引脚,1号引脚和4号引脚分别是传感器的供电引脚,分别连接VCC和GND,即电源的正极端和负极端,2号引脚为传感器的数字数据输出端,由于该传感器是依靠单总线传输数据的模块,所以需要连接一个上拉电阻,才能够保证其数据传输的稳定性,也即2号引脚与单片机引脚连接的中间连接了一个10K的上拉电阻,其电路连接较为简单,而且本设计没有采用多个传感器挂接总线,所以不需要判断总线上是哪一个温湿度传感器反馈的数据,仅仅一个传感器电路,处理起来比较简单。如图3.6是EEPROM的电路图,EEPROM是一种数据存储的元器件,它能够实现数据断电不丢失,重启之后数据仍然存在,而且存储时间很长久,可以保证单片机运行中的某些特定数据能够被储存下来,该电路采用了IIC的通讯协议,这是一种专门用于电子元器件之间的通讯,如图中所示,只需要通过两个端口就可以实现与单片机之间的连接,减少了单片机IO口的损耗。如图中SCL和SDA与单片机的SCL和SDA端口进行连接,同时为了保证数据传输的稳定性,设计采用的两个10K的电阻,将两个端口的信号进行拉高处理,剩下的VCC和GND主要是为该芯片提供电源,使该芯片能够运行。3.6是电源电路图,本设计采用的是直插式的电源供电方式,直接用锂电池供电即可,同时采用DC端子母头焊接在电路板上,只需要通过电池的公头与母头直插的方式结合,供电或者断电都很容易操作,其中为了更加方便的控制电路板的供电,电路还设计了一个六角自锁开关,通过自锁的方式可以一直保持系统供电或者是系统断电,操作方便,由于六角开关的引脚是两两接通的,所以设计中只是使用了1和3两个引脚,自锁开关按下和松开会造成系统的接通和断开。图中3.3,是无线模块的电路图,接收和发射部分的电路都是相同的,都是和ZigBee控制器的通讯端口连接的,实现ZigBee控制器的WiFi模块与PC之间的无线通讯,无线模块的电路接口较为简单,主要是电源VCC和GND,以及P30和P31。

4系统软件的设计

4.1编程语言及软件的选择

本设计跑步机控制系统的设计,主要的控制器是STM32F微处理器,常用的程序编写方法有寄存器和库函数,两种方法各有特色,而现在开发语言使用比较多的是C语言,库函数编程方法,使用灵活,移植性较高,所以在使用该库函数编程的时候使用的是C语言,C语言是编程的技术语言具有自己的独特优点,所以想要使用STM32F单片机就必须使用C语言进行编程,这是无可挑选的,在使用C语言编程的时候,有两款软件可以选择,根据自身的一些特点,所以本设计选用KEIL软件进行编程,该软件具有在线编译下载程序以及debug调试功能,对于程序的书写编译以及调试都可以实现,且相对来讲其软件更加稳定是适合于本设计的,所以本设计选择C语言编程使用KEIL软件实现编程的功能。设计采用的是51单片机作为控制器,51单片机的编程语言从最初的汇编到现在的C语言,经历了很多的变化,而现在51单片机的编程大多都是在KEIL软件中执行的,而且语言也以C语言为主,主要是为了实现在编程的过程中能够很好的移植,而且KEIL软件能够在线的编译、调试和下载,使用起来很方便,通过单步执行和打断点和可视化监控数据,可以很好的实现对问题的解决和调试,所以设计选用KEIL也是为了系统能够更好完成,实现程序指令的执行。

4.2显示工作流程图

图4.2是OLED屏幕的显示流程图,在程序执行进入主函数之前,需要对子函数进行初始化,其中就包含显示位置等等内容,初始化完成清空OLED屏幕,保证显示的时候屏幕没有其他的内容,之后再进行数据的显示,屏幕是不断的刷新的,所以OLED屏幕的显示是不断更新的。

如图4.3系统显示子程序,子程序中开始执行的时候需要初始化,该函数在确定函数显示之前,需要判断函数是否忙状态,如果非忙状态,则可以进行写指令函数,写指令函数主要是将需要显示数据位置以及显示的各种状态,通过写指令函数进行设置,指令设置完毕之后,开始写入需要显示的数据,将显示的数据通过函数包装,到时候直接在主函数中调用显示即可完成。

如图4.2所示,是显示程序流程图,显示程序流程图中,主要是对LCD1的程序进行设置,首先初始化完成之后会清空显示屏指令清空,显示屏最后需要设置光标位置,再设置显示位置,光标主要是可以闪烁提醒位置的地方,设置显示位置,主要是设置数据显示的空间位置。设置完成之后写入显示的数据,显示数据写入完成之后,开始读取数据,程序结束。如图4.3是显示子程序的流程图,子程序流程图是针对lcd1显示的子函数进行概括的,首先函数开始的时候需要对显示函数进行初始化,初始化完成之后,对写检测进行判断,如果写检测检测失败,则重新进行初始化,如果写检测检测成功,可以进行写入,需要设置显示的位置,LCD1显示屏一共有两行16列的显示空间,需要设置显示的位置,才能保证数据在显示的时数据不会丢失,或者是数据能够完全显示在液晶屏上,设置好显示的位置之后,可以直接调用显示函数,将需要显示的数据显示在主函数中,程序结束。

4.3时钟子程序设计

如图4.4是时钟模块的子程序,时钟模块的功能是得到系统的时间数据,在操作时钟子函数的时候,需要初始化子函数,首先保护寄存器操作,再向DS写入字节数,写入完成之后就可以读取字节数,这样既可得到系统时间。

4.4温度子程序设计

如图4.4是温度子程序流程图,温度子程序流程图是针对ds18b20的子函数进行设计的,在程序开始的时候,需要对DS18B20函数进行初始化,判断初始化是否完成,如果初始化完成,则跳过ROM,如果初始化未完成,则继续初始化,接着发送温度变换指令,发送完指令之后,需要等待一段时间,等待转换完成,转化完成的数据需要发送存储命令,将温度进行存储,存储之后得到温度值,得到的温度值需要通过显示屏显示,需要调用显示子程序,将温度值显示出来,显示完成之后,程序运行结束,程序流程结束。图4.2是蓝牙模块程序流程图,蓝牙程序流程图中在程序开始执行的时候,需要将蓝牙模块函数进行初始化,启动定时器。首先将需要发送的数据存储,再发送数据,发送数据到接收端数据,接收判断是否成功,如果成功,则响应中断,如果数据接收不成功,则直接结束,响应中断之后,将接收到的数据进行存储,将存储数据进行处理,比对接收数据的指令内容,程序结束。如图4.2是无线模块程序流程图,无线程序流程图中在程序开始执行的时候,需要将无线模块函数进行初始化,启动定时器。首先将需要发送的数据存储,再发送数据,发送数据到接收端数据,接收判断是否成功,如果成功,则响应中断,如果数据接收不成功,则直接结束,响应中断之后,将接收到的数据进行存储,将存储数据进行处理,比对接收数据的指令内容,程序结束。图4.5概括的是语音识别子程序的工作流程图,在子程序开始的时候,同样的需要进行初始化,初始化完成之后,进入语音识别,语音识别时需要判断语音是否识别成功,如果语音识别成功,则分析结果,如果语音识别未成功,则再次进入语音识别,识别成功之后,需要对识别的结果进行分析,本设计中需要对灯光和风扇的开关这些控制,如果分析结果为开关灯,则对灯光的开或者是关控制,如果分析结果为风扇的开关,对风扇的开或者关进行控制。

4.5PID算法分析

本设计采用的算法是微分方程的形式,其输入e(t)与输出u(t)的关系为

(4-1)

取拉氏变换

(4-2)

所以,PID控制器的传递函数为

(4-3)

其中,为积分系数

,为微分系数

当采样周期T足够小时,令

PID算法的位置式

(4-4)

=(4-5)

PID算法的增量式

(4-6)(4-7)

(4-8)

所以,

(4-9)(4-10)

如图4.3是PID算法的原理图,PID算法是由三个部分组成的,比例是一个相对的数据,过大或者过小都不是很好,过大会造成动态性能不佳,过小又会造成偏差变大,因为比例的作用是减小偏差,所以必须要找到一个合适的比例值,才能够维持系统的稳定。积分也是一个相对的量,增大可以减小超调量,减小可以缩小静差,微分的增加可以提升系统响应速度,减小超调量。

如图4.4是PID算法流程图,PID算法是为了调整节水型灌溉的排水量大小其中,通过系统设定的数据与反馈的数据进行计算,形成偏差信号对偏差信号进行下一阶段的计算,同时对e(k)和ec(k)进行模糊化处理,同时模糊整定PID的偏差信号,计算当前的比例、微分、积分数据,再通过控制PID控制器输出数据控制出水的大小。是GSM模块的子程序流程图,开始的时候程序进行初始化,初始化完成,如果初始化未完成,则继续进行初始化,等待连接完成,初始化完成之后会等待触发命令,如果检测到触发命令的时候,会确定是否发送,确定成功,则发送短信到家长手机上,程序结束,如果确认发送失败,则再次等待触发命令。从上述的介绍当中可以知道,本设计采用了温湿度、光照度和CO2浓度检测模块,检测家中是否发生环境变化,或者是某些情况造成的CO2浓度升高,通过CO2检测传感器可以检测家中的状态,以报警和处理的方式作出响应,光照度和CO2传感器模块有数字输出功能和模拟输出功能,为了保证传感器检测数据的有效性和真实性,所以需要通过模拟输入端口输入数值,通过检测数值以确定室内CO2浓度,如果浓度超标,基本上可以确定是发生了某种意外,此时可以报警提醒用户,而模拟输入输出功能是需要有AD进行采样,然后转成二进制数据检测,在使用AD时,首先读取时钟电平。读取时钟电平之后,开始读取数据总线的电平,通过这些数据的读取可以将数据的高位和低位进行取出,通过一位组合数据将这些高位和低位组合在一起,并且经过一系列的处理将数据保存下来,此时通过单片机内部转换,可以将二进制数据转化为10进制,通过与设定的数值进行比较确定家中的烟雾传感器数值情况,如果确定数据的准确性,就可以结束一次采集,再进行下一次采集。如下为设计的程序流程图4.3是温度传感器的工作流程图,温度传感器采用的是DS18b20,是一种单总线的温度采集传感器,在程序开始时,DS18b20复位开始写入跳过ROM操作指令,写入转换温度指令,延时一定的时间再次将传感器复位,再次写入操作指令和读取指令,此时读取完成的数据要转化为低字节和高字节,将传感器进行复位,将低字节的数据和高字节的数据整合在一起,判断该整合后的数据是否为正数,如果是正数,则直接求得十进制值,如果该数为负数,则对其进行求反补一,再次输出十进制,程序结束如图4.3是温度采集流程图,温度传感器流程图主要体现的是对温度传感器遵照采集协议读取温度数据的过程,程序开始的时候会发送出读取信号,该信号会发送到传感器,传感器会根据读取信号判断信号内容,确定是否读取温度数据,读取温度数据之后,数据需要判断是否完整,所以需要进行数据校验,判断校验数据是否出现错误,如果没有出现错误则可以进行数据的计算,并且将数据存储下来,但是如果在数据检测的过程中发现了错误,则会将当前数据丢弃的,然后再次向数据进行校验,如果确认没有问题,则可以进行数据的计算和存储,同样的如果还是会出现错误,则还会丢弃数据,直到数据读取完成。如图11是HX流程图,HX实际上是一种模数转换的过程,HX是一种24位的AD转换模块,可以称重的压力值转化为实际的重量数据,那么在这个过程中就需要通过AD模块以及单片机的数据处理。在程序执行的时候,需要对hx的时钟电平进行读取,另外需要读取数据总线的数据,在称重传感器电路图中可以知道称重传感器的接口比较简单,除了两个电源接口之外就是数据端口和时钟端口,所以在进行单片机程序执行的时候,首先就需要对时钟电平读取确定传感器的工作始终其次,就是对数据进行读取,称重传感器读取数据的时候会将数据分为高位和低位,所以得到的数据是不完整的,在程序中是无法直接使用的,需要将高位数据和低位数据进行整合,通过一位组合数据使其变成一个完整的高低位数据,将数据保存下来,在保证数据之后,系统就会返回数据内容及当前的重量数据,这就是整个称重传感器的数据转换过程的程序流程。所示是按键流程设计按键流程设计,主要在系统中对电机以及继电器的操控,首先在程序开始执行之前,需要判断是否有按键,按下按键按下的过程中实际是会产生很多次的杂波。这些杂波如果震荡过大,也会被当做按键按下,这样就会造成按键不准确产生非常大的干扰,所以本设计采用了软件消抖的方法,软件消抖是一种实用性比较高,性价比也非常高的方法,通过延时的方式进行消抖,经过不断的测试发现延时时间大概在10毫秒左右,是一个非常完美的数字,太长或者太短都达不到很好的效果,经过延时之后再次判断是否有按键,按下如果有那么就是真的有按键,按下系统会等待按键示范确定按键,按下一次这样做的好处就是为了防止由于按键没有松手检测,可能会实现长按的效果实现,按下一次而操作多次的结果,这样是不利于系统的判断,所以在检测按键释放之后才执行功能程序,在本设计中主要是对手动操控电机以及继电器的动作,本设计中按键的作用也是非常重要的。

5硬件的设计及测试

5.1实物电路焊接

实物的正常运行需要硬件与软件的相互结合,利用硬件作为软件的运行载体,才能够实现整个系统的功能,所以在实现实物功能之前,需要通过元器件以及电路板和焊接设备,对整个电路进行焊接,在确定原理图没有问题之后就可以对电路进行焊接,焊接的时候要严格参照原理图中的接口,通过原理图的接口,可以为后续编写程序的时候端口定义解决很多的麻烦,避免了由于实物焊接接口与原理图不一致,这样就会出现很多的硬件及程序定义不一致的问题,所以在焊接之前一定要严格参照原理图,其次是焊接的时候要注意元器件的摆放,元器件摆放的合理,会减少很多焊接的时候遇到的问题,例如走线等等,其次在焊接的过程中一定要注意焊接的稳定性,选择好性能比较稳定的电路板,避免因为焊接的时候导致电路板的焊盘脱落使整个电路都无法正常的使用,因此需要选择贵一点的电路板,例如绿色的洞洞板就是一种很好的选择。真正焊接的时候需要注意焊点的光滑性,尽量保持是一个小土丘的形状,不要有很多的毛刺,这样都会造成信号的干扰,另外焊接的时候一定要保证每个焊点都是完整的,不要出现虚焊漏焊等情况,这样都会造成硬件的无法实现,会为后续软件调试增加很多的困难,只要按照原理图的形状,焊接完成之后,就可以进行下一步的硬件电路测试。实物的测试主要是对硬件焊接电路完成之后的进一步检测,检测的时候需要用到万用表等设备,在使用万用表之前可以先用眼睛观察一下焊点等的情况,有些问题是能够直接用眼睛观察出来的,首先可以用肉眼进行第1轮的检查。可以打开台灯或者是手机灯光以与平面平行的角度对焊点进行观察,这样的角度可以方便对焊接情况的检查,是一种非常好的使用方法。经过第1轮的肉眼检查之后,可以用万用表对对电路进行测试,万用表的测试主要是对电源线路的检测,将万用表调到测试的用红表笔与黑表笔对电源电路进行测试,判断电源正负极是否出现短路,因为这是电路的一大禁忌,所以必须将这个问题排除在外,第二是对各个模块之间的正负极连接情况进行分析检测,这就需要将万用表的红色标笔放在电源的正极,将黑表笔与各个模块的VCC端口逐一触碰,观察是否有滴滴的声音出现,其次是将红表笔放置在电源的GND端,将黑表笔与各个模块的GND端进行逐一测试,观察是否出现滴滴的声音,第三是对各个焊点之间的连接情况进行分析测试,各个模块与单片机之间的端口连接决定了该模块是否能够被单片机控制,如果程序中定义的端口与单片机实际连接的端口不一致,那么只会造成程序和硬件无法对接的问题,这样就会造成实物的功能无法实现,而且会为后续寻找问题时,造成很不必要的麻烦,所以在实物测试的时候,需要注意这三点情况。系统的调试分为两个部分,一个是针对硬件调试,第二个是针对软件调试,这两个部分是无法分开的,在这个过程中采用控制变量法将问题逐一分析确定问题的所在,以便解决问题。首先必须保证硬件没有问题才能进行软件的测试,在进行硬件焊接的时候,我们对照原理图进行焊点的连接,焊点连接完成之后,再用万用表进行测试,在使用万用表的测试过程中发现了几个问题。首先在连接各个焊点之间的线路,确定焊点之间线路没有问题,但是在这个过程中发现了显示屏与单片机连接的线路中,数据端口出现了连接不正常的情况,经过检测,发现原来是显示屏电路中出现了虚焊,引脚没有焊接完全,所以导致了万用表测试没有发出滴滴的声音,经过补焊之后,成功的将这个问题解决了,其次在看测试按键的时候,发现按键两端的测试连接不正常,万用表没有发出滴滴的声音,反而没有按下才发出滴滴的声音,经过分析,可能是按键的4个角摆放的位置出现了错误,导致焊接的时候焊接的点连线错误,发现问题之后,及时地将按键卸下,果然是由于按键摆放的位置出现了问题,所以导致焊接问题,将按键重新焊接上去之后,问题成功解决,在这个过程中万用表测试基本上都是正常的,在万用表检测电路焊接没有问题之后,对系统进行上电测试,系统供电之后,显示屏没有点量,所以及时的将电源切断之后检查电路问题,分析之后确定是由于显示屏插接的时候没有注意,造成显示屏与排母的方向相反,所以导致供电不正常,将显示屏方向调换之后,显示屏会正常的供电,触摸芯片等也没有出现发热的情况,基本可以确定硬件没有连接错误的情况。第二步开始进行软件的测试,将编写好的C程序文件下载到单片机中。上电测试发现显示屏没有显示内容,所以考虑可能是V0的管脚电位器没有调好,所以调整定位器之后,显示屏慢慢变得清晰,字符也显示出来,但是测试的时候发现人体检测模块有些问题,无法对没有人的情况进行判断,经过查阅资料之后发现人体检测模块是比较灵敏的,需要完全的将其用东西盖住,才能够验证无人的情况,所以采用这个方法之后,问题成功解决,其次就是测试超声波的时候出现了距离方面的一些问题,所以在程序中对超声波的阈值进行了重新的改变,使其更加符合现实中需求的情况,解决了超声波之后,在测试报警的时候出现了没有声音的情况,在确定硬件电路没有连接错误的情况下改变了程序,但是问题还是没有解决,所以可能问题出现在蜂鸣器的问题上,所以更换了蜂鸣器之后再次测试,但是问题依然没有解决,所以考虑可能是电路的问题,经过与原理图进行比较,发现原来是三极管的三个引脚焊接的有问题,所以导致电路不能正常工作,所以重新比对电路图以及三极管的三个引脚,重新焊接之后果然是三极管焊接的问题,经过重新焊接三极管之后问题排除,再次测试之后,电路正常,所以将程序重新改回原来的,经过改动程序之后重新烧录整个系统可以正常的使用。在硬件设计的时候免不了需要焊接电路,焊接是一个很重要的部分,良好的焊接技术,可以保证电路板的正常工作,在进行程序调试的时候可以减少不必要的因素排查,在保证硬件内无正常工作的情况下,可以使用控制变量法,单一的寻找程序中的问题可以减少调试的时间,在焊接的时候需要注意的有几个问题,首先是虚焊、漏焊、或者是连焊的问题,这些问题都会导致电路都不能正常工作,其次在本设计中需要有线路的连接,在连接线路的时候特别要注意。电源线的顺序不能连错,其次是控制线路的顺序,不能连错两者,其中一个有问题都会导致电路出现问题,在焊接和电路检查正常的时候系统可以上电检测,如果各方面没有问题,可以通过SWD下载程序线路,与单片机编程软件进行联调,通过debug调试功能对程序进行验证,最终实现系统的功能。硬件的测试,是设计的很重要的一部分,软件代码的编写都是基于硬件的基础上实现的,所以需要进行硬件电路的测试,首先在电路设计完成之后,我们需要检查是否有漏焊,或者是虚焊或者是连焊的情况出现,这些情况都会造成电路的不能正常工作或者是电路的损坏,所以当电路设计完成之后,先不着急上电,使用万用表检测电路各个部分的通断性,并通过眼睛对电路板的焊点进行观察,是否有虚焊的情况或者是漏焊的情况,以及是否有出现连焊的情况,如果通过肉眼观察电路板的焊点都是正常的,并且通过万用表检测,各个部分连通性都是合格的,此时就可以通过上电测试了。在上电测试的时候,需要用手去触摸一下各个芯片是否发热,如果出现发热的情况要及时断电,再次检查电路的正负极是否出现了问题,如果没有出现发热的情况,则可以进行下一步测试。

打开ISP软件,找到程序.hex文件,将该文件的烧录到单片机中,通过不断的调试,最终实现其效果。

5.2实物的设计

实物的设计更具原理图来焊接即可,设计中主要使用的是现成的模块进行组成的,所以在完成实物的时候也会简单很多,但是一些必要的地方还是需要自行焊接电路的,例如最小系统、按键以及一些排母等等,这些都需要通过焊锡焊接在洞洞板上,焊接的时候需要注意焊点,不要出现连焊、漏焊、虚焊等情况,每一种都会造成功能的不正常。在焊接完成之后需要注意的是不能立即上电,要先检查一下各个模块的电源线路连接情况,如果正常的时候,再上电运行,上电之后用手触摸一下有没有出现发热的情况,没有的情况下,即可以正常使用。

5.3实物的焊接设计

实物的焊接是一个非常考验焊接者经验以及耐心的工作,本设计中的实物模块有单片机模块,霍尔传感器模块,显示模块,以及蜂鸣器模块,对这些模块焊接的时候,需要参照原理图进行焊接,但是具体焊接的方法还需要根据经验进行设计。因为原理图是为了设计方便,所以改变了模块的引脚,以实现原理图线路的清晰,但是在焊接的时候,实物芯片与原理图中引脚排布方式并不一样,需要根据原理图中引脚的编号进行寻找,依次焊接。单片机最小系统包括时钟电路,复位电路,以及单片机芯片这三个部分,最小系统是整个硬件的核心,其次在焊接的时候需要注意,采用芯片直插底座来稳定芯片,这样即便电路损坏,也不会造成芯片的浪费,因为在这个过程中芯片是非常珍贵的,而且也是整个实物系统中比较核心的部分。其次,显示屏也是需要通过焊接排母,再通过排针和排母的结合,实现液晶屏的稳定,因为这是为了保证液晶屏损坏的时候能够方便更换,不会造成在焊接完成之后,卸下液晶屏的时候会非常麻烦的问题出现。除了这两个比较重要的组成部分,霍尔传感器与蜂鸣器接口都比较简单,所以可以直接通过焊锡焊接在电路板上。焊接的时候,一定要注意每个焊点都要分布均匀,不要出现虚焊,漏焊或者是连焊,造成短路的情况,每一种焊接问题都有可能造成硬件的功能失常,在进行程序烧写调试的时候,无法判断是硬件问题,还是软件问题。所以设计硬件电路的时候加入了焊接完成审核过程,在审核的时候需要仔细观察硬件中的各个焊点焊接情况。需要观察焊锡是否有虚焊,漏焊或者是两个焊点连接在一起的情况发生,并且在审核的时候要注意是否出现了正负极焊接反了的情况,如果正负极接反则会造成电路模块的烧毁,直接损坏硬件的功能,所以必要的时候需要依次通过万用表进行查找。万用表的使用,主要是利用万用表的检测档,将红表笔与黑表笔相互触碰,如果发出滴滴的声音,则代表该万用表是正常的,接着就可以将红黑表笔放在各个接头部分,依次用耳朵听,是否有滴滴的声音,这样可以判断各个焊接连接线路是否连接正确,并且可以判断焊接的线路是否有断路的情况。其中最主要的还是要确定电源的正负极是否连接在一起,用红表笔与黑表笔依次触碰电源的正负极线路,如果没有出现滴滴的声音,则代表正负极没有短路,系统上电不会出现问题。接着就是系统的上电测试,系统上电测试的时候,电路板供电,用手触摸芯片以及液晶屏,观察是否有发热的情况出现,如果有发热情况则需要及时断电,如果没有发热情况,则可以下载程序到芯片中下载程序,需要使用ISP软件找到程序编译的文件,将其烧录到单片机芯片中,通过观察实物所呈现的状态,分析是否符合功能要求。可以通过实验现象不断的调整程序,直至系统完全达到功能设计的预期值。

5.4实物测试结果

经过测试,实物焊接正常,肉眼没有见到焊接问题,其次通过万用表检测,出现了几个接头接触不良的问题,采用电烙铁补焊,问题成功解决,硬件上电正常,没有损坏情况,程序烧录也正常实现。经过测试,系统可以实现如下功能

总结

致谢

从开始着手准备写到确定选题再到开始做和撰写忙忙碌碌了好几个月,虽然这个过程可能有一些痛苦但当你真的把这件事完成并做好的时候,会收获到有心底发出巨大的幸福感。在准备确定论文题目时,一开始选定了好几个题目,然后拿给导师过目,在经过导师的分析判断后最终确定自己的论文题目。在论文写作过程中遇到了不少问题,在遇到问题时首先我会去查询与之相关的资料,分析问题点在哪,然后尝试自己解决。在自己解决问题的过程中是对自己知识的查缺补漏,对于自己以后的发展也是有益处的。其次遇到自己不能解决的问题时会去向导师请教导师也非常耐心的为我解答,并且会有这一个点向其他的知识点扩展,解决问题的同时也拓展了自己的知识面,加强了知识与知识之间的联系。总的来说这次毕业论文的收获也是非常大,感触颇深。历时很长的时间,我终于完成了本设计,在这个过程中我查阅额很多的资料,这个题目在很多地方都可以查阅到相应的资料,所以在设计的难度上大大消减,但是还是很值得学习的,在一开始的时候设计的功能比较简单,在和老师沟通之后增加了一些内容,使得整个设计看起来功能更加的完善,所以设计难度增加了,这使得我有些处理不过来,所以在这里需要感谢我的老师和同学,老师给我了大体的方向,让我知道怎么去设计这个题目,同学则是给了我很多的指导,例如在焊接的时候,在编写程序的时候,我都遇到了不少的问题,一些错误我没办法解决,所以就只好向同学提问寻求帮助,感谢你们能够帮助我,让我顺利的完成这个论文,同时,我也感谢这四年教授我的老师们,谢谢你们教会了我很多,我会继续努力的。不知不觉中,几个月过去了,毕业项目即将结束。首先,我要感谢老师的指导和帮助,以便我能成功完成论文的设计,开发和撰写,也感谢学校和学院给我的实验场地和条件。该设计。毕业项目的主题不仅与大学学习的知识紧密相关,而且与未来的工作也非常接近。在开发系统时,对未来的工作还有另一种热情。在多功能计时器的设计和开发过程中,我遇到了许多难题,但在包括我自己在内的师生的建议下,我也查阅了许多书籍。我成功解决了相关问题并实现了预定功能。

通过该项目的设计,我更好地了解了团队合作的重要性。每一项出色的工作的完成不仅取决于一个人的努力。在设计过程中,导师和我周围的学生都非常热心地帮助我,我学到了很多知识,积累了很多经验,这在以后的工作中也起了很大的作用。在编写代码的过程中遇到了问题,老师和同学也帮助我一个接一个地回答。在这里,我非常感谢老师和同学,谢谢您的帮助,让我完成这个项目,再次谢谢!经过几个月的准备、书写、改良到最终确定终稿,本课题的设计是终于完成了,在完成过程中遇到了很多的问题,也解决了很多的问题,除了我个人的努力之外,也离不开老师和同学的帮助,我能感觉到自身能力的不足,虽然整个题目看起来不是很难,但是具体实施的时候却遇到很多的问题,例如时钟模块的使用,在以前就没有用过,所以使用起来就会感觉到很吃力,在设计之前想过自己搭建电路设计,但是在实现的时候对于很多的传感器的电路搭建的很不好,非常感谢我的同学叫我改变了设计的方向,利用传感器模块搭建,减少了很多的麻烦,只需要在程序上实现各个模块的控制组合即可,除此之外还有很多的细小问题也是向朋友求助一一解决,当然,也非常感谢我的指导老师,给了我最初的方向,让我知道整个课题应该有哪些组成部分,以及其具体的功能,也感谢老师为我批改论文,指出我的问题,让我及时改正。再此,也非常的感谢四年里授课的老师,感谢你们的辛勤付出,在未来的道路上我需要独自面对,运用你们教授的知识文化,去工作,去生活。毕业日期正在逐渐接近,毕业论文也慢慢进入到最后。从一开始到最后的完成,始终有老师、同学、朋友来帮助我的热情,那里请,理解我真诚地感激!在这里,我衷心地感谢学校和专业的所有老师们三年来的勤奋工作,非常感谢你们与我们一起学习了更多的人,谢谢你们让我们一起学习。指导老师在项目中对我的帮助非常大,深刻的专业技能,严格的业务态度,精湛的工作作风,教育人民,高尚的举止,纪律和慷慨的人,是不容易的,魅力的个性有深远的影响。我的学习目标也被我所定下,在此过程中我也学会了学习方法,还为自己的事业提出了许多理由。这篇论文,从主题到主题,每一步都是在一个导师的领导下进行的,他投入了大量的努力。在撰写论文过程中遇到了许多问题,在教师的干练指导下解决了这些问题。老师,谢谢您了!三年的寒冷苦读,我收获了很多东西,越来越多知识,遇到问题解决问题思维,还有操作技能,我很高兴,在这三年里,我遇到了那么多好的老师和朋友,喜欢学习,生活和工作,都给我许许多多帮助,让我更加努力向上,感谢的话并不是所有都可以在纸上和言语中能体现出来的,我想用我自己的方式来表达对他们感谢之情。在实际制作的过程中我基本都是借用学校的实验室完成制作的,所以我要感谢学校提供的设备以及实验室的管理老师愿意借用实验室给我,后期遇到焊接以及变成中遇到的一些我问题解决不了的时候都是同学给了我很大的帮助。整个设计实验过程中,我接触到了许多之前未曾接触的东西,使我的专业知识和素养能力得到了较大的提高。最后我感谢父母,他们教育了我懂得中国传统文化,让我在人生道路上,求学之路上让我都非常受益,他们都给了我非常大的帮助让我完成毕业。

1
查看完整版本: 单片机的分析设计