田光烈三级片_ -|五鼎烹├玛曲财政局
淘宝减肥药排行榜十强
只推淘宝安全有效的减肥药

当前位置:田光烈三级片 > 减肥产品

田光烈三级片

时间:2020-07-01 21:52  编辑:耒阳疫情

田光烈三级片

毕业设计说明书

XXX

学生姓名:学号:

学院:

专业:

指导教师:

2016年5月

基于Protues的步进电机控制系统设计

摘要

本文设计了一种基于Protues软件的步进电机控制系统,该系统由AT89C52主控模块,LCD1602液晶显示模块,按键控制模块,步进电机模块,步进电机驱动模块构成,由AT89C52单片机产生驱动脉冲信号,来控制步进电机的运动状态,按键设定可以控制步进电机的步进方向和步进速度,并在LCD1602液晶上实时显示步进角度,步进方向以及当前速度,该设计采用仿真软件protues进行电路图的绘制并进行仿真,整个系统采用模块化设计,结构简单,具有很强的可靠性以及稳定性。

关键词:AT89C52;步进电机;LCD1602;Protues;按键

Basedonprotuessteppingmotorcontrolsystemdesign

Abstract

ThispaperdesignsakindofsteppingmotorcontrolsystembasedonProtuessoftware,thesystemconsistsofmaincontrolmodule,AT89C52LCD1602LCDdisplaymodule,thekeycontrolmodule,steppermotormodule,steppermotordrivermodule,drivepulsesignalgeneratedbythesinglechipmicrocomputerAT89C52,tocontrolthemovementofstepmotor,setkeyscancontrolthesteppermotorstepanddirectionandstepspeed,andreal-timedisplayontheLCD1602LCDstepperAngle,stepanddirectionandthecurrentspeed,thedesignadoptstheProtuessimulationsoftwareofcircuitdiagramdrawingandcarryonthesimulationofthewholesystemUSESmodulardesign,simplestructure,strongreliabilityandstability.

Keywords:AT89C52;Steppingmotor;LCD1602;Protues;keys

1引言

随着经济和科学技术的发展,步进电机的应用范围越来越广泛。步进电机是一种高精度的电机执行元件,在农业、工业、智能控制领域应用的非常广泛。它的使用能提高系统的可靠性。常见的仪器如复印机、传真机、打字机、FDD、监视摄影机、照明装置、自动机械、游戏机、医疗机械等都用到了步进电机

本次毕业设计中使用了电路分析与仿真软件-Protues,设计者可以根据设计需要搭建开发平台,可以将在编译器中编译好的程序加载到芯片中运行。Protues软件目前支持的编译器有Keil、IAR等。Protues软件有大量的元件库,支持大型设计,在仿真中可以观察各元件的状态。将需要的程序在Protues软件中仿真,调试好功能,再导入到相应的硬件电路中,这样可以缩短开发产品周期,降低研发成本。

2系统方案设计及论证

2.1设计要求

本次设计,通过编程控制单片机,实现对四相步进电机转动的控制,控制电机实现正转、反转、加速与减速运行。

整个控制系统的工作过程是:通电之后,电机按照程序设计的转速和转动方向转动。当按下正(反)转按键时,通电后电机实现正(反)转;按下加速按键电机加速转动;按下减速按键电机减速转动

2.2系统总体方案

图2.1总体设计方案

本次设计了使用AT89C52单片机作为控制核心的四相步进电机的开环控制系统。系统总体设计方案如图2.1所示,整个步进电机控制系统以单片机为控制核心,单片机产生的脉冲信号通过功率放大器放大之后驱动步进电机转动。通过控制键盘控制部分的四个按键,可以控制步进电机正转、反转、加速、减速。为了提高控制的准确性,本次设计使用了两个外部中断,

本设计通过单片机与硬件相结合实现了单片机对步进电机的精确控制和旋转方向的控制。从步进电机控制系统的设计要求可知,需要控制步进电机的转动速度和方向。对于加减速的变化控制,通常采用按键来控制速度,所以只要2个电源线,再加上一个方向线框,一根启动线可以了,所以键盘控制部分设置需要四个按键。四个键分别控制电机的正转、反转以及电机的加速和减速运行。

