直流电机的单片机控制

2024-10-06

直流电机的单片机控制(精选11篇)

直流电机的单片机控制 篇1

前言

在各类机电系统中, 由于直流电机具有良好的起动、制动和调速性能, 直流调速技术已广泛用于工业、航天领域的各个方面。最常用的直流调速技术是脉宽调制 (PWM) 直流调速技术, 它具有调速精度高、响应速度快、调速范围宽和损耗低等特点[1]。L298N是SGS公司生产的直流电机驱动集成芯片, 内部包含4通道逻辑驱动电路, 可方便的驱动两个直流电机[2]。本文设计的直流电机控制硬件电路采用L298N, 调速采用PWM控制技术实现。

一、控制要求

采用单片机实现直流电机方向和速度控制, 按下正转按键后直流电机正转, 按下反转按键后直流电机反转, 按下加速按键后直流电机加速运行, 按下减速按键后直流电机减速运行, 调速范围为10级, 当达到速度上限或下限后直流电机速度不再变化。

二、控制方案

1. 硬件电路

根据控制要求, 直流电机方向和速度控制电路包括单片机最小系统、按键、驱动电路和直流电机四部分组成, 其中单片机最小系统包括单片机、时钟电路和复位电路等, 其系统框图如图1所示。

单片机时钟电路由12MHz的晶振和两个30pf的电容组成, 复位电路由10K电阻、复位按键和10uf的电解电容组成;功能按键包括正转、反转、加速、减速四个按键;驱动电路由L298N组成。由此设计的直流电机仿真电路如图2所示。

2. 控制原理

L298N内置两个H桥, OUT1和OUT2接直流电机。IN1、IN2接单片机控制端, SENSA和SENSB为控制使能端, 控制直流电机的停止, L298N的逻辑功能如表1所示:

PWM调速的原理就是使加在直流电机两端的电压为方波形式, 通过改变其占空比而改变其平均电压, 从而进行调速。

3. 流程图

直流电机控制程序包括主程序和中断程序两部分, 主程序流程图如图3所示, 中断程序流程图如图4所示。

结论

设计的基于单片机的直流电机控制采用L298N驱动芯片, 简化了硬件电路设计, 采用PWM控制技术进行直流电机控制, 优化了控制算法, 设计思路清晰。

摘要:本文介绍了基于单片机的直流电机控制, 硬件电路由单片机最小系统、按键、驱动电路和直流电机组成。通过改变直流电机电流方向实现其方向控制, 通过调节PWM占空比实现直流电机速度控制。该控制方案硬件电路简单, 控制算法优, 设计思路清晰。

关键词:直流电机,单片机,L298N,PWM

参考文献

[1]张立勋, 沈锦华, 路谆民, 杨勇.AVR单片机实现的直流电机PWM调速控制器[J].机械与电子, 2006 (4) :29-32.

[2]张天鹏, 徐磊.L298N控制直流电机正反转.工业设计, 2011 (3) :98-99.

直流电机的单片机控制 篇2

转眼间,我的研巧生生涯就要结束了。回首这大半年来,对这篇论文的定题、理论研究、方案设计、数据收集以及各种细节的探讨,直至论文最终的完成,我的导师陈静教授师始终给予我最重要的的指导与帮助,我要向我的导师表达最诚掌的谢意。论文中的每个字、词、句的使用,图表中的数据是否正确,都包含了导师的心血。陈老师严谨的治学态度、渊博的知识、孜孜不倦的工作精神以及平易近人的工作作风,深深地影响着我,也必将使我终身受益。祝愿导师在今后工作顺利,身体健康,家庭幸福,在后的科研中取得更大的成就。陈老师在进行系统设计的时候,提供了非常大的帮助,包括电路的设计,器件的选型,大方向和细节上都提供了非常大的帮助。同时感谢和我一起在实验室完成论文的同学们在课题研究过程中给予的指导和帮助,感谢你们的鼓励与支持!

感谢我的父母,是你们在我遇到困难的时候给我鼓励和安慰,在我取得成功时给我鞭策,你们深深的爱和无私的奉献始终是我学习与工作的巨大动力。

单片机控制的简易直流数字电压表 篇3

关键词:直流数字电压表;单片机;A/D转换

中图分类号:TM933.22 文献标识码:A 文章编号:1674-7712 (2012) 12-0026-01

数字电压表作为一种数字仪器仪表它采用数字化测量技术,把连续的模拟量(待测的直流电压值)转换成离散的数字形式并加以显示。由于有别于传统的指针式电压表由读数带来的种种误差与不便,它具有精度高、误差小、测量速度快、读数准确方便等优点。

数字电压表的核心部件是A/D转换器,本设计中A/D转换器采用ADC0809对输入模拟量即待测电压进行转换。而控制部分则由单片机AT89C51完成对转换之后的数据进行处理,由此产生相应的段码并送入数码管显示。而在软件部分,当A/D转换结束,采用中断方式对数据进行读取、处理,相较于查询方式程序更为合理,实时性也更好。

一、功能设计

由AT89C51与ADC0809构成一个简易的直流数字电压表,采用1路模拟量输入,能够测量0-5V之间的直流电压值。显示部分采用LED数码管动态显示,能够精确到小数点后两位。

二、硬件电路

硬件电路如下图示:

1.由于采用1路模拟量输入,因此ADC0809的三根地址线C、B、A(用于通道选择)直接接地,默认选择0通道。2.单片机采用6MHz的晶振,ALE引脚输出6MHz/6=1MHz的时钟信号,经74LS74触发器2分频,最终得到500KHz的时钟信号送入ADC0809的时钟端。3.ADC0809的启动端START、地址锁存端ALE均为高电平有效,将START与ALE端连在一起,与AT89C51的P2.7相连,当P2.7输出一个高电平时,启动0809开始模数转换。4.A/D转换结束,采用中断方式进行数据的读取处理。当转换结束时,EOC端输出高电平,而单片机的外部中断均为低电平有效,因此0809的EOC端通过反相器74LS04与单片机的P3.2(即外部中断0)相连,当转换结束,外部中断0则申请中断。5.0809的输出允许OE端与单片机P2.6相连,当OE端为高电平,模数转换的结果输出到0809的8位数字量输出端。6.模数转换的8位数字量由P0口输入单片机,经单片机处理后产生用于显示的段码值,再由P1口输出驱动LED显示器动态显示电压值。三个LED数码管的位选分别由单片机的P2.0、P2.1、P2.2三根口线控制。动态显示时,每一位LED的选通时间为5ms,由延时程序实现。

三、软件设计

程序:

ORG 0000H

LJMP MAIN

ORG 0003H AJMP JINT0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIN:NOP

SETB IT0

SETB EX0

SETB EA

MOV P0,#0FFH

SETB P2.0

SETB P2.1

SETB P2.2

SETB P2.3

CLR P2.7

SETB P2.7

CLR P2.7

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

XS: CLR P2.1

MOV DPTR,#TAB

MOV A,31H

MOVC A,@A+DPTR

ORL A,#80H

MOV P1,A

LCALL YS

SETB P2.1

CLR P2.2

MOV DPTR,#TAB

MOV A,32H

MOVC A,@A+DPTR

MOV P1,A

LCALL YS

SETB P2.2

CLR P2.3

MOV DPTR,#TAB

MOV A,33H

MOVC A,@A+DPTR

MOV P1,A

LCALL YS

SETB P2.3

AJMP MAIN

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

JINT0:NOP

CLR EA

