单片机控制步进电机课程设计报告.doc

上传人:仙人指路1688 文档编号:4144525 上传时间:2023-04-07 格式:DOC 页数:22 大小:305KB
返回 下载 相关 举报
单片机控制步进电机课程设计报告.doc_第1页
第1页 / 共22页
单片机控制步进电机课程设计报告.doc_第2页
第2页 / 共22页
单片机控制步进电机课程设计报告.doc_第3页
第3页 / 共22页
单片机控制步进电机课程设计报告.doc_第4页
第4页 / 共22页
单片机控制步进电机课程设计报告.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机控制步进电机课程设计报告.doc》由会员分享,可在线阅读,更多相关《单片机控制步进电机课程设计报告.doc(22页珍藏版)》请在三一办公上搜索。

1、 2013 2014 学年 第 1 学期单片机原理及应用课 程 设 计 报 告题 目: 单片机控制步进电机 专 业: 电子信息工程 班 级: 姓 名: 指导教师: 电气工程学院2013年10月20日任务书课题名称单片控制步进电机指导教师(职称)执行时间2013 2014 学年第 1学期 第 7 周学生姓名学号承担任务1109121056硬件部分1109121058电路图仿真与调试1109121049软件部分1109121030资料查找1109121009写Word文档1109121052电路图仿真与调试1109121010写Word文档设计目的1、掌握单片机芯片89C52的原理及相关接口电路的

2、设计方法。2、熟悉电路仿真软件protues的使用。3、掌握单片机系统的设计步骤及基本方法。4、熟悉KEIL软件的编程,加强C语言的能力。5、掌握步进电机的控制方法。6、掌握各个芯片的控制方法。7、设计控制步进电机工作。设计要求(1)采用单片机控制一个四相单四拍的步进电机工作。步进电机的旋转方向由正反转控制信号控制。步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24和27步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。只有当键盘锁打开并输入步数时,步进电机才开始工作。(2)电机运转的时候有正转和反转指示灯指示。(3)电机在运转过程中

3、,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。(4) 上机调试程序。(5) 写出设计报告。单片机控制步进电机 摘 要步进电机是一种电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。结合对步进电机的了解,然后对步进电机的控制原理包括步进电机的控制方式和驱动方式作了系统的说明,采用89C51单片机来控制步进电机,用c程序来控制运行。控制系统

4、通过单片机存储器、I/O口、键盘、复位电路、晶振电路实现让步进电机正反转的功能。并通过DS18B20测温来防止步进电机的温度过高。单片机的控制系统由AT89C51单片机控制,具有抗干扰能力强,可靠性高而系统易扩展等优势。本次课程设计着重于通过控制脉冲数来控制位移,实现准确定位。基于步进电机本身的优越性和应用的广泛性,这正是用单片机控制步进电机课程设计的实际意义。关键字:步进电机;角位移;单片机;脉冲目 录第一章 绪论11.1步进电机及其发展11.2步进电机的发展应用及前景11.3设备及工作环境1第二章 系统方案整体设计2第三章 硬件设计33.1 系统硬件设计33.1.1单片机晶振电路33.1.

5、2单片机复位电路33.1.3 最小单片机系统43.1.4键盘设计43.1.5电机部分53.2 系统工作原理论述6第四章 软件设计94.1 分析论证94.1.1 步进电机运行驱动模块94.1.2 温度采集模块94.1.3 主函数模块104.1.4 整体功效104.2 程序流程图10参 考 文 献17第一章 绪论1.1步进电机及其发展步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。随着经济的发展,技术

6、的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机

7、的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。1.2步进电机的发展应用及前景我国步进电机的研究及制造起始于本世界50年代后期,从50年代后期到60年代后期,主要是高等院校和科研机构为研究一些装置而使用或开发少量产品。我国在文化大革命中开始大量生产和应用步进电机,例如江苏、浙江、北京、南京、四川等各地都有投入生产,而且都在各行业使用,其中的驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。中等耐压的大功率半导体器件也完全国产化。70年代初期,步进电机的生产和研究都有所突破,除反

8、映在驱动器设计方面的长足进步以外,对反应式步进电机本体的设计研究发展到一个较高的水平。70年代中期至80年代中期为成品发展阶段,新品种高性能电动机不断被开发。至80年代中期以来,由于步进电机精确模型做了大量研究工作,各种混合式步进电机及驱动器作为产品广泛利用。目前,生产步进电机的厂家的确不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家只一、二十人,连最基本的设备都没有。仅仅处于一种盲目的仿制阶段。这就给户在产品选型、使用中造成许多麻烦。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方