2.3设计方案的论证

2.3.1单片机模块的选择与论证

从学校实验室现有的设备和单片机的性价比考虑,本次设计可以选择的单片机有AT89S52单片机和AT89C52单片机。

AT89C52是一种低功耗,高性能CMOS8位8K的闪存可编程和可擦除只读存储器(PEROM)字节的微型计算机。单片机本身带有8K字节闪存,256Kb的RAM,32个I/O接线端,两个16位的定时器/计数器,二个五向量两级中断结构,一个全双工串行口,片上振荡器和时钟电路。掉电模式保存RAM的内容,但冻结振荡器关闭,直到下一个硬件复位芯片其它功能。

通过比较AT89S52单片机和AT89C52单片机两种单片机的性能和价格,AT89C52单片机CPU集成在单片机的8位闪存芯片上,这样提供了一个高度灵活的嵌入式应用系统。所以本次电路设计中选用AT89C52型号的单片机。

2.3.2电机驱动模块的选择与论证

方案一:集成驱动芯片。L298N是高电压和高电流全桥驱动。具有高频率、低静态电流、输出电流大、电路简单、散热效果好等特点,不容易烧坏,而且还带有控制使能端。

L298N芯片抗干扰能力强,具有信号指示和续流保护功能。光电隔离技术的应用,使L298N芯片可以控制2台直流电机或步进电机,速度控制,可以很容易实现正反转。该芯片是用于电动马达驱动,操作方便,稳定性好,性能好。

方案二:分立元件组成驱动电路。使用三极管元件搭建电路,电路比较复杂,并且静态电流较大,参数需要调试。搭建的电路功率小,散热性能也不好,同时饱和导通压降小。但是由分立元件构成电路价格低廉,所以在实际中应用比较广泛。但是这种电路存在工作性能不够稳定的缺点。

基于以上的分析和比较,我们发现,方案2采用分立元件构成驱动H桥电路相应的功率管驱动电路和匹配,虽然功率较大,但电路复杂,不符合应用程序的要求。故本系统采用方案一的芯片。

3硬件电路设计

3.1硬件设计概述

本次设计的硬件电路主要包括单片机最小系统、步进电机驱动电路、显示电路及控制电路四大部分。单片机最小系统主要是为了让单片机正常工作。步进电机驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。显示电路可以显示转速和电机的工作状态。控制电路主要由开关和按钮组成,由设计人员根据相应的工作操作。

3.2AT89C52单片机最小系统设计

图3.1单片机最小系统

最小系统是一个可以用最少的组件来工作的系统。本次设计中单片机最小系统主要由单片机、晶振电路、复位电路三部分组成。晶振频率为12MHz。图3.1为本次设计中单片机最小系统。

3.3步进电机驱动模块设计

3.3.1步进电机

(1)步进电机

步进电机可以将电脉冲信号转换为线位移或角位移。给步进电机一个脉冲信号,它就可以转动一个角度,这种工作方式比较适合用单片机进行控制。由于步进电机工作原理的特殊性,它必须通过调节脉冲信号的频率和个数来控制。由于步进电机的转动角度和转速取决于脉冲信号的频率和个数,它每接收到一个脉冲信号,就转动一个角度。所以步进电机的精度很高,在系统开环情况下就能实现高精度的控制,在工业控制领域获得了广泛的应用。由于步进电机的旋转角度是由脉冲输入的数量决定的,所以步进电机也叫数字角转换器。

目前,步进电机的控制主要是由环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等组成。本次毕业设计中采用了低功耗、性价比高的单片机进行电机转动控制,并且使用了软件进行环形脉冲分配。步进电机有多种工作方式。在每个工作模式中,脉冲频率越高,速度越快,但在一定程度上,步进电机不能跟上电机的频率会出现失步现象,因此,脉冲频率必须控制在步进电机允许的范围内。

3.3.2步进电机原理