SETB P2.6

SA:MOV A,P0

CLR P2.6

MOV B,#51

DIV AB

MOV 31H,A

MOV A,B

MOV B,#5

DIV AB

MOV 32H,A

MOV 33H,B

SETB EA

RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

YS:MOV R6,#5

YS1:MOV R7,#250

L:DJNZ R7,L

DJNZ R6,YS1

RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

TAB:DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4

DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

END

四、结论

由于ADC0809的分辨率为8位,当输入模拟电压的变化范围为0~5V,输出8位二进制数可以分辨的最小模拟电压为5V/255≈0.0196V。这就决定了该电压表的精度只能达到0.0196V。因此测试时电压数值的变化一般以0.02V的电压幅度变化,在一般的应用场合可以完全满足要求。

参考文献:

[1]南建辉,熊鸣,王军茹.MCS-51单片机原理及应用实例[M].清华大学出版社,2004

[2]王法能,尹季昆.单片机原理及应用[M].科学出版社,2004

[作者简介]高皑琼(1981-),女,2005年毕业于兰州理工大学通信工程专业,并获得学士学位,于2005年任教于甘肃工业职业技术学院至今,讲师。

直流电机的单片机控制 篇4

1 系统总体结构设计

系统总体结构设计是首先要完成的工作,在思想上有了好的设计方案并形成一个系统框图才能更好的进行下一步工作,用语言和图示来说明设计思想,条理更清晰明了。

在硬件电路的设计中,模块的组合要根据它们之间的控制和被控制的关系进行电路连接,测速部分采用的是与被测电机同轴的测速发电机,它可以很方便快捷地将直流电机的速度信号转换为可供CPU采集的模拟信号。CPU(AT89S52)是MCS-51系列单片机中用途比较广泛的一种类型。8位输入输出数据具有较高的运行速度。模数转换器TLC2543将模拟信号高速转换为12位数字信号并将数字信号输出给CPU做数据处理。电动机驱动器件L293D是内部自带保护电路的电动机驱动芯片,内置钳位二级管,拥有过电流保护和过电压保护功能。此外,为避免在系统运行时出现飞车现象,专门设计复位电路。复位电路包括软件复位和硬件复位2种,当软件复位无法正常控制复位时,可由硬件强行对其进行复位控制。单片机控制电动机的系统总体结构如图1所示。

系统可通过键盘控制电机的转速方向,首先CPU不断对键盘进行扫描,当有按键按下时,CPU将自动执行键盘程序对电动机进行转速控制。经过测速反馈电路进行实时检测转速可通过LED数码管显示电动机运行状态,让操作者首先了解电动机的运行状态,方便控制电动机的运动。使其运行在正转、反转、加速、减速等不同的运行状态。

直流电动机的转速控制方法可以分为2大类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢电压法。其中励磁控制法在低速时受磁饱和的限制,在高速时受换向火花和换向器件结构强度的限制,并且励磁线圈电感较大,动态性能响应较差,所以这种控制方法用的很少,多使用电枢控制法。本设计将采用电枢控制方法对电动机的速度和转向进行控制。

2 速度测量模块

测速部分采用直流测速发电机来实现。

2.1 直流测速发电机工作原理

直流测速发电机实际就是一种微型直流发电机,按定子磁极的励磁方式分为电磁式和永磁式。

其工作原理如图2所示。在恒定的磁场Φ0中,外部的机械转轴带动电枢以转速n旋转,电枢绕组切割磁场从而在电刷间产生感应电动势为

在空载时,直流测速发电机的输出电压就是电枢感应电动势:U0=E0,显然输出电压U0与n成正比。

有负载时,若电枢电阻为Ra,负载电阻为RL,不计电刷与换向器间的接触电阻,则直流测速发电机的输出电压为

整理后得

式中:

直流测速发电机输出特性如图3所示,C为直流测速发电机输出特性的斜率,当Φ0、R0及RL都不变时,输出电压U与转速成线性关系。对于不同的负载电阻RL,输出特性的斜率C不同,负载电阻越小,斜率C也越小。

2.2 误差分析

直流测速发电机的输出电压与转速要严格保持正比关系在实际中是难以做到的,其实际的输出特性为图3中实线,造成这种非线性误差的原因主要有以下3个方面:

1)电枢反应。 直流测速发电机负载时电枢电流会产生电枢反应,电枢反应的去磁作用使气隙磁通Φ0减小,根据输出电压与转速的关系式

可知,当Φ0减小,输出电压减小,从输出特性看,斜率C减小,而且电枢电流越大,电枢反应的去磁作用越显著,输出特性斜率C减小越明显,输出特性直线变为曲线。

2)温度的影响。 如果直流测速发电机长期使用,其励磁绕组会发热,其绕组阻值随温度的升高而增大,励磁电流因此而减小,从而引起气隙磁通Φ0减小,输出电压减小,特性斜率C减小。温度升得越高,斜率C减小越明显,使特性向下弯曲。

为了减小温度变化带来的非线性误差,通常把直流测速发电机的磁路设计为饱和状态。当温度变化时引起励磁电流If变化,在磁路饱和时If变化引起的磁通变化要比磁路非饱和时小得多,磁化曲线如图4所示,从而减小非线性误差。

另外,可在励磁回路中串接一个阻值较大而温度系数较小的锰铜或康铜电阻,以减小由于温度的变化而引起的电阻变化,从而减小因温度而产生的线性误差。

3)接触电阻。 如果电枢电路总电阻包括电刷与换向器的接触电阻R1,那么输出电压为

而接触电阻R1总是随负载电流变化而变化,当输入的转速较低时,接触电阻较大,使此时本来就不大的输出电压变得更小,造成的线性误差很大;当电流较大时,接触电阻较小而且基本上趋于稳定的数值,线性误差相对而言小得多。

另外,直流测速发电机输出的是一个脉动电压,其交变分量对速度反馈控制系统、高精度的解算装置有较明显的影响。

3 结束语

本设计介绍了基于单片机的电机控制系统的基本原理。系统以单片机为核心,采用了多模块化协同控制电动机,实现数据采集、数据存储、电机运行状态控制等功能,具有稳定的工作特性。PID控制的采用使电动机更稳定地运行在正转、反转、加速和减速的运动状态,提高了以电动机为动力源的机械装置的工作效率。AT89S52单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。

摘要:该设计采用单片机构成直流电动机PWM调速系统,其调速过程是由单片机输出控制信号即PWM波形来控制电动机,驱动电路输出电压来驱动电动机工作在不同的运行状态。其运行状态经由反馈电路进行数据采集,并将采集信息反馈给单片机进行数据分析处理,并将当前的电动机运行状态经显示电路显示出来。

关键词:直流电动机,单片机,PWM

参考文献

[1]王小明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2002.

[2]张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003.

[3]邵正芬.基于单片机的直流调速系统设计[J].电子测试,2007(4):2-5.

[4]袁静萍,厉荣卫.键盘显示智能控制芯片HD7279及应用实例[J].常州技术师范学院学报,2006(9):1-7.

[5]孟昕元,田效伍,范峥.未分型单片机上电复位电路的性能分析[J].河南机电高等专科学校学报,2004(7):6-8.

单片机实验报告_步进电机 篇5

一、实验目的

了解步进电机的工作原理,掌握它的转动控制方式和调速方法。

二、实验设备及器件

IBM PC 机 一台

DP-51PROC 单片机综合仿真实验仪 一台

三、实验内容

