导航:首页 > 操作系统 > 单片机驱动电机设计

单片机驱动电机设计

发布时间:2023-03-30 00:35:23

单片机中怎样用io口驱动电机

第一步:先在Proteus软件中设计仿真电路原理图。

第二步:再在Keil C51软件中编写且编译程序,程序后缀必须是.c。然后在打开的“Option for Target‘Target 1’”选项卡,“Target”标签下频率设置为“11.0592”, “Output”标签下,将“Creat HEX File”项打勾选中,设置生成一个.hex文件。

第三步:接着将.hex文件导入原理图中U1芯片。双击U1,打开Edit Component对话框,选择生成的hex文件。

第四步:最后观察设计的电路图是否能得到预想的效果,若不能,进行检查,找到毛病且纠正。

运行结果:

附:原程序

#include <REG52.H> #include <INTRINS.H>

unsigned char ucMotorDrvPuls;

#define OUTPUT P2 #define INPUT P1

sbit STARTUP=P1^7; sbit FORREV=P1^6;

㈡ 单片机直流电机调速系统设计

论文题目:直流电动机调速器硬件设计
专业:自动化
本科生:刘小煜 (签名)____
指导教师:胡晓东 (签名)____

直流电动机调速器硬件设计
摘 要

直流电动机广泛应用于各种场合,为使机械设备以合理速度进行工作则需要对直流电机进行调速。该实验中搭建了基于C8051F020单片机的转速单闭环调速系统,利用PWM信号改变电动机电枢电压,并由软件完成转速单闭环PI控制,旨在实现直流电动机的平滑调速,并对PI控制原理及其参数的确定进行更深的理解。实验结果显示,控制8位PWM信号输出可平滑改变电动机电枢电压,实现电动机升速、降速及反转等功能。实验中使用霍尔元件进行电动机转速的检测、反馈。期望转速则可通过功能按键给定。当选择比例参数为0.08、积分参数为0.01时,电机转速可以在3秒左右达到稳定。由实验结果知,该单闭环调速系统可对直流电机进行调速,达到预期效果。

关键字:直流电机, C8051F020,PWM,调速,数字式

Subject: Hardware Design of Speed Regulator for DC motor
Major: Automation
Name: Xiao yu Liu (Signature)____
Instructor:Xiao dong Hu (Signature) ____

Hardware Design of Speed Regulator for DC motor
Abstract

The dc motor is a widely used machine in various occasions.The speed regulaiting systerm is used to satisfy the requirement that the speed of dc motor be controlled over a range in some applications. In this experiment,the digital Close-loop control systerm is based on C8051F020 SCM.It used PI regulator and PWM to regulate the speed of dc motor. The method of speed regulating of dc motor is discussed in this paper and, make a deep understanding about PI regulator.According to experiment ,the armature voltage can be controlled linearnized with regulating the 8 bit PWM.So the dc motor can accelerate or decelerate or reverse.In experiment, hall component is used as a detector and feed back the speed .The expecting speed can be given by key-press.With using the PI regulator,the dc motor will have a stable speed in ten seconds when choose P value as 0.8 and I value as 0.01. At last,the experiment shows that the speed regulating systerm can work as expected.

Key words: dc motor,C8051F020,PWM,speed regulating,digital

目录

第一章 绪论 1
1.1直流调速系统发展概况 1
1.2 国内外发展概况 2
1.2.1 国内发展概况 2
1.2.2 国外发展概况 3
1.2.3 总结 4
1.3 本课题研究目的及意义 4
1.4 论文主要研究内容 4
第二章 直流电动机调速器工作原理 6
2.1 直流电机调速方法及原理 6
2.2直流电机PWM(脉宽调制)调速工作原理 7
2.3 转速负反馈单闭环直流调速系统原理 11
2.3.1 单闭环直流调速系统的组成 11
2.3.2速度负反馈单闭环系统的静特性 12
2.3.3转速负反馈单闭环系统的基本特征 13
2.3.4转速负反馈单闭环系统的局限性 14
2.4 采用PI调节器的单闭环无静差调速系统 15
2.5 数字式转速负反馈单闭环系统原理 17
2.5.1原理框图 17
2.5.2 数字式PI调节器设计原理 18
第三章 直流电动机调速器硬件设计 20
3.1 系统硬件设计总体方案及框图 20
3.1.1系统硬件设计总体方案 20
3.1.2 总体框图 20
3.2 系统硬件设计 20
3.2.1 C8051F020单片机 20
3.2.1.1 单片机简介 20
3.2.1.2 使用可编程定时器/计数器阵列获得8位PWM信号 23
3.2.1.3 单片机端口配置 23
3.2.2主电路 25
3.2.3 LED显示电路 26
3.2.4 按键控制电路 27
3.2.5 转速检测、反馈电路 28
3.2.6 12V电源电路 30
3.3硬件设计总结 31
第四章 实验运行结果及讨论 32
4.1 实验条件及运行结果 32
4.1.1 开环系统运行结果 32
4.1.2 单闭环系统运行结果 32
4.2 结果分析及讨论 32
4.3 实验中遇到的问题及讨论 33
结论 34
致谢 35
参考文献 36
论文小结 38
附录1 直流电动机调速器硬件设计电路图 39
附录2 直流电动机控制系统程序清单 42
附录3 硬件实物图 57

