《基于PIC单片机的步进电机位置控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于PIC单片机的步进电机位置控制系统设计.doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编号 本科生毕业设计基于PIC单片机的步进电机位置控制系统设计Stepping Motor position control system design based on the PIC Microcomputer学 生 姓 名石 懂专 业电子信息工程学 号指 导 教 师白雪梅学 院电子信息工程学院 2008 年 6 月 摘 要本文介绍了步进电机工作原理以及各项指标参数,分析了单片机控制步进电机的方法。系统采用了单片机与步进电机串行控制方案,采用旋转编码器对系统的精确度进行衡量。以PIC单片机作为步进电机的控制器,实现步进电机的运动。硬件结构由串行显示电路、键盘接口电路、电机驱动电路等构成。软
2、件采用模块化设计,通过调用一系列子程序,如中断,键盘扫描,串行显示等实现步进电机三相单四拍、双四拍和单、双八拍的运行。给出了硬件原理图、编程流程图和软件程序。关 键 字:步进电机 PIC单片机 硬件接口电路ABSTRACT.Key words: Stepping motor;PIC microcomputer;Hardware interface circuit目 录第一章 概 述11.1 课题背景11.2 单片机应用发展简介11.3 主要研究工作2第二章 步进电机原理及驱动42.1 步进电机的工作原理42.2 步进电机的驱动62.2.1步进电机的驱动方式62.2.2步进电机的驱动特点82.2
3、.3步进电机驱动器的直流供电电源的确定122.3 步进电机控制系统构成12第三章 单片机控制步进电机的方法143.1 步进电机控制方法143.1.1 串行方式143.1.2 并行方式143.2 PIC单片机介绍143.2.1 PIC单片机介绍143.2.2 PIC系列单片机的结构153.3 步进电机的单片机控制16第四章 系统硬件设计204.1 系统硬件结构204.2 模拟步进电机驱动电路204.3 LED显示接口电路214.4 键盘接口设计224.5 石英多谐振荡器电路设计244.6 光电编码器原理及分类25第五章系统软件设计285.1 软件结构285.2 子程序模块295.2.1 串行静态
4、显示模块295.2.2 键盘扫描模块305.2.3 中断模块31结 论36参 考 文 献37致 谢38附录139附录243第一章 概 述1.1 课题背景步进电机是一种将电脉冲转化为角位移的机电执行元件,每外加一个控制脉冲,电机就运行一步故称为步进电机或脉冲马达。当步进电机接收到一个脉冲信号,它就按设定的方向转动一个固定的角度(步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机具有转子惯量低,定位精度高,无累积误差,控制简单等特点。实际操作时不受电源电压,负载,环境,温度的影响能够实现快速启动、
5、制动和反转。步进电机可以对旋转角度和转动速度进行高精度控制,步进电机作为控制执行元件,是机电一体化的关键产品之一,以广泛应用在各种自动化控制系统和精密机械等领域。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。随着数字技术和计算机的发展,研究步进电机驱动电路,使步进电机的控制更加简便,灵活和智能化,使其应用更加广泛。步进电动机的发展方向主要有如下三点:(1)进一步完善和扩展驱动和控制功能。如采用SVPWM技术,采用电子齿轮比技术,扩展通讯网络功能等。(2)高功率密度步进电动机系统。(3)闭环控制步进电动机系统。为了彻底克服步进电动机系统一些根本性的弱点,如振
6、荡的倾向及失步等,可改为闭环系统,但这种改变使步进电动机系统已起了质的变化,不再是本来意义上的步进电动机,而成为无刷直流电动机(BLDCM),或交流伺服电机(AC SERVO)。1.2 单片机应用发展简介单片微型计算机(Single Chip Microcomputer)简称单片机,是在一块芯片体上集成了中央处理器CPU、随机存储器RAM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O接口等部件,构成的一个完整的微型计算机。自1971年Intel公司制造出第一块4位微处理器以来,发展十分迅猛,经历了4位机、低档8位机、高档8位机、16位机及最新一代的单片机。最新一代单片机在结构上采
7、用双CPU或内部流水线,CPU有8位、16位、32位,时钟频率高达20Hz,片内有PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调器等。芯片向高集成化,低功耗方向发展,使得单片机在大量数据的及时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,故在国民经济建设、军事及家用电器等领域有广泛的应用。按照单片机特点,单片机可分为单机应用和多机应用。单机应用主要领域有:(1)测控系统:用单片机构成各种工业控制系统、自适应系统、数据采集系统等。如温室人工气候控制、
8、水阀自动控制、电镀生产线自动控制、汽轮机电液调节系统等。(2)智能仪表:用单片机改造原有的测量、控制仪表,能促进仪表向数字化、智能化、多功能化、综合化、柔性化发展。如温度、压力、流量、浓度的测量、显示及仪表控制。通过单片机软件编程,是测量仪表中长期存在的误差修正、线形化处理等难题迎刃而解。(3)机电一体化产品:如简易数控机床、医疗器械等。(4)智能接口:在大型工控系统中,普遍采用单片机进行接口的控制与管理,这个因为单片机与主机是并行工作的,可大大提高系统运行速度。如大型数据采集系统中,用单片机对ADC接口进行控制不仅可提高采集速度还可对数据进行预处理。如数字滤波、线形化、误差修正等。多机应用主
9、要领域有:(1)功能集散系统:多功能集散系统是为了满足工程系统多种外围功能的要求而设置的多机系统。如一个加工中心的计算机系统除完成机床加工运行控制外,还要控制对刀系统、坐标系统、刀库管理、状态监视、伺服驱动等机构。(2)并行多控制系统:并行多控制系统主要解决工程应用系统的加速问题,以便构成大型实时工程应用系统。典型的有快速并行数据采集、处理系统、实时图象处理系统等。(3)局部网络系统:单片机网络系统的出现,使单片机的应用进入了一个新的水平。目前该网络系统主要是分布式测控系统,单片机主要用于系统中的通信控制,以及构成各种测控子级系。1.3 主要研究工作硬件设计方面:通过单片机实验加深对步进电机的
10、驱动电源和电机工作情况了解,测定并研究其在单步运行状态,角位移和脉冲数关系,平均转速和脉冲频率的关系。观察转子振荡状态,并且掌握步进电机的基本特性和指标。根据功能需要选择电路元器件和型号,设计电路并能解决现实抗干扰问题。画出电路原理图。软件设计方面:通过汇编语言编写核心模块对步进电机进行控制。最终编写出一个完整步进电机控制程序,能够调节步进电机的转向和速度。由于转速是通过调节脉冲频率实现的,因此设计脉冲分配采用完全软件方式,既按照给定的通电换向顺序,通过单片机I/O口向驱动电路发出控制脉冲,这样就避免采用复杂脉冲分配芯片,来实现单片机对步进电机的控制。程序设计按照掌握计算机相序控制方法,采用适
11、合三相单四拍、双四拍和单、双八拍的循环移位法,并且在现实操作中解决堵转和启动失步等问题。第二章 步进电机原理及驱动2.1 步进电机的工作原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理如下:(1)控制换相顺序通电换相这
12、一过程称为脉冲分配。四相步进电机的工作方式如下:单相四拍工作方式:正转通电顺序为:A-B-C-D-A反转通电顺序为:D-C-B-A-D四相八拍工作方式:正转通电顺序为:A-AB-B-BC-C-CD-D-DA-A反转通电顺序为:D-DC-C-CB-B-BA-A-AD-D控制步进电机的转向。如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(2)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。(3)步进电机指标相数:产生不同对极N、S磁场的
13、激磁线圈对数(用m表示)。拍数:完成一个磁场周期性变化所需脉冲数或导电状态(用n表示),或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A。步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度/(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(504)=1.8度(俗称整步),八拍运行时步距角为=360度/(508)=0.9度(俗称半步)。定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)
14、。静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。(4)步进电机的特点一般步进电机的精度为步进角的35%,且不累积。步进电机外表允许的最高温度。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点。一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进
15、电机外表温度在摄氏8090度完全正常。步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势,频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有噪声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)
16、。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。(5)常用步进电机的类型现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度。反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相
17、:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。(6)步进电机在应用中的注意点步进电机应用于低速场合-每分钟转速不超过1000转,(0.9度时6666PPS),最好在10003000PPS(0.9度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低。步进电机最好不使用整步状态,整步状态时振动大。只有标称为12V电压的电机使用12V外,其他电机的电压可根据驱动器选择驱动电压(建议:57BYG采用直流24V36V,86BYG采用直流50V,110BYG采用高于直流80V),当然12V的电压除12V恒压驱动外也可以采用其他驱动电源,不过要考虑温度的
18、变化。转动惯量大的负载应选择大机座号电机。电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。高精度时,应通过机械减速、提高电机速度或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是不准确的。电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解决。电机在600PPS(0.9度)以下工作,应采用小电流、大电感、低电压来驱动。应遵循先选电机后选驱动的原则。2.2 步进电机的驱动2.2.1步进电机的驱动方式步进电机常用的驱动方式是全电压驱动,即在电机移步与锁
19、步时都加载额定电压。为防止电机过流及改善驱动特性需加限流电阻。由于步进电机锁步时,限流电阻要消耗掉大量的功率。因此,限流电阻要有较大功率容量,并且开关管也要有较高的负载能力。步进电机的另一种驱动方式是高低压驱动,即在电机移步时加额定或超过额定值的电压,在较大电流驱动下,使电机快速移步。而在锁步时则加低于额定值的电压,只让电机绕组渡过锁步所需的电流值。这样既可以减少限流电阻的功率消耗,又可以提高电机运行速度,但这种驱动方式的电路相对要复杂一些。驱动脉冲的分配可以使用硬件方法,即使用脉冲分配器实现。现在脉冲分配器已经标准化,芯片化,市场上可以买到。但硬件方法不但结构复杂,而且成本也较高。步进电机控
20、制也可以使用软件方法,即使用单片机实现,这样不但简化了电路,而且也降低了成本。使用单片机以软件方法,驱动步进电机,不但可以通过编程方法在一定范围内自由地设定步进电机的转速,往返转动的角度以及转动次数等,而且还方便灵活控制步进电机的运行状态。步进电动机不能直接接到交直流电源上工作,而必须使用专用设备步进电动机驱动器。步进电动机驱动系统的性能,除与电动机自身的性能有关外,也在很大程度上取决于驱动器的优劣。信号放大级推动级环形分配级驱动级保护级图 2-1 驱动器构成步进电动机驱动器的主要构成如图2-1所示,一般由环形分配器、信号处理级、推动级、驱动级等部分组成,用于功率步进电动机的驱动器还要有多种保
21、护线路。环形分配器用来接受来自控制器的CP脉冲,并按步进电动机状态转换表要求的状态顺序产生各相导通或截止的信号。每来一个CP脉冲,环形分配器的输出转换一次。因此,步进电动机转速的高低、升速或降速、起动或停止都完全取决于CP脉冲的有无或频率。同时,环形分配器还必须接受控制器的方向信号,从而决定其输出的状态转换是按正序或者按反序转换,于是就决定了步进电动机的转向。接受CP脉冲和方向电平是环形分配器的最基本功能。从环形分配器输出的各相导通或截止的信号送入信号放大与处理级。信号放大的作用是将环形分配输出信号加以放大,变成足够大的信号送入推动级,这中间一般既需电压放大,也需电流放大。信号处理级是实现信号
22、的某些转换、合成、产生斩波、抑制等特殊功能的信号,从而产生特殊功能的驱动。本级还经常与各种保护电路、各种控制电路组合在一起,形成较高性能的驱动输出。推动级的作用是将较小的信号加以放大,变成足以推动驱动级输入的较大信号。有时,推动级还承担电平转换的作用。保护级的作用是保护驱动级的安全。一般可根据需要设置过电流保护、过热保护、过压保护、欠压保护等。有时还需要对输入信号进行监护,发现输入异常也提供保护动作。驱动级直接与步进电动机各相绕组连接,它接受来自推动级的信号,控制电动机各相绕组的导通与截止,同时也对绕组承受的电压和电流进行控制。2.2.2步进电机的驱动特点各种电子设备的最末级一般需要功率放大,
23、步进电动机驱动也是这样。为使步进电动机满足各种需要的输出,驱动级必须对电动机绕组提供足够的电压和电流。但步进电动机驱动与一般电子设备的驱动有不同的特点,主要体现在:(1)各相绕组都是开关工作。多数电动机绕组都是连续的交流或直流,而步进电动机各相绕组都是脉冲式供电,所以绕组电流不是连续的而是断续的。(2)电动机各相绕组都是绕在铁心上的线圈,所以都有比较大的电感。绕组通电时电流上升率受到限制,因此影响电动机绕组电流的大小。(3)绕组断电时,电感中磁场的储能将维持绕组中已有的电流不能突变,结果使应该电流截止的相不能立即截止。为使电流尽快衰减,必须设计适当的续流回路。绕组导通和截止过程中都会产生较大的
24、反电势,而截止时的反电势将对驱动级器件的安全产生十分有害的影响。(4)电动机运转时在各相绕组中将产生旋转电势,这些电势的大小和方向将对绕组电流产生很大的影响。由于旋转电势基本上与电动机转速成正比,转速越高,电势越大,绕组电流越小,从而使电动机输出转矩也随着转速升高而下降。(5)电动机绕组中有电感电势、互感电势、旋转电势。这些电势与外加电压共同作用于功率器件。当其叠加结果使电动机绕组两端电压大大超过电源电压时,使驱动级工作条件更为恶化。步进电动机的驱动有单电压驱动、单电压串电阻驱动、双电压驱动、高低压驱动、斩波恒流驱动、H桥驱动、多相桥驱动、生频升压驱动和细分驱动等。下面简单介绍典型的单电压驱动
25、和H桥驱动。1.电压驱动图 2-2 单电压驱动的单元线路所谓单电压驱动,是指在电动机绕组工作过程中,只用一个方向电压对绕组供电。其线路如图2-2所示。前面推动级输出信号In作用于三极管的基极,其集电极接电动机的一端绕组,绕组另一端直接与电源电压连接。这样,三极管导通时,电源电压全部作用在电动机绕组上。当输入信号是高电平时In提供足够大的基极电流使三极管T处于饱和状态,若忽略其饱和压降,则电源电压全部作用在电动机绕组上。等值电路如图2.4(b)所示,其中,R是绕组电阻,L是绕组的平均电感,E是电动机运动而产生的反电势。电动机处于静止状态,绕组在一定的励磁状态下电流维持在稳定值,称为初态,这是一种
26、静止的锁定状态。对驱动器施加一个脉冲,使励磁状态改变一次,或称换相一次,使电动机运行一步,这个过程称为单步响应。当电动机运行的转速足够低,即CP脉冲周期足够长时,电动机运行的每一步都可认为是单步响应的过程。由导通时的等值电路,可知其电压平衡方程为: (2-1)如果将电动机堵转,则电动机不能运转,其反电势为零。此时绕组电流的单步响应可以解方程求出,即: (2-2)式中,为绕组回路的电气时间常数,且: (2-3)步进电动机有一个重要的问题是低频振荡。在频率较低时,电动机处于步进工作状态,每一步都发生一定的过冲现象,在稳定平衡点附近形成一个振荡过程。在某些运行频率下就会发生共振,此时电动机根本没有带
27、载能力,在空载时也不能正常运行。共振现象,是由于电动机获得的能量过剩而引起的。与电动机带载的性质、电压高低、电动机结构、驱动器的结构都有一定的关系。目前,通常在电动机中加机械阻尼、在电路中加电气阻尼、改进电路结构等多种方法来克服共振现象。归纳起来,单电压驱动器有如下特点:线路简单,成本低;低频时响应较好;有共振区;高频时带载能力迅速下降。单电压驱动由于性能较差,在实际中应用较少,只有在小机座号电动机且简单应用中才用到。2.H桥驱动图 2-3 H桥驱动原理图永磁步进电动机及二相、三相、五相混合式步进电动机的励磁绕组都必须用双极性电源供电,也就是说,励磁绕组有时需通正向电流,有时需通反向电流。这样
28、的绕组需要用H桥驱动。由四个晶体管T1T4组成H桥的四臂,高压管T1、T3的集电极接高压电源,低压管T2、T4的发射极共地。当输入信号IR为高电平时,T2、T3导通T1、T4截止,电流经T2、电动机绕组、T3到地,见图2-4(a)。当If为高电平时,T1、T4导通,T2、T3截止,电流经T1、电动机绕组、T4到地,见图2.4(b)。可见电流在绕组中流动是两个完全相反的方向。推动级的信号逻辑应使两对角线晶体管不能同时导通,以免造成高低压管的直通。直通的结果会使很大的短路电流流过两个晶体管,这是非常危险。(a)(b)图 2-4 不同对角线晶体管导通时电流的方向2.2.3步进电机驱动器的直流供电电源
29、的确定(1)电压的确定混合式步进电机驱动器的供电电源电压一般是一个较宽的范围(比如IM483的供电电压为1248V),电源电压通常根据电机的工作转速和响应要求来选择。如果电机工作转速较高或响应要求较快,那么电压取值也高,但电源电压不能超过驱动器的最大输入电压,否则可能损坏驱动器。(2)电流的确定供电电源电流一般根据驱动器的输出相电流I来确定。如果采用线性电源,电源电流一般可取I的1.11.3倍;如果采用开关电源,电源电流一般可取I的1.52.0倍。2.3 步进电机控制系统构成步进电机控制系统由步进控制器、功率放大器和步进电机组成,如图2-5所示。步进控制器功率放大器步进电机负载脉冲方向控制图
30、2-5 步进电机控制系统组成图步进控制器包括缓冲寄存器、环形分配器、控制逻辑及正反转控制门等。其作用是把输入脉冲变为环形脉冲,以便实现对步进电机的转动和正反向控制。功率放大器的作用是将步进控制器输出的环形脉冲加以放大,以驱动步进电机转动。在这种控制中,由于步进控制器线路复杂,成本高,限制了它的应用。随着微型计算机的广泛应用,采用计算机控制系统,只要控制输入电脉冲的数量、频率以及电机绕组通电相序即可获得所需的转角、转速及转向。这不仅简化了线路,降低了成本,而且控制方便,提高了可靠性。如图2-6为微机控制步进电机的系统结构图。微型计算机接口驱动器步进电机负载 图 2-6 微机控制步进电机的系统结构
31、图在步进电机的运行过程中,将可能出现失步,其失步原因有两种:(1)转子的加速度慢于步进电机的旋转磁场,也就是低于换相速度而产生的。这是因为输入电机的电能不足,在步进电机中产生的同步力矩无法使转子速度跟随定子磁场的旋转,从而引起失步。(2)转子的平均速度高于定子磁场的平均旋转速度,这时定子通电励磁的时间较长,大于转子步进一步所需要的时间,则转子在步进过程中获得过多的能量,从而产生前冲和后冲的摆动振荡,当振荡足够严重时就会导致失步。第三章 单片机控制步进电机的方法3.1 步进电机控制方法3.1.1 串行方式将PIC单片机与串行接口芯片8251组成串行控制系统,与步进电机驱动电源相连,通过将控制信号
32、送入电源中的环形分配器,再经功率放大器放大,就可控制步进电机的运行,如图3-1所示。PIC8251TXDRXD环形分配器功率放大器步进电机图 3-1 串行控制方式示意3.1.2 并行方式用PIC单片机和P1的数据输出信号直接控制步进电机各相驱动电路的方式,称为并行控制。在步进电机驱动电源内包括环形分配器,但其功能由单片机系统完成。由系统实现脉冲分配有2种方法,一是纯软件方法,即完全用软件来实现相序的分配,直接输出各相导通或截止信号,主要有寄存器移位法和缓冲区查表法;二是软硬件相结合的方法,单片机向可编程接口芯片8255输出控制信号数据,在由可编程接口芯片输出步进电机的各相导通或截止的控制信号。
33、3.2 PIC单片机介绍3.2.1 PIC单片机介绍PIC系列单片机是由美国Microchip公司生产的单片机产品,目前在世界8位单片机冲销量第一。PIC系列单片机具有良好的抗干扰性能、简洁的指令集,所需硬件配置较少,因此,在电脑的外设、家电控制、电信通信、智能仪器、汽车电子及金融电子等各个领域得到了广泛的应用。PIC单片机(Peripheral Interface Controller)是一种控制外围设备的集成电路(IC),是把CPU、ROM和I/O等集成在一块芯片上的特殊微型计算机。PIC系列单片机是一种具有分散(多任务)功能的、面对控制应用的一种微处理器。它采用精简指令集、哈佛总线结构、
34、二级流水线指令方式。除了具有一般单片机所具有的实用、低价、低功耗、高速度、体积小、功能强等特点外,还具有品种多、指令集小、简单易学、较强的抗干扰能力、彻底的保密性、自带看门狗定时器等特点,体现了单片机发展的一种新趋势。3.2.2 PIC系列单片机的结构PIC系列单片机映入了原用于小型计算机的双总线和两级指令流水结构。1双总线结构在这里PIC系列单片机采用了一种双总线结构,即所谓哈佛结构。这种结构有两种总线,即程序总线和数据总线。这两种总线可以采用不同的字长,如PIC系列单片机是8位机,所以其数据总线当然是8位。但低档、中档和高档的PIC系列机分别有12位、14位和16位的指令总线。这样,取指令
35、是则经指令总线,取数据是则经数据总线,互不冲突。指令总线一般要增加位数,这是因为指令的位数多,则每条指令包含的信息量就打,这种指令的功能就是强。一条12位、14位或16位的指令可能会具有两条8位指令的功能。因此,PIC系列单片机的指令与CISC结构的单片机指令相比,前者的指令总数(即RISC指令集)要少得多。2两级指令流水线结构由于PIC系列单片机采用了指令空间和数据空间分开的哈佛结构,用了两种位置不同的总线,因此,取指令和取数据有可能同时交叠进行,所以在PIC系列微控制器取指令和执行指令就采用指令流水线结构。当第一条指令被取出后,随即进入执行阶段,这时可能会从某寄存器取数而送至另一寄存器,或
36、从一端口向寄存器传送数等,但数据不会流经程序总线,而只是再数据总线中流动,因此,在这段时间内,程序总线有空,可以同时取出第二条指令。当第一条指令执行完毕,就可执行第二条指令,同时取出第三条指令如此等等。这样,除了第一条指令的取出,其余各条指令的执行和下一条指令的取出是同时进行的,使得在每个时钟周期可以获得最高效率。在大多数微控制器中,取指令和执行指令都是顺序进行的,但在PIC单片机指令流水线结构中,取指令和执行指令在时间上是互相重叠的,所以用PIC系列单片机才可实现单周期指令。只有涉及到改变程序计数器PC值得程序分支指令(例如GOTO、CALL等)才需要两个周期。此外,PIC的结构特点还体现在
37、寄存器组上,如寄存器I/O端口、定时器和程序寄存器等都采用了RAM结构形式,而且都只需要一个周期就可以完成访问和操作。而其他单片机常需要两个或两个以上的周期才能改变寄存器的内容。上述各项就是PIC系列单片机能做到指令总数少,且大都为单周期指令的重要原因。3.3 步进电机的单片机控制步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机的运动不产生旋转量的误差累积。由单片机实现的步进电机控制系统如图3-2图3-2 单片机控制步进电机假定以PIC单片机的PB口线接步进电机的绕组,输出控制电流脉冲,其中PB0接A,PB1接B,PB2接C。(1)双相三拍控制双相三拍控制模型如表3-1所示表3-
38、1步序PB口输出状态绕组控制字1AB03H2BC06H3CA05H假定有如下工作单元和工作位定义:R0为步进数寄存器;PSW中,F0为方向标志位,F0=0正转,F00反转。 参考程序如下:MAIN:BSFSTATUS,RP0CLRFTRISCBCFSTATUS,RP0JUDGE:BTFSSPORTC,6;判正反转GOTOANTICLOCKWISEGOTOCLOCKWISEANTICLOCKWISE:;按照逆时针步序进行MOVLW03H;第一拍MOVWFPORTB;向端口B送入数值03HCALLDELAY;延时MOVLW06H;第二拍MOVWFPORTBCALLDELAYMOVLW05H;第三拍
39、MOVWFPORTBCALLDELAYGOTOJUDGECLOCKWISE:MOVLW03HMOVWFPORTBCALLDELAYMOVLW05HMOVWFPORTBCALLDELAYMOVLW06HMOVWFPORTBCALLDELAYGOTOJUDGEEND(2)三相六拍控制程序在双相三拍程序中,PB口输出的控制字是在程序中给定的。而在三相六拍的控制中,由于控制字较多,故可以把这些控制字以表的形式预先存放在内部RAM单元中,运行程序时以查表的方式逐个取出并输出。MAIN:BSFSTATUS,RP0CLRFTRISCBCFSTATUS,RP0JUDGE:BTFSSPORTC,6;判正反转GO
40、TOANTICLOCKWISEGOTOCLOCKWISEANTICLOCKWISE:;按照逆时针步序进行MOVLW01H;第一拍MOVWFPORTB;向端口B送入数值03HCALLDELAYMOVLW03H;第二拍MOVWFPORTBCALLDELAYMOVLW02H;第三拍MOVWFPORTBCALLDELAYMOVLW06H;第四拍MOVWFPORTBCALLDELAYMOVLW04H;第五拍MOVWFPORTBCALLDELAYMOVLW05H;第六拍MOVWFPORTBCALLDELAYGOTOJUDGECLOCKWISE:MOVLW01HMOVWFPORTBCALLDELAYMOVL
41、W03HMOVWFPORTBCALLDELAYMOVLW02HMOVWFPORTBCALLDELAYMOVLW06HMOVWFPORTBCALLDELAYMOVLW04HMOVWFPORTBCALLDELAYMOVLW05HMOVWFPORTBCALLDELAYGOTOJUDGEEND延时子函数:DELAY: MOVLW 03H MOVWF DL_COUNTERDLP: MOVLW 6FH MOVWF DL_COUNTER1DLP1: DECFSZ DL_COUNTER1,1 GOTO DLP1 DECFSZ DL_COUNTER,1 GOTO DLP RETURN第四章 系统硬件设计4.1
42、系统硬件结构计算机的硬件和软件是相互结合而工作的,有些任务必须由硬件来实现,另外有些任务必须由软件来实现。但是也有一些任务即可以由软件来完成,也可由硬件来完成。一般来说,增加硬件会提高成本,但能简化设计程序,且实时性好。反之,加重软件任务,会增加编程调试工作量,但能降低硬件成本。所以要合理的安排软、硬件的结构。图 4-1 系统硬件结构系统的硬件框图如图4-1示。本系统由键盘接口电路、数码管显示接口电路、多谐振荡电路和发光二极管模拟的步进电机驱动电路构成。由于本微机控制系统采用单片机作为核心部件,利用单片机构成系统应从元件进行系统设计,根据任务需要,选择合理的单片机并配置必须的接口和外围设备来构
43、成系统。4.2 模拟步进电机驱动电路本系统是由单片机PC口输出的脉冲信号来控制步进电机,用4个发光二极管LED亮灭的快慢来模拟电机速度,用LED亮灭的顺序来模拟电机的相序和拍数。本系统选择的发光二极管为红色、圆形,开启电压在1.61.8V之间,正向电流越大,发光越强。输出通道的设计内容是确定通道结构和元件装置,合理选择驱动电路。本系统的输出通道也就是控制步进电机的通道,由于PIC单片机的PC口可以作为输出使用,所以将其作为输出通道的控制断口,采用三相四拍的模拟步进电机进行控制需要PC口中的三位。四相、五相需要PC口的四、五位。本来单片机与步进电机的接口需由专用的控制装置实现,这里单片机与模拟步
44、进电机的发光二极管通过直接连接的方法实现。步进电机的脉冲分配由单片机通过软件控制构成环形分配器。发光二极管模拟步进电机驱动电路如图4-2所示。图 4-2 模拟步进电机驱动电路4.3 LED显示接口电路LED显示器的发光二极管有两种连接方法,共阳极接法和共阴极法。本设计采用共阴极接法。七段发光二极管,再加上一个小数点位,共计八段,因此提供给LED显示器的字行代码正好是一个字节。LED显示器显示十六进制数字行代码在表4-1中给出。表 4-1 十六进制数字行代码字型共阳极代码共阴极代码字型共阳极代码共阴极代码00XC00XCFD0XA10X5E1OXF90X06E0X860X792OXA4OX5BF0X8E0X713OXB00X4FG0X900X6040X990X66R0XAF0X5050X920X6DS0XE20X1D60X820X7DT0X870X7870XF80X0