1.编写程序,通过单片机的P1 口控制步进电机的控制端,使其按一定的控制方式进行转动。

2.分别采用双四拍(AB→BC→CD→DA→AB)方式、单四拍(A→B→C→D→A)方式和单双八拍(A→AB→B→BC→C→CD→D→DA→A)方式编程,控制步进电机的转动方向和转速。

3.观察不同控制方式下,步进电机转动时的振动情况和步进角的大小,比较这几种控制方式的优缺点。

四、实验要求

学会步进电机的工作原理和控制方法,掌握一些简单的控制电路和基本的电机基础知识。

五、实验步骤

1.安装C10 区JP6 接口上的短路帽,将C10 区BA、BB、BC、BD与A2 区的P10~P13对应相连。

2.打开程序调试软件,下载运行编写好的软件程序,观察步进电机的转动情况。

3.修改步进电机的控制程序,再次运行程序,比较它们的不同控制效果。

六、实验程序

#include sbit A1=P1^0;//定义步进电机连接端口 sbit B1=P1^1;sbit C1=P1^2;sbit D1=P1^3;sbit K0=P2^0;//最慢 sbit K1=P2^1;// sbit K2=P2^2;// sbit K3=P2^3;//最快 sbit K4=P2^4;//单双八拍 sbit K5=P2^5;//单四拍 sbit K6=P2^6;//双四拍

sbit K7=P2^7;//1正转0反转

#define Coil_A1 {A1=0;B1=1;C1=1;D1=1;}//A相通电,其他相断电,低电平有效,若你的驱动电路是高电平有效则改为(1,0,0,0)

#define Coil_B1 {A1=1;B1=0;C1=1;D1=1;}//B相通电,其他相断电 #define Coil_C1 {A1=1;B1=1;C1=0;D1=1;}//C相通电,其他相断电 #define Coil_D1 {A1=1;B1=1;C1=1;D1=0;}//D相通电,其他相断电 #define Coil_AB1 {A1=0;B1=0;C1=1;D1=1;}//AB相 #define Coil_BC1 {A1=1;B1=0;C1=0;D1=1;}//BC相 #define Coil_CD1 {A1=1;B1=1;C1=0;D1=0;}//CD相 #define Coil_DA1 {A1=0;B1=1;C1=1;D1=0;}//DA相 #define Coil_OFF {A1=1;B1=1;C1=1;D1=1;}//全部断电 unsigned char Speed;void DelayUs2x(unsigned char t){

while(--t);} void DelayMs(unsigned char t)

{

while(t--){

//大致延时1mS

DelayUs2x(245);

DelayUs2x(245);} } //******************************************************************************* void danshuangbapai(unsigned char Sp){ Coil_A1

DelayMs(Sp);

Coil_AB1

DelayMs(Sp);

Coil_B1

DelayMs(Sp);

Coil_BC1

DelayMs(Sp);

Coil_C1

DelayMs(Sp);

Coil_CD1

DelayMs(Sp);

Coil_D1

DelayMs(Sp);

Coil_DA1

DelayMs(Sp);} void danshuangbapaif(unsigned char Sp){

Coil_DA1

DelayMs(Sp);

Coil_D1

DelayMs(Sp);

Coil_CD1

DelayMs(Sp);

Coil_C1

DelayMs(Sp);

Coil_B1

DelayMs(Sp);

Coil_AB1

DelayMs(Sp);

Coil_A1

DelayMs(Sp);} void dansipai(unsigned char Sp){

Coil_A1

DelayMs(Sp);

Coil_B1

DelayMs(Sp);

Coil_C1

DelayMs(Sp);

Coil_D1

DelayMs(Sp);} void dansipaif(unsigned char Sp){

Coil_D1

DelayMs(Sp);

Coil_C1

DelayMs(Sp);

Coil_B1

DelayMs(Sp);

Coil_A1

DelayMs(Sp);} void shuangsipai(unsigned char Sp){ Coil_AB1 DelayMs(Sp);Coil_BC1 DelayMs(Sp);Coil_CD1 DelayMs(Sp);Coil_DA1 DelayMs(Sp);} void shuangsipaif(unsigned char Sp){ Coil_DA1 DelayMs(Sp);Coil_CD1 DelayMs(Sp);Coil_BC1 DelayMs(Sp);Coil_AB1 DelayMs(Sp);}

//******************************************************************************* void main(void){ while(1){ if(K0==1)//最低速

Speed=20;if(K1==1)Speed=15;if(K2==1)Speed=10;if(K3==1)//最高速

Speed=5;if(K4==1&&K7==1)//单双八拍正

danshuangbapai(Speed);if(K4==1&&K7==0)//单双八拍反

danshuangbapaif(Speed);if(K5==1&&K7==1)//单四拍正

dansipai(Speed);if(K5==1&&K7==0)//单四拍反

dansipaif(Speed);if(K6==1&&K7==1)//双四拍正

shuangsipai(Speed);if(K6==1&&K7==0)//双四拍反

shuangsipaif(Speed);if((K3==0&&K2==0&&K1==0&&K1==0))Speed=0;} }

七、实验结果

如图所示接线,并且在完成程序的编译和烧录后,单片机上的步进电机开始转动,改变相应的延时和完成的方式,步进电机的转动情况会发生一定的改变,也可以通过P口将步进电机的输入反映到LED灯上,这样就可以观察步进电机的工作原理。

八、调试中遇到的问题与解决办法

步进电机是通过给每个端口输入不同的位置,让电机在每个时刻所在的位置不同,然后通过循环实现转动的。如果将循环的次数加以控制,或者将延时边长,就可以看出或者是计算出不同的方式,步进电机每一拍的转动情况,例如单双八拍的步进电机,每一怕所转动的角度就是9度。

单片机控制步进电机 篇6

位置控制是自动化控制中一个基本控制单元,设备精度的要求越来越高,器件及加工件越来越小,对位置的定位精度的要求也越来越高,原来的直流电机、交流电机也已不能满足设备的要求,应在许多位置控制方面采用更高精度的步进电机、伺服电机去替换原先的直流电机及交流电机。虽然现在大部分的PLC都具有位置控制(脉冲输出)功能,但使用起来很不方便,当要更改某些位置参数时,要么借助于个人PC或编程器去更改PLC内存中的位置参数信息,要么增加触摸屏去更改PLC内存中的位置参数信息,以更改电机的位置参数,这样会增加设备使用的复杂性,同时也会增加设备的成本。为了方便使用设备、降低成本,笔者采用单片机及LCD显示技术设计了一块单轴运动控制板,该控制器可手动设置位置参数及按照设计的运动轨迹自动运行、具有LCD显示、专用的电机限位接口、通用I/O、串行通讯接口,可满足大部分设备的要求。下面谈谈该步进电机运动控制板。

一、主要功能

可手动设定位置参数。

有LCD显示。

有专用及通用I/O。可扩展串行通讯,实现上位PC控制。

二、控制器系统结构框图

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入∕输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法编程,也可以在线编程。将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

主要功能特性包括:与MCS-51产品指令和引脚完全兼容;8k可反复擦写(>1000次)Flash ROM;3个16位可编程定时/计数器;时钟频率0-24MHz;256×8bit内部RAM;8个外部中断源;32个可编程I/O口,可直接驱动LED;低功耗空闲和掉电功能;可编程UARL通道;软件设置睡眠和唤醒功能。

四、LED显示模块(NT-1624A)图

