单片机课设PWM控制微型直流电机调速正反转启停分解.docx

上传人:b****7 文档编号:26075445 上传时间:2023-06-17 格式:DOCX 页数:32 大小:508.20KB
下载 相关 举报
单片机课设PWM控制微型直流电机调速正反转启停分解.docx_第1页
第1页 / 共32页
单片机课设PWM控制微型直流电机调速正反转启停分解.docx_第2页
第2页 / 共32页
单片机课设PWM控制微型直流电机调速正反转启停分解.docx_第3页
第3页 / 共32页
单片机课设PWM控制微型直流电机调速正反转启停分解.docx_第4页
第4页 / 共32页
单片机课设PWM控制微型直流电机调速正反转启停分解.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

单片机课设PWM控制微型直流电机调速正反转启停分解.docx

《单片机课设PWM控制微型直流电机调速正反转启停分解.docx》由会员分享,可在线阅读,更多相关《单片机课设PWM控制微型直流电机调速正反转启停分解.docx(32页珍藏版)》请在冰豆网上搜索。

单片机课设PWM控制微型直流电机调速正反转启停分解.docx

单片机课设PWM控制微型直流电机调速正反转启停分解

2014单片机课程设计

 

题目

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

专 业 班 级

学 号

姓 名

分 数

实现形式

Proteus仿真

指导教师

苏文静

学院名称

电气信息学院

 

 

2014年06月

摘要

直流电机即将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

本设计主要是利用单片机产生可调的PWM信号来实现对微型直流电机的启停、正反转以及加减速控制。

系统硬件电路包括最小系统、驱动电路、按键控制电路、状态显示电路四大部分。

最小系统是为了使单片机正常工作,包括晶振电路和复位电路。

驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动按键控制电路由开关和按键组成,由操作者根据工作需要进行相应的操作。

状态显示电路主要是为了显示电机的工作状态和转速。

关键词:

直流电机;启停;正反转;调速

 

Abstract

TheDCmachineisanrotatingmotorthatcanconvertDCenergyintothemechanicalenergy(DCmotor)orconvertthemechanicalenergyintodirectcurrentenergy(DCgenerator).Thisdesignismainlyusedtoproducesingle-chipadjustablePWMsignaltoachievethemicro-motorstartandstop,reversing,andaccelerationanddecelerationcontrol.Thedesignofthehardwarecircuitincludesfourparts:

theminimumsystem,drivecircuit,controlcircuitandastatusdisplaycircuit.Minimumsystemistomakethecomputerwork,includingcrystalcircuitandresetcircuit.DrivecircuitismainlytoSCMpulsepoweramplifier,therebydrivingmotortorotatethekeycontrolcircuitbyswitchesandkeys.theoperatorcanoperatetheseswitchesandkeysaccordingtotheneedsofthework.Statusdisplaycircuitismainlyinordertodisplaytheworkingstatusofthemotorandthespeed.

Keywords:

TheDCmachine;Start/stop;Positiveinversion;timing

 

第一章绪论

1.1课题研究的背景和意义

微型直流电机是指输出或输入为直流电能的旋转电机。

微型直流电机的效率一般都要高于其他类型的电机,所以达到相同的输出功率,直流电机的体积一般都比较小。

对于安装位置有限的情况下,微型直流电机相对比较合适。

微型直流电机有个特点是电机可以根据负载大小,自动降速,来达到极大的启动扭矩。

这一点交流电机就比较困难。

另外直流电机比较容易吸收负载大小的突变,电机转速可以自动适应负载大小。

最早发明能将电能转换为机械能的设备,它可追溯到法拉第所发明的碟型电动机。

到了1880年已成为主要的电能到机械能转换装置,但之后由于交流电的使用日趋普及,而发明了感应电动机与同步电动机,直流电动机的重要性亦随之降低。

直到约1960年,由于SCR的发明,磁铁材料、碳刷、绝缘材料的改良,以及变速控制的需求日益增加,再加上工业自动化的发展,直流电动机驱动系统再次得到了发展的契机,到了1980年直流伺服驱动系统成为自动化工业与精密加工的关键技术。

近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求。

由于采取传统的调速系统主要有以下的缺陷:

模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。

因此通过PWM方式控制直流电机调速的方法就应运而生。

而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。

并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。

现在,随着我国经济和文化事业的发展,很多场合都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。

因此,利用单片机产生可调PWM信号来控制直流电机是非常有意义的。