9、可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。1.3设备及工作环境 (1) 硬件:AT89C51单片机一片、28BYJ48步进电机一台、温度传感器DS18B20芯片。 (2) 软件:Windows操纵系统、Keil C51软件、Proteus软件。第二章 系统方案整体设计步进电机28BYJ-48简介: 图21 步进电机28BYJ-4828BYJ-48-5VDC步进电机是四相五线制电机,中间部分是转子,由一个永磁体组成,边上的是定子绕组。当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生

10、一个扭力将定子扭转。 依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为A-B-C-D正转,反之则反转)。而且按照通电顺序的不同,可分为单四拍(A-B-C-D)、双四拍(AB-BC-CD-DA)、单双八拍(A-AB-B-BC-C-CD-D-DA)三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。第三章 硬件设计3.1 系统硬件设计3.1.1单片机晶振电路 对于89C51一般的晶振可以在1.2MHZ12MHZ之间选择,这是电容C可以对应的选择10pf-30Pf。对于

11、本设计的电容C用30pF,晶振选用12MHZ。晶振电路解法图3-2,一条引脚接在XTAL1,另一条接在XTAL2。电路图如图2-1所示: 图3-1 晶振电路3.1.2单片机复位电路 复位是单片机的初始化工作,复位后中央处理器CPU和单片机内的其它功能部件都处在一定的初始状态,并从这个状态开始工作。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位及手动复位电路,电路图如图2-2所示:图3-2 复位电路3.1.3 最小单片机系统图33 单片机最小系统5V电源:给系统供电。EA接高电平:表示运行内部程序存储器下载的程序。P0口接排阻:P0口开漏结构,使用时一般接排阻拉高电平。3.1.4键

12、盘设计 图34 键盘电路该电路中采用独立键盘工作方式,共设有12个按键,左图分别由上到下分别为S1S8,S1S9分别提供3、6、9、12、15、18、21、24、27步选择功能。S10为键盘锁,S11反转,S12正转。其中有程序决定起作用。3.1.5电机部分图35 电机控制电路该电路左边4B5B分别接P0.4P0.7,分别驱动步进电机的A,B,C,D相。从而使电机转动。因单片机的输出电流小,所以用ULN2003增大电流。ULN2003简介如下:ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输

13、出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 图36 ULN2003芯片引脚图该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并能在关态时承受

14、50V 的电压,输出还可以在高负载电流并行运行。3.2 系统工作原理论述图37 总原理图该系统的工作核心CPU为ATMEL公司生产的AT89C51芯片将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与89C51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实

15、时控制系统来说,这样长的时间是不可能在线修改程序的。CPU为Atmel公司生产的89C51/89C52/89C55等。出厂所配晶振频率为11.0592MH,每个机器周期为1.085us,用户更换晶振以提高速度;存贮器为64K,前4K/8K20K在CPU内部,其它程序在EPR0M27512中;数据存贮器为32K(62256),地址为8000FFFFH;A口地址21O1H B口地址:2102H C口地址:2103H ;T低八位2104H T高八位2105H ;多路模拟开关的使用 IN0P1=0F8H IN4:P1=0FCH IN1P1=0F9H IN5:P1=OFDH IN2P1=0FAH IN5

16、:P1=0FEH IN3P1=0FBH IN7:P1=0FFH 不掉电数据存贮器为500EH-507FH ;控制板160x1O9(mm) 供电+5V300mA +12V100mA -12V100mA ;AT89C1是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容;主要性能: 与89C51 微控制器产品系列兼容;片内有4KB可在线重复编程的快闪擦写存储器 。引脚简介: 图38

17、 89C51 引脚介绍整体介绍:该系统采用的芯片还有:DS18B20温度传感器、ULN2003A以及28BYJ48四相五线步进电机,并且步进电机在单四拍的方式下工作,步矩为 5.625 ,步进电机的旋转方向由正反转控制信号控制。步进电机的步数由键盘输入,可通过独立键盘S1S9输入的步数分别为3、6、9、12、15、18、21、24和27步对应的角度为16.875、33.725、151.875,且键盘S10具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。只有当键盘锁打开,选择运转方向并且输入步数时,步进电机才开始工作。 电机运转的时候有正转指示灯D2和反转指示灯D3指示。 电机