第一章 绪论
1.1直流调速系统发展概况
在现代工业中,电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。
在可调速传动系统中,按照传动电动机的类型来分,可分为两大类:直流调速系统和交流调速系统。交流电动机直流具有结构简单、价格低廉、维修简便、转动惯量小等优点,但主要缺点为调速较为困难。相比之下,直流电动机虽然存在结构复杂、价格较高、维修麻烦等缺点,但由于具有较大的起动转矩和良好的起、制动性能以及易于在宽范围内实现平滑调速,因此直流调速系统至今仍是自动调速系统的主要形式。
直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。正是这些技术的进步使直流调速系统发生翻天覆地的变化。其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并正向全数字控制方向快速发展。电动机的驱动部分所用的功率器件亦经历了几次更新换代。目前开关速度更快、控制更容易的全控型功率器件MOSFET和IGBT成为主流。功率器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。脉宽调制控制方法在直流调速中获得了广泛的应用。
1964年A.Schonung和H.stemmler首先提出把PWM技术应用到电机传动中从此为电机传动的推广应用开辟了新的局面。进入70年代以来,体积小、耗电少、成本低、速度快、功能强、可靠性高的大规模集成电路微处理器已经商品化,把电机控制推上了一个崭新的阶段,以微处理器为核心的数字控制(简称微机数字控制)成为现代电气传动系统控制器的主要形式。PWM常取代数模转换器(DAC)用于功率输出控制,其中,直流电机的速度控制是最常见的应用。通常PWM配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。在直流电动机的控制中,主要使用定频调宽法。
目前,电机调速控制模块主要有以下三种:
(1)、采用电阻网络或数字电位器调整直流电机的分压,从而达到调速的目的;
(2)、采用继电器对直流电机的开或关进行控制,通过开关的切换对电机的速度进行调整;
(3)、采用由IGBT管组成的H型PWM电路。用单片机控制IGBT管使之工作在占空比可调的开关状态,精确调整电动机转速。
1.2 国内外发展概况
1.2.1 国内发展概况
我国从六十年代初试制成功第一只硅晶闸管以来,晶闸管直流调速系统开始得到迅速的发展和广泛的应用。用于中、小功率的 0.4~200KW晶闸管直流调速装置已作为标准化、系列化通用产品批量生产。
目前,全国各大专院校、科研单位和厂家都在进行数字式直流调速系统的开发,提出了许多关于直流调速系统的控制算法
(1)、直流电动机及直流调速系统的参数辩识的方法。该方法据系统或环节的输入输出特性,应用最小二乘法,即可获得系统环节的内部参数。所获得的参数具有较高的精度,方法简便易行。
(2)、直流电动机调速系统的内模控制方法。该方法依据内模控制原理,针对双闭环直流电动机调速系统设计了一种内模控制器,取代常规的PI调节器,成功解决了转速超调问题,能使系统获得优良的动态和静态性能,而且设计方法简单,控制器容易实现。
(3)、单神经元自适应智能控制的方法。该方法针对直流传动系统的特点,提出了单神经元自适应智能控制策略。这种单神经元自适应智能控制系统不仅具有良好的静、动态性能,而且还具有令人满意的鲁棒性与自适应性。
(4)、模糊控制方法。该方法对模糊控制理论在小惯性系统上对其应用进行了尝试。经1.5kw电机实验证明,模糊控制理论可以用于直流并励电动机的限流起动和恒速运行控制,并能获得理想的控制曲线。
上诉的控制方法仅是直流电机调速系统应用和研究的一个侧面,国内外还有许多学者对此进行了不同程度的研究。
1.2.2 国外发展概况
随着各种微处理器的出现和发展,国外对直流电机的数字控制调速系统的研究也在不断发展和完善,尤其80年代在这方面的研究达到空前的繁荣。大型直流电机的调速系统一般采用晶闸管整流来实现,为了提高调速系统的性能,研究工作者对晶闸管触发脉冲的控制算法作了大量研究,提出了内模控制算法、I-P控制器取代PI调节器的方法、自适应和模糊PID算法等等。
目前,国外主要的电气公司,如瑞典ABB公司,德国西门子公司、AEG公司,日本三菱公司、东芝公司、美国GE公司等,均已开发出数字式直流调装置,有成熟的系列化、标准化、模版化的应用产品供选用。如西门子公司生产的SIMOREG-K 6RA24 系列整流装置为三相交流电源直接供电的全数字控制装置,其结构紧凑,用于直流电机电枢和励磁供电,完成调速任务。设计电流范围为15A至1200A,并可通过并联SITOR可控硅单元进行扩展。根据不同的应用场合,可选择单象限或四象限运行的装置,装置本身带有参数设定单元,不需要其它任何附加设备便可以完成参数设定。所有控制调节监控及附加功能都由微处理器来实现,可选择给定值和反馈值为数字量或模拟量。
1.2.3 总结
随着生产技术的发展,对直流电气传动在起制动、正反转以及调速精度、调速范围、静态特性、动态响应等方面都提出了更高的要求,这就要求大量使用直流调速系统。因此人们对直流调速系统的研究将会更深一步。
1.3 本课题研究目的及意义
直流电动机是最早出现的电动机,也是最早实现调速的电动机。长期以来,直流电动机一直占据着调速控制的统治地位。由于它具有良好的线性调速特性,简单的控制性能,高效率,优异的动态特性,现在仍是大多数调速控制电动机的最优选择。因此研究直流电机的速度控制,有着非常重要的意义。
随着单片机的发展,数字化直流PWM调速系统在工业上得到了广泛的应用,控制方法也日益成熟。它对单片机的要求是:具有足够快的速度;有PWM口,用于自动产生PWM波;有捕捉功能,用于测频;有A/D转换器、用来对电动机的输出转速、输出电压和电流的模拟量进行模/数转换;有各种同步串行接口、足够的内部ROM和RAM,以减小控制系统的无力尺寸;有看门狗、电源管理功能等。因此该实验中选用Cygnal公司的单片机C8051F020。
通过设计基于C8051F020单片机的直流PWM调速系统并调试得出结论,在掌握C8051F020的同时进一步加深对直流电动机调速方法、PI控制器的理解,对运动控制的相关知识进行巩固。
1.4 论文主要研究内容
本课题的研究对象为直流电动机,对其转速进行控制。基本思想是利用C8051F020自带的PWM口,通过调整PWM的占空比,控制电机的电枢电压,进而控制转速。
系统硬件设计为:以C8051F020为核心,由转速环、显示、按键控制等电路组成。
具体内容如下:
(1)、介绍直流电动机工作原理及PWM调速方法。
(2)、完成以C8051F020为控制核心的直流电机数字控制系统硬件设计。
(3)、以该系统的特点为基础进行分析,使用PWM控制电机调速,并由实验得到合适的PI控制及相关参数。
(4)、对该数字式直流电动机调速系统的性能做出总结。

