当前位置:文档之家› 利用8位单片机实现电机控制

利用8位单片机实现电机控制

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

单片机基于80C51单片机的步进电机控制系统

中国地质大学长城学院 本科课程设计题目:基于80C51单片机的步进电机控制系统 系别信息工程系 学生姓名 专业电气工程及其自动化 学号 指导教师 职称讲师 2014 年6 月11 日

摘要 本文研究基于51系列单片机的步进电机控制系统设计,该系统包括以下几个部分:数据采集、数据处理、终端接收,该系统以汇编语言为单片机的驱动程序语言,单片机控制步进电机,主要任务是把二进制数变成脉冲序列,按相序输入脉冲以实现电机转动方向控制,利用单片机实现对步进电机的远距离实时监控,从而达到高效、节能的控制步进电机工作的目的,该系统具有成本低、控制方便的特点。使用单片机驱动四相步进电机,控制步进电机以四相八拍的方式运行,来实现步进电机正向/反向旋转,P1.0~P1.3分别控制步进电机;P1.5~P1.7分别控制步进电机的停止、正转、反转。 关键词:51单片机;步进电机;数据采集;汇编语言;

目录 摘要 0 1 设计目的 (1) 2设计内容与要求 (1) 3 总体设计方案 (1) 3.1整体方案 (1) 3.2具体方案实现 (1) 4系统硬件设计 (2) 4.1复位电路 (2) 4.2晶振电路 (2) 4.3按键电路 (3) 4.4指示灯电路 (3) 4.5驱动电路 (4) 4.6步进电机 (4) 5程序软件设计 (5) 5.1程序流程图 (5) 5.2源程序 (6) 6系统调试与仿真 (7) 7总结 (8)

1设计目的 1.掌握单片机控制步进电机的硬件接口电路。 2.掌握步进电机驱动程序的设计和调试方法。 3.熟悉步进电动机的工作特性。 2设计内容与要求 1.查阅资料,了解步进电机的工作原理。 2.通过单片机给定参数控制电机转动。 3.通过按钮控制正转、反转和停止。 3总体设计方案 3.1整体方案 本系统主要是由AT89C51,步进电机控制器ULN2004,步进电机,通过单片机编程,实现步进电机控制的脉冲分配,使电机实现正转,反转以及停止等功能 3.2具体实现方案 根据系统要求画出单片机控制步进电机的控制框图,见下图。系统包括单片机、按键、驱动电路和步进电机。 键盘80c51单片机 步进电机 驱动电路

单片机控制直流电机分解

1.设计思路 1.1方案对比 1.1.1电机调速控制模块: 方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。 方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。 方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。 兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。

1.2.1 PWM调速工作方式: 方案一:双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。 方案二:单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。 由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。 1.2.2 PWM调脉宽方式: 调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM 脉冲的软件实现上比较方便。 1.2.3 PWM软件实现方式: 方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。 方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。

基于单片机ATS控制步进电机正反转

基于单片机A T S控制步进 电机正反转 The latest revision on November 22, 2020

目录 步进电机 (7) 附件A 源程序 .......................................... (12) 附件B 仿真结果 (15) 致谢 (18)

摘要 能够实现步进电机控制的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异更新。本文介绍一种用AT89S52作为核心部件进行逻辑控制及信号产生的单片机技术和汇编语言编程设计的步进电机控制系统,步进电机背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍,使我们不仅对步进电机的原理有了深入的了解,也对单片机的设计研发过程有了更加深刻的体会。本控制系统采用单片机控制,通过人为按动开关实现步进电机的开关,复位。该系统还增加了步进电机的加速及减速功能。具有灵活方便、适用范围广的特点,基本能够满足实践需求。 关键词: AT89S52 步进电机 ULN2003 第一章系统分析 框图设计 根据系统要求画出基于AT89S52单片机的控制步进电机的控制框图如图2-1所示。