此控制器采用的LCD显示模块为2×16的字符型显示模块,由单片机直接驱动。当选中该LCD模块工作时,写入要显示数据的地址,再在数据总线上写入需要显示的数据后,即可在LCD模块上显示需要显示的字符。在更新屏幕时需先清除屏幕,否则当更新的屏幕显示的字符少于上次显示的字符时,上次显示的部分字符会不能清除。

五、串行通讯功能(MAX232E)

系统扩展一块两通道的串行通讯芯片MAX232E,用来与上位PC通讯,发送数据及返回状态。

引脚功能:

数据发送(T1IN)。 用于向上位PC发送数据。

数据接收(R1OUT)。用于接收上位PC发送过来的数据。

六、I/O定义及其工作原理

1.I/O定义

本单轴运动控制器采用ATMEL公司生产的AT89C52单片机控制,该单片机有32个可编程I/O接口,该单轴运动控制板应用在某公司生产的单轴点胶机上,这些I/O接口在单轴点胶机中作用定义如下。

(1)LCD显示模块接口。

P00~P07:用作LCD显示模块数据总线接口。

P20~P22:用作LCD显示模块操作接口。

(2)通用输入接口。

P10~P13:用作按钮输入接口。

P10:GO_UP键;P11:GO_DOWN键;P12:SHIFT键;P13:ENTER键。

P14~P17:用作外部通用输入接口。

P14:点胶头下位;P15:点胶头上位。P16、P17:备用。

(3)通用输出接口。

P24~P27:用作外部通用输出接口。

P27:点胶头上、下;P15:点胶阀打开、关闭。P16、P17:备用。

(4)专用输入输出接口。

P32、P33:用作步进电机的限位输入。

P33、P34:用作步进电机的脉冲及方向输出。

2.工作原理

该单轴运动控制板应用在某公司生产的单轴点胶机上,具体工作原理是:当控制板上电后,系统初始化,LCD显示欢迎界面:“COLIBRIWELCOME”延时1秒后,系统显示:“POSITIONSET”系统进入点胶位置设置界面,用户可按LCD显示的提示位置参数的设定。在位置设置期间按SHIFT键可进行大小步切换;按GO_UP键电机正走一步(大步时步进电机走50步,小步时步进电机走5步);按GO_DOWN键电机反走一步(大步时步进电机走50步,小步时步进电机走5步);长按ENTER键保存位置参数并进入下一位置参数设定。当完成所有的位置参数后系统显示:“POSITIONSETFINISH”延时1秒后,系统显示:“SYSTEMGOHOME”系统复位,步进电机复位,所有通用输出关闭,复位完成后,系统显示待机界面: “READY PRESSSTART” 此时,长按ENTER键进入位置参数设置操作,可按上面的方法完成位置参数设置。当完成位置参数设置后,系统又回到待机界面。若短按ENTER键则运行客户程序执行点胶动作。当进入点胶程序后,系统显示:“MOVE TO POS-1”步进电机移动到第一个点胶位置,电机到位后系统显示:“OPEN OUT-1”点胶头下(打开通用输出1),等待点胶头到下位(等待通用输入1为ON),延时0.5S,系统显示:“OPEN OUT-2”打开点胶阀(打开通用输出2),开始点胶,延时0.5S,系统显示:“CLOSE OUT-2”关闭点胶阀(关闭通用输出2),延时0.5S,系统显示:“CLOSE OUT-1”点胶头回上位(关闭输出1),等待点胶头到上位(等待通用输入2为ON),完成一个位置的点胶。以后位置的点胶同第一个位置的点胶,即移动到下一个位置,点胶头下,等待点胶头到下位,延时0.5S,打开点胶阀,延时0.5S,关闭点胶阀,延时0.5S,点胶头上,等待点胶头回上位。当所有位置都点完后,步进电机回复位,完成一次点胶循环,系统回到待机界面。

基于单片机控制的步进电机控制器 篇7

随着微电子技术的发展, 数字信号处理器以其强大的运算处理能力, 较高的控制精度而在自动控制系统中普遍使用。为了提高步进电机的控制性能和精度, 本文以单片机AT89C51为控制核心, 实现步进电机控制系统的设计。

1、系统设计原理

1.1 设计思路

根据步进电机的工作原理可以知道, 如果通过单片机按顺序给绕组施加有序的脉冲电路。就可以控制电机的转动。转动的角速度大小与施加的脉冲频率成正比, 而转动的方向则与脉冲的顺序有关。常用的步进电机有三相、四相、五相和六相, 相数越多, 输出转距就越平稳。

1.2 单片机简介

单片计算机即单片微型计算机。 (Single-Chip Microcomputer) , 是集CPU, RAM, ROM, 定时, 计数和多种接口于一体的微控制器。他体积小, 成本低, 功能强, 广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。

1.3 步进电机

步进电机分三种:永磁式 (PM) , 反应式 (VR) 和混合式 (HB) , 步进电动机又称为脉冲电机, 是工业过程控制和仪表中一种能够快速启动、反转和制动的执行元件, 其功用是将电脉冲转换为相应的角位移或直线位移, 由于在开环下就能实现精确定位的特点, 使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的, 其角位移量或线位移量与脉冲数成正比, 每给一个脉冲, 步进电机就转动一个角度 (步距角) 或前进/倒退一步。步进电机旋转的角度由输入的电脉冲数确定, 所以, 也有人称步进电动机为数字/角度转换器。

1.4 总体设计及框图

本设计主要从硬件和软件两方面进行分析设计, 图1是总体设计框图。

2、硬件结构电路设计

本设计的硬件电路主要包括最小系统、控制电路、显示电路、驱动电路四大部分组成。最小系统主要是为了使单片机正常工作;控制电路主要由开关和按键组成, 由操作者根据相应的工作需求进行操作。

2.1 最小系统

单片机最小系统或者称为最小应用系统, 是指用最少的元件组成的单片机可以工作的系统, 对51系列单片机来说, 最小系统一般应该包括:单片机、复位电路、晶振电路。

2.2 控制电路

根据系统的控制要求, 控制输入部分设置了启动控制、换向控制、加速控制和减速控制按钮, 分别是K1、K2、S2、S3。通过K1、K2状态变化来实现电机的启动和换向功能, 当K1、K2的状态变化时, 内部程序检测P3.4和P3.5的状态来调用相应的启动和换向程序, 实现系统的启动和电机的正反转控制。

2.3 显示电路

在该步进电机的控制器中, 电机可以正反转, 可以加速、减速, 其中电机转速的等级分为七级, 为了方便知道电机的运行状态和电机的转速的等级, 这里设计了电机转速和电机的工作状态的显示电路。

2.4 驱动电路

这里采用了集成电路驱动, 从单片机的P1口输出电机的驱动脉冲送入功率驱动集成电路ULN2003, ULN2003是高耐压、大电流达林顿陈列, 由七个硅NPN达林顿管组成, 该功率驱动继集成电路采用集电极开路输出, 输出电流大, 故可直接驱动步进电机。

3、系统软件设计

通过分析可以看出, 实现系统功能可以采用多种方法, 由于随时有可能输入加速、减速信号和方向信号, 因而用中断方式效率最高, 这样总共要完成4个部分的工作才能满足课题要求, 即主程序部分、定时器中断部分、外部中断0及外部中断1中断部分。

3.1 主程序设计

主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。主程序流程如图2所示。

3.2 定时中断设计

步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流, 步进电机才会旋转, 时间间隔越短, 步进电机的速度就越高。在这个系统中, 这个时间间隔是用定时器重复中断一定次数产生的, 即调节时间间隔就是调节定时器的中断次数。因而在定时器中断程序中, 要做的工作主要是判断电机的运行方向、发下一个脉冲, 以及保存当前的各种状态。

3.3 外部中断设计

外部中断所要完成的工作是根据按键次数, 改变速度值存储区中的数据 (该数据为定时器的中断次数) , 这样就改变了步进电机的输出脉冲频率, 也就是改变了电机的转速。速度增加按钮S2为INT0中断, 其程序流程为读原数据, 当值=7时, 不改变原数值返回, 值<7, 数据+1返回;速度减少按钮S3, 当原数据不为0, 减1保存数据, 原数据为0则保持不变。

4、结语

本系统以单片机AT89C51为核心、ULN2003芯片为驱动电路控制了步进电机运转情况, 可靠性高, 在电机运行时能够设定步进电机的启停、转速和方向, 提高步进电机的步进精度。该控制系统为步进电机的控制提供了一种简易切实可行的方法, 并具有实际推广价值和广泛应用前景。

参考文献

[1]李朝青.单片机原理及接口技术 (第3版) [M].北京:北京航空大学出版社, 2005.

[2]王晓明.电动机的单片机控制 (第二版) [M].北京:北京航空航天大学出版社, 2007.

[3]蒋辉平.周国雄.单片机原理及应用技术[M].北京:北京航空航天大学出版社, 2007.

[4]张大明.单片机控制实训指导及综合应用[M].北京:机械工业出版社, 2007.

单片机对各类电机的控制研究 篇8

直流电机具有调速范围广, 方便实现平滑调节, 而且在过载、启动、制动等过程中转矩大, 调节时损耗的能量少, 可靠性强等特点。这些特点决定了直流电机常常被用在调速要求高的场合, 比如说吊车、轧钢机、电车等等。单片机对直流电机的控制主要表现为对其进行平滑调速, 常用的调速方案为PWM调速。

PWM调速是脉冲宽度调制的简称, 它是通过对一系列脉冲的宽度进行调节, 然后通过控制单片机的IO口来输出所需要的占空比, 进而来调节电机的转速。占空比就是单片机输出高电平时间占整个周期的百分比, 一般情况下, 单片机的高电平控制电机接通, 低电平控制单机断开, 这样占空比越大, 表现为单片机的接通时间越长, 速度也就越快。

用单片机的IO口输出PWM信号有三种方法, 第一种是软件延时, 对IO口输出高电平后进行一段时间的延时, 等时间到后再使IO口输出低电平, 再进行一定时间的延时。这样不断地循环就能得到PWM信号。第二中是利用定时器, 控制原理和第一种一样, 但是这种方法是利用定时器来控制电平的反转, 具有延时时间精确的特点。第三种是利用单片机自带的PWM控制器, 现在AVR、PIC、飞思卡尔、STC12等单片机都有PWM功能。

二、单片机控制步进电机的实现

1. 步进电机概述及其工作原理

步进电机是一种开环元件, 它是给一个脉冲信号就转过一个步距角, 在控制过程中, 能够通过控制输入来输出精确的步距角。现阶段在细分驱动技术不断发展的情况下, 步进电机的步距角在不断减小, 输出的力矩在不断增大, 这使得步进电机在定位方面更加精确, 在控制领域中发挥的作用越来越大。

步进电机可以分为三线式、五线式和六线式三类, 这三类都是通过脉冲信号电流来驱动的, 所以具有相同的控制方法。比如说某种型号的步进电机是3.6度的步进角, 那么这种步进电机转一圈需要100个脉冲来激励, 旋转角与脉冲个数呈正比关系。步进电机的旋转方向是依靠脉冲产生的顺序来控制的。

2. 步进电机的励磁方式和程序控制方法

步进电机的励磁方式有全步励磁和半步励磁, 全步励磁分为一相励磁和二相励磁, 半步励磁就是一—二相励磁。下面就以步进角为3.6度的步进电机为例对这三种励磁方式分别进行介绍。

(1) 一相励磁:一相励磁中, 转动过程中步进电机只有一个线圈导通, 一个励磁信号可以驱动步进电机转过3.6度。一相励磁的缺点是震动大, 转矩小。

(2) 二相励磁:在每一瞬间步进电机有两个线圈同时导通, 每送一个励磁信号, 步进电机旋转3.6度。这种励磁方式输出转矩大, 震动小, 是目前使用最多的励磁方式。如果用这种方式控制步进电机正转, 下表为二相励磁对应的励磁顺序, 若励磁信号反向传送, 步进电机就反转。

如果用单片机程序进行控制的话, 依次按照数组motor_Z[]={0xfd, 0xf6, 0xf3, 0xf9}的低四位力促输出给不仅电机就可以驱动步进电机进行正转, 如果将数组逆序排列, 即按照数组motor_Z[]={0xf9, 0xf3, 0xf6, 0xfd}进行励磁输出, 那么电机就进行反转。

(3) 一—二相励磁:这种励磁方式是一相励磁和二相励磁交替导通的方式, 简单地说就是一个励磁信号, 可以使步进电机旋转1.8度。一—二相励磁方式具有分辨率高, 运转平滑的特点, 应用较多。下表为它的励磁顺序:

如果单片机程序控制的话, 同二相励磁的控制方法一样, 依次按照数组motor_A[]={0xfe, 0xfc, 0xfd, 0xf9, 0xfb, 0xf3, 0xf7, 0xf6}的低四位励磁输出给步进电机就可以使得步进电机正转, 按数组motor_B[]={0xf6, 0xf7, 0xf3, 0xfb, 0xf9, 0xfd, 0xfc, 0xfe};的低四位输出给步进电机励磁就可以驱动步进电机反转。

三、单片机控制舵机旋转固定的角度

舵机具有结构紧凑、控制简单、大扭力的特点, 可以控制其输出固定的角度。因此舵机常常被用作机器人的机械手臂。

舵机除了电源线外还有一根信号线, 其中信号线接收单片机输入的脉冲信号。舵机内部有一个基准电路产生周期为20ms, 宽度为1.5ms的基准信号, 然后依据单片机向信号线中输入PWM信号, 将获得的直流偏执电压和电位器的电压比较, 获得电压差输出。最后将电压差的正、负输出到电机驱动芯片来决定电机的正反转。在程序控制中, 只需利用定时器产生0.5ms的定时倍数即可实现完整周期的电平控制。

摘要:电机是工业中的动力来源, 各类电机的精确灵活控制在工业自动化中发挥着重要的作用。本文笔者先介绍了采用单片机控制电机的优点, 然后分别介绍了单片机控制直流电机、步进电机、舵机这三类电机的方法。

单片机控制直流调速系统的研究 篇9

在很多可控电力性能需求较高的领域中, 例如:高层电梯、挖掘机、卷扬机、轧钢厂等领域。通常情况下, 直流调控系统的供电是通过桥式的三相全控的整流电路来完成的, 可以对电机转速进行全方位的控制, 先前的控制系统的供电是通过模拟元件完成的, 虽然能够满足一定程度的生产需求, 但是很容易受到外界环境因素的干扰, 比如元件老化或者是恶劣环境等。并且传统的控制系统控制性能容易受到环境温湿度、器件性能等因素的干扰, 通用性较差, 而且线路比较复杂, 所以系统的可靠性、精确性不高, 容易导致事故的发生。

