基于单片机的步进电机控制系统设计课程设计说明.doc

上传人:龙*** 文档编号:4120950 上传时间:2019-09-27 格式:DOC 页数:33 大小:4.90MB
下载 相关 举报
基于单片机的步进电机控制系统设计课程设计说明.doc_第1页
第1页 / 共33页
基于单片机的步进电机控制系统设计课程设计说明.doc_第2页
第2页 / 共33页
基于单片机的步进电机控制系统设计课程设计说明.doc_第3页
第3页 / 共33页
基于单片机的步进电机控制系统设计课程设计说明.doc_第4页
第4页 / 共33页
基于单片机的步进电机控制系统设计课程设计说明.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、1 引言 1.1 课题研究的目的和意义 步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或 线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频 率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简 单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众 多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需 求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。 1.2 国内外研究概况 步进电机是国外发明的。中国在文化大革命中已经生产和应用,例如江苏、 北京都生产,而且都在各行业使用,驱动电路所有半

2、导体器件都是完全国产化的, 当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器, 环形分配器。 国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为 从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来 比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。 一些少数高级的应用,就用空心转杯电机,交流电机。 国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备, 打印机,复印件,速印机,银行自动柜员机。国外用许多现代的手段将步进电机 排挤出驱动应用,除了前面提到的旋转编码器,打印机还使用光电编码带或感应 编码带

3、配合直流电动机,实现闭环直线位移控制。 国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交 流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理 论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。 在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就 生产了环形力矩电机,在高品质的控制场合,有时还不能使用步进电机。步进电 机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量 控制相比,难度要低得多。 2 步进电机与单片机简介 2.1 步进电机介绍 2.1.1 步进电机概述 步进电机是一种将电脉冲转化为角位移的执行

4、机构。通俗一点讲:当步进驱 动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度 (及步进角) 。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的; 同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目 的。一般步进电机的精度为步进角的 3-5%,且不累积。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载 的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受 负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性 关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、 位置等控

5、制领域用步进电机来控制变的非常的简单。 正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定 频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压 波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适 合于微机控制。 本次课程设计采用的是步距角为 1.8 度的四相八拍永磁式步进电机。 步进电机的基本参数: (一)步进电机的静态指标术语 1、相数:产生不同对 N、S 磁场的激磁线圈对数。常用 m 表示。 2、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用 n 表示,或指电机转 过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即 AB

6、-BC-CD- DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A. 3、步距角:对应一个脉冲信号,电机转子转过的角位移用 表示。=360 度 (转子齿数*运行拍数) ,以常规二、四相,转子齿为 50 齿电机为例。四拍运行时 步距角为 =360 度/(50*4)=1.8 度(俗称整步) ,八拍运行时步距角为 =360 度/(50*8)=0.9 度(俗称半步) 。 4、定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐 波以及机械误差造成的) 5、静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力 矩。此力矩是衡量电机体积(几何尺寸)的

7、标准,与驱动电压及驱动电源等无关。 虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减 小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械 噪音。 (二)步进电机动态指标及术语: 1、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比 表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在 5%之内,八 拍运行时应在 15%以内。 2、失步:电机运转时运转的步数,不等于理论上的步数。称之为失步 3、失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调 角产生的误差,采用细分驱动是不能解决的。 4、最大空载起动

8、频率:电机在某种驱动形式、电压及额定电流下,在不加负载的 情况下,能够直接起动的最大频率。 5、最大空载的运行频率:电机在某种驱动形式,电压及额定电流下,电机不带负 载的最高转速频率。 6、运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线 称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依 据。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取 决于电机运行时的平均电流(而非静态电流) ,平均电流越大,电机输出力矩越大, 即电机的频率特性越硬。 要使平均电流大,尽可能提高驱动电压,使采用小电感 大电流的电机。 7、电机的共振点:步进电机均

9、有固定的共振区域,二、四相感应子式步进电机的 共振区一般在 180-250pps 之间(步距角 1.8 度)或在 400pps 左右(步距角为 0.9 度) ,电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振 区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低, 一般工作点均应偏移共振区较多。 8、电机正反转控制:当电机绕组通电时序为 A-AB-B-BC-C-CD-D-DA 时为正转,通 电时序为 DA-D-CD-C-BC-B-AB-A 时为反转。 2.1.2 步进电机的工作原理 步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移 或是直线位移,

10、就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进 电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情 况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载 变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对 步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图 1 是该四 相反应式步进电机工作原理示意图 2.1.2.1 所示。 图 2.1.2.1 四相步进电机步进示意图 开始时,开关 SB 接通电源,SA、SC、SD 断开,B 相磁极和转子 0、3 号齿对 齐

11、,同时,转子的 1、4 号齿就和 C、D 相绕组磁极产生错齿,2、5 号齿就和 D、A 相绕组磁极产生错齿。 当开关 SC 接通电源,SB、SA、SD 断开时,由于 C 相绕组的磁力线和 1、4 号 齿之间磁力线的作用,使转子转动,1、4 号齿和 C 相绕组的磁极对齐。而 0、3 号齿和 A、B 相绕组产生错齿,2、5 号齿就和 A、D 相绕组磁极产生错齿。依次类 推,A、B、C、D 四相绕组轮流供电,则转子会沿着 A、B、C、D 方向转动。 单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图 2.1.2.2 所 示。 图 2.1.2.2 步进电机工作时序波形图 2.1.3 步进电机的分

12、类与选择 现在比较常用的步进电机包括反应式步进电机(VR) 、永磁式步进电机(PM) 、 混合式步进电机(HB)和单相式步进电机等。 反应式步进电动机采用高导磁材料构成齿状转子和定子,其结构简单,生产 成本低,步距角可以做的相当小,一般为三相,可实现大转矩输出,步进角一般 为 1.5 度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成, 定子上有多相励磁绕组,利用磁导的变化产生转矩,但动态性能相对较差。 永磁式步进电机转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。 用转子和定子之间的吸引和排斥力产生转动,它的出力大,动态性能好,但步距 角一般比较大。一般为两相,转矩和体积较

13、小,步进角一般为 7.5 度 或 15 度。 混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相: 两相步进角一般为 1.8 度而五相步进角一般为 0.72 度。这种步进电机的应用最 为广泛,它是 PM 和 VR 的复合产品,其转子采用齿状的稀土永磁材料,定子则为 齿状的突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力 大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此 类电机。 步进电机有步距角(涉及到相数) 、静转矩、及电流三大要素组成。一旦三大 要素确定,步进电机的型号便确定下来了。 1、步距角的选择 电机的步距角取决于负载精度的要求,将

14、负载的最小分辨率(当量)换算到 电机轴上,每个当量电机应走多少角度(包括减速) 。电机的步距角应等于或小于 此角度。目前市场上步进电机的步距角一般有 0.36 度/0.72 度(五相电机) 、0.9 度/1.8 度(二、四相电机) 、1.5 度/3 度 (三相电机)等。 2、静力矩的选择 步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力 矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一 的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负 载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一 般情况下,静力矩应为摩擦负

15、载的 2-3 倍内好,静力矩一旦选定,电机的机座及 长度便能确定下来(几何尺寸) 。 3、电流的选择 静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频 特性曲线图,判断电机的电流(参考驱动电源、及驱动电压) 。 2.2 步进电机驱动系统介绍 步进电机不能直接接到交直流电源上工作,而必须使用专用设备步进电 机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度 上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进电 机驱动器和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号, 每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距

16、角,即步进一步。 步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率 的高低。控制器的方向信号决定步进电机的顺时针或逆时针旋转。通常,步进电 机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动 器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机 通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率 很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机 驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁 形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时 迅速停