图2-1基于AT89C52单片机的控制步进电机的控制框图 系统主要包括单片机、复位电路、晶振电路、按键电路、步进电机及驱动电路几部分。 晶振电路 AT89C52单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。 晶振模块自带振荡器、提供低阻方波输出,并且能够在一定条件下保证运行。最常用的两种类型是晶振模块和集成RC振荡器(硅振荡器)。晶振模块提供与分立晶振相同的精度。硅振荡器的精度要比分立RC振荡器高,多数情况下能够提供与陶瓷谐振槽路相当的精度。图2-2为晶振电路。 图2-2 晶振电路 第二章系统设计 硬件连接图 根据图2-1,可以设计出单片机控制步进电机的硬件电路图,如图3-1所示。

单片机课设步进电机控制正反转

单片机课程设计报告设计题目:步进电机控制系统 学院自动化与信息工程学院 专业电气工程及其自动化 班级 姓名 学号 指导教师王水鱼 2010 年秋季学期

目录 1.设计目的 (2) 2.设计的主要内容和要求 (2) 3.题目及要求功能分析 (2) 4.设计方案 (5) 4.1 整体方案 (5) 4.2 具体方案 (5) 5.硬件电路的设计 (6) 5.1 硬件线路 (6) 5.2 工作原理 (7) 5.3 操作时序 (8) 6. 软件设计 (8) 6.1 软件结构 (8) 6.2 程序流程 (9) 6.3 源程序清单 (9) 7. 系统仿真 (9) 8. 使用说明 (10) 9. 设计总结 (10) 参考文献 (11) 附录 (12)

步进电机的控制 1.设计目的 (1)熟悉单片机编程原理。 (2)熟练掌握51单片机的控制电路和最小系统。 (3)单片机基本应用系统的设计方法。 2.设计的主要内容和要求 (1)查阅资料,了解步进电机的工作原理。 (2)通过单片机给参数控制电机的转动。 (3)通过按钮控制启停及反转。 (4)其他功能。 3.题目及要求功能分析 步进电机:步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其精度高等特点,广泛应用于各种工业控制系统中。 三相单、双六拍步进电机的结构和工作原理: 三相单、双六拍步进电机通电方式:这种方式的通电顺

51单片机PWM控制直流电机正反转

//程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4 #include #define uchar unsigned char #define uint unsigned int sbit PWM0=P3^7; sbit PWM1=P3^5; sbit PWM2=P1^2; sbit PWM3=P1^3; uint i,j; void PWM_init() { CMOD=0x00;//PCA计数脉冲选择内部时钟fosc/12(0x02:fosc/2) CL=0x00;//PCA赋初值 CH=0x00; CR=1; //开始计数 } void zheng(uchar ZKB) { CCAP0L=255*(40-ZKB)/100;//占空比设置 CCAP0H=255*(40-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM0=0x42;// 8位PWM模式 CCAP1L=255*(40-0)/100;//占空比设置 CCAP1H=255*(40-0)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM1=0x42;// 8位PWM模式 CR=1; //开始计数 } void fan(uchar ZKB) { CCAP0L=255*(40-0)/100;//占空比设置 CCAP0H=255*(40-0)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM0=0x42;// 8位PWM模式 CCAP1L=255*(40-ZKB)/100;//占空比设置 CCAP1H=255*(40-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM1=0x42;// 8位PWM模式 CR=1; //开始计数 } void Delay(uint t) //延时函数

完整的单片机控制步进电机程序

