《单片机的步进电机控制设计方案 .docx》由会员分享,可在线阅读,更多相关《单片机的步进电机控制设计方案 .docx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结毕业设计 论文课题名称 基于单片机的步进电机掌握设计同学姓名学号系、年级专业 信息工程系电子信息工程 专业指导老师职称讲 师2021年5月22日可编辑资料 - - - 欢迎下载精品名师归纳总结摘 要本论文主要介绍了基于单片机的步进电机掌握的规章、硬件结构、软件代码的编写及工作原理、以及液晶模块12864LCD 的具体介绍以及指令集。模拟出单片机系统下的步进电机转速掌握,具有任意转速挑选、转动时间、正反转、加速和减速设置、系统低功耗、可实现在线调试等特点。本系统是以单片机为其掌握核心,以有源晶振构成的电路作为时钟信号,通过键盘输入挑选向单片机掌握系统发出步进转动掌握命令,掌握系统
2、接收命令后做出一系列必要的判定后,控电机的转速、转向等。本设计已通过了试验仿真,运行稳固,达到了基本的设计要求。本设计要分为两大块:一块为硬件电路组成部分,一块为软件程序设计部分。在硬件电路里主要包括有源晶振部分、键盘输入掌握部分、电机驱动电路及液晶显示部分等与单片机的接线设计。软件编程方面主要是子程序和主程序的编写,包 括:初始化代码、液晶驱动代码、时间记录代码、表格数据代码等。关键词: 单片机。步进电机。 12864LCD。指令集AbstractThis thesis is mainly introduce the Prepared and working principles about
3、I / 48可编辑资料 - - - 欢迎下载精品名师归纳总结regulation、structure of hardware、software code of stepping motor control based on MCU as well as detail information and instruction set on LCD Module 12864LCD.This thesis also simulates that under the system of single-chip stepping motor speed control has the disadvanta
4、gesof changing speed、 time arbitrary 、 Positive and negative transfer 、 installationof accelerated and deceleration、 low-powersystem and onlinedebugging. Single-chip as core of control and the circuit made up by active crystal as clock signal, the stepper motor speed control system starts to making
5、a series of necessaryjudgment and then control rotate speed and change direction when it receive the command of stepper transfer control from single-chip control system by keyboard. As run steady, this project has already passed the simulation and has achieved the basic purpose.This project consists
6、 of two parties. One is hardware circuit and the other is software programming. In the part ofhardware circuitis include active crystal、control system of keyboard input 、system of motor drive circuit and liquid crystal system. In the second part, Design of connection of single- chip、 software prepar
7、ed is the mainly prepared of Subroutine and Main program including initializationcode 、 liquid drive code 、the timing of recording code form data code8 .Key words: MCU 。stepper motor。12864LCD。 Instruction Set.目 录摘 要 IAbstractI第 1 章 绪论 11.1 课题的来源 11.2 课题讨论的意义 1可编辑资料 - - - 欢迎下载精品名师归纳总结1.3 课题国内讨论现状 11.
8、4 课题讨论的目的和主要内容 2第 2 章 步进电机方案设计与分析 32.1 方案提出 32.2 可行性分析 42.3 主要器件挑选 4第 3 章 系统硬件设计 53.1 AMPIRE128*64 液晶屏介绍 63.2 HD61202 及其指令集介绍 73.3 晶振、复位、驱动电路 83.4 液晶显示屏与单片机接口电路103.5 控键与单片机接口电路11第 4 章 系统软件设计 134.1 电机流程图 134.2 液晶屏驱动代码设计144.3 固定字符显示代码 184.4 中断子程序 194.5 汉字表 194.6 字符表 224.7 延时子程序 224.8 主函数程序 23第 5 章 系统仿
9、真 245.1 Keil2编译环境介绍 255.2 Proteus仿真平台 265.3 建立工程工程 275.4 Proteus中原理图的绘制及文件的加载 325.5 开机界面显示 325.6 掌握界面显示 335.7 仿真结果分析及解决方法 34第 6 章 PCB板设计 356.1 加载网络表及元件封装35可编辑资料 - - - 欢迎下载精品名师归纳总结6.2 PCB 板参数设置 366.3 元件布局及布线设计 38终止语 40参考文献 40致 谢 41附录 总体电路图 41可编辑资料 - - - 欢迎下载精品名师归纳总结第 1 章 绪论1.1 课题的来源步进电机作为执行元件,是机电一体化的
10、关键产品之一,广泛应用在各种自动化掌握系统中。随着微电子和运算机技术的进展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中, 由于步进电机不需要 A/D 转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是抱负的数控机床的执行元件。早期的步进电机输出转矩比较小,无法满意需 要,在使用中和液压扭矩放大器一同组成液压脉冲马达。随着步进电动机技术的发 展,步进电动机已经能够单独在系统上进行使用,成为了不行替代的执行元件。比 如步进电动机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电动 机可以同时完成两个工作
11、,其一是传递转矩,其二是传递信息。步进电机也可以作 为数控蜗杆砂轮磨边机同步系统的驱动电动机。除了在数控机床上的应用,步进电 机也可以并用在其他的机械上,比如作为自动送料机中的马达,作为通用的软盘驱 动器的马达,也可以应用在打印机和绘图仪中。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。相伴着不同的数字化技术的进展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。1.2 课题讨论的意义对基于单片机掌握的步进电机的转速掌握进行设计:一方面是对所学学问的综合运用,可以更好的学习单片机的应用技术,另一方面步进电机可以发挥其结构简洁、牢靠性高和成本低的特点。使用恰当的时候,甚
12、至可以和直流伺服电动机性能相媲美。1.3 课题国内讨论现状上个世纪就显现了步进电动机,它是一种可以自由回转的电磁铁,动作原理和今日的反应式步进电动机没有什么区分,也是依靠气隙磁导的变化来产生电磁转 矩。在本世纪初,由于资本主义列强争夺殖民的,造船工业进展很快,同时也使得步进电动机的技术得到了长足的进步。到了80 岁月后,由于廉价的微型运算机以多可编辑资料 - - - 欢迎下载精品名师归纳总结功能的姿势显现,步进电动机的掌握方式更加敏捷多样。原先的步进电机掌握系统采纳分立元件或者集成电路组成的掌握回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要转变掌握方案就肯定要重新设计电路。运算
13、机就通过软件来掌握步进电机,更好的挖掘出电动机的潜力。因此,用运算机掌握步进电机已经成为了一种必定的趋势,也符合数字化的时代趋势。步进电机和一般电动机不同之处是步进电机接受脉冲信号的掌握。步进电机靠一种叫环形安排器的电子开关器件,通过功率放大器使励磁绕组依据次序轮番接通直流电源。由于励磁绕组在空间中按肯定的规律排列,轮番和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动,随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、安排数、转子齿轮数有关。现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合式步进电机和单相式步进电机等。其中反应式步进电机的转子磁
14、路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现阶段,反应式步进电机获得最多的应用。1.4 课题讨论的目的和主要内容本文针对步进电机掌握的设计,第一介绍了选题的要求,之后具体表达了软件和硬件的设计过程。在时钟脉冲的作用下,各个按键都能依据事先设定好的规章进行掌握。确定键能使界面从初始化显示切换到步进电机显示界面,0-9 十个数字键用来设置转速,正转和反转掌握电机的正反转向,加速和减速键用来掌握转速,以十转为基本单位进行递加或递减,设置键可以设置转向、精确的转速、转动时间,当设置完成是可以用启动键启动。硬件部分是由中心处理器 AT89C51 单片机),掌握部分 独立式按键系统)
15、,显示部分 12864LCD 液晶显示模块)组成的,驱动部分 L298 芯片)。软件部分的主要内容是通过对步进电机的掌握、驱动程序进行编写和调试以实现步进电机的功能。通过硬件和软件调试,并针对问题分析修改后,步进电机系统可以稳固运行。步进电机系统中各个部分之间通过数据的传送最终完成了整个步进电机的运行、显示和进行按键的功能。最终论文对设计进行了总结,对设计中可以进一步改善的的方提出了建议。可编辑资料 - - - 欢迎下载精品名师归纳总结第 2 章 步进电机方案设计与分析2.1 方案提出方案一:采纳基本电路以及相关芯片对步进电机进行掌握。本设计选用PMM8713四相步进电机的脉冲安排器、 SI
16、7300A 四相功率驱动器,组成四相步进电机的驱动电路,步进电机的掌握框图如图 2.2 所示54:图 2.1 方案一框图方案二:用单片机作为步进电机的核心掌握器件,键盘调剂转速、时间等,液晶显示当前状态。系统框图如图 2.2 所示12:图 2.2 方案二框图相较之下用单片机掌握的步进电机要比采纳基本电路掌握的步进电机要简洁很多,在价格上单片机可能略微高上少许,但用单片机后可以省下很多掌握器件,这样看来反而廉价一些了。另外,在高校中我们已经系统的学习了单片机,对单片机的应用编程比较熟悉。可编辑资料 - - - 欢迎下载精品名师归纳总结考虑到以上因素,采纳了其次套方案。以下将会对所选方案的可行性和
17、主要芯片的挑选做系统的介绍。2.2 可行性分析现如今,步进电机广泛应用在生产实践的各个领域,随着步进电动机技术的进展,步进电动机已经能够单独在系统上进行使用,成为了不行替代的执行元件。步进电机结构简洁,但是这种简洁也是相对的,步进电机本身的代码仍是相当纷杂, 它要执行一系列指令才能正确的完成一个简洁的操作,才能依据设计者的意志工 作。那么步进电机能否用单片机实现了?答案是确定的,现从以下几个方面加以说明。第一,我们设计的这个电机是一个功能相对比较简洁步进电机,不像其他的电机那样功能复杂,它只要掌握电机的转速、转动时间及正反转即可,对于实现这样一个功能,程序不是太复杂,用一块单片机足以达到目的。
18、其次,它的控件也比较少只有 10 个数字键和 6 个掌握功能键,这些控键在 Proteus中用弹跳式按键代替即可。第三,电机的显示相对比较小、画面简洁,只有转向、转速、旋转时间等几个汉字,这些在一块稍大的液晶屏上就足以显示。第四,就编程语言方面来说,编写这样一个简洁的步进电机不需要什么高级的语言,C 语言或汇编语言就足以完成,C 语言是一种通用型的语言,编程敏捷、可读性强、移植性好。汇编语言是一种直接面对硬件的基础语言,最接近机器语言,执行速度快。 Atmel 公司的 AT89 系列 , MCS51 内核 。 Microchip 公司的 PIC 系列。 Motorola 公司的 68HCXX
19、系列。Zilog 公司的 Z86 系列 。 Philips 公司的 87,80 系 列, MCS51 内 核。 Siemens 公司的 SAB80 系列, MCS51 内核。 NEC 公司的 78 系列,每种单片机的都有不同, 包括: I/O 口个数、定时 / 计数器个数、数据 / 程序存取区大小、中断源个数、有无 看门狗中断、有无 A/D 转化等等 129。基于本电机的设计只用到了不到20 个 I/O 口。 1 个定时器断。所以挑选了可编辑资料 - - - 欢迎下载精品名师归纳总结Atmel 公司的 AT89C51 单片机。其参数如下: 1、基于 8051 的全静态 CMOS 工艺掌握器。2
20、、3 级流水线指令执行架构。3、32 个 I/O 口。4、2 个定时/ 计数器。5、6 个中断源。6、4K 的闪存程序储备器。7、128 字节的片内数据存取器。由以上参数可知 AT89C51 单片机完全满意设计要求 , 且在成本上较其他类型的单片机有优势。2.3.2 液晶屏的挑选液晶屏的种类也有很多,我们常常用到的液晶屏包括:AMPIRE128*64 。LGM12641BS1R。LM016L 。LM020L 。LM017 L 等等。前两种为不带字库的汉字、图形点阵液晶屏,共 64 行, 128 列,能显示 4 行 8 列 32 个 16*16 点阵汉字或 4 行 16 列 64 个 16*8
21、点阵字符或者最大 128*64 点阵图形。也有带字库的 12864,功能一样。后几种就是带字库的字符点阵,不能显示图形。 LM016L 为能显示 2 行 16 列32 个字符的液晶屏。 LM020L 为能显示 1 行 16 列 16 个字符的液晶屏。 LM017L 为能显示 2 行 32 列 16 个字符的液晶屏。由以上介绍可知, AMPIRE128*64 液晶显示模块表示横向有 128 点,纵向有64 点,可显示 16*16 中文字 4 行,每行 8 个字,很明显,这块液晶屏满意步进电机设计的显示要求,大小也合适。如转速显示、时间显示等,完全满意设计要求。这块液晶和以上的很不一样,它基于T6
22、963C 内核,引脚更多,功能更复杂,指令集也更多 这些相关内容将在下一章具体介绍) 123。第 3 章 系统硬件设计本部分内容包括介绍 AMPIRE128*64 及其引脚功能。介绍 T6963C 指令集。 晶振电路、复位电路的硬件设计。控件及按键电路设计,最终给出步进电机仿真的整体硬件电路图,接下来是具体的说明 156。可编辑资料 - - - 欢迎下载精品名师归纳总结3.1 AMPIRE128*64 液晶屏介绍AMPIRE128*64 是一种具有 4 位/8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块。其显示辨论率为 12864,内置
23、 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集。利用该模块敏捷的接口方式和简洁、便利的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点阵的汉字。也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块,其在 Proteus中的元器件图形如下 6 :图 3.1 AMPIRE128*64各引脚的功能描叙如下表表 3.1 AMPIRE128*64 引脚功能表引脚引脚名称引脚功能描述序列1CS1片挑选,
24、1 有效2CS2片挑选, 1 有效3GND的引脚 ,接的可编辑资料 - - - 欢迎下载精品名师归纳总结4 VCC功能不详,在电路连接时悬空5 V0对比度调剂,输入电压-0 -10V6 RSRS=1 时 DATA为显示数据。 RS=0 时 DATA为指令数据7 RWRW=1为读 LCD内部数据。 RW=0是写数据 到 LCDRW=0、E时 LCD对 RS和数据 DATA进行取样和执行。8ERW=、1 RS0、E时 LCD输出数据到 DATA916D0D7数据引脚,用于液晶屏与单片机之间的数据通信复位引脚,低电平有效,起复位作用,器件内部集成了上拉电阻,正17RST常工作时此引脚接电源18-Vo
25、ut负压输出 显示开 / 关指令R/WDB7DB6DB5DB4DB3DB2DB1D 000111111当 DB0=1 时, LCD 显示 RAM 中的内容。 当 DB0=0 时,显示关闭。 2显示起始行 ROW) 设置指令R/WDB7DB6DB5DB4DB3DB2DB1DB0可编辑资料 - - - 欢迎下载精品名师归纳总结011显示起始行 页Page)设置指令D/1DB7DB6DB5DB4DB3DB2DB1DB0010111页号列的址 Y Address)设置指令D/1DB7DB6DB5DB4DB3DB2DB1DB0011显示列的址 读状态指令D/1DB7DB6DB5DB4DB3DB2DB1D
26、B00USY0ON/OFF REST0000该指令用来查询 HD61202 及其掌握驱动器的状态,各参量含义如下。BUSY:内部在工作 0,正常状态 1。ON/OFF:显示关闭 0,显示打开 1。REST: 复位状态 0,正常状态 1。在 BUSY 和 REST 状态是,除读状态指令外,其他指令均不对HD61202 及其兼容掌握驱动器产生作用。在对 HD61202 及其兼容掌握驱动器操作之前,要查询BUSY 状态,以确定是否队 HD61202 及其兼容掌握驱动器进行操作。 6写数据指令R/WDDB7DB6DB5DB4DB3DB2DB1DB00 写数据 7读数据指令R/WDDB7DB6DB5DB
27、4DB3DB2DB1DB01 读显示数据读、写指令每执行一次读、写操作,列的址就自动增1。必需留意的是,进行读操作之前,必需有一次空读操作,紧接着再读才会读出所要读的单元中的数据。3.3 晶振、复位、驱动电路3.3.1 晶振电路单片机的晶振电路如图 3.2 所示,其中 XTAL1 和 XTAL2 分别为片内振荡电可编辑资料 - - - 欢迎下载精品名师归纳总结路的输入输出端。一般电容取2047uF,本系统晶体的振荡频率为12MHz 。晶振电路产生的振荡脉冲经过内部触发器进行二分频后,成为单片机的时钟脉冲信号,为单片机供应一个基本时钟信号。C1XTAL130pFC2X1CRYSTALXTAL23
28、0pF图 3.2晶振电路3.3.2 复位电路复位操作是单片机的基本操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作,复位操作后,程序将从0000H 开头重新执行。复位信号从单片机的 RST 引脚输入,复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式,本电路采纳了按键电平复位,电路图如图3.3 所示:EAR21kSRC3220uFR11k图 3.3复位电路3.3.3 电机驱动电路步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件, 由于步进电机具有掌握便利、体积小等特点, 所以在数控系统、自动生产线、自动化外表、绘图机和运算机外
29、围设备中得到广泛应用。微电子学的快速进展和微型运算机的普及与应用 , 为步进电动机的应用开创了宽阔前景, 使得以往用硬件电路构成的巨大复可编辑资料 - - - 欢迎下载精品名师归纳总结G S DON R D E D/ST 01234 5671S可编辑资料 - - - 欢迎下载精品名师归纳总结杂的掌握器得以用软件实现 , 既降低了硬件成本又提高了掌握的敏捷性, 牢靠性及多0123456 789功能性。市场上有很多现成的步进电机掌握机构, 但价格都偏高。应用SGS 公司推出的 L298 芯片可便利的组成步进电机驱动器 , 并结合 AT89C51 单片机进行掌握 ,可编辑资料 - - - 欢迎下载精
30、品名师归纳总结IN1IN2VCCVSOUT1IN3 IN4OUT2ENAENBOUT3SENSAOUT4SENSBGND8即可以实现用相对廉价的价格组成一个性能不错的步进电机驱动电路。94U3A B CD5710126112A13A213 A311514 A4L298图 3.4电机驱动电路3.4 液晶显示屏与单片机接口电路液晶显示屏共有 18 个引脚,其中 VCC 、RST 接电源, GND 三脚接的, CS1、CS2 两脚分别接 P2.4、P2.3, DB0DB7 分别与单片机 P0.0P0.7 相连接, RW 与 P2.1 脚相连, RS 与 P2.0 脚相连, E 与 P2.2 脚相连,
31、 V0 滑动变阻器,电如图见图 3.5 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结单片机与 LCD 接口P1U1RP1LCD1AMPIRE128X6419XTAL118XTAL29RSTP0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6P0.7/AD739 0238 1337 2436 3535 4634 5733 6832 79tuTC DP2.0/A8P2.1/A9293031PSEN ALEEAP2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14P2.7/A1521
32、RS22 RW23 E24 S225 S1262728RESPACK-8oV S7 6 5 4 3 2 1-R D D D D D D D D E R R V V G C CB B B B B B B B0W/SC N S S02 18 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1OP1 1 1 1 1 1 1 1 1V7 6 5 4 3 2 10 EW S R R0VP G S S2 1OVRV1K1 K2K3 K4 K5K6 K7 K812345678P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6P1.7P3.0/RXD P3.1/TXD P3.
33、2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WRP3.7/RD10 A11 B12 C13 D14151617%0V051k80C51图 3.5 LCD 与单片机接口3.5 控键与单片机接口电路本设计共有 16 个控件,分别是: 0-9 十个数字键用来设置转速,正转和反转键掌握电机的正反转向,加速和减速键用来掌握转速,以十转为基本单位进行递加或递减,设置键可以设置转向、精确的转速、转动时间,当设置完成是可以用启动键启动。 K1K8 分别与 P1.0P1.7相接,键盘如图 3.6 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下
34、载精品名师归纳总结键盘接口U1RP1P1可编辑资料 - - - 欢迎下载精品名师归纳总结19189293031K11K22K33K44K55K66K77K88XTAL1XTAL2RSTPSEN ALE EAP1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P0.0/AD039 0 2P0.1/AD138 1 3P0.2/AD237 2 4P0.3/AD336 3 5P0.4/AD435 4 6P0.5/AD534 5 7P0.6/AD633 6 8P0.7/AD732 7 9P2.0/A821 RSP2.1/A922 RWP2.2/A1023 EP2.3/
35、A1124 S2P2.4/A1225 S1P2.5/A1326P2.6/A1427P2.7/A1528P3.0/RXD10 AP3.1/TXD11 BP3.2/INT012 CP3.3/INT113 DP3.4/T014P3.5/T115P3.6/WR16P3.7/RD17RESPACK-8可编辑资料 - - - 欢迎下载精品名师归纳总结0123K14567K289正转反转K3加速减速设置启动5K4678KKKK图 3.6键盘接口可编辑资料 - - - 欢迎下载精品名师归纳总结第 4 章 系统软件设计本部分主要介绍步进电机掌握的软件部分设计,包括电机流程图、液晶屏驱动代码设计、初始化代码设计、
36、电机时间代码设计、数据表格设计等几个方面,现就对这几个方面做具体分析。4.1 电机流程图4.1.1 液晶驱动程序调用规章流程图本设计用到了液晶AMPIRE128*64 ,势必用到驱动代码,包括读状态函数。 写指令函数。读数据函数。写数据函数。自动读写函数。显示汉字、字符函数等等,现以流程图的形式给出其相互调用规章DI=0 。RW=1。doDB=0xff 。可编辑资料 - - - 欢迎下载精品名师归纳总结E=1。DB&=0x80 。E=0。whileDB.=0 。4.2.2 写指令程序void Write_com unsigned char comBusy。DI=0 。RW=0。E=1。DB=c
37、om。E=0。4.2.3 写数据程序void Write_datunsigned char datBusy。DI=1 。RW=0。E=1。DB=dat。E=0。4.2.4 写汉字程序void Han_Zibit m,unsigned char page,unsigned char row,unsigned char n可编辑资料 - - - 欢迎下载精品名师归纳总结unsigned char i,j。ifmCS1=0。CS2=1。elseCS1=1。CS2=0。forj=0。jWrite_compage+0xb8+j。Write_comrow+0x40。fori=0 。iWrite_datTab1n16*j+i 。4.2.5 写字符程序void Zi_Fubit m,unsigned char page,unsigned char row,unsigned char nunsigned char i,j。ifmCS1=0。CS2=1。