用单片机控制直流电机
摘要
本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
一、设计方案比较与分析:
1、电机调速控制模块:
方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。
2、PWM调速工作方式:
方案一:双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。
方案二:单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。
由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。
3、PWM调脉宽方式:
调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。
4、PWM软件实现方式:
方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。
方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。
二、系统分析与设计:
总体设计方案的硬件部分
详细框图如图一所示。 键盘向单片机输入相应控制指令,由单片机通过P2.0与P2.1其中一口输出与转速相应
的PWM 脉冲,另一口输出低电
平,经过信号放大、光耦传递,驱动H 型桥式电动机控制电路,实现电动机转向与转速的控制。电动机的运转状态通过LED 显示出来。电动机所处速度级以速度档级数显示。正转时数字向右移动,反转时数字向左移动。移动速度分7档,快慢与电动机所处速度级快慢一一对应。每次电动机启动后开始计时,停止时LED 显示出本次运转所用时间,时间精确到0.1s 。
1、系统的硬件电路设计与分析
电动机PWM 驱动模块的电路设计与实现具体电路见下图二。本电路采用的是基于PWM 原理的H 型桥式驱动电路。
图二
PWM 电路由四个大功率晶体管组成H 型桥式电路构成,四部分晶体管以对角组合分为两组:根据两个输入端的高低电平决定晶体管的导通和截止。4个二极管在电路中起防止晶体管产生反向电压的保护作用。4个电感在电路中是起防止电动机两端的电流和晶体管上的电流过大的保护作用。
在实验中的控制系统电压统一为5v 电源,因此若达林顿管基极由控制系统直接控制,则控制电压最高为5V ,再加上三极管本身压降,加到电动机两端的电压就只有4V 左右,严重减弱了电动机的驱动力。基于上述考虑,
我们运用了4N25光耦集成块,将控制部分与电动机的驱动部分隔离开来。输入端各通过一个三极管增大光耦的驱动电流;电动机驱动部分通过外接12V 电源驱动。这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。
在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。经实验发现,脉冲频率在40Hz 以上,电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在10Hz 以下,电动机转动有明显跳动现象。实验证明,脉冲频率在15Hz-30Hz 时效果最佳。而具体采用的频率可根据个别电动机性能在此范围内调节。通过N1输入信号,N2输入低电平与N1输入低电平,N2输入信号分别实现电动机的正转与反转功能。通过对信号占空比的调整来对车速进行调节。速度分7档控制,从高电平(第6档)到低电平(第0档)中间占空比以20%逐极递减。速度微调方面,可以通过对占空比以1%的跨度逐增或逐减分别实现对速度的逐加或逐减。
2、系统的软件设计
本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM 脉宽控制和LED 显示等部分的设计。
系统主函数流程如图三:
①PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程
序函数如下:
void delay(unsigned char dlylevel){
int i=50*dlylevel;
while(--i);}
此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲
周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中
采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要
实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程
序流程图如图四。
②键盘中断处理子程序:采用中断方
响应该中断处理程序,完成延时去抖动、
键码识别、按键功能执行。
调速档、持续加/减速:调速档通过
(0-6)共七档固定占空比,即相应档位相
应改变hlt,llt的值,以实现调速档位的
实现。而要实现按住加/减速键不放时恒加
或恒减速直到放开停止,就需在判断是否
松开该按键时,每进行一次增加/减少1%
占空比(即hlt++/--;llt--/++),其程序
流程图如图五。
③显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各
个LED管要显示的值。显示子程序为一带参子程序,参数为显示缓存的数组名,
通过for(i=0;i<8;i++)方式对每位加上位选码,送到P0口并进行一两毫秒延时。
该显示子程序只对各个LED管分别点亮一次,因此在运行过程中,每秒执行
的次数不应低于每秒24次。
④定时中断处理程序:采用定时方式1,因为单片机使用12M晶振,可产生
最高约为65.5ms的延时。对定时器置初值3CB0H可定时50ms,即系统时钟精度
可达0.05s。当50ms定时时间到,定时器溢出则响应该定时中断处理程序,完
成对定时器的再次赋值,并对全局变量time加1,这样,通过变量time可计算
出系统的运行时间。
对于一个数的显示,先应转成BCD码,即取出每一个位,分别送入显示缓存
区,对于转BCD的算法,应对一个数循环除10取模,直至为0,程序如下:
do{dispbuff[bcd_p]=bechange%10; //dispbuff为显示缓冲区数组
bcd_p++;}while(bechange/=10) //disp_p为数组指针
软件设计中的特点:
1、对于电机的启停,在PWM控制上使用渐变的脉宽调整,即开启后由停止匀
加速到默认速度,停止则由于当前速度逐渐降至零。这样有利于保护电机,如电机运用于小车上,在启动上采用此方式也可加大启动速度,防止打滑。
2、对于运行时间的计算、显示。配合传感器技术可用于计算距离,速度等重
要的运行数据。
3、键盘处理上采用中断方式,不必使程序对键盘反复扫描,提高了程序的效
率。
三、测试结果与分析:
结束语
本设计在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机马驱动的效率问题,在软件上也采用较为合理的系统结构及算法,提高了单片机的使用效率,且具有一定的防飞能力。但该设计也有不足之处,主要是在关于速度的反馈上,无法提供较为直观的速度表示方式,因此,有必要引入传感器技术对速度进行反馈,以rpm或rps表达当前的转速进行显示。
《单片机原理及应用》课程设计基于单片机的步进电机(直流电机)控制器设计 学院:物联网工程学院 班级:自动化 姓名: 学号: 同组成员: 日期:2016.6.20-2016.6.24
一、设计目的 通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。 二、设计要求 1)电机转速可以平稳控制 2)通过键盘和显示器可以设置电机的转速 3)显示电机的速度趋势 三、仪器设备 1)IBMPC机一台 2)https://www.doczj.com/doc/8818717094.html,单片机仿真器、编程器、试验仪三合一综合开发平台一台 四、硬件线路图及主要芯片说明 1、AT89C5单片机芯片说明 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
VCC:AT89C51 电源正极输入,接+5V 电压。 GND:电源接地端。 XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST:AT89C51 的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提 升到高电位,并持续两个机器周期以上的时间,AT89C51 便能完成系统复位的各项工作, 使得内部特殊功能寄存器的内容均被设成已知状态。 ALE/PROG ALE:是英文"ADDRESS LATCH ENABLE"的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE 信号负跳变来触发外部的8 位锁存器(如74LS373),将端口P0 的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以1/12 振荡频率输出。 EA/VPP:该引脚为低电平时,则读取外部的程序代码(存于外部EPROM 中)来执行程序。因此 在8031 中,EA 引脚必须接低电位,因为其内部无程序存储器空间。如果是使用AT89C51 或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存器, 当程序指针PC 值超过片内程序存储器地址(如8051/8751/89C51 的PC 超过0FFFH)时,将自动转
实用标准文案 目录 1 总体设计框 架 (3) 2 硬件电路设 计 (4) 2.1 芯片介 绍 (4) 2.2 驱动电 路 (9) 2.3 按键控制电 路 (10) 3 程序编写 ................................................. 10 3.1 工作原 理 (10) 21程序书写过程 3.2 ...................................................... 参考资 料 (16) 精彩文档. 实用标准文案 直流电机驱动 Abstract 摘要:本文主要内容是利用PIC18F452单片机来控制直流电机,通过L293NE来驱动电机,通过按键来使其正转,反转。Keywords 关键词:直流电机,PWM,L293NE 精彩文档. 实用标准文案
总体设计框架1硬件电路利用驱动芯片L293D来驱动直流电机,按键则是单独引出。如图1所示。软件则是C语言编程。 PI驱C直动1流8电电F路机452 图1硬件设计框精彩文档. 实用标准文案 2硬件电路设计 2.1 芯片介绍 首先,总体说明硬件电路设计,如图2 原理图,图3 PCB图以及图4板子的图所示。三个输入信号,如图分别为RD4,RD5,RD6连上光耦的2脚,然后通过光耦的4脚引入L293D的使能引脚(12EN)以及输入引脚(1A,2A),然后L293D的输出引脚(1Y,2Y)通过H-桥型控制电路与直流电机连接。 图2 直流电机控制部分原理图 精彩文档. 实用标准文案 PCB图图3直流电机控制部分 成品板图4 其中红线圈表示直流电机控制部分。下面详细介绍各个芯片。PIC18F452
目录 摘要............................................................................................................................................................... I I ABSTRACT ................................................................................................................................................. III 1系统论述 (5) 1.1设计思路 (5) 1.2基本原理 (5) 1.3总体设计框图 (5) 2直流电机单元电路设计与分析 (6) 2.1直流电机驱动模块 (6) 2.2直流电机的中断键盘控制模块 (11) 2.31602LCD液晶显示模块 (13) 3直流电机PWM控制系统的实现 (15) 3.1总电路图 (15) 3.2总电路功能介绍 (16) 3.3直流电机控制程序 (16) 4系统仿真 (23) 5结束语 (26) 参考文献资料 (27)
摘要 本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM 波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。 关键词:AT89C51单片机;PWM调速;正反转控制;仿真。
滨江学院 专业综合设计 题目直流电机闭环调速系统控制 院系自动控制 专业自动化 组别第二组 组长周未政 指导教师周旺平 二0 一0 年十二月二十八日基于单片机的直流电机闭环调速控制系统
摘要:设计以AT89C51单片机控制模块为核心,由单片机控制、红外线光电检测装置、直流电机转速为被测量组成的控制系统。原理是利用红外线光电传感器接收直流电机转速所产生的红外信号转换成电信号传输给单片机,并调节转速的闭环调速控制系统。 1.AT80C51单片机介绍 1.1主电源引脚 V ss—(20脚):电路地电平 V cc—(40脚):正常运行和编程校检(8051/8751)时为+5V电源。 1.2外接晶振或外部振荡器引脚 XTAL1—(19脚):接外部晶振的一个引脚. 在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器. 当采用外部振荡器时,此引脚应该接地. XTAL2—(18脚):接外部晶振的另一个引脚. 在片内接至振荡器的反相放大器的输出和内部时钟发生器的输入端. 当采用外部振荡器时,则此引脚接外部振荡信号的输入。 1.3控制、选通或电源复用引脚 RST/V pd—(9引脚): RST即Reset(复位)信号输入端。 ALE/PROG—(30引脚): ALE,允许地址索存信号输出。 PSEN—(29脚):访问外部程序存储器选通信号,低电平有效。. V pp/EA—(31引脚): EA为访问内部或外部程序存储器选择信号。 1.4多功能I/O口引脚 P0口—(32-39脚):8位漏极开路双向并行I/O接口. P1口—(1-8脚): 8位准双向并行I/O接口. P2口—(21-28脚):8位准双向并行I/O接口. P3口—(10-17脚):具有内部上拉电路的8位准双向并行I/O端口。它还提供第二特殊功能,具体含义为: P3.0—(10脚)RXD:串行数据接收端。 P3.1—(10脚)TXD:串行数据发送端。 P3.2—(10脚)INT0:外部中断0请求端,低电平有效。 P3.3—(10脚)INT1:外部中断1请求端,低电平有效。. P3.4—(10脚)T0:定时器/计数器0外部事件计数输入端。.
基于单片机对直流电机的控制 第十五组 姓名:吴代露20131325010 张鹏飞20131325012 金静丽20131325014 周敏20131325015 胡会华20131325017 顾蓉20131325018 专业:2013级信息工程(系统工程方向) 指导老师:周旺平 2014.12.22
基于单片机对直流电机的控制 内容摘要 电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化。 关键字:电动机飞思卡尔 PWM控制 一、引言 (一)直流电机的定义 直流电机(direct current machine):是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 (二)直流电机的基本结构 由直流电动机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。 (三)直流电机工作原理
直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。 (四)直流电机的分类 直流电动机按结构及工作原理可划分:无刷直流电动机和有刷直流电动机。(1)无刷直流电动机:无刷直流电动机是将普通直流电动机的定子与转子进行了互换。其转子为永久磁铁产生气隙磁通:定子为电枢,由多相绕组组成。在结构上,它与永磁同步电动机类似。无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同.在铁芯中嵌入多相绕组(三相、四相、五相不等).绕组可接成星形或三角形,并分别与逆变器的各功率管相连,以便进行合理换相。由于电动机本体为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷直流电动机。 (2)有刷直流电动机:又可分为永磁直流电动机和电磁直流电动机。 永磁直流电动机划分:稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。稀土永磁直流电动机:体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。 电磁直流电动机划分:串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。 (1)串励直流电动机:电流串联,分流,励磁绕组是和电枢串联的,直流串励电
//程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4 #include
可以实现的功能是: 按下左转键则开始向左转动 按下右转键则向右转动 按下停止键则开始逐渐停止转动 按下调速键一次则会加速一档 按下调速键二次则会加速二档 按下调速键三次则会加速三档 按下调速键四次则会加速四档 按下调速键五次则会回到最初速度重新记档位 设计思路: 直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。直流电机的驱动电路要有过流保护作用,图中的二极管就直到这个作用,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。用51实现PWM信号的输出,相对麻烦点,要是AVR就可以方便地实现PWM信号,由见51单片机的局限性与AVR单片机的优势。 原理图
详细程序: #include