#include "reg52.h" #include "INTRINS.H" #include #include #define uint unsigned int #define uchar unsigned char void check_addr(void); /*地址核对*/ uchar code slave_addr[4]={00, 01, 02, 255}; /*从机地址*/ uchar idata T0low, T0high,common_count,input_order,cmd_in_permit,interval; uchar sent_ok,speed_change,start_up,start_end,address_true,i; uint y1; uint code add[100]={60006,62771,63693,64154,64430,64614,64746,64845,64922,64983,65033,65075,651 11,65141,65167,65190,65211,65229,65245,65260,65273,65285,65296,65306,65315,65323,65331 ,65339,65345,65352,65358,65363,65368,65373,65378,65382,65387,65390,65394,65398,65401,6 5404,65407,65410,65413,65416,65418,65421,65423,65425,65428,65430,65432,65434,65435,654 37,65439,65441,65442,65444,65445,65447,65448,65450,65451,65452,65453,65455,65456,65457 ,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65469,65470,6 5471,65472,65472,65473,65474,65475,65475,65476,65477,65477,65478,65478,65479,65480,654 80,65481}; sbit P2_0=P2^0; /*作输入步进电机的脉冲信号发送口*/ sbit P2_2=P2^2; /*作输入步进电机的旋转方向信号发送口*/ sbit P1_0=P1^0; /*作串口输出信号的使能口, P1_0=0时接通串口,输出信号*/ sbit WD=P1^7; /*看门狗*/ main() { P2_0=0; P2_2=0; /*步进电机的旋转方向待试验后确定*/ P1_0=1; /*开机时需要关断,串口发送功能,需要时再接通*/ WD=1; /*看门狗先为1,电平翻转为喂狗*/ i=0; common_count=0; cmd_in_permit=0; input_order=0; interval=0; address_true=1; speed_change=0; start_up=0;

51单片机直流无刷电机控制

基于MCS-51单片机控制直流无刷电动机 学号:3100501044 班级:电气1002 :王辉军

摘要 直流无刷电机是同步电机的一种,由电动机本体、位置传感器和电子开关线路三部分组成。其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。电机转子的转速受电机定子旋转磁场的速度及转子极数(P)影响: N=120.f / P。在转子极数固定情况下,改变定子旋转磁场的频率就可以改变转子的转速。直流无刷电机即是将同步电机加上电子式控制(驱动器),控制定子旋转磁场的频率并将电机转子的转速回授至控制中心反复校正,以期达到接近直流电机特性的方式。也就是说直流无刷电机能够在额定负载围当负载变化时仍可以控制电机转子维持一定的转速。 MCS-51单片机是美国英特尔公司生产的一系列单片机的总称,是一种集成电路芯片,采用超大规模技术把具有数据处理能力的微处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入输出接口电路、定时计算器、串行通信口、脉宽调制电路、A/D转换器等电路集成到一块半导体硅片上,这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。 本论文将介绍基于MCS-51单片机控制直流无刷电动机的设计,它可以实现控制直流无刷电动机的启动、停止、急停、正反转、加减速等功能。 关键词:单片机,直流无刷电动机,控制系统

直流无刷电动机是在直流电动机的基础之上发展而来的,它是步进电动机的一种,继承了直流电动机的启动转矩大、调速性能好等特点克服了需要换向器的缺点在交通工具、家用电器及中小功率工业市场占有重要的地位。直流无刷电动机不仅在电动自行车、电动摩托车、电动汽车上有着广泛的应用,而且在新一代的空调机、洗衣机、电冰箱、吸尘器,空气净化器等家用电器中也有逐步采用的趋势,尤其是随着微电子技术的发展,直流无刷电动机逐渐占有原来异步电动机变频调速的领域,这就使得直流无刷电动机的应用围越来越广。 本设计就是基于MCS-51系列单片机控制直流无刷电动机,利用所学的知识实现单片机控制直流无刷电动机的启动、停止、急停、正反转,加减速等控制,并对直流无刷电动机运行状态进行监视和报警。详细介绍单片机的种类、结构、功能、适用领域和发展历史、未来前景及其直流无刷电动机的工作原理、控制结构等容,既着重单片机的基本知识、功能原理的深入阐述,又理论联系实际详细剖析单片机控制直流无刷电动机的过程。 1.直流无刷电动机的基本组成 直流无刷电动机是在直流电动机的基础上发展而来的,直流无刷电动机继承了直流电动机启动转矩大、调速性能好的优点,克服了直流电动机需要换向器的缺点,在交通工具、家用电器等生活的方方方面面占有重要的地位。 由于直流无刷电动机既具有交流电动机的结构简单、运行可靠、维护方便等一系列优点,又具备直流电动机的运行效率高、无励磁损耗以及调速性能好等诸多优点,故在当今国民经济各领域应用日益普及。 直流无刷电动机主要由电动机本体、位置传感器和电子开关线路三部分组成。其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。图3-1所示为三相两极直流无刷电机结构。 三相定子绕组分别与电子开关线路中相应的功率开关器件联结,A、B、