步进电机在接收到脉冲信号后才能工作,所以不可以直接与交流或者直流电源连接,需要使用驱动器才可以工作。通过程序设计和控制,单片机可以产生环形分配器需要的脉冲序列。脉冲序列是按一定规律分布的,由功率放大器放大的脉冲序列,然后被加载到输入端的步进电机驱动步进电机工作。环形分配器分两大类:第一类,软环形分配器,并通过计算机软件的脉冲序列分配。第二类,硬环形分配器,用硬件构成环形分配器,分配脉冲序列。步进电机在结构上分为三相三步和三三相双拍和三相六拍。

(1)步进电机的速度控制.

如果步进电机送一个控制脉冲,它将是一个步骤,然后发送一个脉冲,这将是一个进一步的步骤。调整步进电机的脉冲频率,可以实现对步进电机进行速度的控制。

(2)步进电机的起停控制

步进电机由于其结构和工作原理的特殊性,运行时会有步进感。为了提高步进电机转动时的平滑性,减小机械振动,可以通过在脉冲信号的上升沿和下降沿采用细分的梯形波来改善这一状况。这样可以减小步进电机的步进角,使得步进电机运行更平稳。

(3)步进电机的加减速控制

在使用脉冲信号驱动步进电机进行工作时,如果脉冲信号变化太快,步进电机的机械结构会由于惯性跟不上脉冲信号的变化,这时候会产生失步和赌转的现象。步进电机起动过程中,输入波形有一个加速过程,在结束时同样存在一个减速波形。步进电机加速加速曲线最理想的指数曲线,整个加速过程和加速过程中频率变化的规律是一个互逆的过程。为了充分利用步进电机的转矩,选定脉冲信号的加减速曲线需要符合步进电机升降过程的运行规律,这样可以缩短升降速时间,防止失步现象。

(4)步进电机换向的控制

步进电机的换向动作必须在电机降速停止或降到突跳频率范围之内进行,这样可以避免产生冲击而损坏电机。脉冲信号需要有一定的脉冲宽度、脉冲序列的均匀度、高低电平方式。步进电机工作时正反向的切换是是由降速→换向→加速3个过程组成的。

步进电机有如下特点:

①步进电机精度很高,适合于开环控制系统。

②步进电机动态响应快,脉冲信号便于控制,使得步进电机容易启动、停止、正反转和变速。

③步进电机的速度可以在一个比较宽的范围内进行平滑调整,低速运行仍然可以得到大量的转矩,所以步进电机可以直接驱动负载。

④步进电机带惯性负载的能力比较强。

3.3.3L297介绍

L297是一款可专门用于步进电机控制的控制芯片,这款芯片可以产生4相的控制信号,芯片本身需要5v电压供电才可以正常工作。通过单片机编程可以来控制步进电机的转速。L297芯片采用双列直插式20引脚封装。引脚图见下图3.2。

图3.2L297芯片引脚图

L297各个引脚的功能说明如下:

第1脚SYNG----斩波器输出端。

第2脚GND----接地端。

第3脚HOME----集电极开路输出端。当此引脚电平有效时,晶体管处于开路状态。

第4脚A----A相驱动信号。

第5脚INH1-----此引脚为控制A相以及B相的驱动极。当此引脚为低电平0时,A相、B相驱动控制处于禁止状态。

第6脚B----B相驱动信号。

第7脚C-----C相驱动信号。

第8脚INH2-----此引脚为控制C相以及D相的驱动级。其作用同INH1。

第9脚D------D相驱动信号。

第10脚ENABLE------使能输入端。当此引脚为低电平时,A相,B相,C相,D相以及INH1引脚,INH2引脚都为低电平。

第11脚CONTROL------此引脚为斩波器功能控制端。当为低电平0时,INH1和INH2工作,当为高电平1时,A,B,C,D工作。

第12脚Vcc------电源输入端,接+5v。

第13脚SENS2-------此引脚为C相以及D相电压反馈输入端。通过绕组电流检测进行反馈。

第14脚SENS1-------此引脚为A相以及B相电压反馈输入端。

第15脚Vref--------此引脚为斩波器的基准电压输入端。

第16脚OSC-------此引脚为斩波器的频率输入端。

第17脚CW/CCW--------方向控制端。控制步进电机的转动方向,当此引脚的电平发生变化时,步进电机反向旋转。

第18脚CLOCK--------步进时钟输入端。当该引脚输入一个低电平时,步进电机步进一个对应增量,该步进在信号的上升沿产生。