第二章 直流电动机调速器工作原理
2.1 直流电机调速方法及原理
直流电动机的转速和各参量的关系可用下式表示:

由上式可以看出,要想改变直流电机的转速,即调速,可有三种不同的方式:调节电枢供电电压U,改变电枢回路电阻R,调节励磁磁通Φ。
3种调速方式的比较表2-1所示.
表2-1 3种电动机调速方式对比
调速方式和方法 控制装置 调速范围 转速变化率 平滑性 动态性能 恒转矩或恒功 率 效率
改变电枢电阻 串电枢电阻 变阻器或接触器、电阻器 2:1 低速时大 用变阻器较好
用接触器、电阻器较差 无自动调节能力 恒转矩 低
改变电枢电压 电动机-发电机组 发电机组或电机扩大机(磁放大器) 10:1~20:1 小 好 较好 恒转矩 60%~70%
静止变流器 晶闸管变流器 50:1~100:1 小 好 好 恒转矩 80%~90%
直流脉冲调宽 晶体管或晶闸管直流开关电路 50:1~100:1 小 好 好 恒转矩 80%~90%
改变磁通 串联电阻或可变直流电源 直流电源变阻器 3:1

5:1 较大 差 差 恒功率 80%~90%
电机扩大机或磁放大器 好 较好
晶闸管变流器 好