51单片机控制直流电机PWM调速C语言程序

#include #define uchar unsigned char #define uint unsigned int sbit KEY1 = P3^4; sbit KEY2 = P3^5; sbit KEY3 = P3^6; sbit IN1 = P1^0; sbit IN2 = P1^1; sbit ENA = P1^2; sfr ldata=0x80; sbit dula=P2^6; sbit wela=P2^7; //sbit lcden=P3^4; //uchar timer,ms,t_set = 1; uchar T_N=100; uchar T_N1=100; uchar T_H_N=50; uchar T_H_N1=50; void msplay(uchar,uchar); uchar code x1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //uchar code x2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; uchar code x3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //uchar code x4[]={0x01,0x02,0x04,0x08,0x10,0x20}; void delay(uint z) //延时函数 { uint x; for(x=z;x>0;x--); }

最新单片机课设步进电机控制正反转

单片机课设步进电机控制正反转

单片机课程设计报告设计题目:步进电机控制系统 学院自动化与信息工程学院 专业电气工程及其自动化 班级 姓名 学号 指导教师王水鱼 2010 年秋季学期 起止时间:2011年1月10日至2011年1月14日 平时 (10%) 任务完成 (30%) 答辩 (30%) 课设报告 (30%) 总评成绩

目录 1.设计目的 (2) 2.设计的主要内容和要求 (2) 3.题目及要求功能分析 (2) 4.设计方案 (5) 4.1 整体方案 (5) 4.2 具体方案 (5) 5.硬件电路的设计 (6) 5.1 硬件线路 (6) 5.2 工作原理 (7) 5.3 操作时序 (8) 6. 软件设计 (8) 6.1 软件结构 (8) 6.2 程序流程 (9) 6.3 源程序清单 (9) 7. 系统仿真 (9) 8. 使用说明 (10) 9. 设计总结 (10) 参考文献 (11) 附录 (12)

步进电机的控制 1.设计目的 (1)熟悉单片机编程原理。 (2)熟练掌握51单片机的控制电路和最小系统。 (3)单片机基本应用系统的设计方法。 2.设计的主要内容和要求 (1)查阅资料,了解步进电机的工作原理。 (2)通过单片机给参数控制电机的转动。 (3)通过按钮控制启停及反转。 (4)其他功能。 3.题目及要求功能分析 步进电机:步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其精度高等特点,广泛应用于各种工业控制系统中。 三相单、双六拍步进电机的结构和工作原理:

单片机控制直流电机正反转资料

目录 第1章总体设计方案 (1) 1.1 总体设计方案 (1) 1.2 软硬件功能分析 (1) 第2章硬件电路设计 (2) 2.1 单片机最小系统电路设计 (2) 2.2直流电机驱动电路设计 (2) 2.3 数码管显示电路设计 (4) 2.4 独立按键电路设计 (5) 2.5 系统供电电源电路设计 (5) 2.5.1直流稳压电路中整流二极管的选取: (6) 2.5.2直流稳压电路中滤波电容的选取: (6) 第3章系统软件设计 (7) 3.1 软件总体设计思路 (7) 3.2 主程序流程设计 (7) 附录1 总体电路图 (10) 附录2 实物照片 (11) 附录3 C语言源程序 (12)