第19脚-低电平全步方式,高电平半步方式。

第20脚RESET——复位端。低电平有效。系统初始化。

3.2.4L298简介

L298N是一种双全桥步进电机驱动芯片,主要用于二相以及四相电机的驱动,它内部包含了4信道逻辑驱动电路,同时具有两个H桥的高电压,可用来驱动46V、2A以下的电机。其引脚排列如图3.3所示。

图3.3L298引脚图

3.3.5步进电机驱动模块设计

图3.4步进电机驱动电路图

步进电机直接连接交流或者直流电源时不会运动,必须与驱动电路同时使用才能发挥其功能。驱动电路由决定顺序的控制电路与控制电路输出功率的换相电路组成。本次步进电机的驱动电路由L297和L298芯片构成,步进电机驱动电路图如图3.4所示。L297的四相输出接L298N电机驱动芯片的OUT1、OUT2和OUT3、OUT4,在ENA、ENB两个使能端为高电平,控制器只要控制4个输入端的电平高低,就能实现小车的正转、反转等动作。

3.4液晶显示模块设计

图3.4液晶显示模块电路连接图

本次设计选择了LM016L液晶模块,电路连接如图3.4所示。LM016L模块引脚说明如下:

第1脚:VSS接地。

第2脚:VDD接5V正电源。

第3脚:VO为液晶对比度调整端口,用来调整显示器的对比度,在使用时一般通过外接一个10K的电位器来调整对比度。

第4脚:RS指令/数据寄存器选择端口。

第5脚:R/W,信号读写选择端口。

第6脚:E端为使能信号端,当该端口信号由1跳变为0时。液晶显示模块开始进行工作。

第7~14脚:8位数据传输口。

第15脚:背光源正极。

第16脚:背光源负极。

本次设计中显示部分用的是XXX模块,XXX模块的数据端与单片机通过P1口的P1.0~P1.7连接,显示步进电机的转速和方向。

3.5控制电路设计

图3.5控制电路原理图

本设计中设置了步进电机的四种运动状态,分别为正转,反转,加速,减速,分别由四个按键开关控制,REV,FWD按键控制电机的正转和反向。当REV、FWD的电平发生变化时,单片机检测P3.4和P3.5的电平状态从而进行电机的正反转控制。图3.5为步进电机控制部分电路原理图。表1为四相单四拍脉冲分配表,表2为四相双四拍脉冲分配表。

步进电机的工作是由输入电机的脉冲频率来控制步进电机的转速,通过REV、FWD的开关来控制控制电机的加速度,根据按键次数来控制中断的次数,从而改变速度值存储区中的数据,进而改变了步进电机的输出脉冲频率最终改变了电机的转速。

3.6总体电路图

总电路图如图12所示。

图3.6总体电路图(包括显示电路图)

步进电机的总体电路如图3.6所示,硬件电路设计部分,以AT89C52单片为核心控制器件,设计了步进电机控制系统。整个硬件部分由单片机最小系统、步进电机驱动电路、液晶显示电路、控制电路和电源部分组成。

4程序设计及仿真

通过对步进电机控制系统的分析,单片机需要控制步进电机随时实现正转、反转、加速、减速,本次采用了效率较高的中断方式来实现。源程序由主程序,定时器中断程序,外部中断1以及外部中断0等四部分组成。主程序的主要作用对系统进行初始化设置以及开关检测。当开关闭合时系统开始进行工作,反之,当开关断开后系统就停止工作。

4.1主程序框图

图4.1程序流程框图

程序流程框图如图4.1所示。系统在进行工作时需要先进行初始化设置,初始化完成后进行定时器设置,当定时器T0工作时,步进电机进入正转运行状态,LCD1602进行实时显示步进电机的转速以及运行状态,同样,当定时器T1工作时,步进电机进入反转运行状态,液晶显示反转转速以及反转状态。中断0触发后进行减速控制,中断1触发后进行加速控制,液晶显示模块进行速度以及运动状态的显示。根据定时器中断次数来判断步进电机的运行方向,进而控制正反转改,通过按键来确定外部中断,进而改变步进电机输出脉冲频率,即改变了电机的转速。当按正转控制按键时,步进电机进行正转,转速为400n/min,当按反转控制按键时,步进电机进行反转,转速依然为400n/min,当按减速控制按键时,步进电机减速,转速为303n/min,当按加速控制按键时,步进电机加速,转速为500n/min,不断按加速按键或者减速按键,步进电机速度会进行步进加速或者减速。

