用51单片机控制直流电机

发布者:彩虹微笑最新更新时间:2011-11-04 关键字:51单片机  直流电机 手机看文章 扫描二维码
随时随地手机看文章
一、 设计方案比较与分析:

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显示等部分的设计。
单片机资源分配如下表:
 

P0

 

 

显示模块接口

 

 

外部中断0

 

 

(P3.2)

 

 

键盘中断

 

 

P1

 

 

键盘模块接口

 

 

P2.0/P2.1

 

 

PWM电机驱动接口

 

 

内部定时器0

 

 

系统时钟

 

 

[page]

系统主函数流程如图三:

①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的值,该子程序流程图如图四。
②键盘中断处理子程序:采用中断方式,按下键,单片机P3.2脚产生一负跳沿,响应该中断处理程序,完成延时去抖动、键码识别、按键功能执行。


调速档、持续加/减速:调速档通过(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表达当前的转速进行显示。

关键字:51单片机  直流电机 引用地址:用51单片机控制直流电机

上一篇:基于51单片机的步进电机驱动电路设计
下一篇:单片机动态扫描接口及程序设计

推荐阅读最新更新时间:2024-03-16 12:45

基于51单片机的汽车倒车防撞报警系统
引言 结合电控技术、电气技术构建起机电一体化控制体系,并逐渐形成了独立的、完整的技术体系成为一门独立的应用技术体系。对于汽车设计制造而言,汽车电子技术水平将直接影响整车性能,是汽车运行安全性、舒适性以及动力性能的决定性影响因素之一。电子控制这一先进技术的科学应用能够显著提升汽车发动机等相关电力电子系统的控制质量,从而实现更加安全、稳定、舒适的行车环境,为车辆良好运行提供充分有效的保障。 发展车俩防撞技术,对于提高车俩智能化水平具有很大的积极意义。防撞技术的出现和发展不仅有效提升了汽车行驶的安全性,也为汽车工业智能化发展做出了巨大贡献。为了降低碰撞风险提高汽车行驶安全水平,除驾驶人视觉判断之外,还需借助相关测距技术装置对车身与其他物
[单片机]
硬件仿真器会不会被淘汰
谈起单片机的硬件仿真器,给我的第一印象便是非常的昂贵。像我这样想在不到十年就想学习用会市面上大部分流行的单片机的单片机爱好者来说,根本就不可能去花钱买那么昂贵的单片机硬件仿真器,因为单片机的种类实在是太多了。 现在51单片机的C语言编译器非常的好,加上我用的51单片机大部分都是带ISP功能的,还有,就是有几次用伟福仿真器,仿真时的效果让人很失望,而今我手上的伟福仿真器这几年基本上是处于下岗状态. 仿真,对于初学者来说,还是有着极大的诱惑力的,就像我们刚开始用protel99se画电路图时,总是担心什么地方没有画好,想仿真一下,但实际上,真正用着protel99se画图的工程师是很少用它来仿真的.学习单片机也是这差不多的情况. 还
[单片机]
51单片机C语言程序(三)数码管
程序一 利用动态扫描方法在六位数码管上显示出稳定的654321. 时钟频率为11.0592M #include reg52.h //52单片机头文件 #include intrins.h //包含有左右循环移位子函数的库 #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义 sbit dula=P2^6; //数码管段选锁存端 sbit wela=P2^7; ////数码管位选锁存端 uchar code table ={ //数码管显示编码 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0
[单片机]
51单片机超声波系统板电路分析
比赛板电路板组成:51单片机(STC89C52芯片,下面统称为51单片机)电路、DC电源插座电路、复位电路、晶振电路、5V转3V3降压电路、0.96寸OLED屏幕电路、蜂鸣器电路、LED电路、超声波电路。 51单片机主控电路 我们用51单片机系列的STC89C52芯片作为主控芯片。P0引脚组接上4.7K的排阻和5V的VCC以形成上拉电阻,将不确定的信号通过排阻钳位在高电平,电阻同时起限流作用。 DC电源插座电路 本电路通过DC插头线给整个比赛板供电5V,但前提是按下按钮SW1,电路才会连接成功供电,否则一直为开路状态。通电后LED1亮表示已经供电。 复位电路 本电路按下REST按键时电流会走51单片机的RST引脚,引导
[单片机]
<font color='red'>51单片机</font>超声波系统板电路分析
基于51单片机的电机转速测量系统的设计方案
0 引言 本方案所设计的基于霍尔元件的 脉冲发生器 要求成本低,构造简单,性能好。在电气控制系统中存在着较为恶劣的电磁环境,因此要求产品本身要具有较强的抗干扰能力。系统主要由AT89S52 单片机处理系统、电机、传感器检测单元、信号处理单元和显示系统等几个部分组成。 1 总体方案设计 对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。霍尔元件测速法是利用霍尔开关元件测转速的。 霍尔开关元件 内含稳压电路、霍尔电势发生器、放大器、施密特触发器和输出电路。输出电平与TTL 电平兼容,在电机转轴上装一个圆盘,圆盘上装若干对小磁钢,小磁钢越多,分辨率越高,霍尔开关固定在小磁钢附近,当电机转动时,每当一个小磁钢转过霍尔开关
[单片机]
基于<font color='red'>51单片机</font>的电机转速测量系统的设计方案
基于89C51单片机、RAM和8251实现无线电台通信卡的设计
当今信息时代,人们需要多种多样的通信手段和设备,常见的不论是有线电话还是无线电台,都为模拟信道,适合传送模块话音信号。目前,通过公用电话网进行计算机通信的技术已经成熟。而无线电台特点是老式电台,在我国使用范围很广,拥有量很大,但其功能单一,不能适应当前数据通信的要求,如何对其进行技术改造,增加数据能信功能,就显得尤为必要。为此,研究设计了无线电台用智能数据通信卡(以下简称通信卡),通过该卡,可给以模拟方式作为话通信的无线电台增加数据通信功能,大大提高了老式电台的性价比。该卡体积小,成本低,可放置于电台内部。 1、通信卡的设计思想 从电台实际工作情况考虑,给电台增加数据通信功能后,应注意解决以下问题: ·不能影响原话音通信功能。
[单片机]
基于89C<font color='red'>51单片机</font>、RAM和8251实现无线电台通信卡的设计
基于51单片机的多任务多进程
以下程序是转载的,个人觉得是很好的学习单片机多进程编程的参考资料。 //头文件 #include reg52.h #include intrins.h //宏定义 #define uchar unsigned char #define uint unsigned int #define TN 65436 //进程1,2,3执行时间之比为 T1:T2:T3 (时间单位us) #define TN1 62536 //1个进程循环周期内进程1执行的时间T1us TN1=(65536-T1) #define TN2 55536 //1个进程循环周期内进程2执行的时间T2us TN2=(65536-T1) #
[单片机]
MCS-51单片机与FPGA接口的逻辑设计
0 引言 FPGA是一种新兴的可编程逻辑器件,可以取代现有的全部微机接口芯片,实现微机系统中的存储器、地址译码等多种功能,具有更高的密度、更快的工作速度和更大的编程灵活性,被广泛应用于各种电子类产品中。在功能上,单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点;而FPGA则具有高速、高可靠性以及开发便捷、规范等特点,因此两类器件相结合的电路结构将在许多高性能仪器仪表和电子产品中被广泛应用。基于这种需求,本文设计了MCS-51单片机与FPGA的总线接口逻辑电路,实现了单片机与FPGA数据与控制信息的可靠通信,使FP—GA与单片机优势互补,组成灵活的、软硬件都可现场编程的控制系统。 1 单片机与FPGA的接
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved