步进电机控制.docx

上传人:b****7 文档编号:15757540 上传时间:2023-07-07 格式:DOCX 页数:31 大小:205.71KB
下载 相关 举报
步进电机控制.docx_第1页
第1页 / 共31页
步进电机控制.docx_第2页
第2页 / 共31页
步进电机控制.docx_第3页
第3页 / 共31页
步进电机控制.docx_第4页
第4页 / 共31页
步进电机控制.docx_第5页
第5页 / 共31页
步进电机控制.docx_第6页
第6页 / 共31页
步进电机控制.docx_第7页
第7页 / 共31页
步进电机控制.docx_第8页
第8页 / 共31页
步进电机控制.docx_第9页
第9页 / 共31页
步进电机控制.docx_第10页
第10页 / 共31页
步进电机控制.docx_第11页
第11页 / 共31页
步进电机控制.docx_第12页
第12页 / 共31页
步进电机控制.docx_第13页
第13页 / 共31页
步进电机控制.docx_第14页
第14页 / 共31页
步进电机控制.docx_第15页
第15页 / 共31页
步进电机控制.docx_第16页
第16页 / 共31页
步进电机控制.docx_第17页
第17页 / 共31页
步进电机控制.docx_第18页
第18页 / 共31页
步进电机控制.docx_第19页
第19页 / 共31页
步进电机控制.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

步进电机控制.docx

《步进电机控制.docx》由会员分享,可在线阅读,更多相关《步进电机控制.docx(31页珍藏版)》请在冰点文库上搜索。

步进电机控制.docx

步进电机控制

编号:

 

单片机综合设计

实训说明书

题目:

步进电机控制器

院(系):

信息与通信学院

专业:

电子信息工程

学生姓名:

学号:

指导教师:

符强、归发弟、班立新、孙安青

 

2012年06月18日

摘要

步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

本文介绍的是一种基于单片机的步进电机的系统设计,用C语言编写出电机的正转、反转、加速、减速程序,通过单片机、电机的驱动芯片ULN2003以及相应的按键实现以上功能,并且步进电机的工作状态要用LCD1602显示出来。

本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决问题的方法。

该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。

关键词:

步进电机;驱动机构;单片机;转动

 

Abstract

Theopen-loopsystemwhichiscomposedbystep-motorissimple,cheapandverypractical,sothereareverywiderangeofapplicationsinprintersandotherofficeautomationequipmentandvariouscontroldevices,andmanyotherfields.

Thisarticledescribesonedesignofstep-motorsystembasedonmicrocontroller.Theprogramofthepreparationofamotor,reverse,speedup,slowdown,stopiswrittenbycompilelanguage.Theabovefunctionsarerealizedthroughthemicrocontroller,motordriverchipULN2003andcorrespondkey,andtheworkstateofsteppermotorisdiaplayedthroughthelight-emittingdiode.Thisarticleintroducestheprincipleofsteppermotorandsingle-chipmicrocomputer,thesystemhardwarecircuit,theprogramcomponents,whilesoftwareandhardwareforthedebugging,atthesametimeintroducestheproblemswhichareappearedinthedebuggingprocessandthesolutionsoftheproblems.Thedesignhastheadvantagesofclear,highreliability,strongstability,etc.,andtheabove-mentionedfunctionsarerealizedthroughthedebugging..

KeyWords:

Steppermotor;Pulse-widthmodulated;drivingmechanism;singlechip;rotation

 

目录

1绪论1

1.1步进电机及其发展1

1.2步进电机的分类1

1.3课题研究的目的和意义1

2系统总体方案2

2.1系统总体规划2

2.2器件介绍3

2.2.1单片机AT89S523

2.2.2LCD1602介绍4

2.2.3UIN2003驱动芯片4

3硬件设计5

3.1控制电路5

3.2最小系统6

3.3显示电路7

3.4总体电路8

4系统软件设计8

4.1系统主程序8

4.2正反转部分9

4.3加速部分9

4.4减速部分10

5系统的仿真与调试10

5.1硬件调试11

6心得体会11

谢辞13

参考文献14

仿真图15

PCB图15

附录一16

1绪论

1.1步进电机及其发展

步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。

单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。

随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。

1.2步进电机的分类

步进电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大类型。

按结构特点电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相和多相三种。

目前使用最为广泛的为反应式和混合式步进电机。

(1)反应式步进电机(VariableReluctance,简称VR)反应式步进电机的转子是由软磁材料制成的,转子中没有绕组。

