基于AT89S52的步进电机闭环控制系统设计

合集下载

基于at89s52单片机的电机控制系统设计

基于at89s52单片机的电机控制系统设计

基于AT89S52单片机的电机控制系统设计介绍在现代工业领域,电机控制系统是至关重要的一部分。

无论是在生产线上运输原材料,还是在汽车中驱动发动机,都需要一个可靠且精确的电机控制系统。

本文将介绍基于AT89S52单片机的电机控制系统设计,以及如何利用该系统进行电机控制。

AT89S52单片机简介AT89S52是一款由Atmel公司生产的8位单片机。

它基于MCS-51系列体系结构,并且配备了丰富的外设。

这使得它成为设计和开发嵌入式系统的优秀选择之一。

电机控制系统设计概述电机控制系统设计的目标是实现对电机的精确控制。

这需要一个可编程的控制器,如AT89S52单片机,以及一组传感器和执行器。

在本设计中,我们将使用脉冲宽度调制(PWM)技术来控制电机的转速和方向。

系统设计本部分将深入探讨如何设计基于AT89S52单片机的电机控制系统。

硬件设计电机控制系统的硬件设计需要考虑以下几个方面:电机驱动电路电机驱动电路是控制电机转速和方向的关键组成部分。

在本设计中,我们将使用L298N电机驱动模块。

它具有低电压驱动能力,可以提供高电压和高电流,非常适合控制各种电机。

AT89S52单片机连接AT89S52单片机将连接到电机驱动电路。

它将负责生成PWM信号来控制电机的转速和方向。

此外,单片机还将读取传感器数据,并相应地调整电机控制信号。

软件设计电机控制系统的软件设计需要考虑以下几个方面:编写控制程序需要编写控制程序来实现电机控制。

可以使用C语言或汇编语言编写程序,并使用适当的编译器将其编译为可在AT89S52单片机上运行的机器码。

确定PWM参数为了实现对电机的精确控制,需要确定PWM的参数。

这包括占空比、频率等。

可以根据电机的规格和性能需求进行调整。

传感器数据处理在电机控制过程中,传感器将提供有关电机状态的信息。

单片机将读取这些传感器数据,并根据需要调整控制信号。

因此,需要编写适当的代码来处理传感器数据。

系统实现与测试在完成电机控制系统的设计后,需要进行系统实现和测试,以确保其正常工作。

基于AT89S52单片机的步进电动机控制模块设计

基于AT89S52单片机的步进电动机控制模块设计

基于AT89S52单片机的步进电动机控制模块设计文章设计了一种步进电动机控制系统,使用AT89S52单片机控制2相步进电机,由单片机产生驱动脉冲信号,通过按键控制步进电机的启停和步进方向,可根据实际需要对单片机进行编程,并通过Proteus仿真软件对系统进行仿真和测试。

标签:AT89S52单片机;步进电动机;控制引言步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。

步进电动机实际上是一种单相或多相同步电动机。

单相步进电动机由单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。

多相步进电动机由多相方波脉冲驱动,在经功率放大后分别送入步进电动机各相绕组。

当向脉冲分配器输入一个脉冲时,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。

在非超载的情况下,电动机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电动机加一个脉冲信号,电动机则转过一个步距角。

这一线性关系的存在,加上步进电动机只有周期性的误差而无累计误差等特点,使得在速度、位置等控制领域用步进电动机来控制变得非常简单。

本研究利用AT89S52单片机的四路I/O通道实现环形脉冲的分配,控制步进电动机匀速、连续的按固定方向转动,通过按键控制步进电动机的旋转角度。

1 系统设计用AT89S52单片机来作为整个步进电动机控制系统的核心部件,其系统设计总框图如图1所示。

真个系统包括单片机最小系统、电机驱动模块、独立按键模块等。

图1 系统设计总体框图1.1 单片机最小系统单片机最小系统主要负责产生控制步进电动机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比,步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的方向与输出的脉冲顺序有关。

1.2 电机驱动模块电机驱动模块负责将单片机发给步进电机的信号功率放大,从而驱动电机工作。

基于AT89S52单片机的步进电动机控制模块设计

基于AT89S52单片机的步进电动机控制模块设计

基于AT89S52单片机的步进电动机控制模块设计作者:明立娟来源:《科技创新与应用》2014年第32期摘要:文章设计了一种步进电动机控制系统,使用AT89S52单片机控制2相步进电机,由单片机产生驱动脉冲信号,通过按键控制步进电机的启停和步进方向,可根据实际需要对单片机进行编程,并通过Proteus仿真软件对系统进行仿真和测试。

关键词:AT89S52单片机;步进电动机;控制引言步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。

步进电动机实际上是一种单相或多相同步电动机。

单相步进电动机由单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。

多相步进电动机由多相方波脉冲驱动,在经功率放大后分别送入步进电动机各相绕组。

当向脉冲分配器输入一个脉冲时,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。

在非超载的情况下,电动机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电动机加一个脉冲信号,电动机则转过一个步距角。

这一线性关系的存在,加上步进电动机只有周期性的误差而无累计误差等特点,使得在速度、位置等控制领域用步进电动机来控制变得非常简单。

本研究利用AT89S52单片机的四路I/O通道实现环形脉冲的分配,控制步进电动机匀速、连续的按固定方向转动,通过按键控制步进电动机的旋转角度。

1 系统设计用AT89S52单片机来作为整个步进电动机控制系统的核心部件,其系统设计总框图如图1所示。

真个系统包括单片机最小系统、电机驱动模块、独立按键模块等。

