基于单片机的步进电机控制系统设计--毕业设计
基于单片机的步进电机控制系统设计
摘要:步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
本文介绍的是一种基于单片机的步进电机的系统设计,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2004以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决问题的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
。该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。
关键词:步进电机;脉宽调制;驱动机构;单片机;转动
第 1 页 共 40 页
目录
序言 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????? 1
第1章 绪论?????????????????????????????????????????????????????????????????????????????????????????????????? 2
1.1 课题研究的目的和意义 ??????????????????????????????????????????????????????????????????????????????? 2 1.2 国内外研究概况 ?????????????????????????????????????????????????????????????????????????????????????????? 2 1.3 论文的主要研究内容 ??????????????????????????????????????????????????????????????????????????????????? 3
第 2 章 步进电机与单片机简介 ???????????????????????????????????????????????????????????? 4 2.1 步进电机介绍 ?????????????????????????????????????????????????????????????????????????????????????????????? 4
2.1.1 步进电机概述 ????????????????????????????????????????????????????????????????????????????????????? 4
2.1.2 步进电机的工作原理 ????????????????????????????????????????????????????????????????????????? 6
2.1.3 步进电机的分类与选择 ????????????????????????????????????????????????????????????????????? 8 2.2 步进电机驱动系统介绍 ??????????????????????????????????????????????????????????????????????????????? 9
2.2.1 步进电机驱动系统简介 ????????????????????????????????????????????????????????????????????? 9
2.2.2 步进电机绕组的电气特性 ??????????????????????????????????????????????????????????????? 10 2.3 单片机原理 ???????????????????????????????????????????????????????????????????????????????????????????????? 11
2.3.1单片机原理概述 ???????????????????????????????????????????????????????????????????????????????? 11
2.3.2单片机的应用系统 ???????????????????????????????????????????????????????????????????????????? 12
2.3.3 AT89C51简介 ??????????????????????????????????????????????????????????????????????????????????? 13
第 3 章 系统整体硬件结构 ?????????????????????????????????????????????????????????????????? 17 3.1 系统整图 ???????????????????????????????????????????????????????????????????????????????????????????????????? 17
3.2 电源部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 18
3.3 按键部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 18 3.4 驱动部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 19 3.5 状态指示部分 ???????????????????????????????????????????????????????????????????????????????????????????? 20 3.6 时钟部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 20
第 4 章 系统软件设计 ????????????????????????????????????????????????????????????????????????????? 21 4.1 系统开发软硬件环境 ????????????????????????????????????????????????????????????????????????????????? 21 4.2 系统主程序 ???????????????????????????????????????????????????????????????????????????????????????????????? 21 4.3 查键部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 22 4.4 前进部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 22 4.5 后退部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 23 4.6 加速部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 24 4.7 减速部分 ???????????????????????????????????????????????????????????????????????????????????????????????????? 25
第 5 章 系统的调试与检测 ???????????????????????????????????????????????????????????????????? 26
第 2 页 共 40 页
5.1程序编译时的错误与解决方法 ?????????????????????????????????????????????????????????????????? 26
5.2 LM7812输出电压错误与解决方法 ???????????????????????????????????????????????????????????? 26
5.3 步进电机转动错误及解决方法 ????????????????????????????????????????????????????????????????? 26
5.4 结论与展望 ???????????????????????????????????????????????????????????????????????????????????????????????? 27 参考文献 ?????????????????????????????????????????????????????????????????????????????????????????????????????? 28 致 谢 ???????????????????????????????????????????????????????????????????????????????????????????????????????????? 29 附 录 ???????????????????????????????????????????????????????????????????????????????????????????????????????????? 29
附录1:源程序
清单
安全隐患排查清单下载最新工程量清单计量规则下载程序清单下载家私清单下载送货清单下载
???????????????????????????????????????????????????????????????????????????????????????? 30
附录2:解释 ???????????????????????????????????????????????????????????????????????????????????????????????????? 35
第 3 页 共 40 页
基于单片机的步进电机控制系统设计
序言
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。它是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
本次毕业设计选用的步进电机是四相步进电机,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,并且步进电机所处的状态用相应的发光二极管显示。主要通过三大块来设计,包括驱动电路的设计、状态显示部分和按键部分是设计。可以通过控制脉冲个数来控制角位移量,从而精确地控制转动角度;同时可以通过控制脉冲频率来控制电机转动的角度和加速度,从而达到调速的目的。
本次论文分为六章,序言简要介绍了此次设计中有关步进电机及其驱动器的相关概念。第1章是绪论,主要探讨了步进电机的研究背景和本论文的主要研究内容;第2章步进电机与单片机的原理;第3章系统整体硬件结构;第4章系统的软件设计;第5章系统的调试与检测;最后是参考文献、附录和致谢。通过七章内容的描述,详细介绍了本次毕业设计的内容、方法、以及设计中遇到的问题和解决问题的途径。
第 4 页 共 40 页
第1章 绪论
1.1 课题研究的目的和意义
步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
1.2 国内外研究概况
步进电机是国外发明的。中国在文化大革命中已经生产和应用,例如江苏、浙江、北京、南京、四川都生产,而且都在各行业使用,驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。
国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。一些少数高级的应用,就用空心转杯电机,交流电机。
国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备,打印机,复印件,速印机,银行自动柜员机。国外用许多现代的手段将步进电机排挤出驱动应用,除了前面提到的旋转编码器,打印机还使用光电编码带或感应编码带配合直流电动机,实现闭环直线位移控制。
国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
和应用能力强,先进的控制理论作为软件,写在控制器内部。
总的来说,步进电机是一种简易的开环控制,对运用者的要求低,不适合在大功率的场
第 5 页 共 40 页
合使用。
在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就生产了环形力矩电机,在高品质的控制场合,有时还不能使用步进电机。步进电机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量控制相比,难度要低得多。
1.3 论文的主要研究内容
本论文所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本次毕业设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
第 6 页 共 40 页
第2章 步进电机与单片机简介
2.1 步进电机介绍
2.1.1 步进电机概述
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
本次毕业设计采用的是步距角为1.8度的四相八拍永磁式步进电机。
步进电机的基本参数:
(一)步进电机的静态指标术语
1、相数:产生不同对N、S磁场的激磁线圈对数。常用m表示。
2、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-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 页 共 40 页
矩。此力矩是衡量电机体积(几何尺寸)的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,与驱动电压及驱动电源等无关。
虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
(二)步进电机动态指标及术语:
1、步距角精度:
步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。
2、失步:
电机运转时运转的步数,不等于理论上的步数。称之为失步
3、失调角:
转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。
4、最大空载起动频率:
电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。
5、最大空载的运行频率:
电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。
6、运行矩频特性:
电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。 要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。
7、电机的共振点:
步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。
8、电机正反转控制:
当电机绕组通电时序为A-AB-B-BC-C-CD-D-DA时为正转,通电时序为
第 8 页 共 40 页
DA-D-CD-C-BC-B-AB-A时为反转。
步进电机的特征如下:
1、一般步进电机的精度为步进角的3%-5%,且不积累。
2、步进电机外表允许的最高温度。
步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。
3、步进电机的力矩会随转速的升高而下降。
当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减少,从而导致力矩下降。
4、步进电机低速时可以正常转动,但若高于一定速度就无法启动,并伴有啸叫声。
步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。
步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。 2.1.2 步进电机的工作原理
步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。
第 9 页 共 40 页
图2-1 四相步进电机步进示意图
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的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-2所示:
图2-2 步进电机工作时序波形图
第 10 页 共 40 页
2.1.3 步进电机的分类与选择
现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。
反应式步进电动机采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩,但动态性能相对较差。
永磁式步进电机转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。用转子和定子之间的吸引和排斥力产生转动,它的出力大,动态性能好,但步距角一般比较大。一般为两相,转矩和体积较小,步进角一般为7.5度 或15度。
混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,它是PM和VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机。
步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。
1、步距角的选择
电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度 (三相电机)等。
2、静力矩的选择
步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)。
3、电流的选择
第 11 页 共 40 页
静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)。
4、力矩与功率换算
其功率是变化的,一般只用力矩来衡量,力步进电机一般在较大范围内调速使用、
矩与功率换算如下:
P= Ω?M Ω=2π?n/60 P=2πnM/60
其P为功率单位为瓦,Ω为每秒角速度,单位为弧度,n为每分钟转速,M为力矩单位为牛顿?米
P=2πfM/400(半步工作)
其中f为每秒脉冲数(简称PPS)
2.2 步进电机驱动系统介绍
2.2.1 步进电机驱动系统简介
步进电机不能直接接到交直流电源上工作,而必须使用专用设备——步进电机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。控制器的方向信号决定步进电机的顺时针或逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。
第 12 页 共 40 页
2.2.2 步进电机绕组的电气特性
步进电机各相绕组都是在铁心上的铜线圈,电阻和电感是电机相绕组的两个固有属性,电机的性能和这两个因素密切相关。绕组通电时,电感使绕组电流上升速度受到限制,因此影响电机绕组电流的大小。绕组线圈的电阻是电机温升和电能损耗的主要因素。
图2-3 电感-电阻串联电路及其电流波形
步进电机的相绕组可以等效为一个电感一电阻串联电路。图2-3表明了一个电感一电阻电路的电气特性。在 t=0时刻,电压V施加到该电路上时,电路中的电流变化规律为:
-Rt/L I(t)=V(1-e)/R
通电瞬间绕组电流上升速率为:
di(0)/dt=V/t
经过一段时间,电流达到最大值:
I=V/R max
L/R定义为该电路的时间常数,是电路中的电流达到最大电流I的63%所需要的max时间。在 t=t:时刻,电路断开与直流电压源V的连接,并且短路,电路中的电流以初始速率一V/L开始下降,电流变化规律为:
第 13 页 共 40 页
-R(t-t1)/LI(t)=Ve/R
不同频率的矩形波电压施加到该电路上,电流波形如图3-2所示。低频时电流能够达到最大值(a);当矩形波频率上升达到某一临界频率,电流刚达到最大值就开始下降
(c)。因为步进电机((b):矩形波频率超过此临界值后,绕组中的电流不能达到最大值
转矩的大小与绕组的电流成正比,所以电机低速运行时,电机能够达到其额定转矩,而在某一特定频率以上运行时,绕组电流随着频率的提高逐渐下降,电机转矩也相应逐渐减小,从而降低了高速运转时带负载能力。
图2-4 不同频率脉冲作用下电感-电阻电路的电流波形
要改善电机高速运行时的性能,有两种办法:提高电流上升速度 VA 和减小时间常数 L/R;可以通过加大绕组的电压从而增加电流上升的速率得时间常数。或者在电路中串联电阻,使L/R减少。
2.3 单片机原理
2.31单片机原理概述
单片机(single-chip microcomputer)是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。图2-5中表示单片机的典型结构图。由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备
第 14 页 共 40 页
控制中得到了广泛的应用。
图2-5典型单片机结构图
2.3.2单片机的应用系统
单片机在进行实时控制和实时数据处理时,需要与外界交换信息。人们需要通过人机对话,了解系统的工作情况和进行控制。单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。单片机应用系统的构成基本上如图2-6所示。
图2-6 单片机的应用系统
单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。本设计是设计一款最小应用系统,最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关量的输入/输出控制、时序控制等。对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶体振荡器、复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM作为程序存储器使用。
第 15 页 共 40 页
2.3.3 AT89C51简介
AT89C51的主要参数如表2-1所示:
表2-1 AT89C51的主要参数
型号 存储器 定时I/0 串行中断 速度 其它特
器 口 (MH) 点
E?PROM ROM RAM
89C51 4K 128 2 32 1 6 24 低电压
AT89C51含E?PROM电可编闪速存储器。有两级或三级程序存储器保密系统,防止E?PROM中的程序被非法复制。不用紫外线擦除,提高了编程效率。程序存储器E?PROM容量可达20K字节。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚如图2-7所示。
1、主要特性:
?与MCS-51 兼容
?4K字节可编程闪烁存储器
寿命:1000写/擦循环
图2-7 单片机的引脚排列
第 16 页 共 40 页
?全静态工作:0Hz-24Hz
?三级程序存储器锁定
?128*8位内部RAM
?32可编程I/O线
?两个16位定时器/计数器
?5个中断源
?可编程串行通道
?低功耗的闲置和掉电模式
?片内振荡器和时钟电路
2、管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写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口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外
第 17 页 共 40 页
部下拉为低电平,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:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
3、I/O口引脚:
a:P0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用;
第 18 页 共 40 页
b:P1口,8位准双向I/O口;
c:P2口,8位准双向I/O口,与地址总线(高8位)复用;
d:P3口,8位准双向I/O口,双功能复用口。
4、振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
5、芯片擦除:
整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
第 19 页 共 40 页
第 3 章 系统整体硬件结构
3.1 系统整图
系统整图如图3-1所示,本系统采用外部中断方式,p0口作为信号的输入部分,p1口为发光二极管显示部分,p2口作为电机的驱动部分。
图3-1 系统整图
第 20 页 共 40 页
3.2 电源部分
利用LM7812和LM7805芯片得到12V和5V的电压,它们的应用要注意以下几点:(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;(2)输出电流不能太大,1.5A 是其极限值。大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率很差。 其中12V电压给步进电机供电,5V电压则给单片机供电。分别如图3-2、图3-3所示。
(1)、产生12V的电压给步进电机供电
图3-2 12V电路部分
(2)产生5V的电压给单片机供电
图3-3 5V电路部分
3.3 按键部分
本次设计选用的是单片机的P0口来控制信号的输入,所以把按键开关和P0口连接起来,当按下开关S1时,相当于给P0.0口一个低电平;当按下开关S2时,相当于给P0.1口一个低电平;当按下开关S3时,相当于给P0.2口一个低电平;当按下开关S4
第 21 页 共 40 页
时,相当于给P0.3口一个低电平;当按下开关S5时,相当于给P0.4口一个低电平。然后通过单片机实行相应的操作。如图3-4。
图3-4 按键部分电路
3.4 驱动部分
此电路是步进电机的驱动部分,我选用的是ULN2004芯片来驱动的,ULN2004系列是一款高耐压,大电流达林顿管驱动器,包含7个NPN达林顿管。如图3-5。
图3-5 驱动部分电路
第 22 页 共 40 页
3.5 状态指示部分
状态指示用P1口控制发光二极管的显示,如果相应端口是低电平,相应的发光二极管就会亮,用它来表示步进电机所处的状态。如图3-6。
图3-6 状态指示部分电路
3.6 时钟部分
时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率
来提高CPU的速度,本次设计采用的晶振为12MHz。如图3-7。
图3-7 时钟部分电路
第 23 页 共 40 页
第4章 系统软件设计
4.1 系统开发软硬件环境
与其它的微处理器一样,开发步进电机驱动系统控制程序也需要一套完整的软件和硬件开发工具。近年来,随着以51单片机为内核的单片机的不断发展和普及,国外的一些公司纷纷推出了以51单片机为基础的集成开发环境。本次毕业设计选用的单片机是AT89C51。
4.2 系统主程序
系统分为电机正转、电机反转、电机加速与电机减速的几部分组成,其主程序框图如图4-1所示。
开始
初始化
调按键子程序
调按键子程序 调用正反转
子程序
调用加减速子程序 停止
图4-1 主程序框图
第 24 页 共 40 页
4.3 查键部分
查键程序用于判断P0.0口与P0.1口的值,当p0.0口为0时,电机正转,当p0.0口为1时,继续判断p0.1口的值,p0.1口为0时,电机反转。如图4-2所示。
调按键子程序
P0.0是否为0
N
N
Y
P0.1是否为0
Y
后退 前进
图4-2 查键部分流程图
4.4 前进部分
系统初始化之后,前进子程序R0用于给P2口送不同的值,根据电机转动的相序,使电机正向转动,P2口的值分别为01H,03H,02H,06H,04H,0CH,08H,09H。流程图如图4-3所示。
第 25 页 共 40 页
开始
(R0)+1?R0
延时子程序
N
(R0)是否等于
17H
Y
10H?(R0)
图4-3 前进部分流程图
4.5 后退部分
电机反转原理与正转相似,此时P2口的值分别为09H,08H,0CH,04H,06H,
02H,03H,01H。流程图如图4-4所示。
第 26 页 共 40 页
开始
(R0)—1?R0
延时子程序
N
(R0)是否等于
10H
Y
17H?(R0)
图4-4 后退部分流程图
4.6 加速部分
当电机正转或反转的时候,按下加速键,调用加速子程序,使电机每转动一步
的延时时间变短,从而实现电机的加速。流程图如图4-5所示。
第 27 页 共 40 页
开始
(R1)是否为
25H
N
((R1)+1)?R1
Y
正反转子程序
图4-5 加速部分流程图
4.7 减速部分
电机正转或反转的时候,按下减速键,通过改变电机每转动一步的延时时间,
使时间变长,从而实现电机减速。流程图如图4-6所示。
开始
(R1)是否为
20H
N
((R1)—1)?R1
Y
正反转子程序
图4-6 减速部分流程图
第 28 页 共 40 页
第 5 章 系统的调试与检测
5.1程序编译时的错误与解决方法
把编好的程序(包括正反转程序、停止程序、显示程序等)合理安排好结合到一起进行编译。由于编译只能检查是否存在语法错误,所以还要看是否存在逻辑错误。程序修改好以后,当显示编译0错误,0警告的时候,这说明已经没有语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正常转动,显示是否正常。 5.2 LM7812输出电压错误与解决方法
电路的工作离不开电源,所以电源是必不可少的。电源采用的是利用变压器将220V的电压转换为12V的电压,再利用桥堆整流使交流电变成直流电,最后分别利用LM7812和LM7805芯片得到12V和5V的电压。
电路板焊接好以后,首先要检查一下电路设计是否合理、元器件焊接是否正确,焊接好以后需要仔细检查。用万用表分别检测从7812和7805第三个端口出来的是否是12V和5V,结果发现7805两端电压正常,7812两端电压非常不稳定。用万用表仔细检查了每根线,发现了原因,电路板存在虚焊的现象。再次将电路板焊好,检查好以后,用万用表检测两端输出电压,结果正确,电源准备工作完毕。
5.3 步进电机转动错误及解决方法
步进电机一开始不能正常转动,以为是电路焊接有问题,为了防止再次出现虚焊,首先将电路板用万用表检查了一遍,没问题。程序也是正确的。后来仔细看了步进电机工作原理,原来步进电机要正常实现正反转,四个相序必须弄清。把电机接上电源,用高电平分别接触电机的引线,每接触一下电机就会向前或向后转动一下,经过几次试验,终于搞清了电机的四个相序,排列顺序分别是1—A,2—C,3—B,4—D。弄清了相序,把电路板重新布线,焊接好,结果电机能够正常转动了。
第 29 页 共 40 页
5.4 结论与展望
本次毕业设计能够实现步进电机的启停、正反转以及速度的调节,通过本次毕业设计加强了我对软件编程和硬件设计的掌握,并且熟悉了ULN2004、74ls11等芯片。步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等,所以说步进电机有着广阔的市场和远大的发展前景。
第 30 页 共 40 页
参考文献
[1]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2005. [2]李夙.异步电动机直接转矩控制[M].北京:机械工业出版社,1998. [3]王鸿钰.步进电机控制入门[M].上海:同济大学出版社,1990. [4]袁任光,张伟武.电动机控制电路选用与258实例[M].北京:机械工业出版社,2005. [5]王秀和.永磁电机[M].北京: 中国电力出版社,2007.
[6]房玉明,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用,2006,33(4):64-64.
[7]孙笑辉,韩曾晋.减少感应电动机直接转矩控制系统转矩脉动的方法[J].电气传动,2001,(1):8-11.
[8]冯江华,陈高华,黄松涛.异步电动机的直接转矩控制[J].电工技术学报,1999,(6):29-33.
[9]江一,朱凌,申仲涛.异步电动机直接转矩控制仿真研究[J].华北电力大学学报,2003,(1):10-13.
[10]韩利虎. 浅谈步进电机的基本原理[J]. 内蒙古石油化工, Inner Mongolia
Petrochemical Industry, 2007,(11):109.
[11]张巍. 浅谈单片机控制步进电机[J]. 安防科技,2006,(3): 25. [12] 乔璐.,景林,韩英桃.一种实用的步进电动机驱动器设计[J].微特电机,2005,(10):29-31.
[13] 康晶.采用反馈控制的步进电机高低压驱动电路[J].电力电子技术,2003,37(1):61-62,65.
第 31 页 共 40 页
致谢
首先诚挚的感谢我的论文指导老师何忠胜老师,从选题的确定、论文的写作、修改到最后定稿过程中,自始至终都倾注着老师的心血。特别是他多次询问写作进程,并为我指点迷津,帮助我开拓思路,老师以严谨的治学之道、宽厚仁慈的胸怀、积极乐观的生活态度,兢兢业业、孜孜以求的工作作风和大胆创新的进取精神为我树立了一辈子学习的典范,他的教诲与鞭策将激励我在学习和生活的道路上励精图治,开拓创新。他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。我以最诚挚的心意感谢何忠胜老师。
在毕业设计期间,我要感谢许多让我分享他们宝贵经验和知识的老师,教会我正确的思考方式。同时,也要感谢在论文写作过程中,帮助过我、并且共同奋斗三年的大学同学们,能够顺利完成论文,离不开他们的帮助,在此表示最深的谢意。
第 32 页 共 40 页
附录
附录1:源程序清单
QIAN EQU 40H
HOU EQU 41H JIA EQU 42H
JIAN EQU 43H
TING EQU 44H
ORG 000H
LJMP MAIN
ORG 003H
LJMP DUAN /// 外部中断0
ORG 0030H
MAIN: ///初始化
MOV R0,#0FH
MOV 10H,#01H
MOV 11H,#03H
MOV 12H,#02H
MOV 13H,#06H
MOV 14H,#04H
MOV 15H,#0CH
MOV 16H,#08H
MOV 17H,#09H
MOV 20H,#50
MOV 21H,#40
MOV 22H,#30
MOV 23H,#20
第 33 页 共 40 页
MOV 24H,#10
MOV 25H,#5
MOV R1,#20H
MOV IE,#10000001B
CLR QIAN
CLR HOU
CLR JIA
CLR JIAN
CLR TING
MOV A,@R1
MOV R2,A
SETB IT0 ////边沿触发形式
LOOP1:JNB QIAN ,LOOP2
ACALL FRONT1
LOOP2:JNB HOU,LOOP1
ACALL BACK1 DUAN: MOV A,P0
CPL A
ANL A,#1FH ///去高三位,使按下去的一位为1
CJNE A,#00H,CHA
AJMP DUAN
CHA: ACALL DELAY10MS
MOV A,P0
CPL A
ANL A,#1FH
JZ DUAN ///为零转移
ACALL ZHAO
RETI
ZHAO:MOV A,P0 //查找是哪一位,下面置1
第 34 页 共 40 页
JNB ACC.0,FRONT
JNB ACC.1,BACK
JNB ACC.2,FAST
JNB ACC.3,SLOW
JNB ACC.4,STOP FRONT:SETB QIAN
RET
BACK: SETB HOU
RET
FAST: SETB JIA
RET
SLOW: SETB JIAN
RET
STOP: SETB TING
RET
FRONT1:CLR QIAN
CLR HOU
CLR JIA
CLR JIAN
CLR TING
INC R0 ///前进子程序 R0用于给P2口送不同的值
MOV P2,@R0
MOV A,@R1
MOV R2,A /// R2用于延时不同的时间
ACALL DELAY
CJNE R0,#17H,XIA
MOV R0,#10H XIA: JB QIAN,HUI //回主程序////////XIA子程序用于过度
JB HOU, HUI
JB TING,HUI
第 35 页 共 40 页
JNB JIA,XIA1
ACALL JIA1
XIA1: JNB JIAN,XIA2 ///XIA子程序用于过度
ACALL JIAN1
JB TING ,HUI XIA2: AJMP FRONT1 HUI : RET //返回主程序 JIA1: CJNE R1,#25H,XIA3 /// 加速
RET
XIA3: INC R1
RET
BACK1: CLR QIAN //后退
CLR HOU
CLR JIA
CLR JIAN
CLR TING
CJNE R0,#0FH ,XIA8
MOV R0,#17H
XIA8: DEC R0
MOV P2,@R0
MOV A,@R1
MOV R2,A
ACALL DELAY
CJNE R0,#10H,XIA5
MOV R0,#17H
XIA5: JB QIAN,HUI
JB TING,HUI
JB HOU ,HUI
JNB JIA, XIA6
第 36 页 共 40 页
ACALL JIA1
XIA6: JNB JIAN,XIA7
ACALL JIAN1
XIA7: AJMP BACK1 JIAN1: CJNE R1,#20H,XIA4 //减速
RET
XIA4: DEC R1
RET
DELAY10MS:
MOV R3,#20
D1: MOV R4,#250
DJNZ R4,$
DJNZ R3,D1
RET
DELAY: MOV R5,#50步进电机的每一步的时间 //根据r2的状态调整
D2: MOV R6,#150
D3: DJNZ R6,$
DJNZ R5,D2
DJNZ R2,DELAY
RET
END
第 37 页 共 40 页
附录2:解释
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机不能直接接到交直流电源上工作,而必须使用专用设备——步进电机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。控制器的方向信号决定步进电机的顺时针或逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。
通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。
步进电机的种类:
永磁式(PM) .磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;多用于空调风摆上。
第 38 页 共 40 页
反应式(VR),国内一般叫BF,常见的有三相反应式,步距角为1.5度;也有五相反应式。噪音大,无定为转距已大量淘汰。
混合式(HB),常见的有两相混合式,五相混合式,三相混合式,四相混合式,两相跟四相可以通用驱动器,五相跟三相必须使用各自的驱动器;
两相、四相混合式步距角多是1.8度,具有小体积,大力距,低噪音;
五相混合式步进电机一般为0.72度,电机步距角小,分辨率高,但是驱动电路复杂,接线麻烦,如5相十线制。
三相混合式步进电机步距角为1.2度,但是使用中要按1.8度计算,三相混合式步进电机拥有比两相混合式,五相混合式更多的磁极,有利于电机夹角的对称,因此可以比两相,五相精度更高,误差更小,运行更平稳。
步进电机的保持转距:指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。
步进电机的精度:步进电机的精度为步进角的3-5%,且不累积。
空载启动频率:即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。
步距角:就是发送一个脉冲,电机对应转动的角度。
定位转距:定位转矩是指步进电机不通电的情况下,定子锁住转子的力矩。
运行频率:步进电机能不失步运行的最高频率。
细分驱动器: 步进电机细分驱动器的主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度。减少噪音。如对于步距角为1.8?(整步)两相混合式步进电机,如果细分驱动器的细分数为8,那么电机的运转分辨率为每个脉冲0.072?,电机的精度能否达到或接近0.225?,还取决于细分驱动器的细分电流控制精度等其他因素,细分数越大精度越难控制。
第 39 页 共 40 页
第 40 页 共 40 页