它的结构简单,成本低,步距角可以做得很小,但动态性能较差。

反应式步进电机有单段式和多段式两种类型;

(2)永磁式步进电机(PermanentMagnet,简称PM)永磁式步进电机的转子是用永磁材料制成的,转子本身就是一个磁源。

转子的极数和定子的极数相同,所以一般步距角比较大。

它输出转矩大,动态性能好,消耗功率小(相比反应式),但启动运行频率较低,还需要正负脉冲供电;

(3)混合式步进电机(Hybrid,简称HB)混合式步进电机综合了反应式和永磁式两者的优点。

混合式与传统的反应式相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低

1.3课题研究的目的和意义

步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。

步进电机可以直接用数字信号驱动,使用非常方便。

一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。

步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。

在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。

因此非常适合于单片机控制。

步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。

步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。

传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。

步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

2系统总体方案

2.1系统总体规划

本次实训主系统确定设计要求如下:

在速度模式下控制电机的启动/停止,正转/反转控制。

电机速度可调并显示转速。

实现步进电机的细分控制。

控制器满足步进电机的幅频特性。

总体规划流程如下图1所示

 

图1总体规划流程图

2.2器件介绍

2.2.1单片机AT89S52

主要性能

·标准AT89S52内核和指令系统

·片内8kROM(可扩充64kB外部存储器)

·32个双向I/O口

·256x8bit内部RAM(可扩充64kB外部存储器)

·3个16位可编程定时/计数器

·时钟频率3.5-12/24/33MHz

·向上或向下定时计数器

·改进型快速编程脉冲算法

·6个中断源

·5.0V工作电压

·全双工串行通信口

·布尔处理器

—帧错误侦测

·4层优先级中断结构

—自动地址识别

·兼容TTL和CMOS逻辑电平

·空闲和掉电节省模式

·PDIP(40)和PLCC(44)封装形式

图2AT89S52性能图

图3AT89S52引脚图

2.2.2LCD1602介绍

1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。

每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形

  n1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

图4LCD1602引脚图

 1602采用标准的16脚接口,其中:

  第1脚:

VSS为电源地

  第2脚:

VDD接5V电源正极

  第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

  第4脚:

RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

  第5脚:

RW为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

  第6脚:

E(或EN)端为使能(enable)端。

  第7~14脚:

D0~D7为8位双向数据端。

第15~16脚:

空脚或背灯电源。

15脚背光正极,16脚背光负极。

2.2.3UIN2003驱动芯片

ULN2003是高耐压、大电流、内部由七个硅NPN达林顿管组成的驱动芯片。

经常在以下电路中使用,作为显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。

ULN2003的封装采用DIP—16或SOP—16。

ULN2003可以驱动7个继电器,具有高电压输出特性,并带有共阴极的续流二极管使器件可用于开关型感性负载。

每对达林顿管的额定集电极电流是500mA,达林顿对管还可并联使用以达到更高的输出电流能力。

   显示电路主要包括大型LED数码管BSI20-1(共阳极,数字净高12cm)和高电压大电流驱动器ULN2003,大型LED数码管的每段是由多个LED发光二极管串并联而成的,因此导通电流大、导通压降高。

ULN2003是高压大电流达林顿晶体管阵列电路,他具有7个独立的反相驱动器,每个驱动器的输出灌电流可达500mA,导通时输出电压约1V,截止时输出电压可达50V。

ULN2003的1~7脚为信号输入脚,依次对应的输出端为16~10脚,8脚为接地端。

当驱动电源电压为+12V时,若要求数码管每段导通电流为40mA,则每段的限流电阻为50Ω。

则一块ULN2003恰好驱动一个LED数码管的7段。

大数码管采用共阳极接法,低电平有效。

锁存器输出的电平经NPN三极管9014反相后,再由ULN2003放大后推动大数码管显示.

3硬件设计

本设计的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。

最小系统只要是为了使单片机正常工作。

控制电路主要由开关和按键组成,由操作者根据相应的工作需要进行操作。

显示电路主要是为了显示电机的工作状态和转速。

驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。

3.1控制电路

根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,控制电路如图5所示。

当按键的状态变化时,内部程序检测P3.2和P3.3的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。

根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。

对于单片机而言,主要的方法有:

软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过按键控制外部中断根据按键次数,改变速度值存储区中的数据,这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。

 

图5控制电路原理图