图1 系统设计总体框图1.1 单片机最小系统单片机最小系统主要负责产生控制步进电动机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比,步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的方向与输出的脉冲顺序有关。

基于AT89S52单片机直流电机调速系统的设计

基于AT89S52单片机直流电机调速系统的设计

基于AT89S52单片机直流电机调速系统的设计一、本文概述Overview of this article随着现代控制技术的不断发展,直流电机调速系统在许多工业和生活领域中的应用越来越广泛。

其中,基于AT89S52单片机的直流电机调速系统因其设计灵活、成本低廉、性能稳定等优点,受到广大工程师和研究人员的青睐。

本文旨在探讨基于AT89S52单片机的直流电机调速系统的设计思路、实现方法以及性能优化,以期为读者提供一套可靠、高效的电机调速解决方案。

With the continuous development of modern control technology, the application of DC motor speed control systems is becoming increasingly widespread in many industrial and living fields. Among them, the DC motor speed control system based on AT89S52 microcontroller is favored by engineers and researchers due to its flexible design, low cost, and stable performance. This article aims to explore the design ideas, implementation methods, and performance optimization of a DC motor speed control system based on the AT89S52 microcontroller,in order to provide readers with a reliable and efficient motor speed control solution.文章首先介绍了AT89S52单片机的特点及其在直流电机调速系统中的应用价值。

基于at89s52单片机的电机控制系统设计

基于at89s52单片机的电机控制系统设计

基于at89s52单片机的电机控制系统设计电机控制系统是现代工业中不可或缺的一部分,它可以控制电机的转速、方向和停止等功能。

本文将介绍基于at89s52单片机的电机控制系统设计。

一、系统设计方案本系统采用at89s52单片机作为控制核心,通过控制电机的转速和方向来实现对电机的控制。

具体方案如下:1.硬件设计本系统的硬件设计包括电机驱动电路、at89s52单片机控制电路和电源电路。

电机驱动电路采用L298N芯片,它可以实现电机的正反转和调速功能。

at89s52单片机控制电路包括晶振电路、复位电路、ISP下载电路和串口通信电路。

电源电路采用稳压电源,保证系统的稳定性。

2.软件设计本系统的软件设计主要包括程序设计和算法设计。

程序设计采用C语言编写,主要实现电机控制、数据采集和通信等功能。

算法设计主要包括PID算法和PWM调速算法,通过对电机的转速进行控制,实现对电机的精确控制。

二、系统实现过程1.硬件实现首先,根据电机的参数选择合适的L298N芯片,设计电机驱动电路。

然后,根据at89s52单片机的引脚功能,设计控制电路。

最后,根据系统的功率需求,设计合适的电源电路。

2.软件实现首先,编写程序实现对电机的控制。

然后,采用PID算法和PWM调速算法,对电机的转速进行控制。

最后,实现数据采集和通信功能,将数据传输到上位机进行处理。

三、系统测试结果经过测试,本系统可以实现对电机的正反转和调速功能,控制精度高,稳定性好。

同时,数据采集和通信功能也得到了良好的实现。

四、系统应用前景本系统可以广泛应用于各种电机控制领域,如机器人、自动化生产线、电动车等。

同时,随着科技的不断发展,本系统的应用前景也将越来越广泛。

总之,基于at89s52单片机的电机控制系统设计是一项非常有前途的技术,它可以为现代工业的发展提供强有力的支持。

基于AT89S52单片机的电机控制系统设计

基于AT89S52单片机的电机控制系统设计

基于AT89S52单片机的电机控制系统设计作者:姜书政王桂海来源:《现代电子技术》2010年第07期摘要:介绍一种以AT89S52单片机为控制核心的电机控制系统。

用AT89S52单片机、液晶显示器、可逆永磁电机、继电器、LED、按键等完成系统的硬件设计;以Keil μVision 3为软件开发环境完成系统的程序设计。

经实际运行,该系统实现了在按键的操作下对时间进行设定,控制电机的启动、正反向转动、停止,状态指示灯正确显示工作状态,LCD显示时间。

关键词:单片机; 电机; 液晶显示器; 继电器; 程序设计中图分类号:TP368.1 文献标识码:A文章编号:1004-373X(2010)07-0138-03Design of Electric Motor Control System Based on AT89S52 Single Chip ComputerJIANG Shu-zheng1, WANG Gui-hai2(1.Graduation College, Shandong University of Science and Technology, Qingdao 266510, China;2.College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266510, China)Abstract:An electric motor control system which uses AT89S52 single chip computer as its core controller is introduced. The hardware design is composed of AT89S52 single chip computer, LCD, reversible SR-PM, electric relay, LED, key-press etc; the program design of the system was developed by taking Kei l μVision3 IDE as the software development environment(SDE). The system can set time with a key, control the start, forward and reverse rotation and stop of an electric motors, indicate the current state of the electric motor with LED, and display time on LCD.Keywords:single chip computer; motor; LCD; electric relay; program design0 引言电机控制[1]在监控器材、医疗器械、电动阀门、电动窗帘、家用电器、旋转灯具等方面有着广泛的应用,因此设计一款可控性好、精度高的电机控制系统是一件非常有意义的事。

基于AT89S52的42M_1_8D步进电机自动控制系统设计

基于AT89S52的42M_1_8D步进电机自动控制系统设计

基于AT89S52的42M-1.8D 步进电机自动控制系统设计摘要:设计出一套能微纳米运动的42M-1.8D 电机自动控制系统,可广泛应用于大部分原子力显微镜。

在电机控制过程中,通过串口通信发送指令控制单片机采集探针输出的电压信号,并传送到计算机进行分析,实时监测电压信号的变化量,最终实现在参考电压自动控制电机启停。

