基于51单片机的直流电机调速的方法
基于MCS-51单片机的直流小电机PWM调速设计
课程论文题目:基于MCS-51单片机的直流小电机PWM调速设计姓名:***学号:****院系:电子与信息工程学院专业:电气工程及其自动化指导老师:****老师设计时间:2013年 4 月基于MCS-51单片机的直流小电机PWM调速设计摘要:本文首先简要介绍了直流小电机的脉宽调速方式,然后详细设计了基于MCS-51单片机的直流小电机脉宽调速的实现方法,此方法可实现直流小电机的7个速度级的调速功能,最后给出了调速程序框图。
关键词:PWM,单片机,直流电机。
Abstract:The mode of DC-motor PWM speed regulation is introduced briefly, a kind of PWM speed regulation of DC-motor using the MCS-51 Microcontroller is designed detailedly, and this method can implement seven-level speed control of the motor, the diagram of PWM speed regulation was given in the end.Keywords: PWM Single Chip Microcontroller DC-motor.目录1. 引言 (3)2. 总体设计概述 (3)2.1 总体硬件电路设计 (4)2.1.1系统总体设计框图 (4)2.1.2 8051单片机简介 (4)2.2 PWM信号发生电路设计 (6)2.2.1 PWM的基本原理 (6)2.3 直流电机调速的实现 (7)3.系统中程序设计 (10)4. 直流电机调速框图 (11)结论 (12)致谢 (12)参考文献 (12)1.引言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
基于51单片机的直流电机调速的方法
基于51单片机的直流电机调速的方法田云 史洁 黑龙江农业经济职业学院机电工程系 1570410 引言许多单片机爱好者,在设计一些单片机控制系统的时候,都会采用小型直流电动机来制作各种各样的电子设备,因为直流电机调速范围广,易于平滑调速,启动、制动和过载转矩大,易于控制,可靠性较高。
对于直流电机的控制,无非是控制其转向,以及速度。
转向的控制方法比较简单,只要改变电机的通电极性就可改变其旋转方向。
在这里,我们重点讨论如何对其速度上的控制,对其调速可以采用多种办法。
对于直流电机转速的调节,最常用的办法是通过改变电枢端的电压来实现,传统的思路是通过调节电枢电路电阻R 的阻值来改变端电压,以达到调速的目的。
但由于接入的电阻消耗了部分电压,因此这种传统的调速方法效率很低。
随着电力电子技术的发展,出现了许多新的电枢电压控制方法,其中PWM(Pulse Width Modulation)控制是常用的一种调速方法。
PWM 控制是指在保持周期丁不变的情况下,通过调节开关导通的时间对脉冲宽度进行调制,从而达到调节电机转速的目的。
在脉宽调速系统中,电机电枢两端的电压是脉宽可调的脉冲电压,在输出脉冲频率足够快的情况下,由于惯性的存在,只要按照一定的规律改变通、断电的时间,即可使电机的速度达到并保持一个稳定值。
对于直流电机,采用PWM 控制技术构成的无级调速系统,启停时对直流系统无冲击,并且具有启动功耗小、运行稳定的特点。
本文在给出直流电机调速和PWM 实现方法的基础上,提供一种用51单片机软件实现PWM 调速的方法。
1 PWM 基本原理PWM 是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
PWM 可以应用在许多方面,如电机调速、温度控制、压力控制等。
在PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
51单片机控制直流电机调速系统流程图:
51单片机控制直流电机调速系统流程图:
题目:单片机控制直流电机调速系统——软件设计
1. 编一段显示程序分别显示当前的转速和我们所需要的转速。
显示用4段数码管来实现。
2:编一段PWM调速的程序,来控制脉冲的宽度从而来控制电机的转速。
3:通过霍尔传感器测速,利用霍尔把信号传给单片机,单片机利用计数器的功能来记录转速,并同时把转速用数码管显示出来。
4:由于真实的转速和我们所设订的转速可能存在很大的误差,所以要编一段PID调速的程序,通过PID调节来减少误差。
5.要3个按键,键1实现设定转速的功能,键2实现切换功能(从所设定的转速切换到真实的转速的显示,键3实现开关的功能。
基于单片机的直流电机调速系统的课程设计
一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
51单片机的直流电机调速、测速以及显示系统
52.................................................................................................... 单清序程 2.4
53................................................................................................ 望展与论结 章五第
述概
1.1
述概
章一第
3
。图理原路电效等的构结部内器码译供提里盘光品产在。然 了目一�上BCP 在印经已围范址地�出输组8供提。器码译为作件器DLP用采 。口端出输挽推行并位8个1、口端入输阻高行并位8个1展扩 。储存据数量容大者或hsalF序程作用以可�器储存hsalF量容大BK215展扩 。MAR态静BK23展扩 。验实做户用便方�出引针插排双用部全口端O/I组4的机片单 。MORPEE的B652有 置内还片芯狗门看�外此。位复狗门看、位复键按、位复CR�选可式方位复 。便方了供提验实做 来振晶的点频它其成换替户用为�装安式座插用采�zHM2950.11认默�振晶 。能功真仿等问访备设围外、察观量变 、出跳、点断、速全、步单持支面全够能片芯真仿该。序程动驱的别特装安 要需不并且而�真仿线在件硬行进地便方够能�下持支的15C lieK具工发开 件软境环swodniW机片单核内1508的行流最前目在。片芯真仿的门专片1备配 。线载下的门专作制要需不�载下PSI现实能就�配标箱 验实CPOStramS随经已缆电该�缆电信通232-SR脑电通普根一要需只15kciuQ 。 序 程 户 用 载 下 式 方 � 程 编 可 统 系 在 � PSI 持 支 机 片 单 2DR15VL98P 的 备 配 。等等�TRAU 型强增 �IPS 件硬 � �便方不 �位复有只 2508� 醒唤可断中部外后式模电掉入进 �级先 优断中个 4�RTPD 双�式模速倍双�MAR 态静内片 BK1� �能功 PAI 和 PSI 持 支来用�hsalF 导引 BK8�hsalF 序程户用 BK46 置内如�能功强增多许有具 。核内 UPC 2508 letnI 型强增�2DR15VL98P 机片单型新体导半 spilihP 用采 � � � � � � �
51单片机控制直流电机PWM调速
51单片机控制直流电机PWM调速
实验目的
1.掌握脉宽调制(PWM) 的方法。
2.用程序实现脉宽调制,并对直流电机进行调速控制。
实验设备
PC 机一台,单片机最小系统,驱动板、直流电机,连接导线等
实验原理
1.PWM (Pulse Width Modulation) 简称脉宽调制。
即,通过改变输出脉冲
的占空比,实现对直流电机进行调压调速控制。
2.实验线路图:
实验内容:
1. 利用实验室提供的单片机应用系统及直流电机驱动电路板,编制控制程序,实现直流电机PWM调速控制。
实验思考题
本实验中是通过改变脉冲的占空比,周期T 不变的方法来改变电机转速的,还有什么办法能改变电机的转速,应该怎么实现?
附件:
L298简介:
L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。
基于51单片机的PWM直流电机调速
基于51单片机的PWM直流电机调速在现代社会,PWM直流电机已经成为各类机械设备不可或缺的动力源。
为了更好地控制电机的转速和输出功率,我们需要进行PWM调速操作。
本文将简要介绍如何基于51单片机实现PWM直流电机的调速。
一、PWM调速原理PWM调速是一种通过改变电机供电电压的占空比来调整电机转速和功率的方法。
当一个周期内高电平所占的时间比较短时,电机得到的平均电流和平均转矩也相应减小,电机的速度和功率也随之降低。
反之,当高电平所占的时间比较长时,电机得到的平均电流和平均转矩也相应增大,电机的速度和功率也随之提高。
因此,通过改变PWM信号的高电平占空比,可以实现直流电机的调速、调功等功能,极大地提高了电机的效率和可控性。
二、硬件电路搭建根据上述PWM调速原理,我们需要搭建一个控制板,将51单片机的PWM输出与直流电机相连。
具体电路如下:1、选择合适的电源供电,一般为12V/24V直流电源。
2、使用L298N模块作为直流电机驱动模块,将模块的电源接到电源供电上,将模块的IN1和IN2引脚分别接到51单片机的P1^0和P1^1引脚上,将直流电机的正负极分别接到模块的OUT1和OUT2引脚上。
3、将51单片机的P1^2引脚连接到一个脉冲宽度计波形滤波器(LCF)的输入端,并将输出端接到L298N模块的ENA引脚上。
4、调整脉冲宽度计波形滤波器的参数,以达到合理的PWM输出波形。
5、建立一个按键,将按键的一端接到51单片机的P3^2引脚上,将另一端接到单片机的地端。
6、根据需要进行其他接线。
三、软件程序设计根据上述硬件电路,我们需要进行相应的软件程序设计,以实现基于51单片机的PWM 直流电机调速。
以下是程序设计的主要步骤:1、在程序中定义需要使用的IO口。
2、调用定时器初始化程序,设置定时器的时钟频率、计数器值和工作方式等参数。
3、编写一个PWM输出函数,实现对PWM信号的输出。
4、编写一个ADC采样函数,读取ADC转换器的值,并根据采样值输出一定的PWM信号。
基于51单片机的直流电机转速PI控制
… …
图 xx 电路原理图
上图中 LED 数码管显示中的 74LS164 芯片的引脚及功能如下所述:
芯片引脚功能对照表
符号 SA、SB Q0~Q7 CP(CLK) VCC GND /MR(/CLR)
功能 串行数据输入端 并行数据输出端 时钟输入端(上升沿有效) 电源正(5V) 接地 清零端(低电平有效)
直流电机 PI 转速控制—基于 51 单片机
1.项目系统组成
本项目由 STC89C52RC 单片机最小系统,12MHZ 晶振。直流电机驱动电路、直流电机(5V)、光电测 速电路以及数码管显示电路组成。详细器件见下文电路图。
2.直流电机转速控制电路原理
直流调速的方法有多种,本文是基于 PWM(脉冲宽度调制)技术,改变直流电机等效电枢电压,以此 在一定范围实现直流电机的调速。
void timer1() interrupt 3 {
TR1=0; TH1=pwmh; TL1=pwml; PWM1=0;
//T1 中断响应函数
//关闭定时器 T1 //T1 重置初值 //T1 重置初值,改变 PWM 占空比 //输出低电平
}
void PID_pwm()
{
unsigned int speed=0,pwm=0,pwmhh=0,pwmll=0; speed=10*pulse; //脉冲数换算为转速(转/分)speed=60*pulse*1000/(12*50*10)
综上所述,要想电机正转,则需要 PWM1=1,同时 PWM2=0;要想电机反转,则需要 PWM2=1,同时 PWM1=0;要想电机停止,则需要 PWM1=1,同时 PWM2=1,或者 PWM1=0,同时 PWM2=0。
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
基于C51单片机的直流电机PWM调速控制--SQ这是最近一阶段自己学习所获,现分享与大家。
这里采用A T89C52单片机做主控制芯片,实现两路直流电机的PWM调速控制,另外还可以实现转向、显示运行时间、显示档位等注:考虑小直流电机自身因素,调速范围仅设有四级电路原理图:C语言程序源代码:/******************** 硬件资源分配*********************/数码管:显示电机状态(启停、正反、速度)、运行时间、是否转弯按键:K4 启动/暂停K3 正反转/转弯允许K2 加速/左转/运行时间清零K1 减速/右转/停止定时器:T0 数码管动态显示,输出PWMT1 运行时间记录********************************************************//*******主程序文件PWM.c******/#include <reg52.h>#include "Afx.h"#include "Config.c"#define CIRCLE 5 //脉冲周期//按键定义uchar key,key_tmp=0, _key_tmp=0;//显示定义uchar LedState=0xF0; //LED显示标志,0xF0不显示,Ox00显示uchar code LED_code_d[4]={0xe0,0xd0,0xb0,0x70}; //分别选通1、2、3、4位uchar dispbuf[4]={0,0,0,0}; //待显示数组uchar dispbitcnt=0; //选通、显示的位uchar mstcnt=0;uchar Centi_s=0,Sec=0,Min=0; //分、秒、1%秒//程序运行状态标志bit MotState=0; //电机启停标志bit DirState=0; //方向标志0前,1后uchar State1=-1;uchar State2=-1;uchar State3=0;uchar State4=-1;uchar LSpeed=0;uchar RSpeed=0;//其他uint RunTime=0;uint RTime_cnt=0;uint LWidth;uint RWidth; //脉宽uint Widcnt=1;uint Dispcnt;//函数声明void key_scan(void);void DisBuf(void);void K4(void);void K3(void);void K2(void);void K1(void);void disp( uchar H, uchar n );void main(void){P1|=0xF0;EA=1;ET0=1;ET1=1;TMOD=0x11;TH0=0xFC;TL0=0x66; //T0,1ms定时初值TH1=0xDB;TL1=0xFF; //T1,10ms定时初值TR0=1;Widcnt=1;while(1){key_scan();switch(key){case 0x80: K1(); break;case 0x40: K2(); break;case 0x20: K3(); break;case 0x10: K4(); break;default:break;}key=0;DisBuf();LWidth=LSpeed;RWidth=RSpeed;}}//按键扫描**模拟触发器防抖void key_scan(void){key_tmp=(~P3)&0xf0;if(key_tmp&&!_key_tmp) //有键按下{key=(~P3)&0xf0;}_key_tmp=key_tmp ;}//按键功能处理/逻辑控制void K4(void){if(State4==-1){State4=1;TR1=1;dispbuf[3]=1;LedState=0x00; //打开LEDMotState=1; //打开电机LSpeed=1;RSpeed=1; //初速设为1}else if(State4==1){State4=0;TR1=0;MotState=0; //关闭电机}else if(State4==0){MotState=1;if(State3==0){State4=1;TR1=1;}else if(State3==1){LSpeed=2;RSpeed=2;}}}void K3(void){if(State4==1)DirState=!DirState;if(State4==0){if(State3==0){State3=1; //可以转向标志1可以,0不可以TR1=1;dispbuf[3]=9;MotState=1;LSpeed=2;RSpeed=2;}else if(State3==1){State3=0;TR1=0;dispbuf[3]=0;MotState=0;}}}void K2(void){if(State4==1&&LSpeed<4&&RSpeed<4){LSpeed++;RSpeed++;}else if(State4==0){if(State3==0){//State4=-1;//LedState=0xF0;MotState=0;Sec=0;Min=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=0;LSpeed=2;RSpeed++;}}}void K1(void){if(State4==1&&LSpeed>1&&RSpeed>1){LSpeed--;RSpeed--;}else if(State4==0){if(State3==0){State4=-1;LedState=0xF0;MotState=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=1;LSpeed++;RSpeed=2;}}}//显示预处理void DisBuf(void){if(RTime_cnt==100){Sec++;RTime_cnt=0;}if(Sec==60){Min++;Sec=0;}if(State4==1){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;if(!DirState) //正转dispbuf[3]=LSpeed;if(DirState) //反转dispbuf[3]=LSpeed+4;}if(State4==0){if(State3==0){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;dispbuf[3]=0;}if(State3==1){dispbuf[0]=RSpeed;dispbuf[1]=LSpeed;dispbuf[2]=Min;dispbuf[3]=9;}}}//LED驱动void disp( uchar H, uchar n ){P1=n;P1|=LedState ;P1|=LED_code_d[H];}//T0中断**显示/方波输出void Time_0() interrupt 1{TH0=0xFC;TL0=0x66;Widcnt++;Dispcnt++;//电机驱动/方波输出if(Widcnt>CIRCLE){Widcnt=1;}if(Widcnt<=LWidth)LMot_P=!DirState&&MotState;elseLMot_P=DirState&&MotState;LMot_M=DirState&&MotState;if(Widcnt<=RWidth)RMot_P=!DirState&&MotState;elseRMot_P=DirState&&MotState;RMot_M=DirState&&MotState;//显示if(Dispcnt==5){disp(dispbitcnt,dispbuf[dispbitcnt]);dispbitcnt++;if(dispbitcnt==4){dispbitcnt=0;}Dispcnt=0;}}//T1中断**运行时间void Time_1() interrupt 3{TH1=0xDB;TL1=0xFF;RTime_cnt++;}/******配置文件Afx.h******/#ifndef _AFX_#define _AFX_typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;#endif/******IO配置文件Config.c******/#ifndef _Config_#define _Config_#include "Afx.h"#include <reg52.h>//显示定义sbit led=P3^2;//电机引脚定义sbit LMot_P=P2^2; sbit LMot_M=P2^3; sbit RMot_P=P2^0; sbit RMot_M=P2^1;#endif。
基于51单片机的大功率直流有刷电机的PWM调速控制
基于51单片机的大功率直流有刷电机的PWM调速控制本人最近一直想用51 单片机来设计制作一个大功率直流有刷电机PWM 调速控制器。
由于平时工作忙,没时间。
所以,这个东东花了我很长时间。
每天晚上下了班,回家就弄,一直搞到十一二点钟才休息。
期间,也花了我不少钱,也失败了N 次。
终于,功夫不负有心人,我终于成功了,哈哈~~。
由于这个是大功率的直流有刷电机PWM 调速控制器,所以就不能用晶体管来驱动了,必须用MOS 管来驱动。
MOS 管不仅驱动能力强,而且效率高。
为了提高系统的稳定性,可靠性,适用范围广等特点,本系统,采用双电源供电。
控制电路一组电源,电压分别为5V 和15V。
功率输出部分一组电源,以适应不同电压的电动机。
至于功率,可以根据实际情况,通过并联MOS 管来决绝,但同时也要修改下驱动电路的相关参数,否则就很有可能炸MOS 管!另外,本人也考虑过在单片机的PWM 脉冲输出端与驱动电路之间,通过光耦来连接,实现光电隔离,提高系统的稳定性。
但后来又担心光耦的频率响应速率,可能会给驱动电路带来信号的衰减或者错误的信号等因素,造成降低系统的效率或者损坏MOS 管。
也许是我多虑了吧。
呵呵,不过我看到网上好多资料都是用的光电隔离。
目前,这个版本的调速控制器,共4 路PWM 脉冲输出,分别提供给:上,下MOS 管驱动电路正转信号。
上,下MOS 管驱动电路反转信号。
待机状态下一个红色的LED 灯闪烁,电机运行的各种状态指示,可以低速,中速,高速三个档运行。
并可以实现刹车和倒车功能。
这个目前可以达到至少100W 不成问题。
我现在采用的是一个12V 80W 的直流有刷电机。
低速运行时的电压为:3.7V,中速时:6.5V,高速时:10.5V。
目前这个东东只是实现了最基本的控制功能。
还不具有其它功能,如,电机过流保护,欠压保护(用蓄电池做电源时,。
基于51系列单片机的直流电机PWM调速
南昌工程学院本科综合课程设计第一章直流电动机调速概述 (1)1.1直流电机调速原理 (1)1.2直流调速系统实现方式 (2)1.389C51单片机 (3)89C51单片机接口如图1-3所示: (3)第二章硬件电路设计 (4)2.1PWM波形的程序实现 (4)2.2直流电动机驱动 (4)2.3续流电路设计 (5)第三章软件设计 (6)3.1主程序设计 (6)3.2数码显数设计 (7)3.3功能程序设计 (7)3.4仿真图 (11)3.5仿真结果分析 (12)心得体会 (13)参考文献 (14)第一章直流电动机调速概述1.1直流电机调速原理直流电动机根据励磁方式不同,直流电动机分为自励和他励两种类型。
不同励磁方式的直流电动机机械特性曲线有所不同。
但是对于直流电动机的转速有以下公式:n=U/C cφ-TR内/C r C cφ其中:U—电压;R内—励磁绕组本身的电阻;φ—每极磁通(Wb);Cc—电势常数;Cr—转矩常量。
由上式可知,直流电机的速度控制既可采用电枢控制法,也可采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但低速时受到磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差。
所以在工业生产过程中常用的方法是电枢控制法。
第一章直流电动机调速概述图1-1 直流电机的工作原理图电枢控制是在励磁电压不变的情况下,把控制电压信号加到电机的电枢上,以控制电机的转速。
在工业生产中广泛使用其中脉宽调制(PWM)应用更为广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
图1-2电枢电压占空比和平均电压的关系图,占空比为D=1t/T,则电根据上图,如果电机始终接通电源时,电机转速最大为vmaxV=V*D,可见只要改变占空比D,就可以得机的平均速度为:D max到不同的电机速度,从而达到调速的目的。
51单片机控制直流电机设计
单片机控制小功率直流电机一. 设计要求:用单片机控制直流电机加速、减速、正反转和停止。
二. 设计方案分析1、方案设计:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。
直流电机的驱动电路要有过流保护作用,可用二极管来实现,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。
程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。
设计中用到的元件:STC89C52、晶振(12MHz)、小按键、三极管、二极管、电容、电阻等。
2、背景知识介绍:直流电机调速原理本设计的主要思想为利用PWM控制占空比从而达到改变电机速度。
下面为PWM控制原理;图1为PWM降压斩波器的原理电路及输出电压波形。
在图1a中,假定晶体管V1先导通T1,秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。
如此反复,则电枢端电压波形如图1b中所示。
电动机电枢端电压Ua为其平均值。
图1 PWM降压斩波器原理电路及输出电压波形a) 原理图 b)输出电压波形 1112a d d d T T U U U U T T Tα===+ (3) 式(3)中1112T T T T Tα==+ (4)α为一个周期T 中,晶体管V1导通时间的比率,称为负载率或占空比。
使用下面三种方法中的任何一种,都可以改变α的值,从而达到调压的目的:(1)定宽调频法:T1保持一定,使T2在0~∞范围内变化;(2)调宽调频法:T2保持一定,使T1在0~∞范围内变化(3)定频调宽法:T1+T2=T 保持一定,使T ,在0~T 范围内变化。
不管哪种方法,α的变化范围均为0≤α≤l ,因而电枢电压平均值Ua 的调节范围为0~Ud ,均为正值,即电动机只能在某一方向调速,称为不可逆调速。
直流电机调速方案设计
直流电机调速方案设计直流电机是将直流电能转换为机械能的电动机。
因其良好的调速性能而在电力拖动中得到广泛应用。
下面就随小编一起去阅读直流电机调速方案设计,相信能带给大家帮助。
本文以AT89S51单片机为核心,提出了基于直流电机调速与测速系统的设计方案,然后给出了系统的主电路结构,以及驱动电路设计和系统软件设计。
本方案充分利用了单片机的优点,具有频率高、响应快的特点。
直流电机是工业生产中常用的驱动设备,具有良好的起动、制动性能。
早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成。
控制系统的硬件部分复杂、功能单一,调试困难。
本方案采用单片机控制系统,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。
P W M简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种技术,广泛应用在测量、功率控制与变换等许多领域中。
脉宽调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极的偏置,改变晶体管导通时间。
是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
因此,PWM又被称为“开关驱动装置”.PWM的占空比决定输出到直流电机的平均电压。
所以通过调节占空比,可以实现调节输出电压无级连续调节。
整个系统由输入电路、PWM调制、测速电路、驱动电路、控制部分及显示等部分组成,PWM调制选用AT89S51单片机通过软件实现频率和占空比的调节。
直流电机调速的设计方案驱动电路用光耦隔离保护电路,控制部分由单片机和外围电路组成,实现各种控制要求,外围电路主要完成对输入信号的采集、操作、对速度进行控制,显示部分采用四位共阳数码管。
PID
TL1=0x00;
EA=1; //总中断打开
ET1=1; //定时器中断打开
TR1=1; //定时器开关打开
}
//定时器0的中断服务子函数,主要完成脉冲个数的读取,实际转速的计算和PID控制以及控制结
//PCF8591.h #define uchar unsigned char
//延时4us
void delay(void);
//iic初始化
void init(void);
void init()
{
SDA=1;
delay();
SCL=1;
delay()de<reg52.h> #define PCF8591 0x90 //默认为写,如果为读,则为0x91 sbit SDA=P2^0;
void start()
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
}
// iic停止信号
void stop()
{
SDA=0;
delay();
SCL=1;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
// 计数器1初始化,用来统计定时器1计时250ms内PWM波形个数
void Init_Timer1(void)
{
TMOD |= 0x50; //使用计数模式1,16位计数器模式
(2)整定积分环节
若在比例控制下稳态误差不能满足要求,需加入积分控制。
51单片机控制直流电机调速电路(含C语言源程序)
51单片机控制直流电机调速电路(含C语言源程序)在自动化控制中,许多场合需要单片机控制直流电机进行变速,这里我们介绍一种低成本的简单实现方法。
经实践证明,运行稳定可靠。
直流电机变速原理通过电机学知识,我们可知,直流电机的转速为:直流电机的变速主要有3种方式:1.控制电枢电压改变电机的转速。
2.控制电机的励磁电流改变电机的转速。
3.在电枢回路中,串联电阻改变电机的转速。
使用单片机控制直流电机的变速。
一般采用调节电枢电压的方式,如图1所示,单片机P36输出的为宽度可变的负脉冲,这样电机电枢上的电压也为宽度可变的脉冲电压,根据公式:U=aVCC其中:U-电机电枢电压。
a-脉冲的占空比,范围在0~1之间。
Vcc-直流电源电压,这里为12V。
电机的电枢电压即受单片机输出脉宽控制,实现了利用脉冲宽度调制技术(PWM)进行直流电机的变速。
直流电机变速的实例及编程图2为笔者设计的“电喷汽车喷油嘴清洗机”(一种保养汽车的设备)电路原理,根据需要,作业时可随时按下“压力+”、“压力-”键,控制直流电机M的转速,即改变了洗涤液输出的压力大小。
图3为PWM波的输出示意,为了叙述简单,我们把PWM波的周期定为1mS,占空比分10级可调(即每级级差为10%),这样定时器TO每01mS(即100μS)产生一次定时中断,每10次中断后进入下一个PWM波的周期。
图3中的脉冲占空比为60%,即输出脉冲的时间为600 μS,断开脉冲的时间为400 μS,这样电机的电枢电压为12*60%=72V。
该变速程序配合A189S51单片机,产生的PWM波载频为1KHz,电机运行时有一些声响,适用于一些对噪音不十分讲究的场合。
如将载频提升到10~15KHz以上时,则基本听不到噪音,由于A T89S51的运算速度有限,不可能实现这一目标。
这时我们可考虑使用高速8位单片机,如:C8051F020、A VR单片机等,它们不仅运行速度快,而且在片内集成了控制电机专用的PWM部件,用来对直流电机进行变速控制将会得心应手。
基于51单片机的直流电机PWM调速控制系统设计
基于51单片机的直流电机PWM调速控制系统设计I摘要本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。
另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过处理后,将测量值送到液晶显示出来。
关键词:PWM信号,霍尔元件,液晶显示,直流电动机II目录目录 (III)1 引言 (1)1.1 课题背景 (1)1.1.2 开发背景 (1)1.1.3 选题意义 (2)1.2 研究方法及调速原理 (2)1.2.1 直流调速系统实现方式 (4)1.2.2 控制程序的设计 (5)2 系统硬件电路的设计 (6)2.1 系统总体设计框图及单片机系统的设计 (6)2.2 STC89C51单片机简介 (6)2.2.1 STC89C51单片机的组成 (6)2.2.2 CPU及部分部件的作用和功能 (6)2.2.3 STC89C51单片机引脚图 (7)2.2.4 STC89C51引脚功能 (7)3 PWM信号发生电路设计 (10)3.1 PWM的基本原理 (10)3.2 系统的硬件电路设计与分析 (10)3.3 H桥的驱动电路设计方案 (11)5 主电路设计 (13)5.1 单片机最小系统 (13)5.2 液晶电路 (13)5.2.1 LCD 1602功能介绍 (14)5.2.2 LCD 1602性能参数 (15)5.2.3 LCD 1602与单片机连接 (17)5.2.4 LCD 1602的显示与控制命令 (18)5.3 按键电路 (19)5.4 霍尔元件电路 (20)III5.4.1 A3144霍尔开关的工作原理及应用说明 (21)5.4.2 霍尔传感器测量原理 (22)6 系统功能调试 (23)总结 (24)致谢 (25)参考文献 (26)IV1 引言1.1 课题背景1.1.2 开发背景在现代电子产品中,自动控制系统,电子仪器设备、家用电器、电子玩具等等方面,直流电机都得到了广泛的应用。
基于51单片机的PWM直流电机调速系统
基于51单片机的PWM直流电机调速系统一、本文概述随着现代工业技术的飞速发展,直流电机调速系统在众多领域如工业自动化、智能家居、航空航天等得到了广泛应用。
在众多调速方案中,基于脉冲宽度调制(PWM)的调速方式以其高效、稳定、易于实现等优点脱颖而出。
本文旨在探讨基于51单片机的PWM直流电机调速系统的设计与实现,以期为相关领域的技术人员提供一种可靠且实用的电机调速方案。
本文将简要介绍PWM调速的基本原理及其在直流电机控制中的应用。
随后,将详细介绍基于51单片机的PWM直流电机调速系统的硬件设计,包括电机选型、驱动电路设计、单片机选型及外围电路设计等。
在软件设计部分,本文将阐述PWM信号的生成方法、电机转速的检测与控制算法的实现。
还将对系统的性能进行测试与分析,以验证其调速效果及稳定性。
本文将总结基于51单片机的PWM直流电机调速系统的优点与不足,并提出改进建议。
希望通过本文的阐述,能为相关领域的研究与应用提供有益参考。
二、51单片机基础知识51单片机,也被称为8051微控制器,是Intel公司在1980年代初推出的一种8位CISC(复杂指令集计算机)单片机。
尽管Intel公司已经停止生产这种芯片,但由于其架构的通用性和广泛的应用,许多其他公司如Atmel、STC等仍然在生产与8051兼容的单片机。
51单片机的核心部分包括一个8位的CPU,以及4KB的ROM、低128B 的RAM和高位的SFR(特殊功能寄存器)等。
它还包括两个16位的定时/计数器,四个8位的I/O端口,一个全双工的串行通信口,以及一个中断系统。
这些功能使得51单片机在多种嵌入式系统中得到了广泛的应用。
在PWM(脉冲宽度调制)直流电机调速系统中,51单片机的主要作用是生成PWM信号以控制电机的速度。
这通常是通过定时/计数器来实现的。
定时/计数器可以设置一定的时间间隔,然后在这个时间间隔内,CPU可以控制I/O端口产生高电平或低电平,从而形成PWM信号。
基于51单片机的直流无刷电机调速控制设计
基于51单片机的直流无刷电机调速控制设计下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一、引言随着科技的发展,直流无刷电机在工业控制领域有着广泛的应用。
基于51单片机的直流电机调速系统
目录1设计要求 (1)2方案设计 (1)2.1设计思路 (1)2.2总体方案方框图 (1)2.3基本原理 (2)3硬件模块设计 (3)3.1 复位电路及时钟电路模块 (4)3.2 驱动主电路模块 (4)3.3 LCD12864显示与矩阵键盘电路 (5)4系统软件设计 (5)4.1程序设计 (6)4.2 PID控制算法 (7)5总电路图 (8)6总结 (8)参考文献 (9)附录 (10)课程设计成绩评价表 (16)1设计要求分析直流电机的调速原理,设计单片机控制的直流电机的速度控制系统的电路,用C 语言编程实现速度的显示和控制。
并完成以下功能1、了解直流电机调速原理;2、电机速度检测、控制3、实现电机速度的控制和显示4、分析该速度控制系统的特点和性能,撰写设计报告2方案设计2.1设计思路本此课程设计选择STC89C52单片机作为主控芯片,选取带有光电编码器的直流电机作为被控对象,利用单片机的T0定时器产生PWM信号并送到直流电机。
在Proteus仿真环境下搭建了L298N直流电机驱动电路、矩阵键盘扫描电路以及LCD12864显示电路。
实现了直流电机的启动、加速、正转、反转、制动等功能。
同时,采用PID控制算法可实现电机速度在特定的场合实现自动切换。
2.2总体方案方框图本次课程设计可分为主控制器(STC89C52)、按键控制模块、速度采集模块、数据显示模块、速度控制模块这五个部分,总体的设计方案图如图1所示:图1总体方案框图2.3基本原理2.3.1直流电机PWM 调速原理直流电动机的调速方法有改变改变磁通量、改变电枢回路串联电阻以及改变电枢电压三种。
在电枢回路串联电阻,调速范围不大并且铜耗大,不经济。
弱磁调速中当磁通量Φ在低速时受磁极饱和限制,在高速时受换向器结构强度和换向火花的限制,而且由于励磁圈电感较大,动态响应较差,因此采用改变电枢电压的调速方法。
PWM (Pulse Width Modulation ),全称为脉冲宽度调制,可以改变电枢电压值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的直流电机调速的方法
田云史洁黑龙江农业经济职业学院机电工程系157041
0 引言
许多单片机爱好者,在设计一些单片机控制系统的时候,都会采用小型直流电动机来制作各种各样的电子设备,因为直流电机调速范围广,易于平滑调速,启动、制动和过载转矩大,易于控制,可靠性较高。
对于直流电机的控制,无非是控制其转向,以及速度。
转向的控制方法比较简单,只要改变电机的通电极性就可改变其旋转方向。
在这里,我们重点讨论如何对其速度上的控制,对其调速可以采用多种办法。
对于直流电机转速的调节,最常用的办法是通过改变电枢端的电压来实现,传统的思路是通过调节电枢电路电阻R的阻值来改变端电压,以达到调速的目的。
但由于接入的电阻消耗了部分电压,因此这种传统的调速方法效率很低。
随着电力电子技术的发展,出现了许多新的电枢电压控制方法,其中PWM(Pulse Width Modulation)控制是常用的一种调速方法。
PWM控制是指在保持周期丁不变的情况下,通过调节开关导通的时间对脉冲宽度进行调制,从而达到调节电机转速的目的。
在脉宽调速系统中,电机电枢两端的电压是脉宽可调的脉冲电压,在输出脉冲频率足够快的情况下,由于惯性的存在,只要按照一定的规律改变通、断电的时间,即可使电机的速度达到并保持一个稳定值。
对于直流电机,采用PWM控制技术构成的无级调速系统,启停时对直流系统无冲击,并且具有启动功耗小、运行稳定的特点。
本文在给出直流电机调速和PWM实现方法的基础上,提供一种用51单片机软件实现PWM调速的方法。
1 PWM基本原理
PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
因此,PWM又被称为“开关驱动装置”。
如图1所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。
只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。
图1 PWM 控制原理
设电机始终接通电源时,电机转速最大为V
max
,占空比为t
t t
T t D 2
1
11/+=
=,则电机的平均速
度为
D V
V d
⨯=max
式中,
V d
——电机的平均速度;
V
max
——电机全通电时的速度(最大);
t t t
T
t D 2
11
1
/+=
=——占空比。
由公式(2)可见,当我们改变占空比
t
t t
T t D 2
1
11/+=
=时,就可以得到不同的电机平均速度
V
d
,
从而达到调速的目的。
严格地讲,平均速度
V
d
与占空比t t t
T
t D 2
11
1
/+=
=并不是严格的线性关系,
在一般的应用中,可以将其近似地看成线性关系。
一般可以采用定宽调频、调宽调频、定频调宽三种方法改变占空比的值,但是前两种方法在调速时改变了控制脉宽的周期,当控制脉冲的频率与系统的固有频率接近时将会引起振荡,因此常采用定频调宽法改变占空比的值,从而改变直流电动机电枢两端电压。
定频调宽法的频率一般在800H Z -1000H Z 之间比较合适。
2实现方法
PWM 信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。
硬件方法的实现已有很多文章介绍,这里不做赘述。
本文主要介绍采用定频调宽法来利用51单片机产生PWM 信号的软件实现方法。
MCS-51系列典型产品805l 具有两个定时器T0和T1。
通过控制定时器初值,,从而可以实现从
8051
最大值Vmax
平均值Vd
最小值Vmin
的任意输出口输出不同占空比的脉冲波形。
由于PWM 信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。
因此,首先必须明确定时器的定时初值与定时时间的关系。
如果单片机的时钟频率为f ,,定时器/计数器为n 位,则定时器初值与定时时间的关系为:
()
f
N
n n
t ⨯-=01
2 式中, 1t 表示定时时间;
n 表示定时器的位数;
0n 表示定时器的计数初值;
N 表示单片机一个机器周期需要时钟数,8051需要12个时钟; f 表示单片机晶振频率。
N 随着机型的不同而不同。
在应用中,应根据具体的机型给出相应的值。
这样,我们可以通过设定不
同的定时初值1t ,,从而改变占空比D ,进而达到控制电机转速的目的。
根据占空比
t t t
T
t D 2
11
1
/+=
=,我们需要用到两个定时器,一个用来控制高电平时间,另外一个
控制低电平时间,但这样的话比较浪费单片机定时器资源。
为此我们这里价绍一种可以利用一个定时器来分别控制高电平和低电平持续的时间来调整占空比D ,详情见下面的利用51单片机的P1.0端口输出PWM 波形的流程图。
图2 P1.0端口输出PWM波形流程图
3具体实例
下面我们有主频为12MHZ的51单片机的方式1产生一个占空比为1/4的PWM信号。
这里面采用定频调宽法,采用PWM信号频率为1000HZ,周期为1毫秒,占空比为1/4,可以得知高电平持续的时间为250微秒,低电平持续的时间为750微秒,单片机的时钟频率为12MHZ,根据上面初值计算公式,可以得到高电平控制初值和低电平控制初值。
通过分析编写程序如下:#include<reg51.h>
sbit p1_0=P1^0;
void main()
{
TMOD=0x01; //计时器T0方式1
TH0=(65536-750)/256; //赋计时器初值高位
TL0=(65536-750)%256;//赋计时器初值低位
EA=1; //开总中断
ET0=1; //开计时器T0中断
TR0=1; //启动计时器T0
p1_0=0; //置P1.0为低
while(1); //等计时器T0中断
}
void timer0() interrupt 1
{
if (p1_0==1)
{
TH0=(65536-750)/256;//赋低电平控制计时器初值高位
TL0=(65536-750)%256;//赋低电平控制计时器初值低位
p1_0=0;
}
else
{
TH0=(65536-250)/256;//赋高电平控制计时器初值高位
TL0=(65536-250)%256;//赋高电平控制计时器初值低位
p1_0=1;
}
}
4结束语
通过对以上的1/4占空比PWM信号产生实例进行分析,便可以得到任意的占空比的PWM信号,只
需对计时器的初值进行调整。
这里对初值可以采取使用变量的形式,那么得到的占空比信号就更加的灵活多样。
另外也可以结合外部按键实现可控占空比的PWM信号,并可以将占空比由数码管或液晶显示器显示出来。
更多更大的功能交给同学们来完成吧!
通过单片机来实现电机调整有多种途径。
相对于其他用硬件或者硬软结合的方法实现对电机进行调整,采用PWM用纯软件的方法来实现调速过程,具有更大的灵活性和更低的成本,能够充分发挥单片机的效能,对于简易速度控制系统的实现提供了一种有效的途径。
由于单片机的引脚驱动能力较低,不能直接驱动直流电机,所以单片机产生的PWM信号只是一个控制信号,要想驱动电机,还需要有相应的驱动电路或驱动芯片,像L293D、L298N这样的集成驱动芯片都是驱动直流电机不错的选择。
对于软件,采用一个计时器分别产生两件时间设计的思路,为采用纯软件对电机速度的平滑调节提供了一种不错的解决方案。