由表2-1知,对于要求在一定范围内无级平滑调速的系统来说,以调节电枢供电电压的方式为最佳,而变电枢电压调速方法亦是应用最广的调速方法。
2.2直流电机PWM(脉宽调制)调速工作原理
在直流调速系统中,开关放大器提供驱动电机所需要的电压和电流,通过改变加在电动机上的电压的平均值来控制电机的运转。在开关放大器中,常采用晶体管作为开关器件,晶体管如同开关一样,总是处在接通和断开的状态。在晶体管处在接通时,其上的压降可以略去;当晶体管处在断开时,其上的压降很大,但是电流为零,所以不论晶体管导通还是关断,输出晶体管中的功耗都是很小的。一种比较简单的开关放大器是按照一个固定的频率去接通和断开放大器,并根据需要改变一个周期内“接通”和“断开”的相位宽窄,这样的放大器被称为脉冲调制放大器。
PWM脉冲宽度调制技术就是通过对一系列脉冲的宽度进行调制,来等效地获得获得所需要波形(含形状和幅值)的技术。
根据PWM控制技术的特点,到目前为止主要有八类方法:相电压控制PWM、线电压控制PWM、电流控制PWM、非线性控制PWM,谐振软开关PWM、矢量控制PWM、直接转矩控制PWM、空间电压矢量控制PWM。
利用开关管对直流电动机进行PWM调速控制原理图及输入输出电压波形如图2-1、图2-2所示。当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端由电压。秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电动机电枢绕组两端的电压波形如图2-2所示。电动机的电枢绕组两端的电压平均值为:

式2-1

式中 ——占空比,
占空比表示了在一个周期里,开关管导通的时间与周期的比值。的变化范围为0≤≤1。由式2-1可知,当电源电压不变的情况下,电枢的端电压的平均值取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。
在PWM调速时,占空比是一个重要参数。以下是三种可改变占空比的方法:
(1)、定宽调频法:保持不变,改变,从而改变周期(或频率)。
(2)、调宽调频法:保持不变,改变,从而改变周期(或频率)。
(3)、定频调宽法:保持周期(或频率)不变,同时改变、。
前2种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此应用较少。目前,在直流电动机的控制中,主要使用第3种方法。

图2-1 PWM调速控制原理

图2-2 输入输出电压波形
产生PWM控制信号的方法有4种,分别为:
(1)、分立电子元件组成的PWM信号发生器
这种方法是用分立的逻辑电子元件组成PWM信号电路。它是最早期的方式,现在已经被淘汰了。
(2)、软件模拟法
利用单片机的一个I/O引脚,通过软件对该引脚不断地输出高低电平来实现PWM信号输出。这种方法要占用CPU大量时间,需要很高的单片机性能,易于实现,目前也逐渐被淘汰。
(3)、专用PWM集成电路
从PWM控制技术出现之日起,就有芯片制造商生产专用的PWM集成电路芯片,现在市场上已有许多种。这些芯片除了由PWM信号发生功能外,还有“死区”调节功能、保护功能等。在单片机控制直流电动机系统中,使用专用PWM集成电路可以减轻单片机负担,工作也更可靠。
(4)、单片机PWM口
新一代的单片机增加了许多功能,其中包括PWM功能。单片机通过初始化设置,使其能自动地发出PWM脉冲波,只能在改变占空比时CPU才进行干预。
其中常用后两中方法获得PWM信号。实验中使用方法(4)获得PWM信号。
2.3 转速负反馈单闭环直流调速系统原理
2.3.1 单闭环直流调速系统的组成
只通过改变触发或驱动电路的控制电压来改变功率变换电路的输出平均电压,达到调节电动机转速的目的,称为开环调速系统。但开环直流调速系统具有局限性:
(1)、通过控制可调直流电源的输入信号,可以连续调节直流电动机的电枢电压,实现直流电动机的平滑无极调速,但是,在启动或大范围阶跃升速时,电枢电流可能远远超过电机额定电流,可能会损坏电动机,也会使直流可调电源因过流而烧毁。因此必须设法限制电枢动态电流的幅值。
(2)、开环系统的额定速降一般都比较大,使得开环系统的调速范围D都很小,对于大部分需要调速的生产机械都无法满足要求。因此必须采用闭环反馈控制的方法减小额定动态速降,以增大调速范围。
(3)、开环系统对于负载扰动是有静差的。必须采用闭环反馈控制消除扰动静差
为克服其缺点,提高系统的控制质量,必须采用带有负反馈的闭环系统,方框图如图2-3所示。在闭环系统中,把系统输出量通过检测装置(传感器)引向系统的输入端,与系统的输入量进行比较,从而得到反馈量与输入量之间的偏差信号。利用此偏差信号通过控制器(调节器)产生控制作用,自动纠正偏差。因此,带输出量负反馈的闭环控制系统能提高系统抗扰性,改善控制精度的性能,广泛用于各类自动调节系统中。

㈢ 如何用单片机实现对四个步进电机的速度控制呢

推荐你使用表控,型号TPC4-4TD就可以满足你的要求。

表控可以同时控制4个步进电机,对于你说的速度控制讲解如下:

上图是表控的表格设置界面,省去了麻烦的编程,轻松实现步进电机控制。

