1、摘 要随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制
2、模块、LCD显示模块、步进电机驱动模块、位置检测模块以及语音播报模块6个功能模块的设计。系统软件设计采用C语言编写,包括主程序、数字键处理程序、设置键处理程序、开始键处理程序、定时中断程序、显示模块、位置采集模块及语音模块。本设计采用STC89C52单片机作为主控制器,4*4矩阵键盘作为输入,LCD1602液晶作为显示,ULN2003A芯片驱动步进电机,选用ISD1730芯片作为语音播报。系统具有良好的操作界面,键盘输入步进电机的运行参数(包括加速度、速度、运行距离);步进电机能以不同的加减速启停,可以在不超过最大转速内以任意速度准确运行到任意位置,可调性较强;显示设置参数、运行时间和实际运行
3、距离;语音播报按键和步进电机运行状态,方便操作者使用。关键词:单片机 步进电机 液晶显示 键盘 驱动 语音 目 录1 前言11.1 步进电机发展11.2 国内外研究概况11.2.1 基于电子电路控制11.2.2 基于单片机控制21.2.3 基于PLC的控制31.3 设计要求32 步进电机32.1 步进电机的概念32.2 步进电机的特征42.3 步进电机的工作原理52.4 步进电动机的驱动方法63 总体方案设计73.1 步进电机的选择73.2 步进电机的运行控制83.2.1 步进电机控制原理83.2.2 步进电机的换相顺序控制93.2.3 步进电机的转向控制93.2.4 步进电机的速度控制93.
4、2.5 步进电机的位置控制93.2.6 步进电机的加减速控制103.3 步进电机驱动方案的选择113.4 显示方案的选择与论证123.5 键盘方案的选择与论证123.6 步进电机位置检测123.7 整体方案124 硬件电路设计134.1 单片机的选择134.2 单片机最小系统144.3 键盘电路设计154.4 显示模块154.5 步进电机驱动模块164.6 位置测量模块174.6.1 开关型霍尔传感器介绍174.6.2 传感检测电路184.7 语音播报部分194.7.1 管脚及功能194.7.2 ISD1700芯片特点194.7.3 ISD1700系列芯片功能介绍194.7.4 ISD1730
5、的采样频率参数204.7.5 操作模式204.7.6 语音部分原理图215 软件设计部分215.1 主程序215.2 数字键处理程序225.3 设置键处理程序235.4 开始键运行程序245.5 定时器0中断程序255.6 语言芯片播报程序255.7 其它子程序说明266 总结26致谢28参考文献29英文摘要30附录1附录2毕业设计成绩评定表301 前言1.1 步进电机发展步进电机最早是在1920年由英国人所开发。1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制
6、性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用5。步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。步进电机可以直接用数字信号驱动,使用非常方便。一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。步
7、进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。因此非常适合于单片机控制。步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛
8、应用于各种开环控制5。本次设计采用的是四相步进电机,通过软件,硬件的结合来实现步进电机的启停、正转、反转、精确定位等功能,并且用LCD显示出步进电机运行参数及所处的状态。主要通过四大块来设计,包括驱动电路设计,显示部分,语音播报和按键部分的设计。1.2 国内外研究概况 在步进电机的发展过程中,出现了多种控制方案 。1.2.1 基于电子电路控制 步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现
9、一般步进电机的细分任务。这个系统由三部分组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。系统组成如图1所示。驱动电路步进电机环形分配器脉冲控制器图1 基于电子电路控制系统此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。采用闭环控制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步。 该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需
10、重新设计,因此灵活性不高。 1.2.2 基于单片机控制 采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统中采用单片机接口线直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器及时显示正转、反转速度等状态。环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配。本方案有以下优点:(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失
11、步、振荡等对控制精度的影响:(2)用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性。基于以上优点,本次设计采用基于单片机的控制方案。1.2.3 基于PLC的控制 PLC也叫可编程控制器,是一种工业上用的计算机。PLC作为新一代的工业控制器,由于具有通用性好、实用性强、硬件配套齐全、编程简单易学和可靠性高等优点而广泛应用于各行业的自动控制系统中。步进电机控制系统有PLC、环形分配器和功率驱动电路组成。控制系统采用PLC来产生控制脉
12、冲。通过PLC编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制伺服机构的进给速度。环形脉冲分配器将PLC输出的控制脉冲按步进电机的通电顺序分配到相应的绕组。PLC控制的步进电机可以采用软件环形分配器,也可采用硬件环形分配器。采用软件环形分配器占用PLC资源较多,特别是步迸电机绕组相数大于4时,对于大型生产线应该予以考虑。采用硬件环形分配器,虽然硬件结构稍微复杂些,但可以节省PLC资源,目前市场有多种专用芯片可以选用。步进电机功率驱动电路将PLC输出的控制脉冲放大,达到比较大的驱动能力,来驱动步进电机。采用软件来产
13、生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件成本。但由于PLC的扫描周期一般为但由于PLC的扫描周期一般为几毫秒到几十毫秒,相应的频率只能达到几百赫兹,因此,受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下工作,无法实现高速控制。并且在速度较高时,由于受到扫描周期的影响,相应的控制精度就降低了。 1.3 设计要求本次设计任务要完成的目标是:实现步进电机的启停、正反转、精确定位、加减速等功能,并且通过按键来输入参数,液晶显示参数,语音播报步进电机状态。1. 按键设置步进电机加速度、转速和运行距离;2. 液晶显示
14、步进电机运行参数,运行时间和实际运行距离;3. 启动时步进电机速度由慢到快,停止时电机速度由快到慢;4. 播报电机运行状态。2 步进电机2.1 步进电机的概念步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。我们可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时我们也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的6。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线
15、性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。从原理上讲,步进电机是一种低速同步电动机。2.2 步进电机的特征1.高精度的定位:步进电机最大特征即是能够简单的做到高精度的定位控制。以5相步进电机为例:其定位基本单位(分辨率)为0.72(全步级)/0.36(半步级),是非常小的;停止定位精度误差皆在3分(0.05)以内,且无累计误差,故可达到高精度的定位控制。(步进电机的定位精度是取决于电机本身的机械加工精度) 2.位置及速度控制: 步进电机在输入脉冲信号时,可以依输入的脉冲数做固定角度的回转进而得到灵活的角度控制(位置控
16、制),并可得到与该脉冲信号周波数(频率)成比例的回转速度。 3.具有定位保持力:步进电机在停止状态下(无脉波信号输入时),仍具有激磁保持力,故即使不依靠机械式的剎车,也能做到停止位置的保持。械式的剎车,也能做到停止位置的保持。4.动作灵敏: 步进电机因为加速性能优越,所以可做到瞬时起动、停止、正反转之快速、频繁的定位动作。5.开回路控制、不必依赖传感器定位:步进电机的控制系统构成简单,不需要速度感应器(ENCODER、转速发电机)及位置传感器(SENSOR),就能以输入的脉波做速度及位置的控制。也因其属开回路控制,故最适合于短距离、高频度、高精度之定位控制的场合下使用。 6.中低速时具备高转矩
17、:步进电机在中低速时具有较大的转矩,故能够较同级伺服电机提供更大的扭力输出。7.高信赖性:使用步进电机装置与使用离合器、减速机及极限开关等其它装置相较,步进电机的故障及误动作少,所以在检查及保养时也较简单容易。 8.小型、高功率:步进电机体积小、扭力大,尽管于狭窄的空间内,仍可顺利做安装,并提供高转矩输出。2.3 步进电机的工作原理通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入
18、的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图2是该四相反应式步进电机工作原理图。图2 四相反应式步进电机工作原理图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相 绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1
19、、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图3.a、b、c所示: a单四拍 b双四拍 c八拍图3 步进电机工作时序波形图2.4 步进电动机的驱动方法步进电动机不能直接接到工频交
20、流或直流电源上工作,而必须使用专用的步进电动机驱动器,如图4所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。其中前两个单元可以用微机控制来实现。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。步进电机驱动方式可分为单极性驱动、双极性驱动、高低压驱动、斩波恒流驱动、集成功率驱动和细分驱动等。目前以集成功率驱动最为普遍。控制指令脉冲发生控制单元脉冲发生控制单元步进电机图4 步进电动机驱动控制器目前已有多种用于步进电动机的集成功率驱动接口电路可供选用。L298芯片是一种H桥式驱动器,它设计成接受标准TTL逻辑电平信号,可用来驱动电感性负载。H桥可承受46V电压,相电
21、流高达2.5A。L298(或XQ298,SGS298)的逻辑电路使用5V电源,功放级使用546V电压,下桥发射极均单独引出,以便接入电流取样电阻。L298(等)采用15脚双列直插小瓦数式封装,工业品等级。它的内部结构如图5所示。H桥驱动的主要特点是能够对电机绕组进行正、反两个方向通电。L298特别适用于对二相或四相步进电动机的驱动。图5 L298原理框图与L298类似的电路还有TER公司的3717,它是单H桥电路。SGS公司的SG3635则是单桥臂电路,IR公司的IR2130则是三相桥电路,Allegro公司则有A2916、A3953等小功率驱动模块。还有本设计所用的美国Texas Instr
22、ument和Sprague公司开发的高压大电流达林顿晶体管阵列电路。3 总体方案设计本设计包括以下几个方面:对步进电机的控制和驱动以及其状态的显示和距离的检测,并在此基础上添加了语音播报。以下就各部分功能模块进行方案对比和确定。3.1 步进电机的选择在进行其他模块设计前,应先选择合适的电机。考虑到此次设计只是简单地控制步进电机的速度、正反转、位置定位、加减速等,而并没有涉及使用步进电机拖到负载,因此诸如静力矩和动力矩、转子的转动惯量、力矩负载、惯性负载这些因素就不需要考虑了,所以最终选择了市场上价格相对较为便宜而又比较常见的28BYJ48型四相五线制步进电机,实物图如图6所示图6 28BYJ4
23、8型四相五线制步进电机实物图其主要技术参数如表1所示表1 28BYJ48步进电机主要技术参数电机型号电压V相数相电阻+10%步距角度减速比起动转矩100P.P.Sg.cm起动频率定位转矩g.cm28BYJ48-031243005.625/541:64300550300由表1可以看到该步进电机内装有减速齿轮,减速比为1:64,即外面转轴转一圈内部齿轮已转了64圈,因此设计时应该将其计算在内。3.2 步进电机的运行控制3.2.1 步进电机控制原理步进电机是数字控制电机,它将脉冲信号转变成角位移在步进电机中,控制绕组每改变一次通电方式,称为一拍,每一拍转子就转过一个步距角,即给一个脉冲信号,步进电机
24、就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如图7所示:驱动放大步进电机信号分配脉冲信号负载图7 步进电机控制框图3.2.2 步进电机的换相顺序控制通电换相这一过程称为脉冲分配。例如:四相步进电机的四拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D或者D,C,B,A相的通断。3.2.3 步进电机的转向控制步进电机的转向由脉冲的分配顺序决定,如
25、果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转,要想改变步进电机的转向,只需将脉冲的分配次序颠倒即可实现。3.2.4 步进电机的速度控制步进电机的速度控制是通过单片机发出的步进脉冲频率来实现,对于软脉冲分配方式,可以采用调整两个控制字之间的时间间隔来实现调速,对于硬脉冲分配方式,可以控制步进脉冲的频率来实现调速。控制步进电机的速度的方法可有两种:1. 软件延时法:改变延时的时间长度就可以改变输出脉冲的频率,但这种方法CPU长时间等待,占用大量的机时,因此没有实践价值。2. 定时器中断法:在中断服务子程序中进行脉冲输出操作,调整定时器的定时常数就可以实现调速,这种方法
26、占有的CPU时间较少,在各种单片机中都能实现,是一种比较实用理想的调速方法。定时器法利用定时器进行工作,为了产生步进脉冲,要根据给定的脉冲频率和单片机的机器周期来计算定时常数,这个定时器决定了定时时间,当定时时间到而使定时器产生溢出时发生中断,在中断子程序中进行改变P2的电平状态的操作,这样就可以得到一个给定频率的方波输出,改变定时常数,就可以改变方波的频率,从而实现调速。3.2.5 步进电机的位置控制步进电机的位置控制,指的是控制步进电机带动执行机构从一个位置精确地运行到另一个位置,步进电机的位置控制是步进电机的一大优点,它可以不用借助位置传感器而只需要简单的开环控制就能达到足够的位置精度,
27、因此应用很广。步进电机的位置控制需要两个参数:1.第一个参数:步进电机控制执行机构当前的位置参数(我们称为绝对位置),绝对位置时有极限的,其极限时执行机构运动的范围,超越了这个极限就应报警。2.第二个参数:从当前位置移动到目标位置的距离 我们可以用折算的方式将这个距离折算成步进电机的步数,这个参数是外界通过键盘或可调电位器旋钮输入的,所以折算的工作应该在键盘程序或A/D转换程序中完成。 对步进电机位置控制的一般作法是:步进电机每走一步,步数减1,如果没有失步存在,当执行机构到达目标位置时,步数正好减到0,因此,用步数等于0来判断是否移动到目标位,作为步进电机停止运行的信号。3.2.6 步进电机
28、的加减速控制步进电机步距角和转速大小不受电压波动和负载变化的影响,也不受各种环境条件诸如温度、压力、振动、冲击等影响,而仅仅与脉冲频率成正比,通过改变脉冲频率的高低可以大范围地调节电机的转速,并能实现快速起动、制动、正反转、加减速,而且有自锁的能力,不需要机械制动装置,不经减速器也可获得低速运行。它每转过一周的步数是固定的,只要不丢步,角位移误差不存在长期积累的情况,主要用于数字控制系统中,精度高,运行可靠。如采用位置检测和速度反馈,亦可实现闭环控制。步进电机驱动执行机构从A点到B点移动的时,要经历升速,恒速,减速过程,如果启动时一次将速度升到给定速度,由于启动频率超过极限启动频率,步进电机就
29、有失步现象,因此会造成不能正常启动,如果到终点时突然停下来,由于惯性作用 ,步进电机会发生过冲现象,会造成位置精度降低。如果升速非常缓慢的升降速,步进电机虽然不会发生失步和过冲现象,但影响执行机构的工作效率,所以,对步进电机的加减速要有严格的要求,那就是保证在不失步和过冲的前提下,用最快的速度(或最短的时间)移动到有可能指定位置。为满足加减速要求,步进电动机运行通常按照加减速曲线进行。图8是加减速运行曲线。加减速运行曲线没有一个固定的模式,一般根据经验和实验得到的。最简单的是匀加速和匀减速曲线,如图8.a所示:fftta 匀加、减速曲线b S型加、减速曲线图8 加减速曲线图其加减速曲线都是直线
30、,因此容易编程实现。按直线加速时,加速度是不变的,因此要求转矩也应该是不变的。但是,由于步进电动机的电磁转矩玉转速时非曲线关系,因而加速度玉频率也应该是非曲线关系。因此,实际上当转速增加时,转矩下降,所以,按直线加速时,有可能造成因转矩不足而产生失步的现象。采用指数加、减速曲线或S形(分段指数曲线)加、减速曲线虽然可以解决直线加速的问题,但编程较为困难。因此本设计采用直线加速方案。3.3 步进电机驱动方案的选择方案一:使用分立元件驱动步进电机以往步进电机控制系统采用分立元件或者集成电路组成的控制回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就得重新设计电路,随着微电
31、子和计算机技术的发展,对步进电机的控制变得非常灵活方便,可以通过软件来控制步进电机。因此,用微电脑控制步进电机已经成为一种必然的趋势,也符合数字化的时代趋势。方案二:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。方案三:使用L298N和L297芯片驱动电机L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;
32、可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。但是芯片的的价格相对较高,本设计只是简单的对步进电机进行控制。方案四:利用ULN2003A来驱动步进电机 ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。通过比较,使用ULN2003A芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用ULN2003A驱动电机。成本比较低,有实现了本次设
33、计的所有要求。方案三比较合适此次设计。3.4 显示方案的选择与论证方案一:采用LED数码管显示旗帜所在的高度以及升降旗所用的时间。在本系统中需要用到6只LED数码管进行动态显示才可以达到要求。采用LED的优点是亮度高,醒目,价格便宜,寿命长;缺点是只能显示09的数字和一些简单的字符,电路复杂,占用资源较多且信息量小。方案二:用LCD(RT1602C)液晶显示,其优点是能显示更多的字符,工作电流比LED小几个数量级,故其功耗低,且有着良好的人机界面,体积小,功耗极低。基于上述考虑,所以我们选择方案二。3.5 键盘方案的选择与论证 方案一:采用独立式键盘,每个按键占用一条I/O线,当按键数量较多时
34、,I/O口利用率不高,但程序编制简单,适用于所需按键较少的场合。方案二:采用矩阵式键盘,电路连接复杂,但提高了I/O口利用率,软件编程较复杂,适用于需使用大量按键的场合。由于本设计要求用户扩展的键盘按键有数字键0-9和功能键等共16个,因此键盘电路采用独立式键盘将会占用很多的I/O线从而不实用,故采用4*4矩阵式键盘。3.6 步进电机位置检测 利用传感器对电机位置的实时检测,有以下两种方案:方案一:红外检测,传输要求比较严苛,必须要对准方向,且中间不能有障碍物,限制较多,性能也比较差;方案二:霍尔传感器,精度高,过载能力强,灵敏度高,还可以通过使用多块磁钢来倍频,以增加测量的精度,所以选择霍尔
35、传感器来测量电机位置。3.7 整体方案 系统上电后,先通过矩阵键盘设置步进电机的运行参数(包括加速度、速度、运行距离),单片机采集键盘指令,给出相应的步进电机控制信号,并且显示所设置的参数及步进电机的运行状态,同时进行相应语音播报。结合以上各部分方案的对比,系统的整体方案方框图如图9所示 。键盘控制时钟电路语音播报LCD1602步进电机驱动位置检测ST89C52单片机步进电机图9 整体方案设计方框图4 硬件电路设计 4.1 单片机的选择本系统选用功能强大的STC89C52单片机作为主控制器。STC89C52单片机是深圳宏晶科技推出的新一代超强抗干扰、高速、低功耗、高性能的8位控制器,具有8K在
36、系统可编程Flash存储器使用高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断
37、继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52处理芯片引脚如图10所示。图10 STC89C52引脚分配4.2 单片机最小系统 单片机最小系统或者称为最小应用系统,素质用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:复位电路、晶振电路。其最小系统电路图如图11所示。复位是单片机的初始化操作。其功能主要是将程序(PC)初始化为0000H,使单片机从0000H单元开始执行程序,并将特殊功能寄存器赋一些特定值。复位是上电的第一个操作,然后程序从0000H开始执行。在运行中,外界干扰等因素
38、可能会使单片机的程序陷入死循环状态或“跑飞”。要使其进入正常状态,唯一办法是将单片机复位,以重新启动。复位也是使单片机退出低功耗工作方式而进入正常状态一种操作。RST引脚是复位端,高电平有效。在该引脚输入至少连续两个周期以上的高电平,单片机复位。晶振电路:8051单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。在引脚 XTAL1 和 XTAL2 外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。其电容值一般在 530pf,晶振频率的典型值为 12MHz,采用 6MHz
39、 的情况也比较多。内部振荡方式所得的时钟信号比较稳定,实用电路使用较多。 图11 单片机最小系统电路图4.3 键盘电路设计 本设计采用了4*4矩阵式键盘也称行列式键盘,它由行和列组成,在每一个行列的交叉点上设置一个按键,这样一个8位的控制端口(P1口)就可以实现,比独立式键盘节省了一半端口。其电路原理图如图12所示。图12 键盘电路与单片机连接图4.4 显示模块本系统采用1602字符型液晶显示模块来显示步进电机的转速、速率、正反转、运行距离与实际运行距离及所有时间等步进电机的状态。液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等特点,目前字符型液晶显示模块已经是单片机应用设计中最常用的
40、信息显示器件了。LCD1602液晶显示模块可以显示两行,每行16个字符,采用+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。LCD1602与单片机的接线如图13所示。LCD的控制端口RS、R/W、E分别与单片机的P3.3、P3.6、P3.7相连,LCD的八个数据引脚分别与单片机的P0端口八个引脚相连,由于单片机P0端口内唔内部上拉电阻,所以当其作为输出端口时,必须外加上拉电阻。图13 LCD与单片机连接图4.5 步进电机驱动模块本系统采用额定电压为5VDC,相数为4相的步进电机,驱动方式为4相8拍。一共有5跟线连接,其中红色的为电源线。采用单极性直流电源供电。只要对步进电机的各相
41、绕组按合适的时序通电,就能使步进电机步进转动。由于单片机P口输出的电流比较弱不能驱动步进电机,所以要加一个ULN2003芯片来放大电流使之能驱动步进电机工作。ULN2003内部结构及等效电路图如图14所示: 图14 ULN2003内部框图及等效电路图ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。把STC89C52的P2.0、P2.1、P2.2、P2.3口分别
42、经过反相器与ULN2004芯片的输入端IN1,IN2,IN3,IN4接口连接,P2口通过软件实现高低电平的依次转换,然后再把2口的电平信号通过ULN2004芯片放大后再把放大后的信号通过OUT1,OUT2,OUT3,OUT4一次接到步进电机的ABCD四相。驱动电路与单片机连接电路图如图15所示。图15 步进电机驱动电路与单片机连接电路图4.6 位置测量模块本设计需要测量步进电机实际运行的距离,采用了A3144E霍尔元件来测量。4.6.1 开关型霍尔传感器介绍霍尔传感器是利用霍尔效应原理制成的一种磁敏传感器。它是近年来为适应信息采集的需要而迅速发展起来的一种新型传感器,这类传感器具有工作频带宽、
43、响应快、面积小、灵敏度高、便于集成化、多功能等特点,且易于计算机和其他数字仪表接口,因此被广泛用于自动监测、自动报警、自动控制、信息传递、生物医学等各个领域,此处主要介绍开关型霍尔传感器。开关型霍尔传感器由稳压器A、硅霍尔片B、差分放大器C、施密特触发器D和OC门输出E五部分组成,如图16所示,从输入端1输入电压Vcc,经稳压器A稳压后加在硅霍尔片B的两端,以提供恒定不变的工作电流。在垂直于霍尔片的感应面方向施加磁场,产生霍尔电势Vw,该n信号经差分放大器C放大后送至施密特触发器D整形。当磁场到达“工作点”时,触发器D输出低电压,此状态称为“开”。当施加的磁场到达“释放点”时,触发器D输出低电
44、压,使三极管E截止,输出端V,输出高电位,此状态称为“关”。这样2次高低电位变换,使霍尔传感器完成了1次开关动作。开关型霍尔传感器构成图及其输出电压与外加磁感应强度关系如图16所示图16 开关型霍尔传感器构成图及其输出电压与外加磁感应强度关系图4.6.2 传感检测电路位置检测电路是由开关型霍尔传感器和磁钢组成,其中霍尔元件与单片机的连接电路图如图17所示图17 霍尔元件与单片机的连接电路图在步进电机转轴面上放上磁钢,当电机转动时,带动传感器,产生对应频率的脉冲信号,经过信号处理后输出到计数器,进行位置的检测。4.7 语音播报部分本设计中,选用了ISD1700系列中的ISD1730语音芯片来实现
45、语音播报部分,ISD1700 是华邦 ISD 公司 2007 年新推出的单片优质语音录放电路,该芯片 提供多项新功能,包括内置专利的多信息管理系统,新信息提示( vAlert ) , 双运作模式(独立 & 嵌入式),以及可定制的信息操作指示音效。芯片内部 包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。4.7.1 管脚及功能图18 ISD1700引脚图4.7.2 ISD1700芯片特点 可录、放音十万次,存储内容可以断电保留一百年 两种控制方式,两种录音输入方式,两种放音输出方式 可处理多达 255 段以上信息 有丰富多样的工作状态提示 多种采样频率对
46、应多种录放时间 音质好,电压范围宽,应用灵活4.7.3 ISD1700系列芯片功能介绍ISD1700 系列高质量、全集成、单芯片多信息录放芯片适用于多种系统。录音时间可选范围为26秒-120秒。通过外部电阻设置采样频率,从4 kHz到12 kHz,使得录音时间和录音 质量间可根据应用而平衡。工作电压范围从2.4 V到5.5 V,因此也适用于电池场合。ISD1700支持独立模式或SPI模式。器件集成优异的消息管理系统,使得芯片能够自动寻址各信息 的地址。该功能使其能够胜任单晶片按键情形。还集成一片上振荡器(由外部电阻控制),带自动增益控制(AGC)的麦克风前置放大器,一个辅助模拟输入,抗混淆滤波器,多级擦除阵列,平滑滤波器,音量控制,PWM之D类喇叭驱动器,电流/ 电压输出。ISD1700同时提供一可选“vAlert” (声音提醒)功能,用于指示有新的信息。器件闪烁一外部LED指示有一 个新消息出现。此外,4 条特殊提示音用于确认操作,如“Start Record”,“Stop Record”,“Erase”,“Forward”,“Global Erase”等。 录音信息存储到片上Flash。数据不经压缩,提供原声品质。音