单片机步进电机控制器设计.docx

上传人:b****2 文档编号:24090956 上传时间:2023-05-24 格式:DOCX 页数:39 大小:824.85KB
下载 相关 举报
单片机步进电机控制器设计.docx_第1页
第1页 / 共39页
单片机步进电机控制器设计.docx_第2页
第2页 / 共39页
单片机步进电机控制器设计.docx_第3页
第3页 / 共39页
单片机步进电机控制器设计.docx_第4页
第4页 / 共39页
单片机步进电机控制器设计.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

单片机步进电机控制器设计.docx

《单片机步进电机控制器设计.docx》由会员分享,可在线阅读,更多相关《单片机步进电机控制器设计.docx(39页珍藏版)》请在冰豆网上搜索。

单片机步进电机控制器设计.docx

单片机步进电机控制器设计

摘要1

摘要

步进电机是工业生产中常用的设备,其用途为将脉冲信号转化为角位移,也就是当步进电机的驱动器接收到一个脉冲信号时,就会驱动步进电机按预设的状态转动一定的角度(步进角)。

所以,通过控制脉冲个数就可以实现角位移量的控制,从而达到电机准确定位的目的;同时可以用脉冲控制电机转动的速度和加速度,达到加减速的目的。

  

在步进电机的单片机控制系统中,本设计需要实现以下2个基本控制任务:

 

1)通过设计实现步进电机三个轴向的控制,并通过输入指令控制哪个轴向的步进电机工作。

 

2)通过单片机和键盘命令实现步进电机的状态控制,主要有加减速、正反转。

本设计采用STC89C51单片机作为主控,采用ULN2003作为步进电机驱动,8位7段数码管作为显示模块,控制三个轴向的28BYJ-48步进电机运行。

关键词:

步进电机 驱动器  单片机 脉冲

 

ABSTRACT

Steppermotoriscommonequipmentintheindustrialproductionwhichisusedforthepulsesignalintoangulardisplacement,thatis,whenthesteppingmotordriverreceivesapulsesignal,itwilldriveasteppermotortorotateacertainpresetanglestate(steppingangle).Therefore,controloftheangulardisplacementcanbeachievedbycontrollingthenumberofpulses,soastoachieveaccuratepositioningmotor,meanwhilecontrolthemotorrotationspeedandaccelerationviapulsecontroltoachievethepurposeofaccelerationordeceleration.

Inthesingle-chipsteppermotorcontrolsystem,thedesignneedstoachievethefollowingtwobasiccontroltasks:

1)Todesignandachievethreeaxessteppermotorcontrolandtocontroloneaxisthroughtheinputcommandofsteppermotor.

2)Toachievestatecontrolofsteppermotorwhichcontainsaccelerationanddecelerationorforwardandreversethroughmicrocontrollerandkeyboardcommands.

ThisdesignusesSTC89C51microcontrollerasmaster,usesULN2003asasteppermotordriver,useseight7-segmentdigitaltubeasdisplaymoduletocontrolfunctionofthethreeaxes28BYJ-48steppermotor.

Keywords:

steppermotor;driver;single-chip;pulse

 

1绪论

1.1研究背景及意义

步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执行元件,随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需求量越练越大[1]。

随着工业技术的不断发展,以及同类产品的不断出现,步进电机面临着前所未有的挑战。

对于一个步进电机控制系统而言,通常总希望它能以最短的时间到达控制终点。

因此要求步进电机的速度尽可能地快,但如果速度太快,则可能发生失步。

此外,一般步进电机对空载最高启动频率都是有所限制的。

当步进电机带负载时,它的启动频率要低于最高空载启动频率。

根据步进电机的矩频特性可知,启动频率越高,启动转矩越小,带负载的能力越差[2]。

由于步进电机的运动特性受电压波动和负载变化的影响小,方向和转角控制简单,并且步进电机能直接接收数字量的控制,非常适合采用微机进行控制。

步进电机工作时,失步或者过冲都会直接影响其控制精度。

研究步进电机的加减速控制,可以提高步进电机的响应速度、平稳性和定位精度等性能,从而决定了步进电机控制系统的综合性能。

本设计旨在通过分析利用红外线传感器探测人体反射回来的红外线信号原理设计出来的红外线感应门铃,内容广泛,灵活应用。

课题利用E18-D80NK-N红外避障传感器,SYN6288语音芯片,STC89C51主控芯片,lm386放大器芯片等各部分模块设计而成的典型电路。

电路设计简单,能够应用到很多领域,有较高的实用价值,可以起到提醒的作用[3]。

1.2步进电机控制系统的研究现状

为了得到良好的控制性能,对步进电机的控制的研究就一直没有停止过,许多重大的技术得以实现。

上世纪80年代以后,由于微型计算机以多功能的姿态出现,步进电动机的控制方式变得更加灵活多样。

原来的步进电机控制系统采用分立元件的控制回路,或者集成电路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路,不利于系统的改进升级。

基于微型单片机的控制系统则通过软件来控制步进电机,能够更好地发挥步进电机的潜力。