该系统可应用于多种相关原子力显微镜设备。

关键词:步进电机;纳米位移;自动控制中图分类号:TM383.6文献标识码:A文章编号:1672-9870(2010)02-0054-03收稿日期:2010-02-18作者简介徐熙平(1969)教授博士生导师主要从事光电检查技术与质量控制的研究徐熙平1,崔京殊1,2,王曦泽3(1.长春理工大学光电工程学院,长春130022;2.金日成综合大学物理学院;3.中国科技大学信息学院,合肥230026)Design of the 42M-1.8D Stepping Motor ControlSystem Based on AT89S52XU Xiping 1,Choe Kyong Su 1,2,WANG Xize 3(1.School of Photo-Electronic Engineering ,Changchun University of Science and Technology ,Changchun 130022;2.School of Physics ,Kim Ii Sung University ;3.University and Technology of China ,School of Information Science and Technology ,Hefei 230026)Abstract :Designed an automatic control system of 42M-1.8D motor ,which can be widely used in the atomic force micro-scope.In the course of the motor rotation ,by sending commands through the serial module ,control microcontroller ,ac-quire 0V ~5V voltage signal and sent to the computer ,real-time monitoring of change of voltage signal ,and ultimately au-tomatic cut-off motor in the reference voltage.The system can be combined with a variety of atomic force microscope.Key words :stepping motor ;atomic force microscope ;automatic control由AFM 原理和原子力作用规律[1]可知,只有当AFM 针尖与待测样品表面的间距达到纳米级时,样品表面原子与微探针之间才能产生稳定的原子力,使微悬臂发生偏转。

基于AT89S52单片机的控制步进电机的安装、调试与维修

基于AT89S52单片机的控制步进电机的安装、调试与维修

任务名称:基于AT89S52单片机的控制步进电机的安装、调试与维修学习目标:(1)、能看懂+5v电源原理及设计(2)、能看懂单片机电路复位工作原理及设计(3)、单片机晶振电路工作原理及设计。

(4)、会进行按键电路的设计(5)、知道光电隔离电路、驱动电路的原理及设计。

(6)、会进行步进电机工作原理及控制设计。

(7)、知道AT89S52单片机各引脚功能(8)、能看懂单片机汇编语言机程序设计学习内容:(1)、+5V电源原理及设计(2)、单片机复位电路工作原理及设计。

(3)、单片机晶振电路工作原理及设计。

(4)、按键电路的设计。

(5)、光电隔离电路、驱动电路的原理及设计。

(6)、步进电机工作原理及控制设计。

(7)、AT89S52单片机引脚。

(8)、单片机汇编语言及程序设计。

(9)、安全培训本课题建议学时:70学时。

本课题的教学步骤可分为:1、下发任务书2、学习流程3、引导问题4、有关表格5、评价标准任务书:(2个课时)基于AT89S52单片机的控制步进电机1.1项目概述步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出机械位移增量和输入数字脉冲对应的驱动器件,步进电机具有快速启动,停止的能力,精度高,控制方便,因此,在工业上得到广泛应用。

通过本课题的学习,你能够独立完成单片机控制步进电机的制作,并且可以进行步进电机的维修;下图为步进电机的电原理图:(见附录1)1.2项目要求基于AT89S52单片机的控制步进电机正反转,具体要求如下:(1)、开始通电时,步进电机停止转动。

(2)、单片机分别接有按键开关K1、K2和K3,用来控制步进的覅安吉的转向,要求如下:a、当按下K1时,步进电机正转。

b、当按下K2时,逼近电机反转。

c、当按下K3时,步进电机停止转动。

(3)、正转采用1相激磁方式,反转采用1~2相激磁方式。

1.3 系统设计1.3.1 框图设计根据系统要求画出基于AT89S52单片机的控制步进电机框图如图1所示。

基于AT89S52单片机的电机控制系统设计

基于AT89S52单片机的电机控制系统设计

基于AT89S52单片机的电机控制系统设计电机控制在监控器材、医疗器械、电动阀门、电动窗帘、家用电器、旋转灯具等方面有着广泛的应用,因此设计一款可控性好、精度高的电机控制系统是一件十分故意义的事。

本文介绍的基于AT89S52的电机控制系统的软硬件设计,在按键的操作下对时光举行设定,控制电机的转动,对工作状态准时间举行显示。

2 设计计划解释该系统先通过按键对电机的正、反向(即顺时针、逆时针)转动时光分离设置,时光显示在上,格式为时:分:秒(通过转变程序可以挑选不同的格式)。

采纳倒计时方式,正向时光完毕,立即开头反向转动时光计时,反向时光结束,自动复原到初始设定的时光。

时光设定完成后,按下开头键,正向转动时光开头计时,电机工作指示灯闪耀,正向转动指示灯亮,同时电机正向转动;正向时光完毕,反向时光开头计时,正向转动指示灯熄灭,反向转动指示灯亮,同时电机反向转动。

按下停止键,时光停止计时,电机停止工作,工作指示灯熄灭。

系统采纳的电机为60TDY-11可逆永磁电机,其内部采纳两组绕组,用实现定向旋转,通过转变电容和电机输出引线的接法,能够牢靠地实现电机定向旋转并控制旋转方向。

3 硬件设计囫囵系统硬件结构1所示。

3.1 按键输入和控制电路设计按键输入电路采纳6个按键分离衔接到单片机的P2.0~P2.5口,作为控制信号的输入。

按下K0键,系统进入时光设定模式,延续按下K0键可以挑选对不同的时光单位举行设置,通过K1,K2键对时光举行加1或减1。