4.2程序下载以及软件说明

本设计采用的编程软件为keil,采用的仿真软件为Protues,同时采用keil与Protues级联调试仿真的步骤如下:

1.keil中新建工程,同时新建c文件,点击保存,并将c文件添加到所建工程中。

2.在所建c文件中编写程序,编写完成后点击编译,若编译出错,检查程序是否有语法以及格式错误并进行修改,直至编译无报错。

3.点击输出文件设置快捷按钮output,勾选生成HEX文件,重新进行编译。

4.Protues中新建原理图文件,根据所需器件进行原理图的绘制。

5.双击AT89C52单片机,然后在弹出对话框中选择由keil软件生成的HEX文件,点击ok。

6.单击Protues中的仿真按钮进行仿真。

7.点击正转控制按键,按键导通,步进电机进行正转,显示模块显示点击速度以及运动状态,同样,其他状态也依此方式进行仿真。

4.3仿真结果

将编写好的C语言程序在keil软件中运行,并修改错误,直至最后没有警告和错误,然后进行编译生成HEX文件,然后与Protues软件连接,导入Protues软件。图4.2-4.5是硬件电路在Protues软件中的仿真结果界面。

图4.2正转仿真结果

图4.2是步进电机正转仿真结果,闭合原理图上的FEED按键,点击Protues软件的运行按钮。电路图上的各个接线引脚会呈现动态的彩色,步进电机正转,液晶显示器上显示字符REV(正转),转速400r/min,

图4.3反转仿真结果

图4.3为步进电机反转仿真结果,闭合原理图上的REV按键,点击Protues软件的运行按钮,电路图上的各个接线引脚会呈现动态的彩色,电机进行反转,液晶显示器上显示FZ(反转),转速400r/min,。

图4.4加速仿真结果

图4.4为步进电机加速转动的仿真结果图。闭合原理图上的FEED按键,点击Protues软件的运行按钮,电路图上的各个接线引脚会呈现动态的彩色,步进电机反转。点击原理图上的SPEED按键,步进电机加速转动,液晶显示器上显示FZ(反转),速度由400r/min变为500r/min.

图4.5减速仿真结果

图4.5为步进电机减速转动的仿真结果图,闭合原理图上的FEED按键,点击Protues软件的运行按钮,电路图上的各个接线引脚会呈现动态的彩色,步进电机反转。点击原理图上的SOLWDOWN按键,步进电机减速转动,液晶显示器上显示FZ(反转),速度由400r/min变为300r/min.

从图4.2-4.5,可以看出本次设计的控制系统完全实现了设计要求的功能:电机正转以及反转,加速,减速运行。满足设计要求。

将C语言程序在Keil中编译之后导入到Protues软件中运行,发现设计的电路可以正常工作,实现了论文要求的功能,步进电机可以正常的正转、反转、加速和减速。但是由于本次设计时间比较仓促,加上硬件和软件条件的不足,整个步进电机控制系统的讨论不够详细,步进电机转速控制的精度还需要进一步提高。由于选择的器件的原因,相关实验做得不够完善,后续有待进一步的提高。同时本次毕业设计中,对电源供电部分的设计也比较粗放。在实际的电路板制作中,外界的供电电压不可能正好适合电路中的芯片电压,需要用电压转换芯片对电路的电压进行转换,同时需要考虑电压转换芯片的功耗和功率,这些都是以后在实际应用中需要继续研究的问题。

5总结

本次毕业设计从选题到系统功能的实现,是一个让人不断进步和成长的过程,不仅端正了我的学习态度,还增强了我对电路设计的兴趣。做毕业设计的整个过程,我学习到了很多新知识,从开始对单片机很肤浅的了解到整个电路的设计;从对编程没有信心甚至是惧怕到独立编写单片机的控制程序并实现其功能等,这对我都是莫大的鼓励,也增强了我的自信心。经过自己认真学习C语言编程知识,学习keil软件知识,从开始编写出简单的程序,到最后编写出复杂的单片机程序是一个不断进步的过程。整个毕业设计中感谢指导老师和身边的同学对我的帮助和督促。