图中,第2行工作模式设置为“脉冲”模式,光标在脉冲模式的第2行时,脉冲频率项及脉冲个数输入项分别显示脉冲个数的单位,数据输入框显示为绿色。脉冲输出单位为:百万、十万、万、千、百、十、个,脉冲频率的单位为赫兹。示例中频率设置为500赫兹,脉冲个数为1101616个脉冲(一百一十万一千六百一十六)。

㈣ 单片机中怎样用io口驱动电机

第一步:先在Proteus软件中设计仿真电路原迅好理图。

第二步:再者侍在Keil C51软件中编写且编译程序,程序后缀必须是.c。然后在打开的“Option for Target‘Target 1’”选项卡,“Target”标签下频率设置为“11.0592”, “Output”标签下,将“Creat HEX File”项打勾选中,设置生成一个.hex文件。

第三步:接着将.hex文件导入原理图中U1芯片。双击U1,打开Edit Component对话框,首昌吵选择生成的hex文件。

第四步:最后观察设计的电路图是否能得到预想的效果,若不能,进行检查,找到毛病且纠正。

运行结果:

附:原程序

#include <REG52.H> #include <INTRINS.H>

unsigned char ucMotorDrvPuls;

#define OUTPUT P2 #define INPUT P1

sbit STARTUP=P1^7; sbit FORREV=P1^6;

㈤ 单片机控制 12V 0.3A的直流无刷电机(风扇) 如何驱动

单片机控制 12V 0.3A的直流无刷电机(风扇) 驱动分为高电平驱动和低电平驱动:

电平驱动IO 口 经一个2K的电阻 ,接到一个三极管 b ,风扇正极接 12V+,风扇负极接三极管 c , 三极管 e接GND (三极管 用NPN 8050 )。

电动机的转子上粘有已充磁的永磁体 ,为了检测电动机转子的极性,在电动机内装有位置传感器。驱动器由功率电子器件和集成电路等构成,其功能是:接受电动机的启动、停止、制动信号,以控制电动机的启动、停止和制动。

(5)单片机驱动电机设计扩展阅读

直流无刷电机的维护

1、在拆卸前,要用压缩空气吹净电机表面灰尘,并将表面污垢擦拭干净。

2、为了进一步了解电机运行中的缺陷,有条件时可在拆卸前做一次检查试验。

3、切断电源 ,拆除电机外部接线,做好记录。

4、选用合适电压的兆欧表测试电机绝缘电阻 。为了跟上次检修时所测的绝缘电阻值相比较以判断电机绝缘变化趋势和绝缘状态,应将不同温度下测出的绝缘电阻值换算到同一温度,一般换算至75℃。

5、测试吸收比K。当吸收比大于1.33时,表明电机绝缘不曾受潮或受潮程度不严重。为了跟以前数据进行比较,同样要将任意温度下测得的吸收比换算到同一温度。

㈥ 怎样用单片机控制直流电动机

1、通过设置PWM波的占空比来控制直流闭前电机的转速,占空比越大,转速越快,越小转速越低。2、当然单片机的I/O口是不能直接驱动电机的,所以你还需要用一个马达驱动芯片。像LG9110、CMO825等。马达驱动IC可以将单片机I/O输出信号放大,这样电机中流过的电流足够大,电机才能转起来。3、你要是不清除PWM是怎么回事呢,可以先作一些了解,再来知道有征对性轿吵清地提问就好了碰胡。]

㈦ 51单片机驱动电机问题

主要是用光耦的原因,因为光耦是连接胡旦单片机与直流电机的纽带,首先单片机将电平信号通过光耦变成光信号,然后光信号在转换成直流电机端端控制信号,当码做锋然,虽然单片机与直流电机的电源隔离了,但光耦需要与这两部分共地。步进电迟晌机也是一样,只要电位一致就可以了,其实隔离主要是隔离正电源。单片机板与电机板单点接地即可。不要大面积接地,否则就失去光耦的作用了

㈧ 单片机驱动直流电机的方案有哪些

单片机驱动直流电机一般有两种方案。

第一,无须占用单片机资源,直接选择有PWM功能的单片机,可以实现精确调速。

第二,可以由软件模拟PWM输出调制,单片机型号的选择余地较大,但是需要占用单片机资源,难以精确调速。

㈨ 89c52单片机驱动电机

你好
你猜测得不错电机启动瞬间造成电压跌落芦察,单片机反孙哗念复重启。
原因:1、电源如楼上说的电流不够;2、7805的输入端至少要8V左右7805才能正常工作;3、7805的输入端与输出端都有有滤波电容,而且要加散热片。4、如果则困你的电源本身就在4.5-5.5V之间相对稳定,就不要再用7805 ,直接使用就好。
既然原因估计出来了,解决的方法也就有了。另外如果电源的电压比5V高不多的话,可以把电机的电源接至7805的稳压之前,降低控制脉冲的脉宽,使之符合转速要求。

