基于51单片机控制步进电机
- 格式:docx
- 大小:163.43 KB
- 文档页数:11
基于51单片机的步进电机控制系统设计中文摘要步进电机是一种受脉冲信号控制,并且能将脉冲信号转化为相应的角位移或者线位移的数字电动机。
由于步进电机具有步距误差不积累、运行可靠、结构简单、惯性小、成本低等优点,因此,被广泛使用于计算机外围电路、自动化控制装置以及其他的数字控制装置中,如打印机、钟表、数模转换设备等装置中。
随着科学技术的快速发展,相应的控制系统也产生了很多种类,步进电机的身影在众多领域中可以看到。
其中采用单片机作为控制核心的控制系统,由于其电路简单、成本低、可靠性强等优点,满足众多领域的需求,得到了大量的运用.因此,研究基于单片机的步进电机控制系统,具有重要的现实意义。
本设计研究的是基于51单片机对步进电机的控制系统。
通过单片机的I/O端口输出时序方波作为控制信号,信号经过芯片ULN2003驱动芯片驱动步进电机进行不同的指令进行工作。
根据不同的需要,通过按键电路来控制步进电机的启停、正反转和加减速等功能,并在数码管上实时显示步进电机的工作状态。
本文给出了电路各个模块的电路图,并用Proteus的ISIS软件对控制系统的各个功能进行了仿真,并给出了相应的仿真结果图像。
关键词:单片机;步进电机; 电机驱动; 控制系统AbstractStepper motor controlled by a pulse signal,and a pulse signal can be converted to the corresponding angular displacement or linear displacement of the digital motor。
As the stepper motor has a step error does not accumulate, reliable, simple structure,small inertia, low cost, and therefore,are widely used in computer peripheral circuits,automatic control devices and other digital control devices, such as printers,watches and clocks ,digital to analog conversion equipment,and other devices. With the rapid development of science and technology,the corresponding control system also produced many types of stepper motor figure can be seen in many areas. Which uses microcontroller as the control of the control system,because of its simple circuit, low cost,high reliability, etc。
基于51单片机控制步进电机毕业设计论文LTDesign of stepping motor control system based on single chip microcomputerAbstractStepping motor is a kind of by electric pulse signal to control actuator, because it is easy to control, small size and other characteristics, so in the CNC system, automatic production lines, automatic instrument, drawing machine and printer has a widely application. The popularization and application of microelectronic technology and rapid development of micro computer, and gradually into the application field of the motor, which makes before hardware circuit controller of large and complex can now be used software to achieve. This not only reduces the cost of hardware, but also improves the flexibility, reliability and functionality of the control. Because of the stepper motor with instantaneous start, rapid stop, high accuracy, and with the composition of the open loop system is simple, cheap, and very practical. Therefore, the design of based on single-chip stepper motor control system has great value and broad application.This paper mainly studies the design of the stepper motor system based on single chip microcomputer. The content of the subject includes the principle of step motor and single chip microcomputer, the stepper motor drive circuit is analyzed, and the system hardware circuit and program are designed and tested. The design of stepping motor control system adopts the method of software and hardware co simulation, which can effectively reduce the time and cost of the system development. Using Protues simulation software to complete the motor positive inversion, deceleration and stop start and other basic functions, using single chip microcomputer, stepping motor drive chip, character type LCD and keyboard array element module, the design of the controller and the driver for one step into the simulation of motor control system, realizes the function of the stepper motor range setting, position control and real-time display of a step into the working state of the motor. The hardware of the system consists of control circuit, display circuit, alarm feedback circuit and drive circuit, the corresponding software program is designed according to the hardware circuit, and the debugging and analysis are carried out. The design system has the characteristics of clear thinking, high reliability, strong stability and so on.Keywords: stepping motor ;drive circuit;single chip microcomputer;simulation and control system目录第一章绪论 (1)1.1课题背景 (1)1.2课题的目的和意义 (1)1.3课题的内容 (2)第二章步进电机的结构与特点 (3)2.1步进电机的构造 (3)2.2步进电机的工作原理 (4)2.3步进电机的主要特征 (5)2.4步进电机绕组的电气特性 (7)2.5步进电机的选型 (8)第三章设计原理分析 (9)3.1设计目的 (9)3.2设计要求 (9)3.3总体设计方框图 (10)3.4设计方案论证 (10)3.4.1系统控制方案 (10)3.4.2驱动模块方案选择 (13)3.4.3最终方案确定 (15)第四章步进电机控制系统硬件设计 (15)4.1单片机最小系统 (15)4.2 控制电路 (17)4.3 驱动电路 (19)4.4 显示电路 (20)4.5 位移越界报警电路 (21)4.6 状态指示灯显示电路 (22)第五章步进电机控制系统软件设计 (23)5.1主程序设计 (23)5.2 LCD显示程序设计 (25)5.3转速控制程序设计 (27)5.4程序设计 (28)5.5角度设定程序设计 (29)5.6位移设定程序设计 (31)第六章仿真结果与分析 (34)6.1整体硬件设计图 (34)6.2测试 (34)6.3误差分析 (39)第七章总结 (40)参考文献 (42)致谢 (45)第一章绪论1.1课题背景步进电机作为控制执行器,广泛应用于各种控制领域[1]。
目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (4)2.3功能模块的设计与实现 (5)第3章结果测试及分析 (8)3.1结果测试 (8)3.2结果分析 (8)参考文献 (9)附录A (10)附录B(电路原理图) (15)附录C (元件列表) (16)第1章总体设计方案1.1 设计原理根据课程设计任务书的内容与要求,要实现步进电机的工作过程,步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出位移增量和输入数字脉冲对应的驱动器件。
首先要给步进电机送入脉冲信号来启动,然后在已经设定好的步进电机的正反转及三种节拍工作方式中切换,步进电机的三种节拍工作方式分别为单四拍、双四拍、单双八拍。
步进电机的驱动需要时钟脉冲信号,改变单片机输出脉冲信号来实现的。
改变各脉冲的先后顺序,可以改变电机的旋转方向和工作方式。
步进电机工作方式的转换则通过键盘控制,可以进行启动、停止、正转、反转及三种节拍工作方式的选择。
键盘的控制是在程序中已经给给每个键设置相应的功能,扫描键盘判断是否有键按下,若有,则执行与之对应的功能;若没有键按下,则保持正在运行的状态不变。
1.2 设计思路采用C语言程序设计的方法结合硬件电路设计方法,利用Lab6000实验箱上已有芯片来实现步进电机的工作(包括正转、反转、单四拍、双四拍、单双八拍的节拍工作方式)。
1)提出方案首先,实现步进电机的启动与停止;其次,实现步进电机的正反转;再次,实现在正转时可选择三种节拍工作方式;最后,实现在反转时可选择三种节拍工作方式。
2)方案论证P1口接步进电机的A~D口,键盘接通片选信号,扫描键盘,由于本程序设定固定按键为功能键,所以扫描键盘时,将使用到的按键的相应列扫描码设置为低电平,如果有键按下,74LS374输出的低电平经过按键被接到74LS245的端口上,这样从74LS245读回的数据就会有低位,根据74LS374输出的列信号和74LS245读回的行信号,就可以判断哪个键被按下。
课程设计报告设计题目:遥控小车——基于51单片机的步进电机调速系统学院:专业:班级:学号:姓名:电子邮件:时间:成绩:指导教师:华南农业大学理学院应用物理系课程设计(报告)任务书学生姓名指导教师职称学生学号专业电子信息科学与技术题目基于51单片机的步进电机调速系统(遥控小车)任务与要求1. 设计并制作电路,利用单片计控制步进电机运转。
2. 通过键盘可以不间断地设定改变电机的转速、转向。
3. 利用显示器实时显示转速等参数。
4. 扩展功能:可设定转动步数。
开始日期2014 年3 月完成日期2014 年3 月1引言步进电机是一种将电脉冲转化为角位移的执行机构。
目前,步进机已经广泛应用于领域,例如工业生产中的机械臂的控制,照明装置和监控摄像机转动等。
步进机在装置转动、精确位移方面有很重大的作用。
本系统是基于STC89C51 单片机的遥控小车。
采用STC89C51单片机作为控制核心,通过ULN2003A驱动步进机(28BYJ-48)转动,由按键和显示屏1602组成人机交互模块,同时通过315M无线发射和接收模块向单片机输入控制信号,将整个系统固定于简易小车上,最终实现小车测试和远程遥控功能。
基本达到预定的设计要求以及功能的扩展。
2系统的设计与理论分析2.1系统总体设计2.2理论分析本设计分为两种工作模式:测试模式、遥控模式。
在电路板上有一个带锁的开关进行设置。
测试模式工作时,通过控制小车上的按键进行加速、减速、反转、设置、步数增、步数减等按键,单片机扫描按键,通过软件控制液晶模块显示对应的转速、设置的速度和步数,同时控制步进机模块进行相应的转动。
步进机的是由ULN2003A达林顿管驱动,由单片机控制输入脉冲的频率来控制步进机的转速,单片机是通过程序查表对4个I/O口输出脉冲,本次设计采用的是两相四线减速步进机,步进角为5.625°,减速比为64:1,程序采用的是8拍查表,具有较好的扭矩。
遥控模式工作时,遥控部分五个按键分别输入前、后、左、右、暂停,单片机扫描按键,通过无线发射模块发射串行编码,小车的无线接收模块接收对应的编码,送至单片机进行解码,从而控制液晶模块的显示和步进机模块的工作,进而完成功能。
基于51单片机控制步进电机正反转此次采用uln2003模块来链接步进电机;## 步进电机工作原理步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。
每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。
步进电动机的结构形式和分类方法较多,一般按励磁方式分为磁阻式、永磁式和混磁式三种;按相数可分为单相、两相、三相和多相等形式。
因此我们可以控制单片机I/O口的电平来控制步进电机,此次设计中采用四相单拍工作方式,在这种工作方式下,A、B、C、D 三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。
因此这种通电方式叫做四相单四拍工作方式。
1.电机正转代码unsigned char code tableZ[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};2.电机反转代码unsigned char code tableF[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};代码如下#include <reg52.h>#define uint unsigned int #define uchar unsigned charunsigned char code tableZ[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};unsigned char code tableF[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};//²½½øµç»úzhengvoid delay(unsigned int t);sbit S3=P3^4; //反转sbit S4=P3^5; //反停sbit S5=P3^6; // 正停//正转写入数据void motor_z() { unsigned char i,j; for (i=0; i<8; i++) { if(S5==0){break;} for(j=0;j<8;j++){ P1 = tableZ[i]&0x1f; delay(50); } } }//反转写入数据void motor_f(){ unsigned char i,j; for (i=0; i<8; i++) { if(S4==0){break;} for(j=0;j<8;j++){ P1 = tableF[i]&0x1f;delay(50); } }}void delay(unsigned int t)//延时函数{ unsigned int k; while(t--) { for(k=0; k<60; k++) { } }}void main(){while(1){motor_z();if(S3 == 0){motor_f();}}}•1•2•3•4•5•6•7•8•9•10•11•12•13•14•15•16•17•18•19•20•21•22•23•24•25•26•27•29 •30 •31 •32 •33 •34 •35 •36 •37 •38 •39 •40 •41 •42 •43 •44 •45 •46 •47 •48 •49 •50 •51 •52 •53 •54 •55 •56 •1•3 •4 •5 •6 •7 •8 •9 •10 •11 •12 •13 •14 •15 •16 •17 •18 •19 •20 •21 •22 •23 •24 •25 •26 •27 •28 •29 •30 •31•33•34•35•36•37•38•39•40•41•42•43•44•45•46•47•48•49•50•51•52•53•54•55•56protel仿真图如下。
基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
51单片机驱动步进电机的方法一、步进电机简介步进电机是一种将电脉冲转化为角位移的执行机构,广泛应用于各种自动化设备中。
其工作原理是,当一个脉冲信号输入时,电机转动一个步距角,从而实现电机的精确控制。
二、51单片机驱动步进电机的方法1、硬件连接需要将51单片机与步进电机连接起来。
通常,步进电机需要四个引脚,分别连接到单片机的四个GPIO引脚上。
同时,还需要连接一个驱动器来提高电机的驱动能力。
2、驱动程序编写接下来,需要编写驱动程序来控制步进电机的转动。
在51单片机中,可以使用定时器或延时函数来产生脉冲信号,然后通过GPIO引脚输出给电机。
同时,还需要设置电机的步距角和转向,以保证电机的精确控制。
3、示例程序以下是一个简单的示例程序,用于演示如何使用51单片机驱动步进电机:cinclude <reg52.h> //包含51单片机的头文件sbit motorPin1=P1^0; //定义连接到P1.0引脚的电机引脚sbit motorPin2=P1^1; //定义连接到P1.1引脚的电机引脚sbit motorPin3=P1^2; //定义连接到P1.2引脚的电机引脚sbit motorPin4=P1^3; //定义连接到P1.3引脚的电机引脚void delay(unsigned int time) //延时函数unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<1275;j++);void forward(unsigned int step) //正转函数motorPin1=0;motorPin2=0;motorPin3=0;motorPin4=0; //清零电机引脚delay(step); //延时一段时间motorPin1=1;motorPin3=1;motorPin2=0;motorPin4=0; //设置转向和步距角delay(step); //延时一段时间void backward(unsigned int step) //反转函数motorPin1=0;motorPin2=0;motorPin3=0;motorPin4=0; //清零电机引脚delay(step); //延时一段时间motorPin2=1;motorPin4=1;motorPin3=0;motorPin1=0; //设置转向和步距角delay(step); //延时一段时间void main() //主函数unsigned int step=1000; //设置步距角为1000微步forward(step); //正转一圈backward(step); //反转一圈while(1); //循环等待,保持电机转动状态在这个示例程序中,我们使用了四个GPIO引脚来控制步进电机的转动。
目录绪论 (2)一、选题背景 (3)1.1课题背景 (3)1.2研究的目的和意义 (3)1.3课题研究的内容 (4)二、方案的论证 (4)2.1单片机简介 (4)2.2步进电机简介 (5)2.3仿真软件的介绍 (6)2.4驱动电路的选择 (6)三、设计或实验过程的论述 (7)3.1硬件电路的设计 (8)3.2软件部分 (9)四、基于AT89S52步进电机控制系统的实现 (15)4.1系统的故障及调试 (15)4.2设计结果 (16)五、总结与展望 (16)5.1总结 (16)5.2展望 (16)5.3 心得 (16)六、致谢 (17)附录一:参考文献 (18)附录二:电路原理总图 (19)附录三:元器件清单 (20)附录四:产品实物图 (21)步进电机的控制设计绪论单片机具有体积小、功耗小、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用与仪表仪器中,结合不同类型的传感器,可以实现诸如电压、功率、频率、温度、湿度、流量、速度、厚度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更强大。
例如精密的测量设备(功率表,示波器,各种分析仪)。
同时用单片机还可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
现在的单片机普遍具备通信接口,可以很方便的与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本都实现了单片机智能控制,从手机,电话机,小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
此外,单片机在工商,金融,科研,教育,国防航空航天等领域都有着十分广泛的用途。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、大容量、低价格和外围电路内装化等几个方面发展。
文章标题:基于51单片机的步进电机红外控制系统的设计引言在现代科技发展迅速的时代,控制系统已经被广泛应用于各个领域。
其中,基于51单片机的步进电机红外控制系统的设计,不仅在工业领域有着重要的作用,同时也在家电领域、智能家居等方面得到了广泛的应用。
本文将从步进电机控制系统的设计原理、红外控制的基本概念以及基于51单片机的系统设计方案等方面展开深入探讨。
一、步进电机控制系统的设计原理步进电机是一种将电脉冲信号转换为机械位移的执行元件,其控制系统设计原理是核心。
以步进电机为执行元件的控制系统通常包括电脉冲发生电路、电流驱动电路、位置控制逻辑电路以及接口电路等模块。
在系统设计中,需要考虑步进电机的类型、工作方式、转动角度以及控制精度等因素,以选择合适的控制方案和相关元器件。
针对步进电机的控制系统设计,首先需要从硬件电路和软件控制两个方面进行综合考虑。
硬件方面需要设计合适的脉冲发生电路和驱动电路,并根据具体场景考虑相关的接口电路,以实现步进电机的控制和驱动。
而软件控制方面,则需要编写相应的控制程序,使得系统能够根据具体的控制要求进行精准的控制和调节。
二、红外控制的基本概念红外控制是一种常见的无线遥控技术,通过使用红外线传输信号来实现对设备的控制。
通常包括红外发射器和红外接收器两个部分,发射器将控制信号转换成红外信号发送出去,接收器接收红外信号并将其转换成电信号进行处理。
在实际应用中,红外控制技术已经被广泛应用于各种家电遥控器、智能家居系统以及工业自动化领域。
红外控制的基本原理是在发射器和接收器之间通过红外线进行双向通信,通过调制解调的方式进行信号的传输和解析。
设计基于红外控制的步进电机系统需要考虑红外信号的发射和接收过程,以及相关的解析算法和信号处理。
信号的稳定性、抗干扰能力以及传输距离等也是需要考虑的重要因素。
三、基于51单片机的系统设计方案在步进电机红外控制系统的设计中,选择合适的控制芯片和处理器是至关重要的。
重庆工商大学计算机与信息工程学院学院《单片机原理及应用》课程实验报告实验名称:步进电机综合控制实验实验班级:2010级自动化专业班级:2010级自动化三班指导老师:文远熔组员:陶园2010133330 王路2010133344江洋2010133335陈娅2010133326张琴芳2010133317张丹2010133320(组长)一、摘要:本实验利用8051单片机达到控制步进电机的启动、停止、正转、反转、点动、转过指定角度、状态显示和数据指示的目的,使步进电机控制更加灵活。
步进电机驱动芯片采用ULN2003,ULN2003具有大电流、高电压,外电路简单等优点。
利用ZLG7290模块驱动LED数码管显示速度设定值。
通过这个单片机控制系统的设计来掌握步进电机的工作原理和驱动过程以及LED显示原理和ZLG7290模块的使用方法,用LED数码管显示实验要求的状态结果,设计电路的硬件接线图和实现上述要求的程序。
关键词:51单片机步进电机ZLG7290 ULN2003二、设计内容与要求:1、任务介绍:实现步进电机按规定的速度正转、反转,转过指定的角度,要有点动功能。
所有命令通过键盘输入,步进电机在运行过程中要有状态和数据指示。
2、每套设计文档应包括:系统原理说明、程序框图、电路原理图和程序清单。
三、实验器件介绍及原理:本实验采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。
在单片机环境下,用ULN2003驱动芯片驱动步进电机,用ZLG7290芯片作用下的按键控制步进电机的运行,从而达到实验要求。
其控制框图(图一)为:图一:控制框图1、系统硬件介绍1.1步进电机1.1.1相关的技术指标:a、相数:指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机,本实验用的是四相步进电机。
电机相数不同,其步距角也不同。
b、步距角:表示控制系统每发一个步进脉冲信号,电机所转动的角度。
本实验程序运行前要先测量步进电机的步距角。
基于单片机的步进电机控制系统单片机课程设计报告IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】微机原理与接口技术课程设计报告基于51单片机的步进电机控制系统学号姓名班级 2011级电子2班华侨大学电子工程系摘要步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。
步进电机可以直接用数字信号驱动,使用非常方便。
步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。
在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。
因此非常适合于单片机控制。
它的运行速度和步距不受电源电压波动及负载的影响, 因而被广泛应用于数模转换、速度控制和位置控制系统。
本课程设计以STC89C52单片机作为微控制器,使用混合式步进电机驱动芯片ULN2003AN进行驱动,实现了对步进电机运行状态的简单控制,并将其运行状态用LCD1602液晶显示。
本次设计能实现的功能有电机运行、停止,设置运行圈数,调节转速,电机正反转,点动等。
关键词:STC89C52单片机,28BYJ-48步进电机,ULN2003AN驱动芯片,LCD1602显示,电机控制,点动第一章总体设计方案本次课程设计本课程设计以STC89C52单片机作为微控制器,使用混合式步进电机驱动芯片ULN2003AN进行驱动,实现了对步进电机运行状态的简单控制,并将其运行状态用LCD1602液晶显示。
本次设计能实现的功能有电机运行、停止,设置运行圈数,调节转速,电机正反转,点动等。
系统流程图如下:第二章硬件原理一、STC89c52单片机、STC89c52芯片简介STC89C52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。
单片机原理及系统课程设计1 引言步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。
单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。
随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。
步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。
1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。
到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。
步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。
在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。
2 设计方案与原理4.1 设计方案设计一个51单片机四相步进电机控制系统要求系统具有如下功能:(1)由I/O口产生的时序方波作为电机控制信号;(2)信号经过驱动芯片驱动电机的运转;(3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。
4.2 设计原理步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。
步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。
从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。
四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。
在本次设计中,我们使用的是四相单八拍的工作方式。
通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。
单片机应用系统设计报告设计题目:步进电机控制器设计专业班级:学生姓名:指导教师:设计时间: 2016年12月一、 设计要求及方案 1、设计要求可以实现步进电机正转和反转控制及速度的控制,同时实现步进电机步数的控制。
2、设计方案本次设计采用AT89C51单片机控制一个四相步进电机。
单片机输出脉冲序列,驱动步进电机转动;并设置开关、按键电路,来控制步进电机的2挡转速,即加速、减速;以及步数的变化,即四拍驱动方式、八拍驱动方式,同时控制步进电机的转动方向,即正转、反转。
设计方案总体框图:二、步进电机简介 1、步进电机工作原理步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的多相时序控制器。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。
它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。
因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
2、步进电机磁力方式选择步进电机的励磁方式主要分为全步励磁和半步励磁两种,其中全步励磁又有一相励磁和二相励磁之分,半步励磁又称一-二相励磁。
微机原理与接口技术课程设计报告基于51单片机的步进电机控制系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于51单片机的步进电机控制系统设计与实现步进电机控制系统是基于51单片机的一种控制系统,它主要用来控制步进电机的转动方向和转速等参数。
下面详细解释一下这个系统的设计和实现。
1. 系统硬件设计步进电机控制系统的硬件主要包括51单片机、驱动电路、步进电机和电源等部分。
其中,驱动电路是控制步进电机的关键,它通常采用L298N芯片或ULN2003芯片等常用的驱动模块。
在硬件设计方面,主要需要考虑以下几个方面:(1)步进电机的种类和规格,以便选择合适的驱动电路和电源。
(2)驱动电路的接线和参数设置,例如步进电机的相序、脉冲频率和电流大小等。
(3)电源的选取和参数设置,以满足系统的供电要求和安全性要求。
2. 系统软件设计步进电机控制系统的软件设计主要包括编写控制程序和调试程序。
其中,控制程序是用来实现步进电机的正转、反转、加速和减速等控制功能,而调试程序则用来检测系统的电路和程序的正确性和稳定性。
在软件设计方面,主要需要考虑以下几个方面:(1)确定控制程序的算法和流程,例如使用“循环控制法”或“PID控制法”等控制方法。
(2)选择编程语言和编译器,例如使用汇编语言或C语言等。
(3)编写具体的控制程序和调试程序,并进行测试和调试,以确保程序的正确性和稳定性。
3.系统实现步进电机控制系统的实现主要包括硬件组装和软件烧录两个部分。
在硬件组装方面,需要按照硬件设计图纸进行零部件的选取和电路的组装,同时进行电源和信号线的接入。
在软件烧录方面,需要使用专用的编程器将程序烧录到51单片机的芯片中,并进行相应的设置和校验。
总之,基于51单片机的步进电机控制系统是一个功能强大、应用广泛的控制系统,可以实现精密控制和自动化控制等多种应用,具有很高的实用价值和研究价值。
基于51系列单片机控制步进电机调速实验实验目的及要求:1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量)4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。
速度设定由键盘设定,步进电机的反馈速度由LED数码管显示。
实验原理:步进电机控制原理一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。
因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。
步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。
由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。
随着数字控制系统的发展,步进电动机的应用将逐渐扩大。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机的驱动电路根据控制信号工作,控制信号可以由单片机产生。
电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。
0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)图1 是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。
单片机原理及系统课程设计1 引言步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。
单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。
随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。
步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。
1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。
到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。
步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。
在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。
2 设计方案与原理4.1 设计方案设计一个51单片机四相步进电机控制系统要求系统具有如下功能:(1)由I/O口产生的时序方波作为电机控制信号;(2)信号经过驱动芯片驱动电机的运转;(3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。
4.2 设计原理步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。
步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。
从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。
四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。
在本次设计中,我们使用的是四相单八拍的工作方式。
通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。
图 2.1 步进电机内部结构截图根据步进电机的相关相序表我们可以正常的控制电机的步进运行。
3 硬件设计根据设计要求和设计原理,我们可以绘制出基本的功能方框图,以便之后我们连接实际电路时的方便和可靠。
用键盘控制具体的功能模块,这样更能直观方便的控制整体的系统,使其达到我们预期的操作效果。
图3.1中简单描述了整个单片机系统的控制模式和控制流程,包括通过时钟电路和键盘电路,来控制UNL2803驱动电机动作。
图 3.1 硬件电路功能方框图图3.2截图中是UNL2803中的细节电路,用前四个输入输出口连接步进电机的四个输入口。
图3.3截图是单片机的键盘控制电路,对系统的控制功能模块的选择和控制。
包括正转启动按钮、反转启动按钮、停止位按钮、加速按钮、减速按钮和单步运行按钮。
图 3.2 步进电机及其驱动电路截图图 3.3 按键设置及其连接引脚截图以上电路功能截图均出自于proteus仿真软件。
4 软件设计软件设计中,我们查询键盘按钮控制方式来选择步进电机运行的工作状态。
在程序里面对按钮分配的I/O地址分别为正转启动位是P3.0,反转启动为是P3.1,停止位是P3.4,加速位是P3.2,减速位是P3.3,单步执行位是P3.5。
通过外部中断INT0和INT1来实现加速减速的外部输入。
图4.1 主程序流程图程序里面加上了防止正常运行过程中电机的突然转向的阻断。
防止电机的意外损坏。
在转向之前,必须按下停止按钮,然后再发出电机的下一条控制命令。
当然,我们的加速减速通过外中断可以在电机正常运行过程中进行操作。
增加了我们系统的可操作性和高可控性。
总结在本次课程设计中,首次接触到单片机的应用,接到题目时,对步进电机一无所知,并对如何使用单片机也不甚了解,仅仅知道一些生硬的指令和符号,并不知道它们到底如何使用以及其意义,通过老师指导,然后自己在课后翻阅书籍和上网,搜集到了不少有关步进电动机的知识。
通过钻研这些知识,总算对步进电机有了认识,但是这离课程设计需要掌握的知识相差甚远,为了缩短这种差距,只能不断地查阅资料,仔细揣摩。
在这次课程设计中,通过用单片机控制步进电机的起动、停止,正、反转,加、减速,也对单片机的知识也进行了复习和巩固。
设计仿真电路的过程中,必须要有耐心,在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,仔细比较分析其原理以及可行的原因。
这就要求对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。
同时在本次设计过程中,还学会了高效率的查阅资料、运用工具书、利用网络查找资料。
发现,在所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整,这就要求应更加注重实践环节。
那时候觉得学习单片机是那么的枯燥乏味,整天只是学习这个指令做什么,那个指令做什么,觉得学了一点用都没有。
现在知道,原来一些生硬的指令组合起来竟然可以实现如此多的实用功能。
俗话说的好,实践是检验真理的唯一标准,学习再多的理论也只能纸上谈兵,只有把理论应用到实践中,才能检验出理论的真伪。
所以,虽然一周的时间不长,时间过得也很快,但是在这一周过去后,明白了学习与实践相结合的重要性,指引我在以后的学习中应该把理论和实践联系起来。
参考文献[1] 李华,王思明,张金敏.单片机原理及应用[M].兰州:兰州大学出版社,2001.4(1):75-89.[2] 黄勤.单片机原理及应用[M].北京:清华大学出版社,2010.4(2):110-120.附录A 仿真界面截图图 3.4 Proteus仿真截图附录B 步进电机相序表表 2.2 四相八拍步进电机相序表A B C D0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 00 1 0 01 1 0 0 1 0 0 0 1 0 0 1附录C 主程序#include <reg51.h> //51芯片管脚定义头文件#include <intrins.h> //内部包含延时函数_nop_();#define uchar unsigned char#define uint unsigned intuchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; sbit K1 = P3^0; //正转sbit K2 = P3^1; //反转sbit K3 = P3^2; //停止sbit K4 = P3^3; //正向单步运行sbit K5 = P3^4; //加速sbit K6 = P3^5; //减速int num=2000;void motor_ffw();void motor_rev();void motor_ffw2();/********************************************************/ /* 延时t毫秒/* 11.0592MHz时钟,延时约1ms/********************************************************/ void delay(int t){uint k;while(t--){for(k=0; k<20; k++){ }}}/********************************************************/ /*步进电机正转单步执行/********************************************************/ void motor_single(){uchar i;for (i=0; i<8; i++) //一个周期转45度{P1 = FFW[i]; //取数据delay(num); //调节转速}}/********************************************************/ /*步进电机正转/********************************************************/ void motor_ffw(){uchar i;for (i=0; i<8; i++) //一个周期转45度{P1 = FFW[i]; //取数据if(K5==0){break;} //退出此循环程序delay(num); //调节转速}}/********************************************************/ /*步进电机反转/********************************************************/ void motor_rev(){uchar i;for (i=0; i<8; i++) //一个周期转45度{P1 = REV[i]; //取数据if(K5==0){break;} //退出此循环程序delay(num); //调节转速}}/******************************************************** * 主程序*********************************************************/ void main(void){EA=1; //开放总中断EX0=1; //允许使用外中断0IT0=1; //选择负跳变来触发外中断EX1=1; //允许使用外中断1IT1=1; //选择负跳变来触发外中断while(1){if(K1==0){for(;;){motor_ffw(); //电机正转单片机原理及系统课程设计报告if(K5==0){break;} //退出此循环程序}}else if(K2==0){for(;;){motor_rev(); //电机反转if(K5==0){break;} //退出此循环程序}}else if(K6==0){motor_single(); //电机正转单步执行}elseP1 = 0xf0;}}/******************************************************/ void int0() interrupt 0 //外中断0的中断编号为0{num=num+100; //每产生一次中断请求,x+80。
}void int1() interrupt 2 //外中断0的中断编号为1{num=num-100; //每产生一次中断请求,x-80。