单片机微型直流电机控制系统课程设计.docx

上传人:b****1 文档编号:22996853 上传时间:2023-04-29 格式:DOCX 页数:21 大小:252.09KB
下载 相关 举报
单片机微型直流电机控制系统课程设计.docx_第1页
第1页 / 共21页
单片机微型直流电机控制系统课程设计.docx_第2页
第2页 / 共21页
单片机微型直流电机控制系统课程设计.docx_第3页
第3页 / 共21页
单片机微型直流电机控制系统课程设计.docx_第4页
第4页 / 共21页
单片机微型直流电机控制系统课程设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

单片机微型直流电机控制系统课程设计.docx

《单片机微型直流电机控制系统课程设计.docx》由会员分享,可在线阅读,更多相关《单片机微型直流电机控制系统课程设计.docx(21页珍藏版)》请在冰豆网上搜索。

单片机微型直流电机控制系统课程设计.docx

单片机微型直流电机控制系统课程设计

2021单片机课程设计

 

单片机课程设计报告

题目微型直流电机控制系统设计

专业班级

学号

实现形式Proteus

XX

分数

指导老师

学院名称电气信息学院

 

附录二〔程序清单〕...............................................................................16

附录三〔器件清单〕...............................................................................18

 

1绪论

现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统中已大量采用晶闸管(即可控硅)装置向电动机供电的KZ—D拖动系统,取代了笨重的发电动一电动机的F—D系统,又伴随着电子技术的高度开展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它开展的趋势。

直流电机调速根本原理是比拟简单的〔相对于交流电机〕,只要改变电机的电压就可以改变转速了。

改变电压的方法很多,最常见的一种PWM脉宽调制,调节电机的输入占空比就可以控制电机的平均电压,控制转速。

1.1课题背景

直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。

从控制的角度来看,直流调速还是交流拖动系统的根底。

早期直流电动机的控制均以模拟电路为根底,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件局部非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的开展和应用范围的推广。

随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能到达更高的性能。

采用单片机构成控制系统,可以节约人力资源和降低系统本钱,从而有效的提高工作效率。

传统的控制系统采用模拟元件,虽在一定程度上满足了生产要求,但是因为元件容易老化和在使用中易受外界干扰影响,并且线路复杂、通用性差,控制效果受到器件性能、温度等因素的影响,故系统的运行可靠性及准确性得不到保证,甚至出现事故。

目前,直流电动机调速系统数字化已经走向实用化,伴随着电子技术的高度开展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它开展的趋势。

1.2课题要求

以AT89C51单片机作为主控制器、对微型直流电机进展控制。

利用霍尔元件设计转速测量、检测直流电机速度,并显示。

单片机为控制核心的直流电机PWM调速控制系统,并实现以下功能:

1)直流电机的正转;

2)直流电机的反转;

3)直流电机的加速;

4)直流电机的减速;

5)直流电机的转速在数码管上显示;

6)直流电机的启动;

7)直流电机的停顿;

2方案论证

2.1系统组成

微型直流电机控制系统由单片机、显示电路、直流电机及其驱动电路组成。

2.2单片机选型

单片机直流调速系统可实现对直流电动机的平滑调速。

PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而到达控制要求的一种电压调整方法。

在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通〞和“断开〞时间的长短。

通过改变直流电机电枢上电压的“占空比〞来改变平均电压的大小,从而控制电动机的转速。

因此,PWM又被称为“开关驱动装置〞。

本系统以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。

2.3驱动方案论证

L298是SGS公司的产品,比拟常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。

可以方便的驱动两个直流电机,或一个两相步进电机。

L298N可承受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。

4脚VS接电源电压,VS电压范围VIH为+2.5~46V。

输出电流可达2.5A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。

5,7,10,12脚接输入控制电平,控制电机的正反转。

EnA,EnB接控制使能端,控制电机的停转。

EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。

同为低电平电机停顿,同为高电平电机刹停。

下列图是其引脚图:

引脚介绍:

第1、15脚:

可单独引出连接电流采样电阻器,形成电流传感信号,也可直接接地。

第2、3脚:

A电机输出端口。

第4脚:

接逻辑控制的+5V电源。

第6脚:

A桥使能端口。

第5、7脚:

输入标准TTL电点平对A桥的输出OUT1、OUT2进展控制。

第8脚:

接电源地。

第9脚:

接电机驱动电源,最高可达50V。

第11脚:

B桥使能端口。

第10、12脚:

输入标准TTL电平对B桥的输出OUT3、OUT4进展控制。

第13、14脚:

B电机输出端口。

 

 

2.4检测方案论证

采用霍尔元件测量。

主要分为两个局部。

第一局部是利用霍尔器件将电机转速转化为脉冲信号;第二个局部是使用光耦,将传感器输出的信号和单片机的计数电路两个局部隔开,减少计数的干扰。

用于测量的A44E集成霍尔开关,磁钢用直径D=6.004mm,长度为L=3.032mm的钕铁硼磁钢。