㈩ 用单片机对步进电机进行控制

呵呵 兄弟可以参考某些部分 呵呵
自己做的课程设计 还没有做完 完了发给你参考参考
题 目:单片机控制步进电机系统

摘 要

很多工业控制设备对位移和角度的控制精度要求较高, 一般电机很难实现, 而步进电机可精确实现所设定的角度和转数。本设计主要是运用51 单片机控制六线4 相步进电机系统, 由单片机产生驱动脉冲信号, 控制步进电机以一定的转速向某一方向产生一定的转动角度。同时能够利用单片机实现电机的正、反转及速度控制,并能在数码管上显示出相应的速度。
本文中给出了该系统设计的硬件电路,软件设计,人机交互等。并对各个功能模块进行了详细的说明。主要内容包括以下几个方面:
单片机控制步进电机的一般原理。
电机驱动及控制的实现。
控制系统整体设计以及模块划分说明。
原理图。
代码。

关键词:单片机;步进电机;系统;驱动

Abstract
Many Instrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor can't carry out .but the step motor can carry out the displacement and angle that you enactmented in accuracy. This design mainly used SCM to control step motor system.The step motor is formed six lines and four phasic.Through SCM generate the drive pulse signal.Control stepper motor through a certain speed in a direction to get a certain degree of rotation angle.
At the same time, It can use SCM to realization of the motor is , reverse and speed control. and showed the speed in the digital tube.
In this paper, given the design of the system hardware circuit,software design, human-computer interaction and so on.and it given the details description of each functional mole.the main contents include the following:

(1) The general principles of signal_chip controlling step motor.
(2) The realization of motor driving and controlling
(3) Control system overall design and description mole division
(4) Schematic Diagram
(5) Code

Key Words:SCM; stepper motor; system; drive

目录

引言 4
1 单片机控制步进电机的一般原理 4
1.1 步进电机 4
1.1.1 步进电机介绍 4
1.1.2 步进电机分类 5
1.1.3 技术指标 5
1.1.4 步进电机工作原理 5
1.2 单片机 7
2 步进电机驱动实现 8
2.1简介 8
2.2驱动选择 8
3 系统硬件设计 9
3. 1 单片机控制电机 9
3.2 键盘 9
3.3 显示部分 10
程序流程图 11
总结 12
致 谢 13
参考文献 13
附录 13
C代码 13

引言
目前,在工业控制生产以及仪器上应用十分广泛。通常都要对一些机械部件平移和转动,对移动的位移和角度控制要求较高,一般的电机很难实现对位置和角度的精确控制,在一些智能化要求较高的场合,用模拟芯片控制器及信号发生器来控制有一定局限性。而用单片机控制步进电机可以改善性能,步进电机能实现精确的角度和转数,具有良好的步进特性,最适合数字控制。在工控设备中得到了广泛的应用。而单片机具有芯片体积小,兼容性强,低电压地,低功耗等特点,使单片机成为驱动步进电机的最佳空盒子单元。所以单片机控制步进电机系统控制精度高,运行稳定,得以广泛运用。
1 单片机控制步进电机的一般原理
1.1 步进电机
1.1.1 步进电机介绍
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机、交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
1.1.2 步进电机分类
永磁式(PM)。一般为二相,转矩和体积都很小,步距角一般为7.5或15°
反应式(VR)。一般为三相,实现大转矩输出,步距角为1.5°。
混合式(HB)。兼具永磁式和反应式的优点,分二相和五相,二相步距角为1.8°五相步距角为0.72°。
1.1.3 技术指标
静态指标

相数
步距角
拍数
定位转矩
保持转矩

步进电机动态指标
步距角精度
失步
失调角
最大空载启动频率
最大空载运行频率
运行频距特性
电机共振点

1.1.4 步进电机工作原理
分析(步进电机展开图)

以反应式步进电机为例,其典型结构图如图1所示。这是一个四相步进电机,当相控制绕组接通脉冲电流时,在磁拉力作用下使相的定、转子对齐,相邻的B 相和D 相的定、转子小齿错开。若换成B 相通电,则磁拉力使B 相定、转子小齿对齐(转过) ,而与B 相相邻的C 相和A 相的定、转子小齿又错开,即步进电机转过一个步距角。若按A →B →C →D →A ⋯规律循环顺序通电,则步进电机按一定方向转动。若改变通电顺序为A →D →C →B →A ,则电机反向转动。这种控制方式称为四相单四拍。若按AB →BC →CD →DA →AB或A →AB →B →BC →C →CD →D →DA →A 顺序通电则称为四相双拍或四相单、双八拍。无论采用哪种控制方式,在一个通电循环内,步进电机的转角恒为一个齿距角。所以,可以通过改步进电机通电循环次序来改变转动方向,可以通过改变通电频率来改变其角频率。运用单片机的输出功能,通过编程实现输出四个信号分别给步进电机的四相A、B、C、D ,并通过输出时信号的循环次序,来设定步进电机的转动方向及输出信号的频率以便设定步进电机的转动频率。