3.2最小系统

单片机最小系统或者称为最小应用系统,素质用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:

单片机、复位电路、晶振电路。

复位电路:

使用了独立式键盘,单片机的P1口键盘的接口。

该设计要求只需4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用了6路独立式键盘。

复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF的电容和一12M晶体振荡器组成为整个电路提供时钟频率。

如图3-2示。

晶振电路:

8051单片机的时钟信号通常用两种电路形式电路得到:

内部震荡方式和外部中断方式。

在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

内部振荡方式的外部电路如图5示。

其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。

内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。

图6复位及时钟振荡电路

3.3显示电路

在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为10级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。

在显示电路中,主要是利用了单片机的P0口和P2口。

采用LCD1602作显示。

第一用于显示电机正反转,运转状态和档位,正转时显示“>>”,反转时显示“<<”,加速时速度随机增加,减速时以速度随机减小。

显示电路如图7所示。

图7显示电路

3.4总体电路

把各个部分的电路图组合成总电路图,如图8所示。

图8总体电路图

4系统软件设计

4.1系统主程序

系统分为电机正反转、电机加速与电机减速状态显示几部分组成,其主程序框图如图9所示。

 

图9主程序框图

4.2正反转部分

查键程序用于判断P3.3口的值,当P3.3为低电平时,按键有效,电机转动方向改变,再次按下按钮,电机方向改变。

如图10所示。

图10查键部分流程图

4.3加速部分

当电机正转或反转的时候,按下加速键,调用加速子程序,使电机每转动一步的延时时间变短,从而实现电机的加速,设初始速度为R1.流程图如图11所示。

Y

N

图11加速部分流程图

4.4减速部分

电机正转或反转的时候,按下减速键,通过改变电机每转动一步的延时时间,使时间变长,从而实现电机减速,设初始速度为R1.流程图12所示。

Y

N

图12减速部分流程图

5系统的仿真与调试

本设计采用单片机AT89S52做为控制器,通过编译软件KEILC51对源程序进行编译以生成HEX,并与仿真软件proteus联调,让单片机程序控制协调各个功能模块工作。

5.1硬件调试

仿真完全实现其所需的功能以后,并在接入电源之前,用万用表对整个电路进行检查,查看是否在联线过程中是否出现问题。

检查硬件电路内容入下所示:

检查线路的焊接问题。

检查电路是否有没接的线路。

各种外围器件有没接错。

在接上电源以后看芯片是否都是在正常工作电压下工作,其它器件是否正常工作等。

6心得体会

通过这次课程设计,更深一步掌握了51单片机的原理,了解了简单步进电机控制系统的组成原理,并初步掌握了步进电机设计及测试方法。

提高了动手能力和排除故障的能力。

同时通过本次设计与调试,巩固了已学的理论知识,之前一直都是局限于书本的只是,这次实训通过自己编写程序,画电路图,做出电路板,下载程序,调试程序的整个过程,将软件跟硬件结合起来,组成一个完整的具有一定功能的系统,将单片机的理论和实践相结合,了解到步进电机各单元电路之间的关系及影响,从而能正确设计、计算定时计数的各个单元电路。

设计初始,打算用红外对管来测电机的转速,但考虑到电机的转速比较慢,用对管比较难检测,所以采用定时器给单片机送驱动编码,然后根据定时器的时间计算转速。

由于数码管可显示的信息太少,改用LCD1602显示,可同时显示电机的运行转态,转向,转速及档位等信息。

刚开始想用L298做电机驱动电路,考虑到电机性能及芯片的驱动能力,L298最大电流可达2.5A,同时考虑到成本问题,改用ULN2003做驱动芯片,降低成本。

看到题目的发挥部分,实现电机的细分,要么用PWM,要么用专门的电机细分芯片,但是这些芯片都比较贵,而且在外面也不好买到,只好放弃了。

初步掌握步进电机控制系统的设计及测试方法,提高了动手能力和排除故障的能力。

本次设计能够实现步进电机的启停、正反转以及速度的调节,通过本次课程设计加强了我对软件编程和硬件设计的掌握,步进电机在控制系统中具有广泛的应用。

它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等,所以说步进电机有着广阔的市场和远大的发展前景。

本设计实现了占用CPU时间少,效率高;易于控制步进电机的转向转速;提高了步进电机的步进精度等。

再有,本设计过程考虑比较周全,可以方便灵活地控制步进电机的运行状态,以满足不同的要求,因此常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。