17、止驱动器和电机的运行。 2.3 单片机原理 2.3.1 单片机原理概述 单片机(single-chip microcomputer)是把微型计算机主要部分都集成在一 块芯片上的单芯片微型计算机。图 2.3.1.1 中表示单片机的典型结构图。由于单 片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提 高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求, 所以单片机在工业过程及设备控制中得到了广泛的应用。 图 2.3.1.1 典型单片机结构图 2.3.2 单片机的应用系统 单片机在进行实时控制和实时数据处理时,需要与外界交换信息。人们需要 通过人机对话,了解系

18、统的工作情况和进行控制。单片机芯片与其它 CPU 比较, 功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内 ROM、RAM、I/O 口 等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。 单片机应用系统的构成基本上如图 2.3.2.1 所示。 图 2.3.2.1 单片机的应用系统 单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、 最小功耗系统、典型应用系统。本设计是设计一款最小应用系统,最小应用系统 是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常 用来构成简单的控制系统,如开关量的输入/输出控制、时序控制等。对于片内有 ROM

19、/EPROM 的芯片来说,最小应用系统即为配有晶体振荡器、复位电路和电源的单 个芯片;对与片内没有 ROM/EPROM 芯片来说,其最小应用系统除了应配置上述的 晶振、复位电路和电源外,还应配备 EPROM 或 EEPROM 作为程序存储器使用。 2.3.3 AT89C51 简介 AT89C51 的主要参数如表 2-3-3-1 所示。 表 2-3-3-1 AT89C51 的主要参数 型号 存储器 EPROM ROM RAM 定 时 器 I/O 串 行 口 中 断 速度 (MH) 其它特点 89C51 4K 128 2 3 1 6 24 低电压 AT89C51 含 EPROM 电可编闪速存储器。

20、有两级或三级程序存储器保密系统, 防止 EPROM 中的程序被非法复制。不用紫外线擦除,提高了编程效率。程序存储 器 EPROM 容量可达 20K 字节。 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微 处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与 工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储 器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效

21、微控制器,为很多嵌入式控 制系统提供了一种灵活性高且价廉的方案。其引脚如图 2.3.3.1 所示。 1、主要特性: 与 MCS-51 兼容 4K 字节可编程闪烁存储器 寿命:1000 写/擦循环 图 2.3.3.1 单片机的引脚排列 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8 位内部 RAM 32 可编程 I/O 线 两个 16 位定时器/计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 2、管脚说明: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管

22、脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口, 当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口 被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程 和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2

23、口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内 部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存 取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1

24、”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: P3 口管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器

25、件时,要保持 RST 脚两个机器周期的高电平时 间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不 变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外 部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时, 将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微 处理器在外部执行状态 ALE 禁止,置位无效。

26、/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将 不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) , 不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于 施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3、I/O 口引脚: a:P0

27、 口,双向 8 位三态 I/O 口,此口为地址总线(低 8 位)及数据总线分时复 用; b:P1 口,8 位准双向 I/O 口; c:P2 口,8 位准双向 I/O 口,与地址总线(高 8 位)复用; d:P3 口,8 位准双向 I/O 口,双功能复用口。 4、振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为 片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信 号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 5、芯片擦除: 整个 EPROM

28、阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在 任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持 两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数 器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器, 禁止所用其他芯片功能,直到下一个硬件复位为止。 3 硬件电路的设计 3.1 系统整图 系统整图如图 3.1.1 所示,本系统采用外部中断方式,p2 口作为信号的输入 部