18、在运转过程中用温度传感器采集步进电机外表温度(可设置),如果过热,则电机停止运转,同时红色指示灯亮,同时蜂鸣器警报响。第四章 软件设计4.1 分析论证此步进电机控制电路设计与实现,主要采用了ULN2003A驱动芯片,温度传感器芯片DS18B20芯片,独立键盘等,包含步进电机运行驱动,温度采集,主函数三大功效模块。4.1.1 步进电机运行驱动模块由于该系统中没有完全使用I/O端口,所以采用了独立键盘的工作方式,系统工作时,键盘控制的I/O口处于高电平状态,当按键按下时触发低电平,驱动程序实时监测并立即响应执行相应工作。判断电机步数步进电机正转开始键盘是否锁住正反转判断步进电机反转否正转反转图4-

19、1 步进电机控制流程图4.1.2 温度采集模块该模块的重要功效是对步进电机的外表采集温度,并且对已设定好的数值进行比较,从而确定机身温度是否过高,正常时电机正常转动,当温度过高时电机不再转动,并且蜂鸣器报警,红灯点亮。初始化跳过ROM命令温度转换命令时间到读温度数据发读温度命令匹配ROM命令初始化是否 图4-2 ds18b20控制流程图4.1.3 主函数模块该模块重要功效是调动温度采集函数、步进电机函数中函数,实现模块化编程。4.1.4 整体功效AT89C52芯片控制ULN2003A芯片驱动步进电机,扫描键盘输入运行状态以及运转步数,当电机外表温度超过40是电机停止转动,并且报警!4.2 程序

20、流程图主程序流程图如图所示:开始初始化程序报警,红灯点亮,步进电机停转判断步进电机温度是否过高? 是 否锁键盘等待开键盘 是 否确定输入步数电机高温?步进电机运转 否 图43 程序流程图程序清单#include#define uchar unsigned char#define uint unsigned int#define M 100sbit k1=P10;sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;sbit k6=P15;sbit k7=P16;sbit k8=P17;sbit k9=P00;sbit k10=P01;sbit k11=

21、P02;sbit k12=P03;sbit DQ=P27;sbit D3=P20;sbit D2=P23;sbit D1=P25;sbit bel=P26;uchar a=0x10,0x20,0x40,0x80;uchar b=0x80,0x40,0x20,0x10;uchar x=0,T,tempL,tempH;void delay(uint i)while(i-);void bell(void) uchar i;for(i=0;i50;i+) bel=0;delay(10000); bel=1; delay(10000); void zj(uchar zj) uint i,j; D2=1;

22、for(j=0;jzj;j+)for(i=0;i4;i+) P0=ai; delay(800); D2=0; void fj(uchar fj) uint i,j; D3=1;for(j=0;jfj;j+)for(i=0;i0;i-) DQ=0; DQ=dat&0x01; delay(5); DQ=1; dat=1; delay(4);uchar ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) DQ=1; delay(1); DQ=0; dat=1; DQ=1; if(DQ) dat|=0x80

23、; delay(4); return(dat);void ReadTemperature(void) ds18b20init(); WriteOneChar(0xcc); WriteOneChar(0x44); delay(125); ds18b20init(); WriteOneChar(0xcc); WriteOneChar(0xbe); tempL=ReadOneChar(); tempH=ReadOneChar(); void worktemp(void) T=(tempL&0xf0)4)+(tempH&0x07)4); void main() T=0; P1=0XFF; P0=0X0

24、F; P2=0X00; while(1) ds18b20init(); WriteOneChar(0XCC); WriteOneChar(0X44); ReadTemperature(); worktemp(); aj(); if(T=50) P0=0;D1=1;bell();delay(1000);D1=0; 参 考 文 献【1】张毅刚编著,单片机原理及应用高等教育出版社2010。【2】 郭天祥编著,Altium Designer6.9 PCB设计视频教程2007。【3】楼然苗等编著,51系列单片机设计实例北京航空航天大学出版社2006。【4】汪道辉编著,单片机系统设计与实践 电子工业出版社

25、 2005。【5】谭浩强编著,C程序设计(第三版)清华大学出版社 2005。【6】王港元编著,电工电子实践指导江西科学技术出版社 2008。【7】周润景编著,PROTEUS入门实用教程机械工业出版社 2011。【8】林立编著,单片机原理及应用:基于Proteus和Keil C电子工业出版社 2011。【9】阎石编著,数字电子技术基础高等教育出版社2006。【10】李朝青编著,单片机原理及接口技术北京航空航天大学出版社 2005附录:答辩记录及评分表课题名称单片机控制步进电机答辩教师(职称)崔雪英 答辩时间20122013 学年第 1学期 第 7 周答辩记录 评 分 表学生姓名学号评分陈营营1109121056方苹1109121058张树朋1109121049陶轮1109121030高文韬1109121009朱德强1109121052葛自立1109121010

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号