步进电机控制(包括控制脉冲的产生和分配)使用软件方法,即用单片机实现,这样既简化了电路,也减低了成本。

这次设计使我们学到了以前书本知识中所不曾了解的知识,更加明白了在如今的信息时代下电子技能知识的重要性,丰富了我们对实际工艺技术、电子技术和设备技术等方面的认识,掌握了分析问题、处理问题的方法以及调试、计算等基本技能,使实际工作能力得到了有效提高。

 

谢辞

 两周的实训就这样匆匆而过,被时间刻印下来的除了昨日历历在目的实训情景还有我的无限感恩。

要感激在平时学习中给我提供帮助的老师、学长及其他的同学,感激他们在我困惑时的指点迷津。

此外,感谢我们学院为我们提供这次机会。

感谢我的同学在实训与调试过程中给予的帮助,有了他们的帮助,我少走了很多的弯路。

同时也要感谢科协、感谢实验室,感谢它们在我们实训过程中为我们提供的动手的场地与器材,是它们让我们有了更多的条件去学习,让我们有了更多锻炼自己的机会,让我们学到了很多很多。

学校开展实训这样的课题,使我受益匪浅,从中使我在很短的时间里学到了很多很书本上没有的知识,而且让我对以前学过的知识有了更深刻的印象,同时也发现了自己知识的一些缺陷,因而我还要感谢学校,感谢学校安排实训这个课程,感谢学校为了让每个同学在实训中能够学有所成学有所得而做出的努力。

 

参考文献

1张友德.单片微型机原理、应用与实验[M].上海:

复旦大学出版社,2005.

2李夙.异步电动机直接转矩控制[M].北京:

机械工业出版社,1998.

3王鸿钰.步进电机控制入门[M].上海:

同济大学出版社,1990.

4袁任光,张伟武.电动机控制电路选用与258实例[M].北京:

机械工业出版社,2005.

5阎石.数字电子技术[M].北京:

高等教育出版社,2006.5

6王兆安,黄俊.电力电子技术[M].北京:

机械工业出版社,2010.1

7许建国.电机与拖动基础[M].北京.高等教育出版社,2004.8

8王德安基于单片机的步进电机控制[J].计算机应用,2005.第3期.52

9何立民.MCS-51系列单片机应用系统设计.北京航天航空大学出版,1991

10王丽,尤诣华,基于AT89S51单片机的步进电机控制系统的研究[D],无锡:

江南大学机械工程学院,2004

11M.A.Mazidi,J.G.Mazidi.80x86IBMPC及兼容计算机汇编语言设计与

接口技术[M].清华大学出版社,2002.

12余永权.单片机与家用电器智能化技术[M].北京:

电子工业出版社.1995.

 

仿真图

 

附录一

程序:

#include

#defineLCDPP0//定义LCM资料汇流排接至P0

sbitRS=P2^0;//暂存器选择位元(0:

指令,1:

数据)

sbitRW=P2^1;

sbitEN=P2^2;//致能位元(0:

禁能,1:

致能)

charline1[]="28BYJ-48motor";

charline2[]="controlsystem";

charline11[]="DW:

";

charline22[]="V:

.r/min";

charline13[]="Stoping";

charline14[]="Running";

sbitK1=P3^2;//电机启动控制

sbitK2=P3^3;//方向控制

sbitK3=P3^0;//减速

sbitK4=P3^1;//加速

charspeed=5;//档位为5

biton_off=1;//开机运行(档位为5),0为转,1为停

bitFX=0;//方向标志(开机左转),0为逆,1为正

charq=0;

charV[]={0};

charDW[]={0};

unsignedintzs,temp;

charCCW[8]={0x40,0x60,0x20,0x30,0x10,0x18,0x08,0x48};//正时钟旋转相序表

charCW[8]={0x48,0x08,0x18,0x10,0x30,0x20,0x60,0x40};//逆时钟旋转相序表

/*****延时函数*****/

voiddelay(intx)

{

inti,j;

for(i=0;i

for(j=0;j<120;j++);

}

/*****写入指令函数*****/

voidwrite_com(charcom)

{RS=0;

RW=0;

P0=com;

delay(5);

EN=1;

delay(5);

EN=0;

}

/*****写入数据函数*****/

voidwrite_data(chardate)

{RS=1;

RW=0;

P0=date;

delay(5);

EN=1;

delay(5);

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

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2