按下K3键退出时光设定模式,K4,K5键分离为启动和停止键。

电机控制电路的控制芯片采纳ATMEL公司的AT89S52,它有8 KB FLASH,256 B RAM,32位I/O口线,定时器,两个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振准时钟电路。

其内部资源丰盛、性价比高,能够满足设计要求。

PO.O~P0.2作为三个工作指示灯的控制信号输出,需要外接上拉;P1.0~P1.2为液晶的控制信号输出;P3.0~P3.1分离是控制电机正反向转动的控制信号输出。

基于AT89S52单片机步进电机控制系统设计(1)

基于AT89S52单片机步进电机控制系统设计(1)

·测试与控制·机电产品开发与创新Development &Innovation of M achinery &E lectrical P roductsVol.22,No.6Nov .,2009第22卷第6期2009年11月文章编号:1002-6673(2009)06-161-03收稿日期:2009-09-17作者简介:王海波(1983-),男,湖北武汉人,硕士研究生。

研究方向:机械设计与理论。

基于AT89S52单片机步进电机控制系统设计王海波,吴晓光,李沛,余祎琴(武汉科技学院机电工程学院,湖北武汉430073)0引言步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件,每当输入一个电脉冲时,它便转过一个固定的角度,脉冲持续的输入,电动机便不停的转动,它是数字控制系统中常用的执行元件。

随着步进电机的运行精度不断提升,控制方式的不断灵活化和多样化,步进电机在进给伺服系统中作为驱动元件得到了越来越广泛的应用。

1步进电机的控制(1)硬件系统设计。

控制系统框图如图1所示。

本仿真控制系统以C51windows 为编程环境,proteus 为软件平台,步进电机选用42BYGH404,驱动器选用SH2034D ,其配套电源为S-100-24,选用SP51仿真器;单片机选用AT89S52,如图2所示。

为了实现步进电机运行的可视准确化,图中8位共阳极数码管用于实时显示步进电机的角位移,正反转方向。

如图3所示。

(4×4)矩阵式键盘用于选择步进电机的控制方式,初步设定1为恒速运行,2为加速运行,3为减速运行,4为正反转运行,如图4所示。

(2)软件系统设计。

软件实现方法如图5所示,外摘要:论述了步进电机的工作原理,提出了一种以AT89S52单片机为基础的步进电机控制模块的设计方案,以Keil C51为编程环境,Proteus 为软件平台,所有控制方案均通过实验得以实现,为数控系统的智能化控制和提高步进电机控制系统的稳定性提供了途径。

AT89S52单片机步进电机进行控制

AT89S52单片机步进电机进行控制

自动升降搬运机电子部分摘要:本设计采用一块AT89S52单片机对三个四相步进电机进行控制,使步进电机在安全温度内按输入的步数和转动的方向进行运行。

控制电机转动的方法采用四相八拍控制法。

本设计采用独立按键实现步进电机不同转动步数的输入以及转向的控制,还有用按键实现锁定和开锁的作用。

用ITR9608测速模块作为光电开关,实现极限停机的功能。

引言随着数字化技术发展,数字控制技术得到了广泛而深入的应用。

步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件, 具有快速起动和停止的特点。

因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。

设计内容:采用单片机控制三个四相八拍的步进电机工作。

制作的自动升降搬运机。

要实现的功能:一、控制步进电机的正反转来实现自动升降搬运机的连续上升和下降,由独立按键输入信号控制。

二、控制自动升降搬运机的定点上升,定点下降。

三、控制自动神将搬运机在上升和下降过程中随时可以加速和减速。

四、自动升降搬运机上升(电机正转)到极限位置时自动停止上升,同样下降(电机反转)到极限位置时自动停止下降。

说明:自动停止是采用ITR9608测速模块作为对光开关,正常运行时开关处于开状态,当上升或下降到极限位置时光电开关立马处于关状态,就立刻停止上升或下降,如果是上升到极限位置时再按上升按钮或定点上升按钮则不能再启动上升,如果是下降到极限位置时再按下降按钮或定点下降按钮则不能再启动下降。

五、用一个步进电机控制上面的机械手来实现搬运过程,控制步进电机的正反转来实现机械手的前移和后移还有停止。

