活动控制门大报告_第1页
活动控制门大报告_第2页
活动控制门大报告_第3页
活动控制门大报告_第4页
活动控制门大报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 信电学院电子信息工程专业CDIO二级项目项目设计说明书(2013/2014学年第二学期) 项目名称 : 基于单片机活动门控制系统的设计与实现 专业班级 : 信息1102 学生姓名 : 学 号 : 指导教师 : 吴开兴 设计周数 : 2周 设计成绩 : 2014年 6 月 25 日目录1 项目概述12 系统需求分析12.1 可行性分析12.2 主要任务12.3 技术要求12.4 活动门控制要求23 系统总体设计23.1 系统分析2设计的基本设计思路:23.2 系统流程图33.3 活动门总体设计方案34 单片机简介45 系统详述55.1 上位机界面展示55.2 上位机主要程序55.3 下位机电路

2、图65.4 下位机主要程序66 串口通讯86.1 单片机与PC机串口通讯87 实物图展示98 项目设计心得9参考文献101 项目概述本项目主要是实现基于C52单片机活动门控制系统。关于活动门控制系统,在活动门设置开关,通过开关触动单片机,单片机再控制步进电机的转动,通过传感器获知停门位置,实现门打开和关闭。2 系统需求分析2.1 可行性分析现如今自动化、信息化程度越来越高,单片机的应用领域也就越来越广,成为人们生活不可或缺的一部分。随着社会的发展,科技的进步以及人们生活水平的逐步提高,各种方便于人们生活的自动控制系统开始进入了人们的生活,以单片机为核心的活动门控制系统就是其中之一,同时也标志了

3、自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人们懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。2.2 主要任务系统分析与设计:对系统进行调研,详细分析系统,设计出基于单片机的活动门控制系统的技术方案;设计实现系统的关系技术:电机驱动、门限电路、软件控制;系统电路的设计与实现:器件选择、地址分配和硬件连接;系统软件的设计与实现:单片机代码的实现,计算机控制代码的实现;系统调试:调试串口、调试按键、调试驱动;系统联调。2.3 技术要求实现活动门的开关动作:在单片机的作用下,通过活动门上安装的控制按钮,控制外部电机实现活动门的

4、开关动作(即用单片机控制电机的正反转);实现上位机软件控制活动门:利用计算机的软件实现对活动门的开关动作(即单片机与上位机的通信,完成对活动门的正确控制);使用单一供电电源,控制电机使用步进电机,活动门必须安装限位开关,实现门的自动控制。对活动门的开关控制应智能化,开关过程可控化。2.4 活动门控制要求当行人靠近门时,活动门自动打开,打开方向与人行方向一致,为行人带来便利。自动门在开门位置停留几秒后,单片机控制活动门自动进入关门过程。在关门过程中,当有人员由外到内或由内到外通过准备通过活动门时并触碰到活动门,此时活动门应立即停止关门活动。在开门后,根据实际需求,若需要持续保持开门状态,可将手动

5、推门进行固定,使单片机不再工作并始终保持开门状态。3 系统总体设计3.1 系统分析设计的基本设计思路:要想实现活动门的开关动作,从理论上分析,最简单的方法就是用开关控制电机的通断,带动开关门机构作相应的动作。也就是说,只要安装一个电机就可以了。基本结构如下:活动门电机操作机构图3-1 活动门结构图但是采用图3-1所示的控制方案,只能实现最为简单的开关工作。然而实际的工作情况要复杂得多,这样的工作方式还存在着如下的问题。如何控制电机的正反转由于电机的动作十分简单,只能是正转或者是反转。对与图3-1所示的方案,需要采用触点开关才能实现每一个活动门的开关动作。并且需要判断当前活动门的开关状态。这就的

