《计算机控制课程设计三相步进电机控制》由会员分享,可在线阅读,更多相关《计算机控制课程设计三相步进电机控制(27页珍藏版)》请在金锄头文库上搜索。
1、武汉理工大学计算机控制技术课程设计说明书目录1系统设计整体思路11.1方案选择11.1.1总思路11.1.2驱动电路选择11.1.3显示模块设计11.1.4工作状态控制模块设计21.2整体框图22硕件设计32.1单片机32.1.151单片机介绍32.1.2 思、路32.1.3 连线42.2电机及其驱动模块42.2.1 ULN2003a 介绍42.2.2 思、路52.2.3 连线52.3工作状态控制模块52.3.1并联电容消抖法52.3.2 连线62.4工作状态显示模块62.4.1.思路62.4.2 连线62.5步数显示模块72.5.1 LED数码管介绍72.5.2 7448 介绍72.5.3
2、思、路82.5.4 连线83软件设计83.1电机驱动模块83.1.1步进电机工作方式83.1.2设计说明103.2步数显示模块103.2.1设计说明103.2.2步数显示模块流程图113.3工作状态显示与输入模块113.4整体设计流程图124仿真演示135小结14参考文献15附录116附录2171系统设计整体思路1.1方案选择1丄1总思路此三相步进电机控制可以用单片机、PLC. EDA实现。而单片机实现的步进电机控制系 统具有成本低、使用灵活的特点。步进电机是数字控制电机,将脉冲信号转换成角位移, 电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超 载状态下,根据上
3、述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进 电机适用于单片机控制。此系统选用51单片机既可。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而 电机的转速由脉冲信号频率决定。步进电机的驱动电路是根据单片机产生的控制信号进行 工作。因此,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。 因此,此系统主耍由单片机、电机及其驱动电路、步数显示模块、工作状态控制与显示模 块组成。1.1.2驱动电路选择常规的步进电动机控制电路主要由脉冲分配器和驱动电路组成。比如用PMM8713与 LM331驱动三相步进电机,不过线路连接复杂,且不同工作方式的
4、控制困难。现在主要用 微机控制取代脉冲分配器,而给步进电动机提供驱动电源的驱动电路是必不可省的,同时 用微机实现对步进电动机的走步数、转向以及速度控制等。微机己选用51单片机,而驱 动电路可以用功率三极管等电子器件搭建成,电路简单,但信号不够稳定,器件较大不便 于电路的集成。而采用专门的驱动芯片便于电路的集成,且驱动简单,驱动信号稳定,不 受外部的干扰。现选用ULN2003a作为驱动电路。1.1.3显示模块设计步数显示模块和工作状态显示模块,都是通过单片机输出信号控制发光二极管LED的亮灭。其中步数显示模块中LED构成数码管,要求显示4位十进制数,故用到4位数码管。 要控制多位的显示电路,需要
5、有字段控制和字位控制。控制方式分为静态显示方式和动态 显示方式。静态显示方式,每一位的显示器都需要配一个8位输出口来输出该字位的七段 码,需要片外扩展输出口。而动态显示方式将各数码管的对应字段的引脚都并联在一起, 线路简单,减少接口,不需片外扩展。这里选用动态显示方式。而对数码管的字段控制,可以加入一个专门的7段显示译码器7448,可以实现输出数 据直接显示,而不用对照表来译码。1.1.4工作状态控制模块设计在单片机系统中,与主机交换信息,有时并不需要复杂的键盘,只要几个简单的开关 就可以了。如果系统装备的开关数量不多,可以直接装在接口上,这种连接的键盘称为独 立式键盘。本次设计需有6个开关,
6、故选用独立式键盘。独立式键盘一般用查询指令检查某接口上的开关是否按下。而且在开关闭合或断开时 刻,由于触点接触不稳定,使检测点电压发生抖动,会造成被查询的开关状态无法准确读 到,为此需加入一些去抖动措施。分为硬件去抖动和软件去抖动。软件去抖动,是在检测 到有键按下时,执行一个10ms-20ms的延时程序,避开抖动信号,然后再检测该键是否完 全闭合。为了避免程序的复杂,这里釆用硬件去抖动方式。硬件去抖动一般是在开关和单 片机接口间加一个RS触发器,或者加入有较长时间常数的积分电路来消除这种振荡。由 于积分电路中元器件更加常见易得,此次设计选用加入积分电路方案。1.2整体框图图1系统整体框图2硬件
7、设计2.1单片机2.1.151单片机介绍P1.CP1.1P1.2单片机引脚图及引脚功能如下:卩14P1.5 单片机的40个引脚大致可分为4类:电源、时P1.6钟、控制和I/O引脚。电源:(1) VCC-芯片电源,接+5V;(2) VSS -接地端;时钟:XTAL1、XTAL2晶体振荡电路反相输入端 和输岀端。RXD/P3.0TXDZ P3.1 rXT0/P3.2 INTI/ P3.3TO/ P3.4Tl/ P35P3.6RD/P3.7控制线:控制线共有4根。VSS(1) ALE/PROG:地址锁存允许/片内EPROM编程 脉冲。n12105750 9 8 7 6-432104333333333
8、3图2单片机引脚图nnnnnnnnnnnnnnnnnnnnCO12 34 5 67 VCPO.PO.PO.PO.PO.PO.PO.PO.EA.7.6.S丄.3.2J O 22 2 2 2*222. PPPPPPPP(2) PSEN:外ROM读选通信号。(3) RST/VPD:复位/备用电源。(4) EA/Vpp:内外ROM选择/片内EPROM编程电源。I/O 线:80C51共有4个8位并行I/O端口: P0、Pl P2、P3 M,共32个引脚。P3 口还具有第二 功能,用于特殊信号输入输出和控制信号(属控制总线)。2丄2思路连接好单片机的电源和接地端,吋钟用内部方式(需外接晶体振荡器),控制脚
9、中要用到 复位功能,接一个手动复位电路。其4个I/O 口都要用到,P3接步进电机驱动电路及工 作状态显示模块,P0和P2分别接步数显示中对数码管的字段控制及数码管片选,P1接工 作状态控制电路。2.1.3连线vccC1 .H:!-r 限-cTEXT*R1 Ik R2Ik-cTER4XTAL1XTAL2DOTpcrngD口 PO.1J9KD1 PC 如 D2PO.4D pa 如 DSPDJ&WD6nri j m onv Iru.r AnUrP2HWBP2.1/A9P22Xft10PSENP211ALEP2.4XM2EAP2J5BA13P2j61P2.T/A1SP1DP3IVRXDP1.1P3.1
10、/TXDP12P13P33HNT1P1.4P3.VTUP1SP345P1J6P3J6.VURP1.7P3.T/RDU119匚二)xi -CRYSTAL TEKTit2212225 :2B *W 12“图3单片机部分连线图此设计中接的是12MHZ的晶振,故一个机器周期为1/12US。根据经验数据,与晶振 一起的两个电容设为15PFo复位开关按普通开关的形式接入RST脚,且由于人手的反应时 间比机器周期要大得多,故不用加入去抖动措施,合上再开通,即完成了一次复位。单片 机的VCC和GROUD都隐藏了,已自动接好,VCC应设为+5V。2.2电机及其驱动模块2.2.1 ULN2003a 介绍ULN20
11、03是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。其属于可控大功率器件,可 以通过扩展电流来满足被控元件对电压、电流的要求。 其可达到高电压输出50V, 般用来驱动继电器、步进 电机。逻辑图如右图:1B2B3B4B5B6B7B十厂iCOM1C2C3C4C5C6C7C图4 ULN2003a逻辑图COM端一般加12V的电压,分析逻辑图知,B端 口如果输入高电平,经反相器即为低电平,则该路二极 管不导通,C 口输出为低电平。而B 口如果输入低电平, 经反相器后为高电平,则该路二极管导通,C 口输出为高电平。可见,ULN2003a是一个7路反相器电路,即当输入端为高电平时输出端为低电平
12、, 当输入端为低电平时输出端为高电平。2.2.2思路这里需驱动一个三相步进电机,用一片ULN2003a既可,选用其中三路,对应接到单片 机和步进电机上。用单片机内程序的设定来实现相位的控制,按一定顺序实现绕组的通断。2.2.3连线Proteus中没有三相步进电机,故用一个伺服电机代替。其接线图都是相同的。ULN2003 的COM端和步进电机的VCC都接12V的电源。图5电机驱动模块连线图2.3工作状态控制模块2.3.1并联电容消抖法利用电容的放电延时,采用并联电 容法,可以实现硬件消抖。在通常的开 关接法中,在开关两端并联一个电容, 即实现了并联电容硬件消抖。图6并联电容消抖法原理图2.3.2
13、连线图7工作状态控制模块连线图这里KO、KI、K2分别为三相单三拍、三相双三拍、三相六拍三种通电方式选择键,K3为启动/停止控制,K4为方向控制,K5为转速控制。2.4工作状态显示模块2.4.1思路LED发光二级管可以直接接单片机。如果让LED的阳极接单片机10 口,阴极接地,则 可以实现10 口输出高电平时,LED亮,低电平时,LED灭。但是也可以反向,让单片机输 出通过一个反相器再接到LED阴极,LED阳极接VCC。这样可以提高电流,有利于二极管 的导通,此时仍是10 口输出高电平时,LED亮,低电平时,LED灭。LED模块跟单片机P3 口的三个脚连接,可以通过控制P3 口的数据,实现LE
14、D的亮灭。2.4.2连线图8工作状态显示模块连线图2.5步数显示模块2.5.1 LED数码管介绍LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段 分别由字母a,bcdef扃dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮, 以形成我们眼睛看到的字样了。通过分时轮流控制各个LED数码管的COM端,就使各个 数码管轮流受控显示,这就是动态驱动。2.5.2 7448 介绍B匸1U161 vcc215市匚3143 gbi/rboE413J aRBlP512U bDL6113 cA C7102 dGND匚89J e图9显示译码器7448管脚图7段显示译码器7448是输出高电平有效的译码 器,其真值表如表1。其工作电压为5V。7448除了 有实现7端显示译码器基本功能的输入(DCBA)和 输岀(Ya-Yg)端外,7448还引入了灯测试输入端和动态灭零输入端,以及既有输入功能又有 输出功能的消隐输入/动态灭零输出端。在灯测试输入端和动态灭零输入端都接无效电 平时,输入DCBA经7448译码,输出高电平有效的7段字符显示器的驱动信号,显示相应字符。除DCBA = 0000夕卜,RBI也可以接低电平,见表1