第1章总体设计方案 1.1 总体设计方案 早期直流传动的控制系统采用模拟分离器件构成,由于模拟器件有其固有的缺点,如存在温漂、零漂电压,构成系统的器件较多,使得模拟直流传动系统的控制精度及可靠性较低。随着计算机控制技术的发展,微处理器已经广泛使用于直流传动系统,实现了全数字化控制。由于微处理器以数字信号工作,控制手段灵活方便,抗干扰能力强。所以,全数字直流调速控制精度、可靠性和稳定性比模拟直流调速系统大大提高。所以,本次实习采用了驱动芯片来驱动直流电机,并运用单片机编程控制加以实现。 系统设计采用驱动芯片来控制的,所以控制精度和可靠性有了大幅度的提高,并且驱动芯片具有集成度高、功能完善的特点,从而极的大简化了硬件电路的设计。 图1.1 直流电机定时正反转方案 1.2 软硬件功能分析 本次实习直流电机控制系统以STC89C52单片机为控制核心,由按键输入模块、LED显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L293D直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将变化的定时时间送到LED数码管完成实时显示。

基于51单片机控制直流电机的设计

可以实现的功能是: 按下左转键则开始向左转动 按下右转键则向右转动 按下停止键则开始逐渐停止转动 按下调速键一次则会加速一档 按下调速键二次则会加速二档 按下调速键三次则会加速三档 按下调速键四次则会加速四档 按下调速键五次则会回到最初速度重新记档位 设计思路: 直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。直流电机的驱动电路要有过流保护作用,图中的二极管就直到这个作用,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。用51实现PWM信号的输出,相对麻烦点,要是AVR就可以方便地实现PWM信号,由见51单片机的局限性与AVR单片机的优势。 原理图

详细程序: #include #define uchar unsigned char #define uint unsigned int sbit PW1=P2^0 ; sbit PW2=P2^1 ; //控制电机的两个输入 sbit accelerate=P2^2 ; //调速按键 sbit stop=P2^3 ; //停止按键 sbit left=P2^4 ; //左转按键 sbit right=P2^5 ; //右转按键 #define right_turn PW1=0;PW2=1 //顺时针转动 #define left_turn PW1=1;PW2=0 //逆向转动 #define end_turn PW1=1;PW2=1 //停转 uint t0=25000,t1=25000; //初始时占空比为50% uint a=25000; // 设置定时器装载初值 25ms 设定频率为20Hz uchar flag=1; //此标志用于选择不同的装载初值 uchar dflag; //左右转标志 uchar count; //用来标志速度档位 void keyscan(); //键盘扫描 void delay(uchar z); void time_init(); //定时器的初始化 void adjust_speed(); //通过调整占空比来调整速度 void main()

基于单片机的三相步进电机控制系统设计分解

电气与电子工程学院 单片机原理及应用课程设计报告 课题名称 专业班级 学 号 学生姓名 指导教师 评 分 2016年06月20日至06月24 日

目录 摘要 (3) 1设计任务 (4) 2方案 (6) 2.1 设计思路与方案 (6) 2.2总体设计框图 (6) 3系统实现的原理说明 (7) 3.1 步进电机控制工作原理 (7) 3.1.1步进电机的工作原理 (7) 3.1.2 步进电机的启停控制 (7) 3.1.3 步进电机的转向控制 (9) 3.2步数显示模块原理 (10) 4硬件设计 (11) 4.1系统总原理图 (11) 4.2各部分硬件原理图设计 (11) 4.2.1 单片机控制模块 (11) 4.2.2按键选择工作状态模块 (12) 4.2.3步进电机工作模块 (13) 4.2.4工作状态显示模块 (14) 4.2.5 4位数码管显示步数模块 (14) 5软件设计 (16) 5.1系统总体设计 (16) 5.2步进电机工作模块 (17) 5.2.1步进电机的工作方式说明 (17) 5.2.2设计说明及流程图 (18) 5.3数码管步数显示模块 (19) 6仿真调试记录 (21) 7心得体会 (22) 参考文献 (22) 附录:程序清单 (23)