图1 反应式步进电机结构图

实现原理
采用单片机产生A、B、C、D 的四相信号,当采用单片机进行控制时,需要在单片机和步进电机中间设隔离电路以使强弱电分离。由于步进电机的驱动电流相对较大,可增设放大电路来提供步进电机的工作电流。系统电路由五部分组成,即单片机、隔离、放大、电源及步进电机。
1.2 单片机

功能特性描述

AT89S52是一种低功耗、高性能CMOS8位微控制器,
具有8K 在系统可编程Flash 存储器。使用Atmel 公
司高密度非易失性存储器技术制造,与工业80C51
产品指令和引脚完全兼容。片上Flash允许程序存储
器在系统可编程,亦适于常规编程器。在单芯片上,
拥有灵巧的8 位CPU 和在系统可编程Flash,使得
AT89S52为众多嵌入式控制应用系统提供高灵活、超
有效的解决方案。AT89S52具有以下标准功能:8k字
节Flash,256字节RAM,32 位I/O 口线,看门狗定时
器,2 个数据指针,三个16 位定时器/计数器,一个6
向量2级中断结构,全双工串行口,片内晶振及时钟电
路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持
2种软件可选择节电模式。空闲模式下,CPU停止工作,
允许RAM、定时器/计数器、串口、中断继续工作。掉
电保护方式下,RAM内容被保存,振荡器被冻结,单
片机一切工作停止,直到下一个中断或硬件复位为止。

2 步进电机驱动实现
2.1简介
步进电机在单单仅给予电压时,电机是不会动作的,必须由脉冲产生器提供位置(脉波数)、速度的脉冲信号指令,以及驱动器驱动电流流过电机内部线圈、依顺序切换激磁相序的方式才能够让电机运 转。所以欲使步进电机动作的必要系统组成有:
(1)脉冲产生器:给予角度(位置移动量)、动作速度及运转方向之脉冲信号的电机驱动指令。
(2)步进驱动器:依控制器所投入的脉冲信号指令,提供电流来驱动步进电机动作。
(3)步进电机:提供转矩动力输出来带动负载。所以步进电机系统构成简单,不需要速度感应器、位置传感器, 即能依照脉冲产生器所输入的脉冲来做到速度及位置的控制。

2.2驱动选择
步进电机可以选用专用的电机驱动模块,也可以自己构建驱动电路。一般有以下几种选择:
专用驱动模块,如L298,FT5754等,这类驱动接口简单,这类可以驱动步进电机,直流电机等。
达林顿驱动器ULN2803,这个芯片可以一次驱动八线步进电机。
自己构建,通过三极管,74als04,等系列元件构成。但这样系统可靠性会降低,会另外给系统带来误差。

3 系统硬件设计
1 单片机控制电机
如图3

说明:
这个部分为单片机控制步进电机部分,80s52单片机通过达林顿驱动器ULN2803来驱动步进电机,80s52的P1.0-P1.4发送控制信号给驱动器,然后驱动器的四根线把信号传递给电机,使电机实现正反转等。电机部分接12V直流电源。
3.2 键盘
如图4

说明:
本系统中采用了四个按键,分别与80s52的四个引脚相连,分别为LCDEN,RS,WR,RD;分别实现的功能是电机加速,减速,正反转。键盘一旦按下则表示向单片机发送了有效信号,单片机就相应的进行调节。对于键盘的键按下的时候分为几个步骤,当键盘按下的时候,接通电路,键盘扫描检测低电平,但检测到低电平之后不能够判断键是否被按下,因为抖动可能引起这个变化,所有大概延时5~10ms之后再进行检测。如果再次检测到低电平之后说明键被按下。这个过程就是所说的消除抖动。
3.3 显示部分
如图5

说明:
对于显示部分,因为这个系统只是显示转速,所以采用了LED共阳极数码管。
并且用了74HC573锁存器,74HC573锁存器输出电流大,接口电路简单。本系统采用了两个74HC573锁存器,分别为段选和位选。段选为数码管的显示数字,位选为选中相应的数码管。
程序流程图