单片机控制电路系统框图程序编写//////////步进电机控制#include <reg51.h> //51芯片管脚定义头文件#include <intrins.h> //内部包含延时函数_nop_(); #define uchar unsigned char#define uint unsignedint///////////下面电机控制sbit K1 = P3^2; //正转sbit K2 = P3^3; //反转sbit K3 = P3^4; //停止sbit K4 = P3^5; //减速sbit K5 = P1^4; //加速sbit K6 = P1^5; //定点上升或下降sbit K7 = P1^6; //定点上升或下降sbit BEEP = P3^6; //蜂鸣器//////////上面电机控制sbit K8 = P3^0; //正转sbit K9 = P3^1; //反转sbit K10 = P3^7; //停止//////////光电模块//////////////////sbit E0=P0^0;//A0使能端sbit D0=P0^1;//00被遮置高电平sbit E1=P0^2;//A0使能端sbit D1=P0^3;//00被遮置高电平////////第一个电机///////////sbit p13=P1^3;sbit p12=P1^2;sbit p11=P1^1;sbit p10=P1^0;////////第二个电机///////////sbit p23=P2^3;sbit p22=P2^2;sbit p21=P2^1;sbit p20=P2^0;////////第三个电机///////////sbit p24=P2^4;//EN 下降沿sbit p25=P2^5;//DIR 正反转sbit p26=P2^6;//pul下降沿sbit p27=P2^7;bit p=0;//0倒转,1正转uint h=0,t=125,N=100;/************************************************** ******//*/* 延时t毫秒/* 11.0592MHz时钟,延时约1ms/*/************************************************** ******/void delay(uint t)//t为125转一圈{uint k;for(k=0; k<t; k++){ }}/************************************************** ********/voiddelayB(uchar x) //x*0.14MS{uchari;while(x--){for (i=0; i<13; i++){ }}}/************************************************** ********/void beep(){uchari;for (i=0;i<100;i++){delayB(4);BEEP=!BEEP; //BEEP取反}BEEP=1; //关闭蜂鸣器}void shangmiandianji(uint N)//上面步进电机正倒转,停止控制{uchar r;uint k;for(k=0;k<N;k++)//转N圈for(r=0;r<200;r++)//转1圈{p24=1;delay(40);p25=p;//0倒转,1正转p24=0;p26=0;delay(90);if(K10==0)//停止按键{beep();p24=1;p26=1;k=N;break;} //退出此循环程序}}void motor_rev(uint N)//步进电机正倒转,加速减速停止{uchar r;uint k;for(k=0;k<N;k++)//转N圈for(r=0;r<200;r++)//转1圈{p13=1;//低脉冲触发p12=p;//0倒转,1正转p10=1;p23=1;//低脉冲触发p22=p;//0倒转,1正转delay(t);//调节转速,T为125转一圈//delayB(h);p13=0;p23=0;//下降沿触发if(K3==0)//停止按键{beep();p10=0;p20=0;k=N;break;} //退出此循环程序if(D0==1||D1==1)//光电停止,使能关{beep();p10=0;p20=0;k=N;break;} //退出此循环程序if(K4==0)//减速{t++;t++;}if(K5==0)//加速{t--;t--;}}}void dingdian(uint N)//步进电机定点{uchar r;uint k;for(k=0;k<N;k++)//转N圈for(r=0;r<200;r++)//转1圈{p13=1;//低脉冲触发p12=p;//0倒转,1正转p10=1;p23=1;//低脉冲触发p22=p;//0倒转,1正转p20=1;delay(125);//调节转速,T为125转一圈//delayB(h);p13=0;p23=0;//下降沿触发if(K3==0)//停止按键{beep();p10=0;p20=0;k=N;break;} //退出此循环程序if(D0==1||D1==1)//光电停止,使能关{beep();p10=0;p20=0;k=N;break;} //退出此循环程序}}/************************************************** ******** 主程序**************************************************** ******/main(){E0=1;E1=1;//光电使能开while(1){if(K1==0){beep();p=0;//0倒转,1正转while(D1){motor_rev(3);}motor_rev(10000);//转N圈,加速,减速}else if(K2==0){beep();p=1;//0倒转,1正转while(D0){motor_rev(3);}motor_rev(10000);//转N圈,加速,减速}else if(K6==0)//上升,下降{beep();p=1;//0倒转,1正转while(D0){motor_rev(3);}dingdian(10);//转N圈}else if(K7==0)//上升,下降{beep();p=0;//0倒转,1正转while(D1){motor_rev(3);}dingdian(10);//转N圈}//************上面电机控制**************//else if(K8==0)//上升,下降{beep();p=0;//0倒转,1正转shangmiandianji(10000);//转N圈}else if(K9==0)//上升,下降{beep();p=1;//0倒转,1正转shangmiandianji(10000);//转N圈}}}/********************************************************/总结步进电机的控制可以用硬件,也可以用软件通过单片机实现。

基于AT89S52单片机的步进电机控制

基于AT89S52单片机的步进电机控制

密级:公开科学技术学院NANCHANG UNIVERSITY COLLEGE OFSCIENCE AND TECHNOLOGY学士学位论文THESIS OF BACHELOR(2011 —2012 年)题目基于AT89S52单片机的步进电机控制学科部:专业:班级:学号:学生姓名:指导教师:起讫日期:2011/12/5~2012/5/24目录摘要 (I)第一章绪论 (1)1.1 引言 (1)1.2 设计要求 (1)1.3 设计内容 (2)1.4 小结 (2)第二章系统总体方案设计 (3)2.1 主要器件简介 (3)2.1.1 AT89S52单片机简介 (3)2.1.2 ULN2003A简介 (3)2.1.3 四相五线永磁型步进电机M35SP-7NP简介 (4)2.1.4 红外遥控简介 (4)2.2 步进电机的工作原理 (5)2.2.1 步进电机简介 (5)2.2.2 步进电机的工作原理 (6)2.3 步进电机常见的控制方案与驱动技术简介 (7)2.4 系统总体设计方案 (10)2.4.1系统框图 (10)2.4.2 系统设计方案与功能简述 (10)2.5 小结 (11)第三章系统整体硬件设计 (12)3.1 单片机最小系统电路设计 (12)3.2 状态显示模块硬件电路设计 (13)3.3 按键与红外接收模块硬件电路设计 (14)3.4 ULN2003A步进电机驱动模块硬件电路设计 (14)3.5 ISP单片机在线程序下载器接口电路 (15)第四章系统软件设计 (16)4.1 软件设计思路 (16)4.2 系统设计主程序流程图 (16)4.3 主程序初始化流程图 (17)4.4 步进电机运行控制子程序流程图 (18)4.5系统程序简要说明 (20)第五章系统运行与调试 (21)5.1开发软件简介 (21)5.1.1 Keil编程软件简介与使用 (21)5.1.2 Proteus仿真软件的简介与使用 (21)5.1.3系统的仿真图 (22)5.2系统的软硬件联调及问题总结 (22)第六章总结与展望 (24)参考文献(References) (25)致谢 (26)附录一:系统原理图 (27)附录二:实物照片 (28)基于AT89S52单片机的步进电机控制摘要:步进电动机由于用其组成的控制系统既简单、廉价、低噪音、响应快、速度位移控制精准,又非常稳定可靠,因此在办公自动化设备、数控系统以及各种控制装置等众多领域有着极其广泛的应用。