在电路软件的设计与调试过程中,我学习到了许多以前不曾接触到的知识,增长了编程经验。同时体会到知识不仅在于应用,更是一个学习和积累经验的过程,这不仅需要对工作内容有充分的认识,也需要严谨,认真和坚忍不拔的精神。整个过程让我学习到了很多,也给我以后的工作和生活态度产生了重要的积极影响。

以后涉及到步进电机的控制系统将会越来越智能化、微型化以及网络化。本设计对步进电机控制以及应用所做的研究有所不足,我们会在现有的基础上,不断的进行创新以及改进,创造新的技术和方法,最终将它们运用到实际工业生产中,获取最大的经济效益。

附录A部分程序代码

#include"AT89C52.h"

intdelay();

voidinti_lcd();

voidshow_lcd(int);

voidcmd_wr();

voidShowState();

voidclock(unsignedintDelay);

voidDoSpeed();//计算速度

//正转值

#defineRIGHT_RUN1

//反转值

#defineLEFT_RUN0

sbitRS=0xA0;

sbitRW=0xA1;

sbitE=0xA2;

charSpeedChar[]="Speed(n/min):";

charStateChar[]="Runstate:";

charSTATE_CW[]="FZ";

charSTATE_CCW[]="REV";

charSPEED[3]="050";

unsignedintRunSpeed=50;//速度

unsignedcharRunState=RIGHT_RUN;//运行状态

main()

{/*定时器设置*/

TMOD=0x66;//定时器0,1都为计数方式;方式2;

EA=1;//开中断

TH0=0xff;//定时器0初值FFH;

TL0=0xff;

ET0=1;

TR0=1;

TH1=0xff;//定时器1初值FFH;

TL1=0xff;

ET1=1;

TR1=1;

IT0=1;//脉冲方式

EX0=1;//开外部中断0:加速

IT1=1;//脉冲方式

EX1=1;//开外部中断1:减速

inti_lcd();

DoSpeed();

ShowState();

while(1)

{

clock(RunSpeed);

P0_1=P0_1^0x01;}}

//定时器0中断程序:正转

voidt_0(void)interrupt1

{RunState=RIGHT_RUN;

P0_0=1;

P1=0x01;

cmd_wr();

ShowState();}

//定时器1中断:反转

voidt_1(void)interrupt3

{RunState=LEFT_RUN;

P0_0=0;

P1=0x01;

cmd_wr();

ShowState();

}//中断0:加速程序

voidSpeedUp()interrupt0

{if(RunSpeed>=12)

RunSpeed=RunSpeed-2;

DoSpeed();

P1=0x01;

cmd_wr();

ShowState();

}//中断1:减速程序

voidSpeedDowm()interrupt2

{if(RunSpeed。

猜你喜欢

最安全有效的减肥药

最安全有效的减肥药

编辑:小徐

现在的减肥药真的是真假难分,在选择减肥药的同时也应该更加小心,减肥药多种多样,那么如何才能选择最安全有效的减肥药,也成了很多小仙女的内心疑问,下面就跟着田光烈三级片小编一起看一下,如何选择最安全有效的减肥药。 最安全有效的减肥药选购方法 1、首先需要观察产品的外包装,在包装中可以看到其配方是不是含有激素,含有激素的减肥药对身体的内..

吃减肥药失眠

吃减肥药失眠

编辑:小徐

随着现在流行以瘦为美,很多人会不顾身体的健康选择减肥药,达到快速减肥瘦身的效果,但是很多减肥药都是有副作用的,副作用比较轻的就是失眠现象,那么吃减肥药出现失眠是怎么回事儿?如果出现失眠后,我们应该怎样缓解? 吃减肥药失眠是怎么回事 减肥药中富含安非他命,所以减肥药服用了太多会有失眠现象,服用减肥药期间,身体会逐渐出现抗药性,身..

最新文章