现如今, 直流调速系统已经实现了大规模应用, 走向了实用化的行列。它的主要优点有:抗干扰性强 (数字滤波) 、准确性高 (数字反馈) 、可靠性高、参数动态调整、便于优化维修、结构简单, 并且具有数据通信和信息存储的功能, 还有就是成本较低。

2 结构设计

2.1 选择方案

本文的设计是采用V-M系统。因为系统需要脉动较小的直流电压, 所以使用的是三相整流电路。并且采用晶闸管全控桥式三相供电方案, 一方面电路简单、成本较低, 另一方面就是能够满足性能需求。晶闸管装置可控整流系统噪声小、损耗小、质量小、体积小、成本小, 但是反应速度较快, 工作效率较高, 可靠性较高, 并且能量损耗低, 综合考虑各方面因素, 选用晶闸管全控桥式三相供电方案[1]。

2.2 设计结构

调速系统选用双闭环转速电流模式, 系统中设计了两个调速器, 用来对电流以及转速进行调节, 这两个调节器是通过串级联接的, 这样就保证了起动过程中只存在电流的负反馈, 并且在同一调节器的输入端不能够同时存在电流负反馈和转速负反馈, 转速负反馈单独作用在稳态转速过程中, 这样才能够实现静、动态性能良好。

总之, 在这个直流调控系统中的逻辑切换元件、速度调控器、电流调整器以及模拟触发器等硬件设备均被单片机所代替。从而达到全数字化的目标。

3 主电路

整流变压器的型号是综合计算变压器容量以及二次测电压和一二次相电流等参数来确定的。

晶闸管型号是通过计算额定电流及电压来确定的。

系统保护措施设计:在主电路的设计过程中, 除了要考虑额定电流及电压外, 还需要设定过电流、过电压等的相关保护措施, 从而保障晶闸管正常运行。过电压保护有三种:器件端过电压保护、直流端过电压保护以及交流端过电压保护。过电流保护采用目前普遍使用的快速熔断方式。快速熔断器一般安装在交流端以及直流段, 从而与晶闸管直接串联。为了使输出的直流负载电流比较平滑, 一般在整流电路中国接入铁心电抗。

4 控制电路

4.1 单片机

本文设计的系统中采用的是8031单片机。将8031单片机与EPROM外接在一起组成程序存储设备, 从而存储控制元件。LED数字驱动是靠功率三极管动态扫描完成的, 从而显示电流、电压、转速等数据。8031接口采用线选法, 并且设置3个外接按键, 分别为两个选择键 (一个控制速度显示, 一个控制电流显示) , 一个启动/停止键, 从而控制电机的启动以及停止。另外, 外接两个LED, 一个显示运行状态, 一个显示故障信息[2]。

4.2 参数输入

首先写入地址, A/D转换器启动, 从而产生中断, 这时候, 转换结果读入到MCU。电流互感器将交流电流转变为0-5V电压信号, 整流滤波后输送到A/D转换器上, 用电位器输入速度定值, 速度显示键显示速度定值, 方便调速。

4.3 测速

数字测速即旋转编码器测速适用于高精度、大范围调速的系统, 本文就是选用M/T数字测速法。脉冲个数由旋转编码器来输出, 测量转速是由转速中断来完成的。

4.4 触发脉冲输出

由80C31定时器出发晶闸管, 当定时器溢出时, 中断程序进行处理, 根据脉冲分配表输出触发脉冲, 经过50us的延时, 输出触发脉冲。

5 调节器

调速系统选用双闭环转速电流模式, 系统中设计了两个调速器, 用来对电流以及转速进行调节, 这两个调节器是通过串级联接的, 这样就保证了起动过程中只存在电流的负反馈, 并且在同一调节器的输入端不能够同时存在电流负反馈和转速负反馈, 转速负反馈单独作用在稳态转速过程中, 这样才能够实现静、动态性能良好。

6 系统软件

6.1 电流中断设计

中断程序主要是实现电机的自适应电流运算、调整电流运算以及索零运算等。本文设计的系统中反馈电流设置为I, 临界电流设置为I0。

6.2 速度中断

速度的定值输入是通过速度环子程序来完成的, 同时还可以实现限幅计算、PID计算偏差计算以及转速计算等。

7 结语

本文设计的系统是数字化的由8031单片机控制的直流调速系统, 它的主体是直流电动机, 在这个直流调控系统中的逻辑切换元件、速度调控器、电流调整器以及模拟触发器等硬件设备均被单片机所代替, 从而实现了直流调控系统的全自动化以及全数字化。参数的计算和输入均是通过软件编程完成的, 达到了最大的系统优化。

摘要:本文的研究对象是数字化的由8031单片机控制的直流调速系统, 它的主体是直流电动机, 在这个直流调控系统中的逻辑切换元件、速度调控器、电流调整器以及模拟触发器等硬件设备均被单片机所代替。本设计成功实现了软硬件设计并且进行了计算机模拟仿真。

关键词:单片机,直流,调速

参考文献

[1]周军.电气控制及PLC[M].机械工业出版社, 2001, 8.

基于单片机控制的步进电机设计 篇10

关于步进电机的应用已经涉及国民生活的方方面面, 例如指针式电子钟表、印刷机等等。为了能够进一步达到智能化控制的要求, 需要步进电机的控制性能上升一个水平, 于是提出了单片机控制的步进电机。步进电机与其他电机最大的不同在于, 步进电机是通过输入脉冲信号进行控制, 其作为数字控制系统中的一个执行元件, 转速由脉冲信号的频率决定, 这就使得步进电机十分适合与单片机结合。

1 步进电机概述

步进电机被广泛应用于精确定位系统, 与其他电机不同, 不会出现积累误差。综合分析步进电机的特点, 主要有以下几点:第一, 控制更加方便, 直接使用数字信号进行开环控制;第二, 使用更加方便, 不需要进行数模转换;第三, 在起动、停止、正反转以及变速上具有良好反应, 响应性较佳;第四, 整机结构简单, 成本低。目前, 步进电机的种类从类型上分为机械式、电磁式、组合式三种[1], 根据结构特点划分为反应式、永磁式、混合式[2]。其中反应式步进电机结构最简单, 同时也是应用范围最广泛的一种。从步进电机的原理分析, 其之所以能够旋转起来, 最根本的原因是错齿。

2 步进电机控制系统

步进电机控制系统由运动控制部件、驱动部件、运动执行部件组成[3]。作为一个完整的整体, 以单片机控制的步进电机系统由单片机系统、外围电路、驱动电路、步进电机组成。其中, 单片机系统是利用微处理器、只读存储器、随机存储器、中断系统等电路集成在一个芯片中, 这种基于单片机的步进电机能够提高整个系统的工作效率与可靠性。

3 基于单片机控制的步进电机设计

3.1 硬件系统设计

综合考虑各方面条件、因素, 本次设计采用AT89S52型单片机, 在系统功能方面, 采用电路上电复位或手动按钮复位, 精度高。使用单片机最小系统和少量外围器件组成基于单片机的步进电机控制系统。单片机最小系统由单片机、时钟晶振电路、复位电路等组成[4]。AT89S52单片机主要功能如表1所示。

考虑到单片机直接输出的脉冲信号太小, 需要增加一个驱动电路, 本文采用型号为ULN2003A的高压大电流、大功率达林顿芯片驱动步进电机, 保证步进电机正常工作。为了进一步提高其性能, 本设计增加拓展实现方案, 利用两个型号为ULN2003A的大功率达林顿芯片作为步进电机驱动板, 提高低电平驱动能力。

