序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的光控窗帘控制系统设计
4 硬件设计
光控系统硬件方面的设计基本遵循整体布局的设计原理来进行。同样按照这三部分进行布置:主动控制部分、指令生成部分和实际操作部分。细节来说涉及到单片机最小系统部分、光强数据生成部分、运行状态监测部分、红外指令传达部分、手动主控按键部分、电机驱动设备部分以及数据显示部分。按照各部分的需求进行详细的设计。
4.1 单片机最小系统部分设计
单片机本身就担当着控制系统最核心的功能部分,即对传输进来的数据进行控制并生成指令,从而控制整个系统的状态变化。单片机的最小系统本身由AT89C51单片机、无源晶振电路及复位电路共同构成。最小系统的电路如图4.1所示。
(1)晶振电路
在最小系统的构成选择中,选用了12MHz的无源晶振。再搭配上c6、c7起振电容让整个晶振电路部分有了更加高质量的保障。应用过程中的顺序对于单片机的影响很大,发生电路作为全部指令产生的部分直接决定整个单片机运行的情况。晶振电路的存在实际上就是保障最初的指令生成过程中的顺序流畅稳定。在单片机中18、19引脚固定作为起振电容的位置预留。
(2)复位电路
复位电路由Keyl、C8以及Rst三个部分共同组成。为了提高系统的容错性并且降低系统错误出现时对于系统的伤害,此次的复位电路采取电和按键并行的复位形式。电的复位方式作为设计指令的初始化程序存在,保证系统的反复运行。按键复位是当一旦有系统错误等情况的出现,使用者可以自行启动按键复位来将错误系统停止下来并重新启动,让系统受到最短时间的紊乱伤害。
图4.1 AT89C51最小系统电路
4.2 光强数据生成部分设计
光强数据生成主要是光敏器件对于外界光照强度感知并完成采集进而生成数据的部分。这部分的设计选用了PCF8951转换芯片完成。与模拟的0-5V光敏器件相适应。
(1)PCF8591介绍
PCF8591是一个8位的模数/数模采集芯片,工作时芯片所需的电压为DC5V。PCF8591芯片在模拟过程中可以利用四路并行进行数据输入并以一路进行输出。利用I²C总线接口实现芯片内部与控制器的交流。PCF8591拥有十六个功能引脚,A0至A2存放的是设计芯片。9至10号引脚用来接入I²C,利用I²C进行与控制器之间的交流和数据传输。1至4号引脚完成数据输入模拟。13和14号引脚作为动力输入引脚进行供电驱动。
(2)光强数据生成电路设计
连接单片机的P3.6和P3.7与芯片的9脚和10脚,遵循I²C总线的协议完成通信过程,从而读取PCF8951的数据并写入有用的信息。主要对于光照强度的感知是利用不同光强引起1号引脚的电压改变来进行的,其输入电压通过信号转换改变光强数据值。所以在设计过程中将作为直接影响光强输入的1脚与AIN0通道连接起来,进行信号转换,从而将光强的改变转换成数据输入值的变化。该控制系统仅涉及到一路的数据变化因此,A0~A2两个引脚接地即可,地址为0。连接电路中的P3.6和P3.7和芯片的9脚和10脚。光照数据生成电路如图4.2所示。
图4.2 光强数据生成电路
4.3 运行状态监测部分设计
运行状态监测主要是对窗帘拉开和关闭多到达的位置进行监测,以免当窗帘已经到达设定位置时,电机仍然持续工作,造成不必要的电力浪费以及给系统带来一定的危险。这部分的设计是利用到相位检测的方法进行。在器件的选择上选择了检测范围在3~50CM的博光-50NK漫反射式光电开关,其输出信号为NPN常开5V信号。光电传传感器的内部结构如图4.3所示,P1连接DC5V的电源进行电力供应,P2输出数据,P3口接地即可。
图4.4 红外指令传达部分实物图
红外接收器HS0038包含三个引脚,1和2脚作为动力供应的引脚,分别连接5V的电源和地进行供电,实际完成指令接受的引脚是3号。3号引脚与P3.3相连接,指令接收会引起相应的电平变化,从而引发单片机的外部中断。红外接收电路如图4.5所示。
图4.5 红外接收电路图
4.4 手动主控按键部分设计
在这个部分,是属于一个增加系统容错的本地控制。设置按键,让使用者可以按照自己的需求直接对窗帘进行控制,类似于传统窗帘的使用融合了按键技术。这部分分为三种按键,分别对应“拉开窗帘”、“关闭窗帘”、“切换控制模式”这三种不同的功能。
电路设计利用单片机的P2.5~P2.7引脚K1(开窗帘按键)、K2(关窗帘按键)、K3(切换按键)相连。以K1按键触发为例,对按键的采集的过程原理进行介绍。当K1按键按下,P2.5引脚的输入的电平是低电平,单片机检测到P2.5引脚电平变成低电平时,可以判定开窗帘按键被按下[19]。在硬件设计过程中,主要利用到单片机的P2.5~P2.7引脚分别与三个按键开关进行连接。从原理来说,是当使用者主动按下其中一个按键开关后,会改变其对应连接的引脚的电平输入,改变为低电平。单片机感受到引脚形成的低电平后,接收到按键对应的指令完成响应。手动主控按键部分电路如图4.6所示。
图4.6 手动主控按键部分电路图
4.5 电机驱动部分设计
这一部分是在进行供电的情况下,单片机对于接收到的数据和指令做出响应,驱动步进电机进行工作,步进电 机根据所接收的指令改变其转动方式,通过其正反的改变,直接控制窗帘的状态。
电机驱动部分主要利用单片机P2.0~P2.3来控制,分别与电机芯片UNN2003A的1~4引脚相连接,让步进电机接收 到对应的工作指令,13-16脚在同时会输出较大的驱动电流,从而控制步进电机的转动角度以及方式,进而完成对于 窗帘改变的操作。电机驱动部分电路如图4.8所示。
图4.8 电机驱动部分电路图
4.6 数据显示部分设计
这一部分涉及到LED显示电路和显示屏两部分,硬件方面显示屏选择了LCD1602液晶屏。显示电路方面主要是实时更新系统的控制模式,液晶屏主要是实时更新系统的最新光强数据值。
(1)LED显示电路设计
当单片机对于控制模式的指令做出响应后,就会向显示电路下达变更指令。五种不同的模式以其对应的LED灯进行显示。其两端分别与电源和单片机的P0.3~P0.7引脚相连接,从而接收单片机的指令。单片机接收到模式变化后,其P0口的I0引脚会释放低电压,为对应的LED等所处的闭合电路进行供电,使其变亮。LED显示电路如图4.9所示。
图4.9 LED显示电路
(2)液晶显示电路设计
液晶显示电路是对于所接收到的光强数据进行显示的电路。其工作原理也是由单片机进行指令控制。主要是由单片机的P1口进行控制,电路中的DB0~DB7数据引脚进行指令接收。P3.2和液晶RS3脚将接收到的命令转换为数据。P3.4和液晶电路5脚对液晶电路进行控制。LCD1602显示接口电路如图4.10所示。
图4.3 光电传感器内部结构
监测部分设计中,单片机的P00和P01两个引脚起着十分重要的作用,分别与上拉电阻到5V电源进行连接,单片机的P00~P01引脚与相位传感器的输出部分相连接,两个引脚在窗帘到达所指定的位置时会显示为高电平状态,此时单片机接收到这一状态进行下一步响应。
4.7 红外指令传达部分设计
红外指令传达部分即当使用者通过红外遥控器进行遥控时,红外遥控器作为指令载体进行指令传达的过程。在控制器端设置了五种模式:分别是拉开和关闭窗帘、主动控制模式、独立控制模式以及遥控模式。
红外遥控器的硬件选择上选用了HS-021模块。1-5号按键分别对应五种不同的控制模式,在单片机上连接HS0038作为指令接受,进而完成指令控制。红外指令传达部分的实物图如图4.4所示。
图4.10 显示电路
6 实现和测试
实现和测试可以说是对于一个系统设计的成果验收和优化过程。实现过程中,根据系统最初的预期进行每个部分的实现包括软件的流畅无误运行,电机控制部分的正常运作,以及遥控器的精准控制。软件方面,在代码编写完毕后,在开发环境下进行编译,查看是否存在基本的语言错误。电机控制部分,在系统运行过程中查看是否能够正常控制窗帘的动作。遥控器则是对于每个模式进行运作,查看各个模式是否能按照预期标准完成运行。
6.1 软件实现
完成整体程序代码的编写后,需要将程序写入开发环境。新建工程,选择AT89C51,在新建的文件中写入代码,并存成“.c”的头文件形式,所有的程序都以这种方式存入,在同一组下进行打包。点击Target生成头文件,完成编译过程。系统软件的测试如图6.1所示。
图6.1 软件的测试
从图中可以看到,编译过程中会反馈出一些错误提示和警告,不出现报错的情况下可以无视这些提示。软件程序的编写成功完成。
6.2 控制器仿真测试
控制器直接控制窗帘的动作变化。这部分采用仿真测试的方式进行各种功能查收。仿真硬件方面选择了LCD1602液晶显示、PCF8951和光敏电阻完成外界感知。模式显示利用LED等亮灭来代替。实际的控制部分利用步进电机和ULN2003A完成。主控按键设置三个分别控制“打开”、“关闭”和“切换功能”。相位使用三段触点切换模式。整个的接口连接按照电路原理进行设置。最终生成HEX文件,使用protues软件进行仿真。控制器仿真原理图见6.2所示。
图6.2 控制器原理图
6.3 遥控器仿真测试
遥控器部分主要包括了单片机最小系统、主控按键和红外信号遥控三部分。这三部分都对于遥控功能有着必不可少的作用。单片机最小系统是补充按键主控控制功能的作用。当使用者利用按键进行控制后,需要单片机接收信号完成转码,从而让红外输出部分能够得到需要输出的信息,完成整个控制流程。主控部分依旧分为“打开窗帘”、“关闭窗帘”、“独立控制模式”、“主动控制模式”以及“遥控模式”。五个模式分别独立进行。有着不同的功能和对应器件进行响应工作。
遥控器的原理图如图6.7所示。
图6.7 遥控器原理图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!