摘要 本设计详细介绍了基于单片机的三相步进电机控制系统。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,因此,单片机通过向步进电机发送控制信号就能实现对步进电机的控制。 单片机实现的步进电机控制系统具有成本低、使用灵活的特点,该系统采用80C51单片机作为主控芯片,来完成对步进电机转动及LED显示的控制。 本设计主要由单片机80C51,3相步进电机,7段数码管,及一些其他相关元件设计而成,分为按键选择工作状态模块、步进电机工作模块、LED二极管显示工作状态模块以及4位数码管显示步数模块。可以通过开关来控制系统的启/停工作,当系统运转时,用开关来控制方向,并使相应的指示灯亮起,同样由开关来选择工作模式。运转时,用4位7段数码管来输出步数。最后根据思路所设计出来的硬件图设计相适应的软件。 电路结构简单,设计思路清晰,同时利用Proteus进行联调仿真,结果比较直观。仿真结果收到了预期的效果。 关键字:三相步进电机、单片机、PROTEUS仿真

单片机课程设计---步进电机正反转设计

单片机课程设计课题:步进电机正反转设计 系别:电气与电子工程系 专业: 姓名: 学号 指导老师: 2013年01月09日

一设计目的 1、增进对单片机的感性认识,加深对单片机理论方面的理解; 2、掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、A/D、 3; 4、掌握控制步进电机转动的编程方法。 二设计要求 1、具有速度和转向设定功能; 2、设置开始、停止以及正反转健; 3、转速以及转向有数码管显示(本设计使用的为LCD12864)。 三、总体设计 步进电机是一种将电脉冲转化为角位移的数字控制执行机构。它将电脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。 步进电机具有控制简便、定位准确等特点。随着科学技术的发展,在许多领域将得到广泛的应用。鉴于传统的脉冲系统移植性不好,本文提出微机控制系统代替脉冲发生器和脉冲分配器,用软件的方法产生控制脉冲,通过软件编程可以任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态。以简化控制电路,降低生产成本,提高系统的运行效率和灵活性。 步进电机的角位移与输入脉冲数严格成正比,因此,当它转动一周后,没有累计误差,具有良好的跟随性。由步进电机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常可靠。同时,它也可以与角度反馈环节组成高性能的闭环数控系统。步进电机的动态响应快,易于起停、正反转及变速。速度可在相当宽的范围内平滑调节,低速下仍能保证获得大转矩。步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。步进电机自身的噪声和振动较大,带惯性负载的能力较差。 步进电机是自动控制系统中常用的执行部件。步进电机的输入信号为脉冲电流,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移,因而步进电机可看作是一个串行的数/模转换器。由于步进电机能够直接接受数字信号,而不需数/模转换,所以使用微机控制步进电机显得非常方便。 步进电机有以下优点: (1)通常不需要反馈就能对位置和速度进行控制; (2)位置误差不会积累; (3)与数组设备兼容,能够直接接收数字信号; (4)可以快速启停。 步进电机的品种规格很多,按照它们的结构和工作原理可以划分为磁阻式(也称反应式或变磁阻式)电机、混合式电机、永磁式电机和特种电机等四种主要型式。步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。目前打字机、计算机外部设备、数控机床、传真机等设备中都使用了步进电机。

单片机控制电机调速实验报告

重庆邮电大学综合实验报告——单片机控制步进电机调速 学生姓名:组长:AAAA 组员:AAAAAAAA 学号:XXXXX XXXXXXXXXXXXX 所在学院:自动化 班级:XXXXX 专业:机械设计制造及其自动化 指导老师:XXXX 成绩评定: 检测与控制实验中心

目录 一、实验要求与目的 (3) 1、设计要求 (3) 2、实验目的 (3) 二、设计思路 (3) 三、实验原理 (4) 1、步进电机 (4) 2、步进电机控制系统结构 (4) 3、速度控制算法 (5) 四、功能概述及方案设计 (5) 1、显示模块 (5) 2、AD转换模块 (6) 3、步进电机细分驱动模块 (6) 五、实验运行程序 (7) 六、实验心得 (13) 参考文献 (13)