6、需要在活动门的操作机构之上加入逻辑控制模块。是否能用单一电源方案图3-1所示的方案中,为了控制电机的正反转,采用了正、负双电源的供电方式。一般说来,这样的面板机构中,最好采用单电源供电的方式。采用单电源的方式控制电机的正反转就牵涉到电机的驱动电路的设计问题。能否利用软件控制活动门的开关活动门操作结构中的电机一般都是小型的直流电机,通过按钮改变电机的正反转动作用。但是,对于某些特殊的要求或者是在某些程序中需要涉及到利用软件实现活动门的开关动作,这对于如图3-1所示的电路方案而言,是无法做到的,所以还需要对电路作进一步的改进,并在PC机软件中加入活动门的开关控制功能。3.2 系统流程图主程序流程图

7、: 图3-2主程序的流程图3.3 活动门总体设计方案机箱活动门控制原理框图如图3-3所示:PC机单片机 驱动电路 小电机 发光二极管 接近传感器触点开关图3-3 活动门控制原理框图各部分功能:PC机:使用C#.NET提供用户微机程序界面,并将用户对发光二极管的操作转化为控制指令发送到下位机上。单片机:监测和接收外部状态信号,控制发光二极管的亮和灭,并发送控制指令给驱动电路,控制小电机正转或反转。驱动电路:驱动电机的动作,实现二极管的亮和灭。接近传感器:将当前二极管的状态信息反馈给单片机。触点开关:反映发光二极管的状态变化,并告知单片机发光二极管的状态。PC机与单片机通信:用串口通信。4 单片机

8、简介单片机是一种集成电路芯片。它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统,在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。所以说,一片单片机芯片就具有了组成计算机的全部功能,从某种意义上来说,一块单片机就是一台微型计算机。由此来看,单片机有着一般微处理器(CPU)芯片所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。然而单片机又不同于单板机(一种将微处理器芯片、存储器芯片、输入输出接

9、口芯片安装在同一块印制电路板上的微型计算机),单片机芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果对它进行应用开发,它便是一个小型的微型计算机控制系统,但它与单板机或个人电脑(PC机)有着本质的区别,与微型计算机相比单片机具有一下特点:体积小、结构简单、可靠性高单片机把各功能不仅集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。控制功能强单片机虽然结构简单,但是它“五脏俱全”,已经具备了足够的控制功能。单片机具有较多的I/O口,CPU可以直接对I/O进行I/O操作

10、、算术操作、逻辑操作和位操作,指令简单而丰富。所以单片机也是“面向控制”的计算机。低电压、低功耗单片机已可在2.2V的电压下运行,有的已能在1.2V或0.9V下工作;功能降至为uA级,一颗纽扣电池供电就可以长期工作。优异的性能、价格比由于单片机构成的控制系统硬件结构简单、开发期短、控制功能强、可靠性能高,因此,在达到同样功能的条件下,用单片机来发的控制系统比其他类型的微型计算机开发的控制系统价格更便宜。5 系统实现5.1 上位机界面展示 图5-1 上位机windows界面5.2 上位机主要程序 串口通信主要代码:using System;using System.Collections.Gen

11、eric;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Text;using System.Data.SqlClient;using System.Threading;using System.Runtime.InteropServices;using System.ComponentModel;using System.Drawing;namespace HDMKZ public partial clas

12、s Form1 : Form public Form1() InitializeComponent(); private void Form1_Load(object sender, EventArgs e) comboBox1.SelectedIndex = 0; byte Dout = new byte1; byte Din = new byte1; private void button1_Click(object sender, EventArgs e) if (serialPort1.IsOpen) serialPort1.Close(); button1.Text = "

13、关闭串口" textBox1.Text = "串口未打开,不可以进行串口通信!" listBox1.Items.Add("初始化失败,禁止可以进行通信!"); else try textBox3.Text = "9600bps" textBox4.Text = "8" textBox6.Text = "0" serialPort1.PortName = (String)comboBox1.SelectedItem; serialPort1.BaudRate = 9600; serial