1.2课程设计任务及要求

任务:

1.通过单片机产生可调的PWM信号驱动微型直流电机;

2.通过按钮可控制电机启停、正反转以及加减速;

3.显示电机的工作状态以及速度档位。

要求:

进行控制系统硬件电路设计,编写程序、画出电路原理图、利用proteus进行仿真。

1.3软硬件运行环境及开发工具

硬件:

keil和proteus软件、PC机一台

开发语言:

C语言

 

第二章直流电机简介

2.1直流电机的结构

直流电机的结构应由定子和转子两大部分组成。

直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。

运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。

  

1)主磁极。

作用是产生气隙磁场。

主磁极由主磁极铁心和励磁绕组两部分组成。

铁心一般用0.5mm~1.5mm厚的硅钢板冲片叠压铆紧而成,分为极身和极靴两部分,上面套励磁绕组的部分称为极身,下面扩宽的部分称为极靴,极靴宽于极身,既可以调整气隙中磁场的分布,又便于固定励磁绕组。

励磁绕组用绝缘铜线绕制而成,套在主磁极铁心上。

整个主磁极用螺钉固定在机座上。

2)机座。

电机定子的外壳称为机座。

它为主磁路的一部分,同时构成电机的结构框架,由厚钢板或铸钢件构成;  

3)电枢铁芯。

为电枢绕组的支撑部件,也为主磁路的一部分,由硅钢片叠压而成;  

4)电枢绕组。

直流电机的电路部分,由绝缘的圆形或矩形截面的导线绕成;  

5)换向器。

由许多鸽形尾的换向片排列成一个圆筒、片间用V形云母绝缘,两端再用两个形环夹紧而构成。

用作直流发电机时,称整流子,起整流作用;用于直流电动机时,用于(逆变)换向;  

6)电刷装置。

由电刷、刷盒、刷杆和连线等构成,是电枢电路的引出(或引入)装置。

  

7)换向极。

作用是改善换向,减小电机运行时电刷与换向器之间可能产生的换向火花,一般装在两个相邻主磁极之间,由换向极铁心和换向极绕组组成。

换向极绕组用绝缘导线绕制而成,套在换向极铁心上,换向极的数目与主磁极相等。

2.2直流电机的工作原理

直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。

直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。

感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。

导体受力的方向用左手定则确定。

这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。

如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。

2.3直流电机的分类

直流电动机按结构及工作原理可划分:

无刷直流电动机和有刷直流电动机。

 

(1)无刷直流电动机:

无刷直流电动机是将普通直流电动机的定子与转子进行了互换。

其转子为永久磁铁产生气隙磁通:

定子为电枢,由多相绕组组成。

在结构上,它与永磁同步电动机类似。

无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同.在铁芯中嵌入多相绕组(三相、四相、五相不等).绕组可接成星形或三角形,并分别与逆变器的各功率管相连,以便进行合理换相。

由于电动机本体为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷直流电动机。

    

(2)有刷直流电动机:

又可分为永磁直流电动机和电磁直流电动机。

 

永磁直流电动机划分:

稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。

稀土永磁直流电动机:

体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:

由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:

需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。

 

电磁直流电动机划分:

串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。

串励直流电动机:

电流串联,分流,励磁绕组是和电枢串联的,直流串励电动机通常用较粗的导线绕成,他的匝数较少。

并励直流电动机:

并励直流电机的励磁绕组与电枢绕组相并联;他励直流电动机:

励磁绕组与电枢没有电的联系,励磁电路是由另外直流电源供给的。

因此励磁电流不受电枢端电压或电枢电流的影响;复励直流电动机:

复励直流电机有并励和串励两个励磁绕组,若串励绕组产生的磁通势与并励绕组产生的磁通势方向相同称为积复励。

若两个磁通势方向相反,则称为差复励。

第三章系统硬件电路设计及方案论证

3.1总体设计框图

本设计的硬件电路包括最小系统、驱动电路、按键控制电路、状态显示电路四大部分。

最小系统是为了使单片机正常工作,包括晶振电路和复位电路。

驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动,同时用驱动芯片控制电机换向。

按键控制电路由开关和按键组成,由操作者根据工作需要进行相应的操作。

状态显示电路主要是为了显示电机的工作状态和转速。

系统总体设计框图如图3.1所示。

图3.1总体设计框图

3.2单元电路设计及方案论证

3.2.1最小系统设计及方案论证

