毕业设计正文定稿
更新时间:2024-05-08 18:47:01 阅读量: 综合文库 文档下载
安徽工程大学毕业设计(论文)
引 言
步进电机在机电一体化的领域中有着广泛的应用,因此设计一款精度高,稳定性好的步进电机控制系统有非常重要的意义。步进电机是一种作为控制用的特种电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,步进电机的转速与脉冲信号的频率成正比。因此非常适合单片机控制。
单片机是现代电子技术、计算机技术的新兴领域,以单片机为代表的嵌入式系统的出现标志着现代电子系统时代的到来。采用嵌入式系统集成器件,将电子系统的设计从单纯的硬件设计变为智能化的硬、软件设计,从而使现代电子系统软硬结合,具有智能化、系统功能,具有柔韧性及激励-运行-响应等特点。
本论文系统地介绍了一种利用AT89C52单片机作为控制器,实现对反应式步进电动机简易控制的方案。该控制系统具有电路简单可靠,通用性强,成本低廉,灵活方便等特点,性能优于传统的步进电机控制器。文中系统介绍了各模块的工作原理、工作方式和特点,给出了硬件和软件部分的设计。由于学生水平有限,时间也相对比较紧凑,故文中难免有不妥甚至错误之处,恳请各位指导老师批评指正。
- 1 -
基于单片机步进电机控制器的设计
第1章 绪论
1.1 设计的提出依据和意义
电机因其结构简单、价格低廉、机械特性较好、运行维护方便等优点在国民经济各行业中获得了广泛的应用。我国的电机总装容量约占全部用电设备总容量的75%以上,而耗电量约占总发电量的70%以上。
步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,在机电一体化的领域有着广泛的应用,因此设计一款精度高,稳定性好的步进电机控制系统有非常重要的意义。
1.2 计算机控制技术的发展
计算机控制技术的发展同计算机技术的发展有着紧密的联系,计算机每更新换代一次,计算机控制就前进一步,上一个新台阶。
从国际上的计算机控制技术发展来看,在进行计算机控制试验基础上,大体经历了集中式、分级式和分布式三个大阶段。
1965年以前,是计算机控制试验阶段。1952年,在化工生产中实现了计算机自动测量和数据处理,1954年开始用计算机构成开环控制系统。1957年在石油蒸馏过程控制中采用了计算机构成的闭环系统。1959年3月,世界上第一个规模较大的过程计算机控制系统在德克萨斯州的一个炼油厂正式投入运行,并取得成功。该系统的控制参数包括26个流量、72个温度、3个压力和3个成分。这一开创性的工作,唤起了人们对计算机控制的极大兴趣,使计算机厂家看到了新的市场,使工业界看到了新的自动化工具,使学术界发现了新的研究课题,因而有力地推动了计算机控制和计算机本身的进一步发展。由于当时的计算机是电子管计算机,计算机的性能价格比很低,而且体积大,可靠性差。1958年前后,计算机的平均故障间隔时间(MTBF)为50—100h,因此,当时计算机控制系统主要用来执行数据处理、操作指导和为模拟控制器提供最优设定值的监督控制等简单控制功能,而且实际应用的计算机控制系统为数非常少。
1965年到1969年是计算机控制进入集中控制的普及阶段。随着半导体技术的兴起,晶体管计算机取代了电子管计算机,计算机的可靠性和其他性能指标都有较大的提高,成本逐年下降,计算机在生产控制中的应用得到迅速的发展。1962年英国化学工业公司就成功地实现了一个DDC系统,其中数据采集量为244个,并控制129个阀门。由于DDC系统可以较好地发挥计算机控制的优势,所以DDC系统的实现无疑是计算机控制系统的一大进步。但这个阶段仍然主要是集中型的计算机控制系统,在高度集中的控制系统中,若计算机出现故障,将对整个装置和生产系统带来严重影响。虽然采用多机并用可以提高集中控制的可靠性,但会增加成本。
1970年以后进入大量推广分级控制的阶段。随着大规模集成电路(LLSI)技术的突破,微型计算机于1971年问世。微型计算机的出现使得计算机控制进入了一个崭新的发展阶段。由于微型计算机具有运算速度快、可靠性高、价格低廉和体积小等特点,因此,消除了长期阻碍计算机控制发展的计算机造价昂贵和可靠性低两大问题,并为计算机分散控制系统(DCS)的出现创造了条件。20世纪70年代中期出现的DCS成功地解决了传统集中控制系统整体可靠性低的问题,从而使计算机控制系统获得了大规模的
- 2 -
安徽工程大学毕业设计(论文)
推广应用。1975年世界上几个主要计算机和仪表公司,如美国的HoneyWell公司,日本的横河公司等几乎同时推出各自的DCS产品,并都得到广泛的工业应用。
20世纪90年代以后,随着现场总线控制技术的逐渐成熟、以太网技术的逐步普及、智能化与功能自治性的现场设备的广泛应用,使嵌入式控制器、智能现场测控仪表和传感器方便地接入现场总线和工业以太网络,直至与Internet相连,计算机控制系统步入了分布式网络化的控制阶段。 1.3 单片机简介
单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
随着近代超大规模集成电路的出现,单片机及其外围芯片有了迅速的发展。集成技术的最新进展之一是将CPU和外围芯片及其他控制部件集成到一个芯片之中,制成单片计算机(SCM)。近年来推出的一些高档单片机还包含有许多特殊功能单元,如A/D、D/A转换器、通讯控制器、浮点运算单元等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、智能接口、功能模块等。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
作为微型计算机的另一个发展分支的单片微型计算机介于工业控制计算机和可编程控制器之间,它有较强的控制功能、低廉的成本。人们在选择电动机的控制器时,常常是在先满足功能需要的同时,优先选择成本低的控制器。因此,单片机往往成为优先选择的目标。20多年来的应用实践表明,单片机性能稳定通过在单片机上运行的控制程序来代替模拟或数字电路硬件,可以提高系统的功效,并且改变了传统的控制系统设计思想和方法。从最近的统计数据也可以看出,世界上每年要有25亿片各种单片机投入使用。单片机是目前世界上使用量最大的微处理器。 1.4 设计的总体方案
本设计题目要求设计一个步进电机的控制器,按照题目要求系统可以分为五大模块。驱动模块、显示模块、复位模块、按键模块和单片机模块。系统方案如图1-1所示:
- 3 -
基于单片机步进电机控制器的设计
按键输入 单 片 复位电路 LED显示 机 驱动电路 步进电机
图1-1 总体方案图 - 4 -
安徽工程大学毕业设计(论文)
第2章 步进电机的选择
2.1 步进电机的特点
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单,并且非常适合于单片机控制。
步进电机的特点:
(1)步进电机的角位移与输入脉冲数严格成正比,因此当它转一转后,没有累计误差,具有良好的跟随性。
(2)由步进电动机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常可靠。同时,它也可以与角度反馈环节组成高性能的闭环数控系统。
(3)步进电机的动态响应快,易于起停、正反转及变速。
(4)速度可在相当宽的范围内平滑调节,低速下仍能保证获得大的转矩,因此,一般可以不用减速器而直接驱动负载。
(5)步进电机只能通过脉冲电源才能运行,它不能直接使用交流电源和直流电源。 (6)步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。 (7)步进电机自身的噪声和振动较大,带惯性的能力较差。 2.2 步进电机的分类
步进电机可以分为3大类: (1)反应式步进电动机(VR)
反应式步进电动机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电动机的转子是由软磁材料制成的,转子中没有绕组。它的结构简单、成本低,步距角可以做得很小,但动态性能差。
(2)永磁式步进电动机(PM)
永磁式步进电动机一般为两相,转矩和体积较小,步进角一般为7.5度 或15度。永磁式步进电动机的转子是用永磁材料制成的,转子本身就是一个磁源。它的输出转矩大动态性能好。转子的极数与定子极数相同,所以步距角一般较大。需供给正负脉冲信号。
(3)混合式步进电动机(HB)
混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。它的输出转矩大,动态性能好,步距角小,但结构复杂,成本较高。
由于反应式步进电机的性能价格比比较高,因此本毕业设计选择步进电机的类型为反应式步进电机。
- 5 -
基于单片机步进电机控制器的设计
2.3 反应式步进电动机 2.3.1 反应式步进电动机的结构
图2-1是一个三相反应式步进电动机结构图。从图中可以看出,它分成转子和定子两部分。定子是由硅钢片叠成的。定子上有6个磁极(大极),每2个相对的磁极( N、S极)组成一对,共有3对。每对磁极都缠有同一绕组,也即形成一相,这样3对磁极就有3个绕组,形成3相。可以得出,四相步进电动机有4对磁极、4相绕组;五相步进电动机有5对磁极、5相绕组;??依次类推。
每个磁极的内表面都分布着多个小齿,它们大小相同,间距相同。
转子是由软磁材料制成的,其外表面也均匀分布着小齿,这些小齿与定子磁极上的小齿的齿距相同,形状相似。
由于小齿的齿距相同,所以不管定子还是转子,它们的齿距角都可以用公式(2-1)计算:
?z?2?/? (2-1) 式中 Z——转子的齿数。
反应式步进电动机的动力来自于电磁力。在电磁力的作用下,转子被强行推动到最大磁导率(或者最小磁阻)的位置如图2-2(a)所示,定子小齿与转子小齿对的位置),并处于平衡状态。对于三相步进电动机来说。当某一相的磁极处于最大磁导率位置如图2-2(b)所示,定子小齿与转子小齿不对齐的位置。
我们把定子小齿与转子小齿对齐的状态称为对齿;把定子小齿与转子小齿不对齐的状态称为错齿。错齿的存在是步进电动机能够旋转的前提条件,所以,在步进电动
机的结构中必须保证错齿的存在,也就是说,当某一相处于对齿状态时,其他相必须处于错齿状态。
(a)对齿 (b)错齿
图2-1 三相反应式步进电动机结构 图2-2 定子齿与转子齿之间的磁导现象
三相步进电动机的每一相磁极在空间上相差120度。假如当前A相处于对齿状态,
- 6 -
安徽工程大学毕业设计(论文)
以A相位置作为参考点,B相与A相差120度,C相与A相相差240度。下面我们可以计算当A相处于对齿状态时,B、C两相的齿错程度。
将A相磁极中心线看成0度,在0度处的转子齿为0号齿,则在120度处的B相磁极中心线上对应的转子齿号为120度/9度=13.3,即B相磁极中心线处转子第13号齿再过1/3齿距角的地方,如图2-3所示。这说明B相错了1/3个齿距角,也即错齿3度。
图2-3 A相对齿时B、C相的错齿
同理,与A相相差240度的C相磁极中心线上对应的齿号为240度/9度=26.7,即C相磁极中心线处于转子第26号齿再过2/3齿距角的地方,如图2-3所示。这说明C相错齿6度。
2.3.2 反应式步进电动机的工作原理
如果给处于错齿状态的相通电,则转子在电磁力的作用下,将向磁导率最大(或磁阻最小)的位置转动,即向趋于对齿的状态转动。步进电动机就是基于这一原理转动的。
步进电动机的过程也可通过图2-4进一步说明。当开关KA合上时,A相绕组通电,使A相磁场建立。A相定子磁极上的齿与转子的齿形成对齿,同时,B相、C相上的齿与转子形成错齿。
- 7 -
基于单片机步进电机控制器的设计
a)
b)
图2-4 步进电动机的步进原理
将A相断电,同时将KB合上,使处于错1/3个齿距角的B相通电,并建立磁场。转子在电磁力的作用下,向与B相形成对齿的位置转动。其结果是:转子转动了1/3个齿距角;B相与转子形成对齿,C相与转子错1/3个齿距角;A相与转子错2/3个齿距角。
相似地,在B相断电的同时,合开关KC给C相通电建立磁场,转子又转动了1/3个齿距角,与C相形成对齿,并且A相与转子错1/3个齿距角、B相与转子错2/3个齿距角。
当C断电,再给A相通电时,转子又转动了1/3个齿距角。与A形成对齿,与B、C两相形成错齿。至此,所有的状态与最初时一样,只不过转子累计转过一个齿距。
可见,由于按A-B-C-A顺序轮流个个相绕组通电,磁场按A-B-C方向转过了360度,转子则沿相同方向转过一个齿距角。
同样,如果改变通电顺序,即按与上面相反的方向(A-C-B-A的顺序)通电,则转子的转向也改变。
如果对绕组通电一次的操作称为一拍,那么前面所描述的三相反应式步进电动机 的三相轮流通电就需要三拍。转子每拍走一步,转子一个齿距角需要3步。
转子走一步所转过的角度称为步距角 ????N,可用下式计算
?2?????? (2-2)
- 8 -
安徽工程大学毕业设计(论文)
式中N——步进电动机工作拍数。
从以上分析可知,反应式步进电动机对结构的要求是:
1.定子绕组磁极的分度角(如三相的120度和240度)不能被齿距角整除,否则无法形成错齿。
2.定子绕组磁极的分度角被齿距角除后所得的余数,应是步距角的倍数,而且数值与相数不能有公因子,否则无法形成错齿。 2.3.3 反应式步进电动机工作方式
1.单三拍工作方式
三相步进电动机如果按A-B-C-A方式循环通电工作,就称这种工作方式为单三拍工作方式。其中“单”指的是每次对一个相通电;“三拍”指的是磁场旋转一周需要换相3次,这时转子转动一个齿距角。如果对多相步进电动机来说,每次只对一相通电,要使磁场旋转一周就需要多拍。
以单三拍工作方式工作的步进电动机,其步距角按式(2-2)计算。 在用单三拍工作方式工作时,各相通电的波形如图2-5所示。
图2-5 单3拍工作方式工作时的相电压波形
电压波形是方波,而电流波形是由两段指数曲线组成。这是因为受步进电动机绕组电感的影响,当绕组通电时,电感阻止电流的快速变化;当绕组断电时,储存在绕组中的电能通过续流二极管放电。电流的上升时间取决与回路中的时间常数。我们希望绕组中的电流能像电压一样突变,这一点与其他电动机不同,因为这样会使绕组在通电时能迅速建立磁场,断电时不会干扰其他相磁场。
为了达到这一目的可以有许多方法。在续流二极管回路中串联一个电阻是其中一种有效的方法。它可以在绕组断电时,通过续流二极管将储存在绕组中的电能消耗在电阻上,表现为电流波形下降的速度加快,下降时间减小。
2.双三拍工作方式
三相步进电动机的各相除了采用单三拍方式通电工作外,还可以有其他通电方式。双三拍就是其中之一。
双三拍的工作方式是:每次对两相同时通电时,即所谓“双”,磁场旋转一周需要换相3次,即所谓“三拍”,转子转动一个齿距角,这与单三拍是一样的。在双三拍工
- 9 -
基于单片机步进电机控制器的设计
作方式中,步进电动机正转的通电顺序为: AB-BC-CA;反转的通电顺序为:BA-AC-CB。
因为在双三拍工作方式中,转子转动一个齿距角需要的拍数也是“三拍”,所以,它的步距角与单三拍一样,仍然用式(2-2)求得。
在用双三拍工作方式工作时,各相通电的波形如图2-6所示。由图可见,每一拍中,都有两相通电,每一相通电时间都持续两拍。所以,双三拍通电的时间长、消耗的电功率大,当然获得的电磁转矩也大。
双三拍工作时,所产生的磁场形状与单三拍时一样,如图2-7所示。
与单三拍另一个不同之处是:双三拍工作时的磁导率最大位置并不是转子处于对齿的位置。
图2-6 双三拍工作方式工作时的相电压波形
a) AB相通电
b)BC相通电
c) CA相通电
图2-7 双三拍工作时的磁场的情况
当AB两相通电时,最大磁导率的位置是转子齿与A、B两相磁极的齿分别错+1/6个齿距角的位置,此时转子齿与C相错1/2个齿距角。也就是说,在最大磁导率位置时,没有对齿的存在。在这个位置,A和B’或A’和B两个磁极所产生的磁场,使定子与转
- 10 -
安徽工程大学毕业设计(论文)
子相互作用的电磁转矩大小相等,方向相反,使转子处于平衡状态。
同样,当BC两相通电时,平衡位置是转子齿与B、C两相磁极的齿分别错+1/6个齿距角的位置。当CA两相通电时,平衡位置是转子齿与C、A两相磁极的齿分别错+1/6个齿距角的位置。
双三拍方式还有一个优点,就是不易产生失步。这是因为当两相通电后,由图2-6和图2-7可见。两相绕组中的电流幅值不同,产生的电磁力作用方向也不同。所以,其中一相产生的电磁力起了阻尼作用。绕组中电流越大,阻尼作用就越大。这有利于步进电动机在低频区工作。而单三拍由于是单相通电励磁,不会产生阻尼作用,因此当工作在低频区时,由于通电时间长而使能量过大,易于产生失步现象。
3.六拍工作方式是三相步进电动机的另一种通电方式,这是单三拍与双三拍交替使用的一种方法,也称作单双六拍或1-2相励磁法。
步进电动机的正转通电顺序为:A-AB-B-BC-C-CA;反转通电顺序为:A-AC-C-CB-B-BA。可见,磁场旋转一周,通电需要换相6次(即六拍),转子才转动一个齿距角。这是单三拍与双三拍最大的区别。
由于转子转动一个齿距角需要六拍,根据式(2-2),六拍工作时的步距角要比单三拍和双三拍时步距角小一半,所以步进精度要高一倍。
六拍工作时,各相通电的电压波形如图2-8所示。可以看出,在使用六拍工作方式时,有三拍是单相通电,有三拍是双相通电,对任一相来说,它的电压波是一个方波,周期为六拍,其中有三拍连续通电,有三拍连续断电。
图2-8 六拍工作方式工作时的相电压波形
单三拍、双三拍、六拍这三种工作方式的区别如表2-1所示。
- 11 -
基于单片机步进电机控制器的设计
表2-1 单三拍、双三拍、六拍三种工作方式的区别
工作方式 单三相 双三拍 步序 1 2 3 1 2 3 1 2 3 4 5 6 控制位 励磁相 C相 B相 A相 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 1 0 0 0 1 A B C AB BC CA A AB B BC C CA P1口输出 01H 02H 04H 03H 06H 05H 01H 03H 02H 06H 04H 05H
三相六拍
由表2-2可以看出,这三种工作方式的区别较大,一般来说,六拍工作方式的性能最好,单三拍工作方式的性能较差。因此,在步进电动机控制的应用中,选择合适的工作方式非常重要。鉴于此,本论文步进电动机的工作方式选择的是三相六拍的工作方式,即(A-AB-B-BC-C-CA)。
表2-2 三种工作方式的比较
工作方式 步进周期 每相通电时间 走齿周期 相电流 高频性能 转矩 电磁阻尼 振荡 功耗 单三拍 T T 3T 小 差 小 小 易 小 双拍 T 2T 3T 较大 较好 中 较大 较易 大 六拍 T 3T 6T 最大 较好 大 较大 较易 中 2.4 系统运行过程综述
在系统上电时,电机停止不转,转速为零,数码管后两位显示00。
按S1键步进电机转速增加,并且随按键的次数的增加,步进电机转速逐级增加,同时显示的速度随着按键每隔10秒改变一次,当停止按键时,速度固定显示,而且每十秒刷新一次。
按S2键时,步进电机速度在已有的基础上逐渐减小,当减到零时,再按其转动方向改变。同时在数码管百位显示(-)号,其速度显示同上。
按S3键步进电机快速停机。
- 12 -
安徽工程大学毕业设计(论文)
第3章 硬件设计
3.1 单片机的选择
根据初步设计方案的分析,设计这样一个应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。INTEL公司的8051和8751芯片均可选用。还有其他与MCS-51系列相兼容的芯片例如ATMEL公司生产的AT89CXX系列单片机。AT89CXX系列与MCS-51系列单片机相比具有片内程序存储器采用闪速存储器,使程序的写入更加方便的优势。
为此,我们选用AT89C52单片机。该芯片的功能与MCS-51系列单片机完全兼容,并且还有程序加密等功能,相比而言更加实用。
AT89C52单片机是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8KB的可反复擦写的只读程序存储器和256字节的随机存取存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,其强大的功能更适合较为复杂的控制应用场合。其主要工作特性是:
·片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次; ·片内数据存储器内含256字节的RAM; ·具有32根可编程I/O口线; ·具有3个可编程定时器;
·中断系统是具有8个中断源、6个中断矢量、2级优先权的结构; ·串行口是具有一个全双工的可编程串行通信口; ·具有一个数据指针DPTR;
·低功耗工作模式有空闲模式和掉电模式; ·具有可编程的3级程序锁定位;
·AT89C52工作电源电压为5(5±0.2)V,且典型值为5V。
·AT89C52最高工作频率为24MHZ,编程频率为3~24HZ,编程启动电流为1mA。 引脚排列及功能
首先对于I/O口线做一介绍。
·P0口—8位、漏极开路的双向I/O口。当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;在校验时,P0口可输出指令字节(须外加上拉电阻)。P0口也可做通用I/O口使用,但需加上拉电阻,变为准双向口。当作为普通输入时,应将输出锁存器置1。P0口可驱动8个TTL负载。
·P1口—8位、准双向I/O口,具有内部上拉电阻。P1口是为用户准备的I/O口双向口。在编程和校验时,可用做输入低8位地址。用做输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。
·P2口—8位、准双向I/O口,具有内部上拉电阻。当使用片外存储器或外扩I/O口时,P2口输出高8位地址。在编程/校验时,P2口可接收高字节地址和某些控制信号。P2口也可做普通I/O口使用。用做输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。
- 13 -
基于单片机步进电机控制器的设计
·P3口—8位、准双向I/O口,具有内部上拉电阻。P3口可做普通I/O口使用。用做输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。
图3-1 AT89C52引脚排列(PDIP)
AT89C52的引脚排列如图3-1所示:
表3-1列出了P1.0和P1.1替代功能。
表3-1 P1.0和P1.1的替代功能
引脚 P1.0 替代功能 T2 说 明 定时器2的外部事件输入端;可编程脉冲输出端 定时器2的捕捉/重装触发器输入P1.1 T2EX 端;定时器2的记数方向控制端 P3口提供各种替代功能,如表3-2所列。
表3-2 P3口替代功能
引 脚 P3.0 P3.1 P3.2 替代功能 RXD TXD INT0 - 14 - 说 明 串行数据接收 串行数据发送 外部中断0申请 安徽工程大学毕业设计(论文)
P3.3 P3.4 P3.5 P3.6 P3.7 INT1 外部中断1申请 定时器0外部事件记数输入 定时器1外部事件记数输入 外部RAM写选通 外部RAM读选通 T0 T1 WR RD 3.2 X5045芯片以及时钟与复位电路的设计与器件选择 3.2.1 时钟电路的设计
单片机工作的速度是由时钟电路提供的。在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图3-2所示
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。电路中电容C1和C2影响记对振荡频率有微调作用,通常的取值范围30±10pF;石英晶体选择6MHz或12MHz都可以。其结果只是机器周期时间不同,数器的记数初值和运算速度。
123456781312151431Y1 C122pF12MHzC222pF191891716P10/TP11/TP12P13P14P15P16P17INT1INT0T1T0AT89C52P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28EA/VPX1X2RESETRDWR 10RXD 11TXD 30ALE/P 29PSEN 图3-2 时钟电路图
3.2.2 复位电路的设计
单片机的RST引脚为主机提供一个外部复位信号输入端口。复位信号是高电平有
- 15 -
安徽工程大学毕业设计(论文) VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 图3-7 LED内部结构原理图 本次设计中要求作到3组LED显示,LED显示器的控制方式为静态显示和动态显示两种,因此在选择LED驱动时,一定要先确定显示方式。 若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可。而且只须要考虑段的驱动因为共阳极接+5V,而共阴接地,所以位的驱动不要考虑。 动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。 本论文选择的接线是动态显示:将LED的引脚直接接到单片机的P0口虽然占据了资源,但是电路比较简单而且可行。LED与单片机的接线如图3-8所示: 2- 21 - 3基于单片机步进电机控制器的设计 8*1K12345678161514131211109P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ABCDEFGH10KP1.5VCCVCCVCC10KP1.610KP1.7 图3-8 LED数码管显示与单片机连接图 TitSizB3.5 按键设计 2345DaFil在设计中,使用了3按键,采用了直接和单片机口线相连,采用的是独立式键盘结构。它们分别控制着步进电动机的加速、减速和快速停机。将3个按键分别通过上拉电阻接到单片机的P1.2、P1.3和P1.4口上,其电路图如图3-9所示。
- 22 -
安徽工程大学毕业设计(论文) VCC10K10K10KS1P1.2S2P1.3S3P1.4 图3-9 按键与单片机连接图 3.6 传感器电路设计 3.6.1 霍尔效应和霍尔元件 霍尔效应是因为通电半导体片中的载流子在磁场产生的洛仑兹力的作用下,分别向片子横向两侧偏转和积聚,因而形成一个电场,称作霍尔电场。霍尔电场产生的电场力和洛仑兹力相反,它阻碍了载流子的继续堆积,直到霍尔电场力和洛仑兹力相等。这时,片子两侧建立起一个稳定的电压,这就是霍尔电压。 在片子上作四个电极,其中C1、C2间通以工作电流I,C1、C2称为电流电极,C3、C4间取出霍尔电压VH,C3、C4称为敏感电极。将各个电极焊上引线,并将片子用塑料封装起来,就形成了一个完整的霍尔元件(又称霍尔片)。如图3-10所示: 23
图3-10 霍尔效应和霍尔元件
- 23 -
基于单片机步进电机控制器的设计
霍尔元件基本原理是:在步进电机的转盘上加装霍尔元件和磁铁,即可构成基于磁电转换技术的传感器。霍尔元件固定安装在转盘附近,永磁铁安装在转盘上,当转盘每转一圈,永磁铁经过霍尔元件一次即在信号端产生一个计量脉冲。 3.6.2 应用霍尔元件测速
如上所述,在步进电机转盘上固定一块永久性磁铁,然后在其对应的位置放置一块霍尔元件。从而转盘每转一圈就会产生一个脉冲,脉冲经过差分放大器放大,然后输入单片机,从而给单片机发一个脉冲。
本次毕业设计成功的实现了用单片机实现对步进电机的控制,并且通过键盘操作对步进电机进行加减速和正反转控制,用霍尔元件检测其速度,同时在LED数码管上显示。具体过程为:
先用单片机设定并开定时中断(假设10秒),然后通过程序对在这段时间内霍尔元件所发脉冲进行计数,通过程序计算得出速度值,即步进电机的转速(单位:转/秒),然后送LED数码管显示。
- 24 -
安徽工程大学毕业设计(论文)
第4章 软件设计
此设计中的软件设计包括主程序、定时中断子程序、键盘扫描子程序、LED显示子程序、按键子程序、步进电动机速度检测服务程序以及步进电动机速度中断程序。 4.1 步进电动机的主流程图
主程序完成的功能是启动AT89C52单片机检测步进电动机初始状态开启定时器,用按键来改变步进电动机的运行状态,并通过数码显示来显示其状态。主程序流程图见图4-1所示:
定时器初始化计算输入速度值定时器初始化开定时器扫描键盘键盘去抖及连击处理数码显示N有键按下Y键处理结束 图4-1 主程序流程图
- 25 -
基于单片机步进电机控制器的设计
pulled low will source current (IIL) because of the internal pullups.
Port 1 also receives the low-order address bytes during Flash programming and verification.
Port 2
Port 2 is an 8-bit bi-directional I/O port with internal pullups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the internal pullups and can be used as inputs. As inputs,
Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pullups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that use 16-bit addresses (MOVX @ DPTR). In this application, it uses strong internal pullups when emitting 1s. During accesses to external data mem?ory that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register.
Port 2 also receives the high-order address bits and some control signals during Flash programming and verification.
Port 3
Port 3 is an 8-bit bi-directional I/O port with internal pullups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pullups.
Port 3 also serves the functions of various special features of the AT89C51 as listed below:
Port Pin Alternate Functions P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input)
P3.6 WR (external data memory write strobe) P3.7 RD (external data memory read strobe)
Port 3 also receives some control signals for Flash pro?gramming and verification. RST
Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device.
ALE/PROG
Address Latch Enable output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming.
In normal operation ALE is emitted at a constant rate of 1/6 the oscillator frequency, and may be used for external tim?ing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external Data Memory.
If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only dur?ing a MOVX or MOVC instruction. Otherwise, the pin is
- 36 -
安徽工程大学毕业设计(论文)
weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.
PSEN
Program Store Enable is the read strobe to external pro-gram memory.
When the AT89C51 is executing code from external pro-gram memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.
EA/VPP
External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external pro-gram memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.
EA should be strapped to VCC for internal program executions.
This pin also receives the 12-volt programming enable volt-age (VPP) during Flash programming, for parts that require 12-volt VPP.
XTAL1
Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2
Output from the inverting oscillator amplifier. Oscillator Characteristics
XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier which can be configured for use as an on-chip oscillator, as shown in Figure 1. Either a quartz crystal or ceramic resonator may be used. To drive the device from an external clock source, XTAL2 should be left unconnected while XTAL1 is driven as shown in Figure 2. There are no requirements on the duty cycle of the external clock signal, since the input to the internal clocking circuitry is through a divide-by-two flip-flop, but minimum and maxi-mum voltage high and low time specifications must be observed.
Idle Mode
In idle mode, the CPU puts itself to sleep while all the on-chip peripherals remain active. The mode is invoked by software. The content of the on-chip RAM and all the spe?cial functions registers remain unchanged during this mode. The idle mode can be terminated by any enabled interrupt or by a hardware reset.
It should be noted that when idle is terminated by a hard ware reset, the device normally resumes program execu?tion, from where it left off, up to two machine cycles before the internal reset algorithm takes control. On-chip hardware inhibits access to internal RAM in this event, but access to the port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin when Idle is terminated by reset, the instruction following the one that invokes Idle should not be one that writes to a port pin or to external memory.
Power-down Mode
In the power-down mode, the oscillator is stopped, and the instruction that invokes power-down is the last instruction executed. The on-chip RAM and Special Function Regis ters retain their values until the power-down mode is terminated. The only exit from power-down is a hardware reset. Reset redefines the SFRs but does not change the on-chip RAM. The reset should not be activated before VCC is restored to its normal operating level
- 37 -
基于单片机步进电机控制器的设计
and must be held active long enough to allow the oscillator to restart and stabilize.
Program Memory Lock Bits
On the chip are three lock bits which can be left unpro?grammed (U) or can be programmed (P) to obtain the additional features listed in the table below.
When lock bit 1 is programmed, the logic level at the EA pin is sampled and latched during reset. If the device is pow?ered up without a reset, the latch initializes to a random value, and holds that value until reset is activated. It is nec?essary that the latched value of EA be in agreement with the current logic level at that pin in order for the device to function properly.
Programming the Flash
The AT89C51 is normally shipped with the on-chip Flash memory array in the erased state (that is, contents = FFH) and ready to be programmed. The programming interface accepts either a high-voltage (12-volt) or a low-voltage (VCC) program enable signal. The low-voltage program?ming mode provides a convenient way to program the AT89C51 inside the user’s system, while the high-voltage programming mode is compatible with conventional third-party Flash or EPROM programmers.
The AT89C51 is shipped with either the high-voltage or low-voltage programming mode enabled. The respective top-side marking and device signature codes are listed in the following table.
VPP = 12V VPP = 5V
Top-Side Mark AT89C51 AT89C51 xxxx yyww xxxx-5 yyww
Signature (030H) = 1 EH (030H) = 1 EH
(031H) = 51H (031H) = 51H (032H) =F FH (032H) = 05H
The AT89C51 code memory array is programmed byte-by?byte in either programming mode. To program any non-blank byte in the on-chip Flash Memory, the entire memory must be erased using the Chip Erase Mode.
Programming Algorithm: Before programming the AT89C51, the address, data and control signals should be set up according to the Flash programming mode table and Figure 3 and Figure 4. To program the AT89C51, take the following steps.1.Input the desired memory location on the address lines.2.Input the appropriate data byte on the data lines.3.Activate the correct combination of control signals.4.Raise EA/VPP to 1 2V for the high-voltage program?ming mode.5.Pulse ALE/PROG once to program a byte in the Flash array or the lock bits. The byte-write cycle is self-timed and typically takes no more than 1.5 ms. Repeat steps 1 through 5, changing the addressand data for the entire array or until the end of the object file is reached.
Data Polling: The AT89C51 features Data Polling to indi?cate the end of a write cycle. During a write cycle, an attempted read of the last byte written will result in the com?plement of the written datum on PO.7. Once the write cycle has been completed, true data are valid on
- 38 -
安徽工程大学毕业设计(论文)
all outputs, and the next cycle may begin. Data Polling may begin any time after a write cycle has been initiated.
Ready/Busy: The progress of byte programming can also be monitored by the RDY/BSY output signal. P3.4 is pulled low after ALE goes high during programming to indicate BUSY. P3.4 is pulled high again when programming is done to indicate READY.
Program Verify: If lock bits LB1 and LB2 have not been programmed, the programmed code data can be read back via the address and data lines for verification. The lock bits cannot be verified directly. Verification of the lock bits is achieved by observing that their features are enabled.
Chip Erase: The entire Flash array is erased electrically by using theproper combination of control signals and by holding ALE/PROG low for 10 ms. The code array is written with all ―1‖s. The chip erase operation must be executed before the code memory can be re-programmed.
Reading the Signature Bytes: The signature bytes are read by the same procedure as a normal verification of locations 030H, 031 H, and 032H, except that P3.6 and P3.7 must be pulled to a logic low. The values returned are as follows.
(030H) = 1 EH indicates manufactured by Atmel (031 H) = 51 H indicates 89C51
(032H) = FFH indicates 12V programming (032H) = 05H indicates 5V programming Programming Interface .Every code byte in the Flash array can be written and the entire array can be erased by using the appropriate combi?nation of control signals. The write operation cycle is self-timed and once initiated, will automatically time itself to completion.All major programming vendors offer worldwide support for the Atmel microcontroller series. Please contact your local programming vendor for the appropriate software revision.
- 39 -
基于单片机步进电机控制器的设计
AT89C51 单片机性能研究
AT89C51是美国ATMEL 公司生产的低电压,高性能8位单片机,片内含4k字节的可反复擦写的只读程序存储器和128字节的随机存取数据存储器(RAM ) ,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS一51指令系统,片内置通用8 位中央处理器(CPU)和Flash 存储单元,功能强大AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:与MCS—51产品指令系统完全兼容;4k字节可重擦写Flash 闪速存储器;1000 次擦写周期;全静态操作:0Hz—24MHZ;三级加密程序存储器;128x8 字节内部RAM;32 个可编程I/O 口线;2 个16 位定时/计数器;6 个中断源;可编程串行UART 通道;低功耗空闲和掉电模式。
功能特性概述:
VCC:电源电压。 GND:地。
AT89C51 提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O 口线,两个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM ,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
引脚说明 :
?P0 口:PO 口是一组8 位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL 逻辑门电路,对端口写―1‖ 可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash 编程时,PO 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
?Pl口:Pl 是一个带内部上拉电阻的8 位双向I/O口,Pl 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写―1 \,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
Flash 编程和程序校验期间,Pl 接收低8 位地址。
?P2口:P2 是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口写―1 \,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IlL )。
在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @ DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX @RI指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR ) 区中R2 寄存器的内容),在整个访问期间不改变。
Flash 编程或校验时,PZ 亦接收高位地址和其它控制信号。
- 40 -
正在阅读:
毕业设计正文定稿05-08
叙述国标系列活塞式制冷压缩机产生湿冲程故障与排除方法01-27
芳纶纤维_环氧树脂的湿热老化07-23
想念的伤感日志优秀3篇03-26
初中生物光合作用专题及答案 - 图文04-21
雨后的彩虹作文600字07-04
幼儿园师德演讲稿精选02-25
七级语文上册期末专项复习三标点与蹭练习新人教版-推荐05-24
各省军区独立师历史沿革04-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 定稿
- 毕业设计
- 正文