一、实验要求与目的 1、设计要求 1、步进电机的给定速度由电位器通过AD转换输入 2、只有给定速度和实际速度显示功能 3、实际速度通过红外光电开关(或霍尔元件)检查 4、步进电机具有细分功能:1/2细分 1/4细分 1/8细分 5、测试步进电机的响应时间及曲线 2、实验目的 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图 4、实现51系列单片机对步进电机的速度控制 5、了解霍尔元件和步进电机细分驱动芯片tb6560的使用 二、设计思路 主控芯片采用STC89C52单片机,显示采用1602液晶,由于步进电机速度设定由电位器输入,使用外部AD tlc5510,AD时钟源接89C52 ALE引脚,AD为并行,AD使用单片机P1口,可以直接读取,根据对应数据设定速度。步进电机速度控制采用闭环控制,由于传统的PID控制算法波动较大,我们采用分级设定加速度的办法,并把编码器反馈回来的速度与设定速度进行比较确定是加速还是减速,软件模拟加速减速过程,步进电机细分由驱动芯片TB6560提供,由于驱动细分由m1、m2口电平决定,我们采取直接通过拨码开关设定电平,从而设定驱动细分值。

单片机直流电机控制系统的设计与仿真要点

《单片机》期末考查(课程 设计) 论文题目:单片机直流电机控制系统的设计与仿真 学别:电气信息 班级: 姓名: 学号:1238230239 指导老师: 职称: 日期:2015 年1 月16 日

目录 第一章绪论................................................................................................................................................................ 1.1 W A VE6000软件说明.................................................................................................................................... 1.2 PROTEUS软件说明..................................................................................................................................... 1.2.1 软件的特点........................................................................................................................................ 1.2.2 ISIS智能原理图输入系统................................................................................................................. 1.3 MCS-51单片机系统简介.............................................................................................................................第二章总体方案设计................................................................................................................................................ 2.1 总体设计....................................................................................................................................................... 2.2 硬件设计....................................................................................................................................................... 2.2.1 硬件设计电路.................................................................................................................................... 2.2.2 PROTEUS软件使用过程.................................................................................................................. 2.2.3元器件清单如下................................................................................................................................. 2.3 软件设计....................................................................................................................................................... 2.3.1 PROTEUS硬件属性分配.................................................................................................................. 2.3.2程序设计............................................................................................................................................. 2.3.3编译成HEX文件步骤 ......................................................................................................................第三章综合测试........................................................................................................................................................ 3.1仿真工具栏................................................................................................................................................... 3.2 仿真结果.......................................................................................................................................................第四章总结鉴定........................................................................................................................................................参考文献 .....................................................................................................................................................................课程设计心得体会......................................................................................................................................................评阅老师:日期:..........................................................................................................................

基于单片机的直流电机控制(正反转、开关控制)

基于单片机的直流电机控制(正反转,开关控制)原理图如下: 程序如下: /*用电机来代表门的转动情况*/ #include //定义变量 sbit kaimen=P0^0; sbit zanting=P0^1; sbit fanxiang=P0^2; sbit P2_0=P2^0; sbit P2_1=P2^1; bit Flag = 1;//定义电机正反向标志 //函数声明 void motor_turn(void); //正反向控制 void Timer0_init(void); //定义定时器0初始化 /******************************延时处理***************************/ void Delay(unsigned int z)

{ unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /***************************************************************/ void Timer0_int(void) interrupt 1 using 1//定时器0中断处理主要用来处理换方向的时候 { TR0 = 0; TL0=(65536-50000)/ 256; //定时50ms TH0=(65536-50000)% 256; TR0 = 1; if(Flag == 1)//代表改变方向 { P2_0 = 0; P2_1 = 1; } else //方向不变 { P2_1 = 0; P2_0 = 1; } } /****************开始转动:人满时候开始转动**************/ void motor_start(void) { if(kaimen==1) { //Delay(10); if(kaimen==1) { P2_0 = 0; P2_1 = 1; } } } /***************有人但是人未满时或者有夹到人的时候暂停*************/ void motor_pause(void) { if(zanting==1) { Delay(10);

相关主题
文本预览
相关文档 最新文档