3.2 软件系统设计

借助软件编程, 利用单片机进行电极控制的脉冲分配, 保证步进电机的正常工作。本次研究中步进电机采用的是四相步进电机, 但为提高步进电机的负载能力, 使用八拍驱动方式, 因此最后组成四相八拍。这种方式的通电顺序是A相线圈最先开始通电, 之后转换为A、B两相线圈同时通电, 然后再单独给B相通电, 之后B、C两相线圈通电。在设计阶段, 关于基础实现方案程序的设计方面, 单片机控制步进电机的流程可以简单化为开始→初始化按键判断→相应按键子程序。

关于软件设计的拓展实现方案, 在单片机的P2口设计堆栈, 开始时步进电机停转, 对按键进行扫描, 判断是否有按键按下, 一般情况下, 在每次按键按下之后, 一般所按的按键都会在闭合与断开位置之间跳几下才能够稳定闭合, 这种情况称为按键抖动。一般这种抖动的持续时间不会超过10ms。为了保证系统的正常运行, 可以在系统中加入按键消抖程序, 只要按下了按键, 按键消抖程序就会启动, 消除按键抖动。

将编写完成的程序输入单片机硬件芯片中, 同时还需要各种辅助工具才能完成[5]。根据设计要求, 为提高编程效率及效果, 加入仿真器对已经编写好的单片机程序进行调试。所谓的仿真器就是利用仿真软件进行单片机运行的实时模拟及在线调试。仿真器具备基本的输入装置和输出装置, 同时配备各种相应支持程序调试的软件, 最后达到直接通过单片机仿真器进行程序输入与修改的效果, 同时还能够观察程序运行结果和运行过程中的中间值, 以大大提高编程效果。其中使用到的编程器作用是将数据写入可以编程的集成芯片中, 目前比较常用的是存储器之类可编程的芯片, 在经过仿真器调试之后, 编译出十六进制或二进制的代码, 将其写入单片机程序存储器中, 保证单片器能够在电路板上正常运行。

开始进行仿真调试, 将仿真器的仿真头插在插座上, 连接电源。启动仿真软件, 选择CPU和相关设置。新建一个文件夹, 将步进电机的控制程序输入, 完成保存。进行程序编译操作, 如出现出错的命令, 会自动弹出一个信息窗口, 显示错误的相关信息。在编译完成后会生成一个HEX文件。进行调试操作, 观察电路板步进电机的运转效果, 如果存在功能障碍问题, 则需重新进行编译操作。为了更加快速、准确地找到错误, 可以在仿真调试中将单步执行和全速执行两种调试方式结合起来使用。其中, 单步执行能够详细了解每条指令的具体执行情况, 全速执行可以配合设置断点, 在大致范围上确定错误出现的位置。

在完成了仿真调试并且结果未出现错误之后, 将编程器中已经编写好的程序放进单片机硬件芯片中, 具体操作程序为:第一步, 将单片机根据要求插入编程器插座中, 接通电源;第二步, 打开编程软件, 在还未进入程序之前所有窗口的显示均为“FF”;第三步, 选择需要编程器件的型号, 最后点击“确定”选择;第四步, 调入选择, 需要注意的是, 在调入之前需要清空缓冲区;第五步, 在完成文件的调入后, 数据窗口会显示出具体的数据;第六步, 进行编程操作, 直接选择自动编程, 完成整个操作;第七步, 在点击自动编程之后, 程序会开始自动进行写入操作, 完成之后显示100%, 则编程成功。程序在完成调试仿真并且最后结果无误之后, 利用编程器将已经编写好的程序写入单片机的存储器中, 整个操作就完成, 单片机就可以在电路板上进行正常运行了。

4 结语

基于单片机的步进电机利用单片机产生驱动步进电机的脉冲信号, 并传动给驱动电路, 驱动电路根据控制信号进行操作, 从而实现了步进电机的转速与方向控制。在硬件设计与软件设计方面通过一些列操作, 有效提高了控制的灵活性。这种基于单片机的步进电机控制器控制效果较佳, 展现出了良好的运行效果。本文将研究的重点放在了设计方面, 后期的仿真操作以及实际运行仍然需要从多个角度、多个方面进行深入分析与研究。

摘要:与其他类型的电机相比, 步进电机具有更加明显的优势, 步进电机中的定角转动控制利用电脉冲信号控制相绕组电流, 因此实现了更精确的开环控制, 同时还能够实现无积累误差, 这使步进电机成为了目前常用的一种机电元件, 而使用单片机控制的步进电机系统控制性能更加优良。现以步进电机的基本概念为切入点, 在分析步进电机控制系统的基础上进行步进电机的单片机控制的设计, 旨在为教学及实践提供切实可行的理论参考。

关键词:步进电机,单片机控制,设计

参考文献

[1]王晨光, 孙运强, 许鸿鹰.步进电机的单片机控制设计分析[J].国外电子测量技术, 2008, 27 (9) :39-41, 60.

[2]郑虎子.单片机控制混合式步进电机驱动电源的研究及设计[D].武汉:华中科技大学, 2007:123-124.

[3]汪姝.基于单片机的步进电机驱动控制系统的设计与实现[D].南昌:南昌大学, 2012:186-187.

[4]熊超美.步进电机的单片机控制硬件系统设计[J].湖南有色金属, 2011, 27 (2) :61-64.

基于单片机的步进电机控制应用 篇11

步进电机是开环伺服系统的执行元件,它将脉冲信号转换成直线或角位移,具有较好的控制性能,其启动、停车、反转及其它任何运行方式的改变都可在少数脉冲内完成,且可获得较高的控制精度,因此在经济型数控机床及自动化设备中得到了广泛的应用。目前,步进电机的控制方法是多种多样的,有传统方式的,也有采用PLC控制的,而单片机是介于工控计算机和可编程控制器之间的一种新型控制器,它控制功能强,灵活性和适应性好,成本低廉,正逐渐成为步进电机的主要控制装置,使电机的控制方式由模拟控制逐渐让位于以单片机为核心的数字控制。

本文具体讨论了由单片机实现的步进电机的速度调节问题,并结合实例给出实现的方法。

1 脉冲分配控制

利用单片机控制实现脉冲分配的方法有两种:软件法和硬件法。

软件法完全利用软件方式,按照给定的通电换相顺序,通过单片机的I/O口向驱动电路发出控制脉冲。如图1是用这种方法控制四相步进电机的硬件接口例子。利用8051系列单片机的P1.0—P1.3这4条I/O线,向四相步进电机传送控制信号。

设四相八拍工作方式通电换相的相序为A-AB-B-BC-C-CD-D-DA,共8个状态。如果P1口输出的控制信号中,用“0”和“1”分别代表绕组通电和断电,则可用8个控制字来对应这8个状态。在程序中,只要依次将这8个控制字送到P1口,每送一个控制字,就完成一拍,步进电机转过一个步距角。程序就可根据这个原理来设计。

软件法在控制电机运行过程中,要占用大量的CPU时间,可能使单片机无法同时进行其他工作,所以我们更愿意采用硬件法。

硬件法实际是采用脉冲分配器芯片来进行通电换相控制。这里采用8713芯片来实现对步进电机的控制。8713芯片属单极性控制,可实现三相步进电机的单三拍、双三拍、六拍控制;四相步进电机的单四拍、双四拍、八拍控制;还可以选择单、双时钟输入;具有正反转控制、初始化复位、工作方式和输入脉冲状态监视等功能;采用4-18V直流工作电源,输出电流为20m A.