基于AT89S52单片机的步进电机控制PPT

基于AT89S52单片机的步进电机控制PPT

步进电机驱动
步进电机驱动流程图
致谢
这次我的论文能够顺利完成,是所有曾经指导过我的老师 ,帮助过我的同学和一直支持我的家人对我的教诲、帮助、鼓 励的结果,我在这里对他们表示深深的谢意! 其次要××××工学院所有的专业任课老师,老师们教会 我的不仅仅是专业知识,更多的是对待学习、对待生活的态度 。 感谢我的辅导员对我生活的关心和照顾。 感谢我的父母亲,你们是我力量的源泉,只要有你们,不 管面对什么样的困难,我都不会害怕。 感谢我的室友,因为有他们的帮助,我的论文得以顺利完 成。感谢他们,大学四年给了我那么多的帮助与鼓励,在我不 开心的时候,总能让我开心起来。不会忘记,大学四年里我们 一起渡过的欢乐时光,那些开心的日子,总是那么令人难以忘 怀。 最后本人对老师,同学和家人再次致以最衷心的感谢!
主控芯片的选择
主芯片的选择是根据控制系统的目标、功能、可靠性、性 价比、精度和速度等来决定的。根据我的设计思路,考虑 到操作方便,节省成本等方面的要求,本文采用ATMEL公 司生产的AT89S52单片机作为本设计的核心部件。
与AT89C52相比,AT89S52新增加了许多功能,这将 使单片机过程中具备更高的稳定性和电磁抗干扰性。所以 能避免因芯片扩展过多或传感器输入信号过多而引起的信 号失真、电磁干扰等现象的发生。从经济性的角度来看, AT89S52不但硬件结构简单,而且价格低、功能强、性 价比高,符合本文的设计要求。

意义:本文主要介绍步进电机原理及其驱动程
序控制模块,通过AT89S52单片机及 ULN2003类的驱动IC完成步进电机各种运行 方式的控制。实现步进电机的正反转速度控制 并且显示数据。整个系统通过按键控制,操作 方便,节省成本,满足了现代工业对步进电机 的精确要求。

单片机课程设计——基于AT89S52单片机控制的步进电机

单片机课程设计——基于AT89S52单片机控制的步进电机

单片机原理与应用课程设计【项目名称】基于AT89S52单片机控制的步进电机【指导教师】XXX【班级】XXX【学号】XXX【姓名】XXX目录一、项目概述 (4)二、项目要求 (4)三、知识要点 (6)(一)AT89C52的资料 (8)(二)ULN2003资料 (13)四、系统设计 (17)(一)系统框图设计 (17)(二)说明 (18)五、硬件设计 (18)(一) 电路原理图 (18)1、按键功能 (20)2、驱动电路 (20)(二)元件清单 (23)六、软件设计 (24)(一)程序流程图 (24)(二)源程序 (26)(三)系统仿真及调试 (37)1、硬件调试 (37)2、软件调试 (37)七、总结 (38)(一)遇到的问题及其解决方法 (38)1、硬件部分 (38)2、软件部分 (39)(二)功能扩展 (41)1、已经实现的扩展功能 (41)2、暂未实现的扩展功能预想 (42)一、项目概述步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出机械位移增量和输入数字脉冲对应的驱动器件。

步进电机具有快速启动、停止的能力,精度高,控制方便,因此,在工业上得到广泛应用。

二、项目要求基于AT89C52单片机的控制步进电机正反转,具体要求如下:1、开始通电时,停止位指示灯亮,步进电机停止工作。

2、单片机分别接有按键开关K1、K2、K3、K4、K5用来控制步进电机的转动,具体要求如下:(1)K1为正转按钮。

当按下K1时,步进电机正转,同时正转指示灯亮。

(2)K2为反转按钮。

当按下K2时,步进电机反转,正转指示灯熄灭,同时反转指示灯亮。

(3)K4为加速按钮。

当步进电机处于正转或反转状态时,每按下一次加速按钮,步进电机将正转或反转加速一次,最高加速四次,达到最大速度后再按加速按钮步进电机的状态不再变化。

(4)K5为减速按钮。

当步进电机处于正转或反转状态时,每按下一次减速按钮,步进电机将正转或反转减速一次,最高减速四次,减到最小速度后再按减速按钮步进电机的状态不再变化。

利用AT89S52单片机控制步进电机

利用AT89S52单片机控制步进电机

2008年第2期 常 州 工 程 职 业 技 术 学 院 学 报 V ol.2 2008 总第五十六期 JOURNAL OF CHANGZHOU INSTITUTE OF ENGINEERING TECHNOLOGY April No.56- 73 -利用AT89S52单片机控制步进电机张 劲(常州工程职业技术学院 计算机技术系,江苏 常州 213000)摘 要:本文主要介绍了步进电机的工作原理与应用,讨论了由AT89S52单片机和驱动芯片L298N 构成了一套二相四线步进电机的驱动系统的方法。

重点给出了硬件连接示意图,以此说明驱动步进电机最基本的应用方法。

关键字:步进电机、L298N 、单片机本文主要从教学角度出发,讨论单片机驱动步进电机的方法,前提条件是已经掌握单片机的基本原理与I/O 口的使用。