14、Port1.DataBits = 8; serialPort1.StopBits = StopBits.One; serialPort1.Parity = Parity.None; serialPort1.RtsEnable = true; serialPort1.Open(); button1.Text = "打开串口" textBox1.Text = "串口已打开,可以进行串口通信!" listBox1.Items.Add("初始化成功,可以进行通信!"); catch MessageBox.Show("串口未打开!&q

15、uot;, "出错啦!", MessageBoxButtons.OK, MessageBoxIcon.Error); private void listBox1_SelectedIndexChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) try if ( serialPort1.IsOpen) Dout0 = 10; this.serialPort1.Write(Dout, 0, Dout.Length); listBox1.Items.Add

16、("已发送控制信号使电机正转!"); catch MessageBox.Show("发送命令失败!", "出错啦!", MessageBoxButtons.OK, MessageBoxIcon.Error); private void button3_Click(object sender, EventArgs e) try if ( serialPort1.IsOpen) Dout0 = 01; this.serialPort1.Write(Dout, 0, Dout.Length); listBox1.Items.Add(&quo

17、t;已发送控制信号使电机正转!"); catch MessageBox.Show("发送命令失败!", "出错啦!", MessageBoxButtons.OK, MessageBoxIcon.Error); private void serialPort1_DataReceived_1(object sender, SerialDataReceivedEventArgs e) Control.CheckForIllegalCrossThreadCalls = false;/不使用委托 string str = "" str

18、 = serialPort1.ReadExisting(); switch (str) case "01": listBox1.Items.Add("电机反转,门为关闭状态!"); break; case "10": listBox1.Items.Add("电机正转,门为打开状态!"); break; default: listBox1.Items.Add("接收数据失败,无法知道电机工作状态!"); break; 5.3 下位机电路图图5-2 下位机电路图图5-3 电路仿真图5.4 下位机主要

19、程序void main(void)static bit flag = 1;static bit uartFlag = 1;initTimer0();initUART();Dy_OFF;while(1)switch (step)case 0:if(laserSwitch = 0)step+;sendByte(0x00);delay(110);while(laserSwitch = 0);break;case 1:if(touchSwitch = 1) && flag)motorRun(0);elseflag = 0;if(laserSwitch = 0)step+;sendByt

20、e(0x01);flag = 1;delay(110);while(laserSwitch = 0);break;case 2:if(touchSwitch = 1) && flag)motorRun(1);elsestep = 0;break;case 3:/远程开门if(touchSwitch && uartFlag)motorRun(0);elseuartFlag = 0;if(flag)motorRun(0x00);flag = 0;break;case 4:/远程关门if(touchSwitch)motorRun(1);elseflag = 1;uar

21、tFlag = 1;motorRun(0x01);step = 0;break;default:if(keySwitch = 0)delay(110);while(keySwitch = 0);step = 0;break;delay(2);6 串口通讯6.1 单片机与PC机串口通讯52单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线

22、:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。全双工的串行通讯口原理图如图6-1所示:图6-1全双工的串行通讯口原理图图6-2全双工的串行通讯口电路图6.2 SCI串行通信接口51单片机串行通信接口(SCI)是一个标准的通用异步接收/发送(UART)通信接口。它的接收器和发送器都是双缓冲的。51单片机串行通信接口(SCI)有自已的使能和中断位,它们可以半双工或全双工方式工作。为了保证数据的完整性,串行通信接口对接收的数据进

23、行间断检测、奇偶性、超时和帧错误的检查。位速率(波特率)可通过一个16位的比特率选择寄存器进行编程,因此,可以有超过65000种不同的速率。SCI模块是一个8位片内外设,通过DSP的16位外部数据总线的低8位与外部设备通信。6.3 RS232通讯原理串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。7 实物图展示图7 活动门控制实物图8 项目设计心得通过此次项目设计,使我更加扎实的掌握了有关高频电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。过而能改,善莫大焉。在设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次项目设计终于顺利完成了,在设计中遇到了很多问题,最后

温馨提示

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

评论

0/150

提交评论