8713芯片有16个引脚,各引脚的功能如下表所列:

8713芯片与单片机的接口如图2所示。本例选用单时钟输入方式,3脚为步进脉冲输入端,4脚为转向控制端,这两个引脚的输入均由单片机提供和控制。选用四相八拍控制方式,所以5、6、7脚均接高电平。

采用硬件脉冲分配器后,单片机只需提供步进脉冲和转向控制,脉冲的分配工作交给了8713芯片来完成,因此,CPU的负担减轻了许多。

2 步进电动机的速度控制

步进电机速度的控制是通过控制单片机发出的步进脉冲的频率来实现。对于软件脉冲分配方式采用调整两个控制字之间的时间间隔来实现调速;对于硬件脉冲分配方式则采用定时中断方式来调整脉冲频率从而实现调速。

根据以上所述,控制步进电机速度的方法有两种。

(1)软件延时法:通过调用标准的延时子程序,改变两控制字之间延时时间来实现。采用软件延时方法实现速度调节的优点是程序简单,思路清晰,不占用硬件资源,缺点是CPU的等待时间过长,占用大量机时,因此没有实用价值。

(2)定时器中断法。以8051单片机为例,在中断服务子程序中进行脉冲输出操作,调整定时器的定时常数就可实现脉冲频率的调整,从而实现调速。这种方法占用CPU时间较少,容易实现,是一种比较实用的调速方法。下面简单说明这种调速方法的应用。

假定8051单片机晶振频率为12 MHz,使用定时器T0,设定T0工作在模式1(16位定时/计数器)。今要求它能定时地发出步进脉冲,其定时中断产生的脉冲序列的周期(即步进电机的脉冲间隔)假定为20 000 s,则可算出所对应的定时常数为B1E0H,CPU相应的程序如下:

主程序:

MOV TMOD,#01H;设T0取工作模式1。

MOV TH0,#0B1H;装入定时常数高8位。

MOV TLO,#0E0H;装入定时常数低8位。

SETB TR0;启动T0定时。

SETB ET0;允许T0中断。

SETB EA;允许CPU中断。

$;CPU等待T0的定时到。

中断服务程序:

CLR ET0;关T0中断。

CALL I_STEP;控制电机走一步(调用脉冲发生子程序)。

RETI;T0中断返回。

这里,脉冲发生子程序就省略了。

只要改变T0的定时常数,就可实现步进电机的调速。这种方法既需要硬件(T0定时器)又需要软件来确定脉冲序列的频率,是一种软硬件相结合的方法,缺点是占用了一个定时器。但在比较复杂的控制系统中常采用这种方法,这样可以提高CPU的利用率。

3 步进电动机的加、减速控制

步进电机启动时如果一次将速度升到给定速度,由于启动频率超过极限启动频率fq,会发生失步现象,而到终点时若突然停下,由于惯性作用,又会发生过冲现象而影响定位精度;若缓慢升降速,又会影响执行机构的工作效率。所以对步进电机的加减速要严格控制,在保证不失步和过冲的前提下,用最快的速度移动到指定位置。

3.1 升降频方法

步进电机常用的升降频控制方法有3种:

(1)直线升降频。如图3所示。这种方法是以恒定的加速度进行升降,平稳性好,适用于速度变化较大的快速定位方式。加速时间虽然长,但软件实现比较简单。

(2)指数曲线升降频。如图4所示,这种方法是从步进电机的矩频特性出发,根据转矩随频率的变化规律推导出来的。它符合步进电机加减速过程的运动规律,能充分利用步进电机的有效转矩,快速响应性能较好,升降时间短。

(3)抛物线升降频。如图5所示,抛物线升降频将直线升降频和指数曲线升降频融为一体,充分利用步进电机低速时的有效转矩,使升降速的时间大大缩短,同时又具有较强的跟踪能力,这是一种比较好的方法。

3.2 实现方法

步进电机在升降频过程中,用软件方法来控制两个脉冲时间间隔来实现频率的变化控制,具体有两种方法:

(1)递增/递减一定值。如线性升降频,两脉冲频率的差值∆f=|fi-fi-1|是相等的,其对应的时间增量∆f也是相等。时间的计算若采用软件延时的方法,可先设置一个基本的延时单元Te,不同频率的脉冲序列可由Te的不同倍数产生。设起动时所用频率对应的时间常数为t Ne以后逐次递减∆t(设∆t=t M),直到等于运行频率所对应的时间(t Re)为止。这种方法编程简单,节省内存。时间计算也可采用定时中断的方法,可将定时常数逐次递增/递减一定值,实现升降频控制。因其定时不是连续的,所以升降速曲线不是一条直线,而是折线,但可近似看成直线。

(2)查表法。为了对步进电机实现最佳升降频控制,缩短电机的升降频时间,可从步进电机矩频特性出发进行分析。由步进电机的矩频特性(见图6)可知,转矩M是频率f的函数,它随着f的上升而下降,所以它呈软的特性。当频率较低时,转矩M较大,对应的角加速度dω/dt也较大,所以升频的脉冲频率增加率df/dt应取得大一些;当频率较高时,转矩M较小,dω/dt也较小,此时,升频的脉冲频率增加率df/dt应取小一些,否则,会由于无足够的转矩而失步。因此,根据步进电机的矩频特性,可以看出:在步进电机的升频过程中,应遵循“先快后慢”的原则。按此要求,从开始升频到升至fb之间,按最佳升频要求的频率取出f1,f2,f3,……,fn并将它们所对应的脉冲间隔时间t1,t2,……,tn,依次存于内存的一个数据区,如表1所示(称阶梯频率表)。

考虑到步进电机的惯性作用。在升速过程中,如果速率变化太大,电机响应将跟不上频率的变化,出现失步现象。因此,每改变一次频率,要求电机持续运行一定步数(称阶梯步长),使步进电机慢慢适应变化的频率,从而进入稳定的运行状态。根据最佳升降频控制规律,可推出步进电机的“频率-步长”关系曲线如图7所示。

这样,升频时除需将阶梯频率表存于内存的一个数据区内外,还需建立另一个数据区,用来存放阶梯步长(如表2所示)。在升频过程中,可用查表的方法,分别得到fi=(ti)和所对应的△Li,实现升降频控制。软件上的具体做法是:将fi(ti)和△Li在EPROM中交替存放(如表3所示),程序执行时按顺序取数,每次取出一个频率和该频率对应的步长。

减速时也采用与加速时相同的方法,只不过其过程是加速时的逆过程。

详细的步进电机升降频软件流程如图8所示

4 结束语

利用单片机可方便地实现对步进电机的速度和位置进行控制,可靠地实现各种步进电机的操作,完成各种复杂的工作。它是一种先进的工业自动化设备,可广泛地应用在经济型机床以及其他自动化设备中。本文提出的步进电机的速度调节方法,成功地应用在多种经济型数控机床上。实践表明:只要选用了适当的升降频便可提高机床的定位精度、改善运动部件的平稳性、缩短步进电机的启停时间、提高劳动生产率。

参考文献

[1]王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2002.

[2]何立民.MCS-51系列单片机应用系统设计[M].北京:北京航空航天大学出版社,1992.

[3]沈得金,陈粤初.MCS-51系列单片机接口电路与应用程序实例[M].北京:北京航空航天大学出版社,1992.

上一篇:北虫草子实体下一篇:复合合金层