在实际应用中,驱动步进电机的方法有很多,但在教学中还是希望能采用尽可能低的成本和尽可能简单的电路来实现驱动步进电机的功能。

我们已经知道,普通电动玩具内的小电机可能只需要1.5V 的电池就能驱动,而单片机产生的数字信号即使有5V 的电位差也不能驱动小电机,主要原因就是单片机输出的电流太小,不足以驱动电机动作。

因此必须采用功放器件才能驱动电机。

相关的器件也有很多,本文以L298N 驱动芯片为例说明如何让单片机控制步进电机的动作。

步进电机是机电一体化的关键产品之一,单片机驱动步进电机被广泛应用在各种自动化控制系统中。

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

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

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

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

基于AT89S52单片机的电机控制C语言程序设计

基于AT89S52单片机的电机控制C语言程序设计
{uint n;
while(m--)
{for(n=0;n<25;n++)
{ ;}
}
}
void timer0()interrupt 1 //T0定时器中断
{TH0=(65536-1000)/256;
TL0=(65536-1000)%256; //重装T0
N++;
n=N%10;
if(n<high) //PWM波形生成
第一章:设计任务
任务:了解电机的转动原理,能够对直流电机进行简单的控制;能够设计和使用简单的自动化闭环系统;提高多模块硬软件的综合应用能力。
功能主要包括:
1)直流电机的正转;
2)直流电机的反转;
3)直流电机的加速;
4)直流电机的减速;
5)直流电机的停止;
6)直流电机的转速在数码管上显示;
第二章:总体设计方案
{ENA=1;
}
else
{ENA=0;
}
if(N==10)
{N=0;
}
}
void shuchu()
{STCP=0;
STCP=1;
; }
void shuru(uchar a)
{uchar i;
for(i=8;i>0;i--)S=CY;
SHCP=1;
}
}
void xianshi() //速度显示子程序
TMOD=0x01; //T0方式1定时
TH0=(65536-1000)/256;
TL0=(65536-1000)%256; //周期1ms
ET0=1; //允许T0定时器中断
EA=1; //开启总中断
TR0=1; //启动定时器T0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第29卷第12期Vol.29NO.12重庆工商大学学报(自然科学版)J Chongqing Technol Business Univ.(Nat Sci Ed )2012年12月Dec.2012文章编号:1672-058X (2012)12-0055-05基于AT89S52的步进电机闭环控制系统设计汪俊(重庆大学光电技术及系统教育部重点实验室,重庆400030)收稿日期:2012-05-09;修回日期:2012-05-21.作者简介:汪俊(1988-),男,江西景德镇人,硕士研究生,从事运动控制、嵌入式系统的研究.摘要:为了提高步进电机的定位精度,提出了一种基于AT89S52的步进电机闭环控制系统设计方案。

采用AT89S52单片机从串口接收上位机的指令并产生相应的控制信号,通过RD-053MS 步进电机驱动器对步进电机进行控制,并用角度编码器和IK220计数卡实时获取步进电机的转动角度,将其反馈给上位机,上位机根据计算出的实际转动角度和目标转动角度的差值,向下位机继续发送运动指令,直到满足精度要求。

实验结果表明,系统定位精度可控制在20角秒以内,可应用于多种数控场合中。

关键词:步进电机;AT89S52;IK220;闭环控制中图分类号:TP273文献标志码:A步进电机是机电一体化的关键产品之一,是一种将电脉冲信号转换成角位移的一种装置[1]。

其转动的角度与接收到的脉冲数成正比,并且平均转速与脉冲频率成正比。

由于步进电机的转动角度和平均转速不受负载变化的影响,并且没有累积误差,因此步进电机容易实现较高精度的角度和速度控制,广泛应用于各种自动化控制系统中。

步进电机开环控制系统简单且价格低廉,但有时会存在失步现象,故在复杂电磁环境下或是对精度要求较高的场合下,必须加入反馈电路组成高性能的闭环控制系统[2]。

此处通过采用AT89S52单片机并结合RD-053MS 步进电机驱动器对步进电机的转动角度、转速和方向进行控制,用角度编码器实时检测步进电机的转动角度,并用IK220计数卡获取角度编码器的数据,将其反馈给上位机,上位机根据计算出的实际转角值和目标转角值的差值,向单片机继续发送运动指令,直到满足精度要求。

1系统总体构成及控制原理系统主要由PC 上位机、AT89S52单片机、步进电机驱动器、步进电机、角度编码器以及IK220计数卡等组成。

系统总体结构框图如图1所示。

图1系统总体结构框图65重庆工商大学学报(自然科学版)第29卷系统首先根据需要在上位机中设置步进电机的转动方向、转动速度以及转动角度,然后将这些参数通过串口发送给下位机,AT89S52接收到这些参数后,产生相应的信号并传递给步进电机驱动器,由步进电机驱动器驱动步进电机运转,步进电机转动的同时带动角度编码器同轴旋转,由角度编码器检测电机转动的角度,并由IK220计数卡对角度编码器进行计数,得到电机实际转动的角度值,将该角度与给定的角度值进行比较,如果发生丢步,AT89S52就会根据差值发送相应的信号,把丢掉的步数补上,从而完成对步进电机的闭环控制。

2系统硬件设计2.1单片机最小系统模块单片机最小系统模块[3]主要由AT89S52单片机以及外围电源电路、时钟电路、复位电路组成。

电源电路提供稳定的5V电压给单片机供电,12MHz晶振给单片机提供时钟[4]。

单片机最小系统原理图如图2。

所示图2单片机最小系统原理图2.2串口通信模块利用串口实现上位机与单片机的通信[5]。