总结
通过本次的课程论文,让我真实的感受到一个完整的系统设计过程。这次的的论文从开始的整体布局,排版,到内容中的系统设计直到最后完成。每个流程下来,都带给了我很多的新东西,特别在设计完系统之后做硬件部分中,先是用protel99se画图,好多图在库中找不到,找不到就自己画,然后封装,封装的时候还要用游标卡纸对买来的元件进行精确的测量,然后才能在封装的过程中保证精度。最后做完图之后还要布线,布线完成后再发到厂家去做。事实上这个过程我用买好的空板做的,因为元件不多。所以就买了相应的元件直接再PCB板上焊接好的。在焊接的过程中也会感受到很多东西,因为很多需要注意的。不过这个过程多多尝试就会有进步的。焊接完后就是代码调试阶段。最后就完成了这个小型系统的设计。

致 谢
在此,感谢我的老师以及周围的同学。本次的论文得益于同学们的帮助。最后还要感谢我的父母,是他们一直在背后支持着我。
谨以此文献给他们!

参考文献
[1] 张永枫,王静霞,杨宏利. 单片机应用实训教程. 西安电子科技大学出版社,2005.
[2] 郭天祥. 51单片机C语言教程. 电子工业出版社 2008

附录
C代码
单片机控制步进电机
实现功能:
定时器中断:定时时间设置为30秒,首先给的初值每次中断为5ms,经过20次中断为1秒,半分钟三十秒则要中断600次,所有到达六百次后就把计数n中的值读取到数码管中显示出来。
键盘检测:进行速度控制的时候按下相应的键则会对应的进行速度调节。
数码管显示:
驱动部分:
#include <reg52.h>
#define uchar unsigned char
sbit la=P2^6;
sbit wela=P2^7;
sbit jia_key=P3^6;
sbit jian_key=P3^7;
sbit zf_key=P3^5;
sbit stop_key=P3^4;
bit flag=0;
uchar num1,n;
uchar num=0,show_num=2,maichong=4,table_begin=0;
uchar code table1[]={0x01,0x02,0x04,0x08,0x08,0x02,0x01};
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
// 延时部分
void delay(uchar i)
{
uchar j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
// 显示部分
void display()
{
la=0;
P0=table[show_num];
la=1;
la=0;
wela=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[0];
la=1;
la=0;
P0=0xfd;
wela=1;
wela=0;
delay(5);
}
// 键盘检测部分
void key()
{
if(jia_key==0)
{
delay(5);
if(jia_key==0)
{
num++;
if(num==4)
num=3;
while(jia_key==0)
}
}
if(jian_key==0)
{
delay(5);
if(jian_key==0)
{
if(num!=0)
num--;
else
num==0;
while(jian_key==0);
}
}
if(zf_key==0)
{
delay(5);
if(zf_key==0)
{
flag=~flag;
while(zf_key==0);
}

}
if(stop_key==0)
{
delay(4);
if(stop_key==0)
{
show_num=0;
maichong=0;
}
while(stop_key==0)
}
}
// 键盘检测结果
void dispose()
{
switch(num)
{
case 0:
maichong=5;
break;
case 1:
maichong=4;
break;
case 2:
maichong=3;
break;
case 3:
maichong=2;
break;
}
if(flag==0)
{
table_begin=0;
}
else
table_begin=4;
}
// 数码管驱动部分
void qudong()
{
uchar i,j;
for(j=0+table_begin;j<4+table_begin;j++)
{
P1=table[j];
for(i=0;i<maichong;i++)
{
dispaly();
}
}
}
// 主函数部分
void main()
{
while(1)
{ init();
key();
dispose();
qudong();
n++;
}
}
// 定时器中断初始化
void init()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1; // 开总中断
ET0=1;// 开定时器0中断
TR0=1;// 启动定时器0
}
// 定时器中断调用
void T0_time() intterrupt 1 // T0中断
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num1++;
if(num1==600)
{
show_num=n;
num1=0;
n=0;
}

}

阅读全文

与单片机驱动电机设计相关的资料

热点内容
PDF分析 浏览:482
h3c光纤全工半全工设置命令 浏览:137
公司法pdf下载 浏览:379
linuxmarkdown 浏览:347
华为手机怎么多选文件夹 浏览:679
如何取消命令方块指令 浏览:345
风翼app为什么进不去了 浏览:774
im4java压缩图片 浏览:358
数据查询网站源码 浏览:146
伊克塞尔文档怎么进行加密 浏览:886
app转账是什么 浏览:159
php的基本语法 浏览:792
对外汉语pdf 浏览:516
如何用mamp本地web服务器 浏览:869
如何加密自己js代码 浏览:627
排列组合a与c的算法 浏览:534
如何在文件夹中找到同名内容 浏览:786
有什么app文字转韩文配音 浏览:372
循环宏1命令 浏览:35
斐波那契数列矩阵算法 浏览:674