电源用直流,霍尔开关输出由四位半直流数字电压表测量,磁感应强度B用95A型集成霍尔元件测量。

图2-3霍尔片管脚和管脚接线

2.5人机接口方案

采用开关,开关一端接单片机,另一端接地,一旦按下,就会向单片机输入低电平。

还有一种方法就是采用矩阵键盘。

矩阵式构造的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口那么作为输入。

这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,那么输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

其图形如下:

在本系统中,需要输入的信号比拟简单,采用独立键盘接线简单,实现容易,所以就用了开场所说的用一个开关。

3硬件设计

3.1单片机最小系统设计

如下图,单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路.

3.2I/O分配

STC89C51有四组接口:

P0口,P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进展校验时,P0输出原码,此时P0外部必须被拉高。

P1口,P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址接收。

P2口,P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。

在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口。

在本系统中,P0口输出数码管的段选信号;P1口作为人机交互口,接开关;P2口输出数码管的位选信号。

3.3驱动电路设计

本系统采用89C51控制输出数据,由单片机发生电路产生PWM信号,送到芯片L298,并通过L298电源驱动直流电机,并通过单片机程序控制L298,改变直流电机的占空比,进而实现电机的加减速,正反转控制。

其驱动电路如下面局部电路所示。

3.4转速检测电路设计

转速检测电路如下图,电机自动根据转速输出对应的脉冲数,通过74LS386将脉冲转化成方波,然后由单片机的T1计数器对方波进展计数,最后通过一定的算法转化成转速并输出。

 

3.5人机接口电路设计

人机接口局部电路图如下列图所示,从上至下共有五个开关,一次是正转、反转、加速、减速、停顿。

 

4软件设计

 

4.1主程序流程

主程序主程序是一个循环程序,其主要思路是,先设定好速度初始值,这个初始值与测速电路送来的值相比拟得到一个误差值,然后通过在程序中占空比设置输出控制系数给改变波形的占空比,进而控制电机的转速。

其程序流程图如下图。

软件由1个主程序、1个中断子程序和显示子程序组成。

其程序流程如下:

 

4.2按键扫描子程序流程图

按键扫描程序采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。

要实现按住加/减速键不放时恒加或恒减速直到放开停顿,就需在判断是否松开该按键时,每进展一次增加/减少一定的占空比。

按键扫描程序流程图如下列图4.2所示

 

 

5问题与分析

 

5.1设计问题

在课设的过程中出现了一些问题,或大或小,但都被我一一解决了。

不如说系统图的端口接线,有时候会接错,那就不能实现电机的转动,这需要了解每个端口的作用。

在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM信号发生电路的控制、以及单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向教师和同学请教,希望能通过大家一块的努力把软件编写的更完整,让系统的功能更完备。

经过多天的努力探索,大局部问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。

后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。

在仿真软件方面选择了Proteus,在Proteus中画出系统电路图,当程序在KeilC中调试通过后,会生成以hex为扩展名的文件,这就是使系统能够在Proteus中成功进展仿真的文件。

将些文件加载到单片机仿真系统中,验证是否能完成对直流电机的速度调节。

假设不成功,那么重新回到软件调试步骤,进展软件调试。

找出错误所在,更正后重新运行系统。

硬件仿真电路的设计完全按照论文设计方案进展。

在仿真的过程中也遇到了很多问题,比方元件选择、电路设计等,在元件选择方面,有的芯片是我以前学习的时候所没有遇到过的,所以在寻找和使用的过程中也遇到很多麻烦,但经过自己的努力,并借鉴从互联网上找到的资料,我逐渐掌握这些元件的使用方法和原理,为系统设计和仿真提供了良出的根底。

另外,在进展仿真的时候,也经常出现程序没有错误了,但是仿真通不过的情况,这些大局部原因是在管脚定义上,很多系统仿真的问题都出在这。

经过这段时间的努力,使我对仿真软件以及系统设计电路有了更深一步的认识,也为系统的成功奠定了根底。

 

5.2辩论问题

问:

光电耦合器的作用是什么?

答:

光电耦合器也称为光电隔离器或光耦合器,有时简称光耦。

这是一种以光为耦合媒介,通过光信号的传递来实现输人与输出间电隔离的器件,可在电路或系统之间传输电信号,同时确保这些电路或系统彼此间的电绝缘。

问:

在AT89C51芯片中XTAL2端口的作用是什么?

答:

XTAL1和XTAL2分别为反向放大器的输入和输出,而XTAL2是来自反向振荡器的输出。

 

参考文献

[1]X友德等,单片机原理应用与实验[M],复旦大学1992.

[2]X毅刚,彭喜源,谭晓钧,曲春波.MCS-51单片机应用设计[M].XX工业大学2001.1.

[3]宋庆环,才卫国,高志,89C51单片机在直流电动机调速系统中的应用[M]。

XX学院,2021.4

[4]陈 锟 危立辉,基于单片机的直流电机调速器控制电路[J],中南民族大学学报(自然科学版),2003.9.