最小系统或者称为最小应用系统,就是用最少的元件组成的可以工作的系统。

本设计可以使用多种单片机芯片来实现。

其中AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(ROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。

功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。

同时,由于所学的芯片就是AT89C51,对其引脚、功能特点较其它单片机芯片来说更熟悉,因此为使设计过程更为方便,此设计就采用AT89C51。

对51系列单片机来说,最小系统一般应该包括:

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

复位电路:

使用了独立式键盘,单片机的P1口键盘的接口。

考虑到对控制功能的扩展,本设计使用了6路独立式键盘。

复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF的电容和一个12M晶体振荡器组成为整个电路提供时钟频率。

89C51单片机的时钟信号通常用两种电路形式电路得到:

内部震荡方式和外部中断方式。

在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。

内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。

复位及时钟振荡电路如图3.2.1所示。

图3.2.1复位及时钟振荡电路

3.2.2驱动电路设计及方案论证

驱动电路的主要功能是放大单片机产生的PWM信号以驱动直流电机,并控制其正反转。

方案一:

 选用L298芯片构成驱动电路。

该芯片主要特点是:

工作电压高,输出电流大。

内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机,并控制其转速方向。

方案二:

采用由三极管组成的H型PWM电路。

用单片机控制三极管使之工作在占空比可调的开关状态,精确调整电动机转速。

这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度较快,稳定性也较好。

 

鉴于方案一单个芯片整体结构简单、调速特性优良、调整平滑、调速范围广、过载能力大,而采用H型PWM电路,则电路结构较为复杂,不易画原理图。

因此本设计采用方案一。

L298N是ST公司生产的一种高电压、大电流电机驱动芯片。

该芯片采用15脚封装。

主要特点是:

工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。

内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。

使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

L298内部电路的工作原理与H型PWM电路类似,相当于把两个桥装进了一个芯片中。

利用两组桥臂上的元件的通断来决定流过电机的电流的方向,以控制电机的正反转。

L298的引脚图如图3.2.2-1所示,内部逻辑图如图3.2.2-2所示,驱动电路如图3.2.2-3所示。

图3.2.2-1L298的引脚图

图3.2.2-2L298的内部逻辑图

图3.2.2-3驱动电路

3.2.3PWM调速工作方式及方案论证 

方案一:

采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。

 

方案二:

采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。

故采用方案一。

由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。

 

调脉宽的方式有三种:

定频调宽、定宽调频和调宽调频。

我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。

 

3.2.4按键控制电路设计

独立式按键就是各按键相互独立,每个按键各接入一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。

因此,通过检测输入线的电平状态可以很容易判断哪个按键按下了。

独立式按键电路配置灵活,软件简单。

但每个按键需要占用一个输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘适用于按键较少或操作速度较高的场合。

 

根据系统的控制要求,控制输入部分设置了启停控制,换向控制,加速控制和减速控制按钮,分别是SW3、SW1、SW2、S2、S3。

通过SW3和SW1、SW2状态变化分别实现电机的启动和换向功能。

当SW3、SW1、SW2的状态变化时,内部程序检测P3.4和P3.5、P3.6的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。

根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。

对于单片机而言,主要的方法有:

软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2、S3的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据,从而控制电机的输出脉冲频率,从而改变了电机的转速。

按键控制电路如图3.2.3所示。

图3.2.3按键控制电路

3.2.5状态显示电路设计

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

在显示电路中,主要是利用了单片机的P0口和P2口。

采用两个共阳数码管作显示。

第一个数码管接的a、b、c、d、e、f、g、h分别接P0.0~P0.7口,用于显示电机正反转状态,正转时显示“1”,反转时显示“0”,不转时数码管熄灭。

第二个数码管的a、b、c、d、e、f、g、h分别接P2.0~P2.7口,用于显示电机的转速级别,共六级,即从0~5转速依次递增,“0”表示转速为零。

状态显示电路如图3.2.4所示。

图3.2.4状态显示电路

3.3总体电路图

把各个模块的电路组合成总电路,如图3.3所示。

图3.3总体电路图

第四章系统软件设计

实现系统功能可以采用多种方法,由于要控制电机的启停、加减速信号和换向信号,因此,整个程序可以分为驱动程序、键盘扫描程序、延时程序、定时器的初始化程序、速度调节程序和状态显示程序。

其中,驱动程序主要是用来启动和停止电机的运行,若停止开关合上则电机停止运转,反之电机按照相应的速度档位运转;键盘扫描程序的功能是不断地扫描按键,看是否有按键按下,以便及时对其做出反应;延时程序的功能是防止按键时抖动,以免按键扫描时发生错误,导致响应错误;定时器初始化程序用来对所用的定时器进行初始化设置;速度调节程序的功能是控制脉冲频率,它决定了电机转速的快慢;状态显示程序是利用数码管来显示点击的正反转状态和速度档位。

4.1主程序设计

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

系统上电后,首先对定时器的状态进行设置,包括定时器的工作方式以及对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容等;然后对系统的状态进行显示;接着不断的进行键盘扫描,若有按键按下,则调出相应的子程序,使系统对按键作出反应;然后又根据反应后的系统状态更新显示。

主程序流程图如图4.1所示,主程序部分如下:

voidmain()

{

time_init();

while

(1)

{

display();keyscan();

}

}

 

Y

N

N

 

Y

Y

Y

N

N

N

N

Y

Y

Y

图4.9主程序流程图

4.2定时器的初始化程序设计

定时器是用来产生PWM信号以控制直流电机转动的。

因此,必须设置好定时器的工作方式以及定时初值,还要开启中断,以便响应按键动作。

所用定时器为定时器0,设置为工作方式为1。

在模式1中,寄存器TH0和TL0以全8位参与操作,构成一个16位定时/计数器,当TH0溢出时向中断标志位TF0进位,并申请中断。

在这种模式下T0定时时间最长,有利于在更大的范围内对电机进行调速。

寄存器TH0和TL0分别存储定时初值的高八位和低八位,由于计数值范围为1—65536,则可确定初值的大小。

程序如下:

voidtime_init()

{

TMOD=0x01;TH0=(65536-a)/256;

TL0=(65536-a)%256;

ET0=1;EA=1;TR0=0;

}

4.3显示程序设计

单片机的P0口和P2口用来控制两个共阳极的七段数码管。

分别用来显示电机的正反转状态以及当前速度所在的档位。

当电机正转时,第一个数码管显示0;反转时,显示1.电机的速度档位共有五档,第二个数码管分别显示0—5。

程序如下:

voiddisplay()

{

if(right==0)P0=0xc0;

else

if(right==1&&left==0)P0=0xf9;

switch(count)

{

case0:

P2=0xc0;count=0;break;//速度等级为0,第二个数码管显示0

case1:

P2=0xf9;count=1;break;//速度等级为1,第二个数码管显示1

case2:

P2=0xa4;count=2;break;//速度等级为2,第二个数码管显示2

case3:

P2=0xb0;count=3;break;//速度等级为3,第二个数码管显示3

case4:

P2=0x99;count=4;break;//速度等级为4,第二个数码管显示4

case5:

P2=0x92;count=5;break;//速度等级为5,第二个数码管显示5

default:

break;}

}

4.4键盘扫描程序设计

键盘扫描程序用来对按键动作做出及时响应。

当进行加速或减速操作时,要求电机的速度能够进行相应的变化。

这些都通过改变定时器产生的PWM信号的占空比来实现。

 PWM(脉冲宽度调制)是一系列周期固定、占空比可调的脉冲系列,由于每个脉冲的高电平时间和低电平时间之和必须等于周期数,所以输出电平的维持时间必须由定时器来控制。

设PWM周期为T,高电平时间为TH,低电平时间为TL,电压为VCC,则输出电压的平均值为:

UAV=VCC*TH/(TH+TL)=VCC*TH/T=aVCC,当VCC固定时,其电压值取决于PWM波形的占空比a,而PWM的占空比由单片机软件内部用于控制PWM输出的寄存器决定。

但是,一般按键在按下的时候有抖动的问题,即键的簧片在按下时会有轻微的弹跳,需经过一个短暂的时间才会可靠地接触。

若在簧片抖动时进行扫描就可能得出不正确的结果。

因此,在程序中要考虑防抖动的问题。

最简单的办法是在检测到有键按下时,等待(延迟)一段时间再进行“行扫描”,延迟时间为10~20ms。

这可通过调用子程序来解决,当系统中有显示子程序时,调用几次显示子程序也能同时达到消除抖动的目的。

程序如下:

voiddelay(ucharz)//在12M下延时z毫秒

{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}

voidkeyscan()

{if(stop==0)

{TR0=0;//关闭定时器0即可停止转动

end_turn;}

if(left=

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

当前位置:首页 > 高等教育 > 理学

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

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