29、分,p0 口为发光 LCD 显示部分,p1 口作为电机的驱动部分。 图 3.1.1 系统整图 3.2 电源部分 利用 LM7812 和 LM7805 芯片得到 12V 和 5V 的电压,它们的应用要注意以下几 点:(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏; (2)输出电流不能太大,1.5A 是其极限值。大电流的输出,散热片的尺寸要足 够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率 很差。 其中 12V 电压给步进电机供电,5V 电压则给单片机供电。分别如图 3.2.1、图 3.2.2 所示。 (1) 、产生 12V 的电压给步进电机供电 图

30、 3.2.1 12V 电路部分 (2)产生 5V 的电压给单片机供电 图 3.2.2 5V 电路部分 3.3 最小系统 基本电路的最后一个部分是存储器的设置,如果 31 脚接电源,则采用内部存 储器,如果 31 脚接地,则采用外部存储器。将时钟电路、复位电路与单片机连接 并设置好存储器,就构成了最小系统。这是做任何单片机设计都必须有的部分。 如图 3.3.1 所示。 图 3.3.1 最小系统 3.4 驱动部分 此电路是步进电机的驱动部分,我选用的是 ULN2001 芯片来驱动的,ULN2001 系列是一款高耐压,大电流达林顿管驱动器,包含 7 个 NPN 达林顿管。如图 3.4.1 所示。 图

31、 3.4.1 驱动部分 3.5 状态指示部分 状态指示用 P0 口控制 LCD 的显示,STA 显示的是转动的方向,SPD 显示的是 转动的速度,RUN 显示的是机器是否运转,用它来表示步进电机所处的状态。如 图 3.5.1 所示。 图 3.5.1 状态指示部分 3.6 按键部分 本次设计选用的是单片机的 P2 口来控制信号的输入,所以把按键开关和 P2 口连接起来,当按下开关 KEY1 时,相当于给 P2.0 口一个低电平,开始转动;当 按下开关 KEY2 时,相当于给 P2.1 口一个低电平,步进电机反转,相反则正转; 当按下开关 KEY3 时,相当于给 P2.2 口一个低电平,调节转速。

32、如图 3.6.1 所示。 图 3.6.1 按键部分 3.7 时钟部分 时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟 频率来提高 CPU 的速度,本次设计采用的晶振为 12MHz。如图 3.7.1 所示。 图 3.7.1 时钟部分 3.8 复位部分 根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复 位。本例使用上电复位。如图 3.8.1 所示。 图 3.8.1 复位部分 3.9 keil-uvision4 简介及调试 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统,与汇编相比,C 语言在功能上

33、、结构性、可读性、可维护性上有明显的 优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一 个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境 (uVision)将这些部分组合在一起。运行 Keil 软件需要 WIN98、NT、WIN2000、WINXP 等操作系统。如果你使用 C 语言编程,那么 Keil 几 乎就是你的不二之选,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集 成环境、强大的软件仿真调试工具也会令你事半功倍。 2009 年 2 月发布 Keil Vision4,Keil Vision4 引入灵活的窗口管理系统, 使开发人员能够

34、使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制 的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口, 提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的 ARM 芯片, 还添加了一些其他新功能。 2011 年 3 月 ARM 公司发布最新集成开发环境 RealView MDK 开发工具中集成了 最新版本的 Keil uVision4,其编译器、调试工具实现与 ARM 器件的最完美匹配。 C 语言仿真如图 3.9.1 所示。 图 3.9.1 keil-uVision 调试 3.10 proteus 仿真步进电机正转 Proteus 仿真正转局部图。如图 3.

35、10.1 所示。 图 3.10.1 Proteus 仿真正转 3.11 proteus 仿真步进电机反转 Proteus 仿真反转局部图。如图 3.11.1 所示。 图 3.11.1 Proteus 仿真反转 3.12 proteus 仿真总图与 proteus 简介 以下是 proteus 仿真时的各种情况。 1、速度 1 正转。如图 3.12.1 所示。 图 3.12.1 速度 1 正转 2、速度 1 反转。如图 3.12.2 所示。 图 3.12.2 速度 1 反转 3、速度 1 正转停止。如图 3.12.3 所示。 图 3.12.3 速度 1 正转停止 4、速度 2 正转停止。如图 3

36、.12.4 所示。 图 3.12.4 速度 2 正转停止 5、速度 3 正转停止。如图 3.12.5 所示。 图 3.12.5 速度 3 正转停止 6、速度 1 反转停止。如图 3.12.6 所示。 图 3.12.6 速度 1 反转停止 7、速度 2 反转停止。如图 3.12.7 所示。 图 3.12.7 速度 2 反转停止 8、速度 3 反转停止。如图 3.12.8 所示。 图 3.12.8 速度 3 反转停止 9、速度 2 正转。如 图 3.12.9 所示。 图 3.12.9 速度 2 正转 10、速度 3 正转。如图 3.12.10 所示。 图 3.12.10 速度 3 正转 11、速度

37、 2 反转。如图 3.12.10 所示。 图 3.12.10 速度 2 反转 12、速度 3 反转。如图 3.12.11 所示。 图 3.12.11 速度 3 反转 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件件中国。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目 前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单 片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青 睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到 单片机与外围电

38、路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的 完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软 件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等, 2010 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、Keil 等多种编译器。 4 软件设计 4.1 系统开发软硬件环境 与其它的微处理器一样,开发步进电机驱动系统控制程序也需要一套完整的 软件和硬件开发工具。近年来,随着以

39、51 单片机为内核的单片机的不断发展和普 及,国外的一些公司纷纷推出了以 51 单片机为基础的集成开发环境。本次毕业设 计选用的单片机是 AT89C51。 4.2 系统程序框图 系统分为电机正转、电机反转、开始与转速的几部分组成,其主程序框图如 图 4.2.1 所示。 主程序 N Y N Y N 图 4.2.1 系统程序框图 判断正反转 开始 初始化 判断正反转并 xxxxxxian 显 LCD1602 初始化 显示基本字符 判断运行速度并显示 KEY1 是否 按下 显示“OFF”显示“ON” 判断是否 为首次按 键 运行电动机,并 确定延时时间 判断正反转 运行电动机,并 确定延时时间 4.

40、3 系统程序 C 程序: #include “reg51.h“ #include “intrins.h“ #include “absacc.h“ #define busy 0x80 #define uchar unsigned char #define uint unsigned int sbit RS=P23; sbit RW=P24; sbit E=P25; sbit KEY1=P20; sbit KEY2=P21; sbit KEY3=P22; uchar code tab8=0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03; uchar temp; voi

41、d delay(uchar k) uint i,j; for(i=0;ik;i+) for(j=0;j60;j+) ; void test_1602busy() P0=0xFF; E=1; RS=0; RW=1; _nop_(); _nop_(); while(P0 _nop_(); E=1; _nop_(); E=0; void write_1602Command(uchar co) test_1602busy(); RS=0; RW=0; E=0; _nop_(); P0=co; _nop_(); E=1; _nop_(); E=0; void write_1602Data(uchar D

42、ata) test_1602busy(); P0=Data; RS=1; RW=0; E=1; _nop_(); E=0; void init_1602(void) write_1602Command(0x38);delay(5); write_1602Command(0x01);delay(5); write_1602Command(0x06);delay(5); write_1602Command(0x0F);delay(5); write_1602Command(0x0C); void DisplayOneChar(uchar X, uchar Y, uchar DData) YX if

43、(Y)X|=0x40;X|=0x80; write_1602Command(X);write_1602Data(DData); void display_1602(uchar *DData,X,Y) uchar ListLength=0; YX while(X16) DisplayOneChar(X,Y,DDataListLength); ListLength+; X+; void main() uchar i=0;uchar delay_v=100;uchar flag=0; P1=0xFF;P2=0xFF; init_1602(); display_1602(“STA: SPD: “,0,

44、0); display_1602(“RUN: “,0,1); while(1) if(KEY2=1) DisplayOneChar(4,0,Z); else DisplayOneChar(4,0,F); if(KEY3=0) i+;i=i%3; while(KEY3=0) ; switch(i) case 0:delay_v=100; DisplayOneChar(13,0,1);break; case 1:delay_v=75; DisplayOneChar(13,0,2);break; case 2:delay_v=100; DisplayOneChar(13,0,3);break; if

45、(KEY1=0) display_1602(“ RUN:on “,0,1); if(flag=0) if(KEY2=1) temp=0;P1=tabtemp; flag=1;delay(delay_v); if(KEY2=0) temp=6;P1=tabtemp; flag=1;delay(delay_v); if(KEY2=1) temp+;if(temp=8) temp=0; P1=tabtemp;delay(delay_v); if(KEY2=0) temp-;if(temp=0xFF) temp=7; P1=tabtemp;delay(delay_v); else display_16

46、02(“ RUN:off “,0,1); 5 结论 经过为期两周的学习和努力,本次设计顺利完成,具体结论如下: 1、采用单片机作为控制核心,利用其强大的功能,把按键电路和 LCD 显示电路, 电机驱动电路有机的结合起来,组成一个操作方便,交互性强的简单系统。 2、通过系统的设计实现了预期的设计目标,完成了全部的设计任务,具体功能如 下:完成了整个系统的硬件设计和软件编程,能通过按键电路控制步进电机的转 速控制,能实现启动、正转、反转、速度控制;通过编程实现了通过单片机能输 出四相八拍的脉冲控制序列。驱动电路能提供 12V,0.3A 的驱动信号;整个电机 的转速,转动方向等都能通过 LCD 管显

47、示出来;整个的成果形式是最终以步进电 机控制电路板的形式展示出来了。 3、在本设计中作为电机正常工作比较重要的电机驱动模块,本设计中是采用驱动 芯片 ULN2001 来实现的,其特点是成本低,可靠性高,出现问题容易维护,实现 相对容易等特点。 4、在电机工作模式上本设计实现了电机的四相八拍种脉冲控制方式。 后续工作: 1、在本次设计中更多的是注重整体功能的实现,注重的是操作简单,所以本系统 采用了开环控制的方式,电机也是选用的最常用的步进电机。通过在本设计中的 学习和查阅资料,想要得到更高性能的控制,可以选用混合式步进电机,采用闭 环的细分驱动电路。 2、本设计 KEY2 用一个按键控制正反转

48、,观察起来有点困难。建议以后有做类似 设计任务的时候,预先考虑全面,争取一个键控制一个功能。 3、本设计的硬件制作部分完全是实行的手工焊接,没有制作 PCB 板,这样的后果 就是焊接完电路板之后容易出现问题,检查麻烦,而且要是在后期全部制作调试 都完成后再中途出现问题了检查起来是相当的麻烦。所以建议以后有做类似设计 任务或者实际应用的时候,尽量采用 PCB 电路板的形式,这样最大的好处就是硬 件的可靠性高,外观美观简洁,尤其是在大量设计的时候,采用 PCB 电路板成本 也不高,值得采用。 参 考 文 献 1 孙涵芳.MCS-51/96 系列 单片机原理及应用(修订版).北京航空航天大学出 版社

49、.1994 2 李朝青.单片机原理及接口技术(第 3 版).北京航空航天大学出版社.2005 3 周润景、袁伟亭、景晓松.Proteus 在 MCS-51&ARM7 系统中的应用百例.电子 工业出版社.2006 4 张友德.单片微型机原理、应用与实验M.上海:复旦大学出版社,2005. 5 李夙.异步电动机直接转矩控制M.北京:机械工业出版社,1998. 6 王鸿钰.步进电机控制入门M.上海:同济大学出版社,1990. 7 袁任光,张伟武.电动机控制电路选用与 258 实例M.北京:机械工业出版社, 2005. 8 王秀和.永磁电机M.北京: 中国电力出版社,2007. 9 房玉明,杭柏林.基于单片机的步进电机开环控制系统J.电机与控制应用, 2006,33(4):64-64. 10 孙笑辉,韩曾晋.减少感应电动机直接转矩控制系统转矩脉动的

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。