[5]李维军韩小刚李晋,基于单片机用软件实现直流电机PWM调速系统[J],维普资讯,2007.9

[6]曹巧媛.单片机原理及应用[M].,电子工业,1997.

[7]X大茂,严飞.单片机应用系统监控主程序的设计方法[J].XX大学学报(自然科学XX农林大学硕士论文版),1998.2.

[8]hi.baidu./wolfwhite/blog/item/1e23bf09e83e16256b60fbf8.html

[9]朱定华,戴汝平编著.单片机原理与应用[M].清华大学北方交通大学,2003.8.

[10].dianzi9./danpianji/202108/10-846.html

[11]薛钧义X彦斌编著.MCS—51/96系列单片微型计算[M].XX交通大学,1997.8

[12]陈国呈编著.PWM逆变技术及应用[M].中国电力.2007年7月

[13]马忠梅等编著.单片机的C语言应用程序设计〔第4版〕[M],航天航空大学.2007.4

[14]X昌华,易逵编著.8051单片机的C语言应用程序设计与实践[M].国防工业2007.9

 

附录一〔原理图〕

 

 

附录二〔程序清单〕

#include

#defineucharunsignedchar

ucharN=0;

ucharX=50;//占空比初始值为50%

inta,b;

sbitRS=P3^0;

sbitRW=P3^1;

sbitEN=P3^2;

unsignedcharcodestr1[]={"ZHENGZHUAN"};

unsignedcharcodestr2[]={"SPEEDUP"};

unsignedcharcodestr3[]={"FANZHAUN"};

unsignedcharcodestr4[]={"SPEEDDOWN"};

unsignedcharcodestr5[]={"STOP"};

uchardatadisdata[5];

voiddelay1ms(unsignedintms)//延时0.1毫秒〔不够准确的〕

{unsignedinti,j;

for(i=0;i

for(j=0;j<100;j++);

}

voidwr_(unsignedchar)//写指令//

{delay1ms(0.1);

RS=0;

RW=0;

EN=0;

P2=;

delay1ms(0.1);

EN=1;

delay1ms(0.1);

EN=0;

}

voidwr_dat(unsignedchardat)//写数据//

{delay1ms(0.1);

RS=1;

RW=0;

EN=0;

P2=dat;

delay1ms(0.1);

EN=1;

delay1ms(0.1);

EN=0;

}

voidlcd_init()//初始化设置//

{delay1ms(15);

wr_(0x38);

wr_(0x08);

wr_(0x01);

wr_(0x06);

wr_(0x0c);

}

voiddisplay(unsignedchar*p)//显示//

{

while(*p!

='\0')

{

wr_dat(*p);

p++;

delay1ms(0.1);

}

}

init_play()//初始化显示

{lcd_init();

wr_(0x80);

display(str1);

wr_(0xc0);

display(str2);

while

(1);

}

sbitPWM=P3^6;//PWM输出脚

sbitP1_2=P1^2;//正传

sbitP1_3=P1^3;//反转

sbitP1_4=P1^4;//加速

sbitP1_5=P1^5;//减速

sbitP1_6=P1^6;//停顿

sbitP1_1=P1^1;

sbitP1_0=P1^0;

sbitP0_0=P0^0;

sbitP0_1=P0^1;

sbitP0_2=P0^2;

sbitP0_3=P0^3;

voidscjs(void)interrupt3

{

TH1=0Xff;

TL1=0x17;

b++;

}

main()

{

TMOD=0x00;

IE=0X88;

TH1=0Xff;

TL1=0X17;

TR0=1;

TR1=1;

a=0;

b=0;

while

(1)

{

PWM=1;

while

(1)

{

b=0;

while(!

b);

if(N==X)

PWM=0;

if(N==100)break;

N++;

if(P1_2==0)//M1正转

{

P1_1=1;

P1_0=0;

X=50;

P0_0=0;

P0_1=1;

lcd_init();wr_(0x80);display(str1);

}

if(P1_3==0)//M1反转

{

P1_1=0;

P1_0=1;

X=50;

P0_0=1;

P0_1=0;

lcd_init();wr_(0x80);display(str3);

}

if(P1_6==0)//M1停顿

{

P1_1=1;

P1_0=1;

P0_0=1;

P0_1=1;

P0_2=1;

P0_3=1;

lcd_init();wr_(0x80);display(str5);

}

if(P1_4==0)

{

P1_1=1;

P1_0=0;

X=100;

P0_2=0;

P0_3=1;

lcd_init();wr_(0xc0);display(str2);

}

if(P1_5==0)

{

P1_1=1;

P1_0=0;

X=20;

P0_2=1;

P0_3=0;

lcd_init();wr_(0xc0);display(str4);

}

}

N=0;

}

}

 

附录三〔器件清单〕

AT89C51芯片×1

电动机×1

L298芯片×1

LED×4

LCD×1

晶闸管×1

电阻×6

电容×3

开关×6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1