毕业设计论文-基于mcs-51直流脉宽单闭环调速控制系统的设计与实现内容摘要:

位和时钟电路 显示电路 LCD 介绍 液晶显示模块( LCM)由于其具有功耗低、无电磁辐射、寿命长、价格低、接口方便等一系列显著优点,被广泛应用与各种仪表仪器、测量显示装置、计算机显示终端等方面。 其中,字符液晶显示模块是一类专用于显示字母、数字、符号的点阵式液晶显示模块。 LCD1602 字符 液晶显示模块以 ST7066 和 ST7065 为控制器,其接口信号功能和操作指令与 HD44780 控制器具有兼容性。 字符液晶有8 16 20 40 2 等 20 多种规格型号齐全的字符液晶显示模块,均具有相同的引线功能和编程指令,与单片机的接口具有通用性。 下图为外观机构。 如图 37。 图 37 液晶 LCD1602 引脚与 功能 LCD1602 的引脚与功能表下表所示。 引脚好 引脚符号 名称 功能 1 VSS 电源地 接 5V电源地端 2 VDD 电源正端 接 5V电源正端 3 VEE 液晶驱动电压端 电压可调,一端接地, 一端接可调电阻 4 RS 寄存器选择段 RS=1为数据寄存器, RS=0为指令寄存器 5 RW 读 /写选择端 RW=1为读数据, RW=0为写数据 6 EN 读 /写使能端 写时,下降沿触发;读时,高电平有效 7至 14 DB0— DB7 8位数据线 数据总线 LCD1602 与 8751 单片机接 口 LCD1602 模块与单片机的接口简单, 8751 单片机的连接图如图所示。 8751的 RD0RD7 端口直接与 LCD1602 的 DB0DB7 相连接, LCD1602 的控制信号 RS、 RW、EN分别与 8751 的 RE0RD2相连接。 如图 38。 图 38 液晶连接电路 转速测量电路设计 一个完善的闭环系统,其定位精度和测量精度主要由测量元件决定,因此,高精度的测量转速对测量元件的质量要求相当高。 光电编码器是现代系统中必不可少的一种数字式速度测量元件,被广泛应用于微处理器控制的闭环控制系统中。 其电路图如图 39。 39 测速电路 光栅盘 光栅盘是在圆盘边刻 由 很多光栅。 当光源照射到光栅部分时,没有被光栅挡住的光源就透射过去。 本系统中采用了一个圆面上刻有 60 个均匀光栅格的光栅盘。 当电机旋转一周时,会产生 60个光脉冲信号。 光电传感器 光电传感器原理是 由 一个发光二极管和一个由光信号控制放大的三极管组成。 由发光二极管发出红外光线通过 3mm 宽的气隙透射到另一端的三极管上,使得该三极管导通。 其特征如下:  气隙是 3mm。  分辨率达到。  大电流传输比 10030IIFC 。  暗电流为: A  在FI=10mA 时,发光二极管产生的光线的波长为 940nm。 安装时将光栅盘圆面钳到沟槽中,光电传感器的发光二极管发出的红外线通过 3mm 气隙照射到光栅盘,光通过光栅盘面上透光的光栅气隙可以使得光传感器的三极管导通,从 C极会输出一个低电平,被光栅挡住的光不能透过去,使得光电传感器的 C 极会输出一个高电平。 如图 310。 图 310 光 电测速传感器原理图 光电传感器在硬件电路设计上很简单 , 如图 310光电传感器的 1引脚上接一个限流电阻 R,限制流过发光二极管的电流FI=10mA 左右。 计算公式如下: R/VVI FCCF )( 其中, 左右。 ,计算出,  FCCF 如图311。 图 311 光电传感器设计图 PCB 电路制作 本章讨论了系统硬件电路设计的原则。 依据系统方案设计了各功能模块电路。 说明各模块电路的连接方法。 着重分析了 L298N 驱动电路、复位、 LCD 电路、转速测量电路的原理 4 系统软件设计 引言 随着现代技术的发展,利用软件代替和简化硬件,利用基本的硬件电路和软件技术达到系统多功能集成和容易修改的要求。 一个较为简单的硬件电路,系统功能的主要实现 是依靠软件的设计来完成的。 本系统的软件采用模块化设计,将系统分为若干个模块,分别实现各项功能,这样在系统软件的调试过程中,各个模块的独立调试有助于问题的发现和解决,在一定 程度上节约了程序的调试时间。 系统应用程序设计 由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。 为了提高编制单片机应用程序的效率,改善程序的可读性可移植性,采用高级语言无疑是一种 更 好的选择。 C语言是一种通用的计算机程序设计语言,既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以往只能采用汇编语言来解决的问题现在都可以改用 C语言解决。 德国 Keil Software 公司多年来致力于单片机 C语言编译器的研究。 该 公司开发的 Keil C51 是一种专为 8051 单片机设计的高效率 C 语言编译器,符合 ANSI 标准,生成的程序代码运行速度极高,所需要的存储空间极小,完全可以与汇编语言相比美 [4]。 所以本设计采用的是 C 语言编程,利用 KEIL μ vision2 进行编译和仿真,使用 STC 专用下载板将 HEX 文件烧录到 STC89C52 单片机中。 直流电机转速控制器的软件设计 直流电机转速控制器的软件设计和系统功能的开发和完善是一个循序渐进过程,本文所作的软件开发是基于直流电机多速控制器的基本功能要求设计的该系统软件有主程序、功能 键处理程序、电机运行显示程序、按盘设置参数程序测速程序、延时子程序等。 该系统的整个软件设计全部采用模块化程序设计思想,由系统初始化模块、按键识别模块、 LCD 模块、中断服务程序四大模块组成。 整个软件的主程序如图41。 图 41主程序框图 系统初始化模块 主程序的系统初始化模块主要包括对中断服务程序的初始化、 T0 定时 /计数器的初始化、 T1 定时 /计数器的初始化和系统相关变量的初始化过程。 电机控制模块 电机控制模块包括电机的方向控制、电机的速度控制以及电机的 起停控制,他们分别由 right、 left 和 PWMData 以及 run_flag 三个变量来控制单片机产生不同的 PWM 信号送到 L298N 电机驱动器。 当 right=1, left=0 时,表示正转;当 right=0, left=1 时表示电机反转。 PWMData 是 PWM 模块占空比的具体内容,由于 PWM 的周期是 100,所以 PWMData 的变量变化是 0— 100之间。 改变 PWMData的值就可以改变电机的速度。 按键识别模块 主程序中要实现对电机启动、停止键识别、电机方向切换键识别和电机速度调节键识别。 该模块中没有 采用常规的按键识别过程。 按键识别方法。  判断是否有键按下。  延时去除按键抖动。  再判断是否真的按下。  是真的按下,则执行按键处理程序。  等待按键释放。 按键扫描方法 该按键扫描采用中断来控制,当有键按下时产生一个下降沿,从而触发中断 ,Z 在中断服务程序中调用相关的键盘扫描子程序就可以获取相关的按键信息。 之所以采用中断来控制,是因为这样能提高单片机工作效率。 具体控制如下程序: unsigned char keyscan() { unsigned char aa=200。 if(P1!=0xff) { while(aa)。 if(P1!=0xff) { switch(P1amp。 0x1f) { case 0x1e:return(1)。 break。 case 0x1d:return(3)。 break。 case 0x1b:return(2)。 break。 case 0x17:return(4)。 break。 case 0x0f:return(5)。 break。 } } while(P1!=0xff)。 } else {return (0)。 } 电机启动、停止控制键功能处理 如果系统上电时电机处于停止状态即( run_flag=0) ,按下 RUNSTOPKEY 后,电机就会运行起来,电机的的运行与停止状态在这个按键的作用下进行就可以控制电机的启动与停止操作。 此部分的按键功能处理程序框图如图 42所示。 图 42启动、停止键功能处理框图 电机正反转控制键。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。