由于AT89S52上的UART接口采用的是TTL电平,而PC机上的串口使用的是RS-232C电平,所以它们之间连接时必须进行电平转换,在这里选用专用芯片MAX232来完成。

图3给出了串口通信模块的原理图。

2.3步进电机驱动模块控制系统采用驱动五相步进电机的RD-053MS五相步进电机驱动器,其相输出电流可达3A,驱动能力强,输入信号均采用光电耦合,抗干扰能力强。

该驱动器输入模式可选择为脉冲/方向模式或CW/CCW双脉冲模式,共有22种细分倍数可供选择,最高可达400倍细分。

该系统采用脉冲/方向模式,单片机与步进电机驱动器的连接如图4所示。

图3串口通信模块原理图图4步进电机驱动器连接图2.4角度编码器数据采集模块控制系统采用海德汉公司的RON285C 增量式角度编码器对步进电机转动的角度进行检测,并使用IK220计数卡对其进行计数。

IK220是一个IBM -PC 及其兼容机扩展卡,它通过PCI 总线与上位机进行连接,通过D-sub 接头与角度编码器进行连接,能同时记录两路增量式或绝对式角度编码器测量值。

其细分和计数电路可以细分角度编码器输出的正弦信号,并将一个信号周期细分为4096个测量步距。

3系统软件设计3.1指令格式定义由上位机中给出的步进电机的转动方向、转动速度以及转动角度等参数,需要通过串口发送给下位机,这些参数将采用一定的指令格式进行发送。

指令由12个字符组成。

第1个字符为指令开始标识符,用“*”表示;第2个字符为运动方式标识符,其75第12期汪俊:基于AT89S52的步进电机闭环控制系统设计85重庆工商大学学报(自然科学版)第29卷中“T”表示电机停止转动,“R”表示电机右转,“L”表示电机左转;第3到第5个字符为电机转速;第6到第12个字符为电机转角;第13个字符为指令结束标识符,用“#”表示。

指令中的转角和转速都采用十进制数表示,其中转速单位为转/分,转角单位为角秒,传送时按照高位到低位的顺序进行。

例如,“*R4581237893 #”这条指令代表的意思就是命令电机以458转/分的速度向右转动1237893角秒。

3.2下位机程序设计下位机程序主要由3部分组成,主程序、串口中断服务程序以及定时器T0中断服务程序。

主程序的任务是,在系统启动时完成初始化操作,之后便一直在循环等待串口中断和T0中断。

串口中断服务程序用于接收上位机指令,并根据指令启停T0或对T0的工作参数进行设置。

T0中断服务程序用于产生电机工作所。

需的脉冲信号。

下位机3部分程序的流程图如图5所示Array图5下位机程序流程图3.3上位机程序设计上位机程序在C++Builder6环境下编写完成,其主要包含3个功能模块:(1)串口通信。

采用MSComm控件实现。

(2)IK220计数卡的驱动控制程序。

采用IK220的API函数[6]开发。

(3)窗体界面。

考虑到实际应用的需要,在设计人机界面时,应该对界面进行合理布局,尽量做到简单、直观、一目了然[7]。

4结束语提出了基于AT89S52的步进电机闭环控制系统设计方案。

该方案能够方便控制五相步进电机的启停、转速和方向,并且采用角度编码器作为位置反馈,提高了步进电机的定位精度。

实验结果表明,系统的定位误差可控制在20角秒以内,在雕刻机、测量机、机床等数控场合有很高的实用价值。

参考文献:[1]花同.步进电机控制系统设计[J ].电子设计工程,2011,19(15):13-15[2]张芊,胡定军.一种新型的步进电机闭环控制方式[J ].四川兵工学报,2009,30(6):21-23[3]求是科技.单片机-典型模块设计实例导航[M ].北京:人民邮电出版社,2005:211-275[4]Atmel Corporation.AT89S52Datasheet [EB /OL ].(2008-6-1)[2012-5-8].http ://www.atmel.com /Images /doc1919.pdf [5]吴栋念,唐慧强.基于LPC2418的步进电机调速与测速系统设计[J ].电子设计工程,2010,18(10):54-56[6]HEIDENHAIN Corporation.IK220Datasheet [EB /OL ].(2006-7-1)[2012-5-8].http ://wenku.baidu.com /view /a5ef1a95dd88d0d233d46a00.html[7]王丁,王磐炬.基于AVR 单片机的实验加载闭环控制系统[J ].电子设计工程,2011,19(6):33-35Design of Stepper Motor Closed-loop Control System Based on AT89S52WANG Jun(Key Laboratory of Optoelectronic Technology and System of Ministry of Education ,Chongqing University ,Chongqing 400030,China )Abstract :In order to improve the positioning accuracy of the stepper motor ,the design of stepper motor closed-loop control system based on AT89S52is proposed in this paper.The AT89S52microcontroller is used to receive instructions from PC by serial port and produce corresponding control signal.Through controlling the stepper motor by RD-053MS stepper motor drive ,the angle encoder and IK220counter card are used to obtain the rotation angle of the stepper motor in real time and feedback it to the PC.The PC calculates the difference value between the actual rotation angle and the target rotation angle ,and sends motion instructions to the AT89S52microcontroller until the instructions meet precision requirement.The experiment shows that the positioning accuracy of the systemcan be controlled in less than 20second of arc ,and can be applied into many CNC system.Key words :stepper motor ;AT89S52;IK220;closed-loop control责任编辑:李翠薇95第12期汪俊:基于AT89S52的步进电机闭环控制系统设计。

相关文档
最新文档