因此,用微型单片机控制步进电机己经成为了一种必然的趋势,也符合数字化的时代发展要求[4]。

还比如为了适应一些领域中高精度定位和运行平稳性的要求,出现的步进电机细分驱动技术,就包括振荡器、环行分配器控制的细分驱动、基于单片机斩波恒流驱动、基于单片机的直流电压驱动三种常见驱动方式,除上述三种步进电机的驱动方案之外,目前报道的驱动方案还有根据汇编语言或C语言进行软件开发,通过串行或并行通行的方式实现pc机与步进电机控制器之间的数据通信,最终实现由PC机直接控制步进电机的方法。

现在较为流行的步进电机控制技术主要有以下几种:

1、基于电子电路的控制 

步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。

由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。

步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。

此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务。

这个系统由三部分组成:

脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。

这种控制技术可为开环控制,也可闭环控制。

开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。

采用闭环控制,即能实现高精度细分,实现无级调速。

闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步[4]。

该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需重新设计,因此灵活性不高[5]。

2、基于单片机的控制 

采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。

用软件代替环形分配器,达到了对步进电机的最佳控制。

系统中采用单片机接口线直接去控制步进电机各相驱动线路。

由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器及时显示正转、反转速度等状态。

环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配。

这种控制技术有以下优点:

(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失步、振荡等对控制精度的影响;

(2)用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性。

总之,未来几年步进电机控制技术的发展趋势是:

产品技术将在数字化、无线化、集成化的前提下力求突破。

而在应用市场上,它将朝更细化的方向前进──针对不同市场,推出不同产品[6]。

1.3论文整体结构安排

本设计主要研究了基于低成本单片机的三轴步进电机,通过对电机控制系统的每个模块进行分析和设计,完成系统的整体设计,借助protues软件进行模块功能仿真,并通过制作电机实物加深对步进电机控制过程的认识和理解,为此所做具体工作如下:

第1章为绪论,介绍了步进电机控制系统的国内外研究现状和发展趋势。

第2章对系统主要芯片进行了论证和选择,从而确定系统的整体研究方案。

第3章对三轴步进电机控制系统的每个模块部分进行介绍,主要介绍了主控、电机、数码显示、键盘控制和电源电路的电路设计。

第4章对系统总程序和各部分程序进行分部介绍,从而有助于对系统进行程序设计。

第5章以单个步进电机为研究对象,对步进电机的加减速、正反转等状态进行了protues仿真。

第6章为系统的硬件设计部分,通过在protel中进行原理图和PCB的设计,并进行硬件实物的调试制作。

第7章对三轴步进电机控制系统的设计和应用进行了总结和展望。

2系统方案分析与选择论证

2.1系统方案设计

2.1.1主控芯片选择方案

方案一:

采用ATMEL公司产的AT89C52单片机,AT89C52单片机是一种低电压,高性能的CMOS8位微控制器,片内有2KB的Flash可编程且可擦除的只读存储器。

15线可编程的I/O口,两个16位的定时器(TO和TI)。

并且片内含有一个模拟比较器,操作简单,功能完善。

方案二:

采用TI推出的MSP430系列单片机,该机型是TI公司430家族的16位单片机。

电压工作范围1.8—3.6V,性能高达16MIPS,包含极低功耗震荡器(VLO),正常工作功耗低至270μA,待机功耗0.7μA,因其电池供电持久占据三表领域市场,但价格较昂贵,不适于普通控制系统。

方案三:

采用宏晶科技有限公司的STC89C51增强型51单片机作为主控芯片,此芯片内置ADC和SPI总线接口,且内部时钟不分频,可达到1MPS,而且价格适中。

本设计采用宏晶科技的STC89C51芯片作为主流芯片,由于其内存较大,总线接口也非常方便,做控制芯片,完全可以满足设计要求。

2.1.2步进电机选择方案

步进电机作为本系统的主要组成部件,它的参数选取以及电机的性能指标直接影响到系统控制精度及运行可靠性。

步进电机和一般直流电机不同,它的性能指标与驱动电源及测试条件关系很大。

同样一个步进电机,当驱动电源或测试方法改变了,其性能会千差万别。

不同厂家制造的步进电机,只有在相同的控制电源以及测试条件下进行比较才有意义。

因此只有对步进电机的参数和特性有比较深刻的了解,才会更好地选用和使用步进电机。

步进电机选择的主要参数:

① 步距角 

在电机内不带任何减速装置的情况下,输入一个脉冲信号,步进电机所转过的机械位移即为步距角。

电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。

电机的步距角应等于或小于此角度。

目前市场上步进电机的步距角一般有0.36°/0.72°(五相电机)、0.9°/1.8°(二相、四相电机)、1.5°/3° (三相电机)等。

鉴于在本市购买步进电机的困难以及目前市场上广泛应用的是二相、四相混合式电机,所以本系统采用的是步距角0.9°四相混合式步进电机。

 

② 步进电机的相数 

步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。

每相都包括电机绕组以及和绕组串联成一个支路的其他元件。

在没有细分驱动器时,主要靠选择不同相数的步进电机来满足自己步距角的要求。

③ 额定电压 

指步进电机各相绕组主回路上的直流电压。

电压波纹系数不宜过大,一般情况下应小于5%。

为了步进电机及其配套电源的标准化,国家标准GBn113-81规定步进电机的额定电压为:

单电压驱动:

6,12,27,48,60,80(V); 双电压驱动:

6/12,80/12(V)。

⑤ 最高运行转速 

确定步进电机的最高运行转速。

转速指标在步进电机的选取时至关重要,步进电机的特性是随着电机转速的升高,扭矩下降,其下降的快慢和很多参数有关,如:

驱动器的驱动电压、电机的相电流、电机的相电感、电机大小等等,一般的规律是:

驱动电压越高,力矩下降越慢;电机的相电流越大,力矩下降越慢。

根据以上条件选择四相五线电机28BYJ-48进行电路设计。

2.1.3显示模块选择方案

方案一:

选择主控为ST7920的带字库的LCD12864来显示信息。

12864是一款通用的液晶显示屏,能够显示多数常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果。

  方案二:

采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。

  方案三:

采用LED7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。

  综合以上方案,我们选择了经济实惠的数码管来作为系统显示模块。

2.2系统最终方案

(1)主控模块选用STC89C51单片机进行电路的整体控制,通过程序设计进行功能实现,主要功能有2个:

1)接收键盘输入指令,并产生指令通过电机驱动部分控制步进电机的各种状态;2)将步进电机的步数、速度等信息在显示模块显示。

(2)显示模块选用8位7段数码管,每两位数码管用来显示一个轴向的步进电机参数(速度、步数等),通过74HC573作为数码管的段选锁存器,控制每位数码管数字的显示;通过74HC138译码器选择用来点亮哪位数码管。

(3)电源模块,由于单片机和步进电机所使用的额定电压不同,需要设计电源模块给电路不同模块供电,这里主要是产生5V电压供给单片机,产生12V电压供给步进电机。

(4)键盘模块,该模块的主要作用为输入指令,指示步进电机的工作状态,主要有以下几种状态:

1)加速、减速;2)正转、反转;3)步进电机的步数。

(5)步进电机模块,模块主要分两部分:

驱动部分和电机部分。

驱动部分采用ULN2003芯片,主要作用为将单片机指令转为时钟信号传递给步进电机,并驱动电机工作;电机部分采用3个四相五线电机28BYJ-48进行不同状态的指令操作。

图2.1整体电路设计结构框图

3主要芯片介绍和系统模块硬件设计

3.1主控模块

单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。

然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。

它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能[7]。

STC89C52是ATMEL公司生产的51系列单片机,是一个低电压,高性能的CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

 

STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(STC系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SPI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及A/D转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。

这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。

总的而言单片机的特点可以归纳为以下几个方面:

集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面[8]。

图3.1STC89C52单片机引脚图

(1)主要功能特性:

兼容MCS51指令系统8kB;可反复擦写(大于1000次)FlashROM;32个双向I/O口;256x8bit内部RAM;3个16位可编程定时/计数器中断;时钟频率0-24MHz;2个串行中断,可编程UART串行通道;2个外部中断源,共8个中断源;2个读写中断口线,3级加密位;低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

(2)STC89C52单片机引脚介绍:

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

RESET:

复位输入.当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

EA/Vpp:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令,Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件使用12V编程电压VPP。

PORT0(P0.0―P0.7):

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻,在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻[9]。

PORT1(P1.0―P1.7):

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

PORT2(P2.0―P2.7):

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

PORT3(P3.0―P3.7):

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

单片机控制模块由STC89C52最小系统组成,由时钟电路和复位电路组成。

(1)时钟电路

时电路由两个30pF电容和一个晶体振荡器构成,接入单片机的X1、X2引脚,从而为单片机系统提供稳定的时钟。

(2)复位电路

复位电路的作用是在上电或复位过程中,控制CPU的状态,防止CPU发生错误的指令,执行错误操作,也可以提高电池兼容性能,电路设计如下:

图3.2单片机最小系统

3.2步进电机模块

本模块运用单片机控制步进电机驱动产生时钟信号,传送到每个轴向的步进电机,然后进行电机各种状态的演示,因此,本模块有两部分组成,驱动电路部分和电机部分,驱动电路由芯片ULN2003实现,电机部分由四相五线电机实现,本章节具体对其工作原理和功能进行介绍。

3.2.1步进电机概述

步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:

当步进驱动器接收到 一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信 号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

 四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC- CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)[10]。

3.2.2步进电机28BYJ-48工作原理

减速步进电机28BYJ-48属于四相步进电机,电机的控制分为以下几种:

1.换相顺序控制:

 通电换相这一过程称为脉冲分配。

例如:

混合式步进电机的工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。

 

2.控制步进电机的转向控制:

 如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。

 

3.控制步进电机的速度控制:

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

两个脉冲的间隔越短,步进电机就转得越快。

28BYJ-48步进电机的原理如下图所示:

图3.3步进电机结构原理图

图中,中间部分是转子,由一个永磁体组成,边上的是定子绕组。

当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生一个扭力将定子扭转[11]。

开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1