51单片机控制直流电机PWM调速
- 格式:doc
- 大小:359.00 KB
- 文档页数:5
基于51单片机的直流电机调速的方法田云 史洁 黑龙江农业经济职业学院机电工程系 1570410 引言许多单片机爱好者,在设计一些单片机控制系统的时候,都会采用小型直流电动机来制作各种各样的电子设备,因为直流电机调速范围广,易于平滑调速,启动、制动和过载转矩大,易于控制,可靠性较高。
对于直流电机的控制,无非是控制其转向,以及速度。
转向的控制方法比较简单,只要改变电机的通电极性就可改变其旋转方向。
在这里,我们重点讨论如何对其速度上的控制,对其调速可以采用多种办法。
对于直流电机转速的调节,最常用的办法是通过改变电枢端的电压来实现,传统的思路是通过调节电枢电路电阻R 的阻值来改变端电压,以达到调速的目的。
但由于接入的电阻消耗了部分电压,因此这种传统的调速方法效率很低。
随着电力电子技术的发展,出现了许多新的电枢电压控制方法,其中PWM(Pulse Width Modulation)控制是常用的一种调速方法。
PWM 控制是指在保持周期丁不变的情况下,通过调节开关导通的时间对脉冲宽度进行调制,从而达到调节电机转速的目的。
在脉宽调速系统中,电机电枢两端的电压是脉宽可调的脉冲电压,在输出脉冲频率足够快的情况下,由于惯性的存在,只要按照一定的规律改变通、断电的时间,即可使电机的速度达到并保持一个稳定值。
对于直流电机,采用PWM 控制技术构成的无级调速系统,启停时对直流系统无冲击,并且具有启动功耗小、运行稳定的特点。
本文在给出直流电机调速和PWM 实现方法的基础上,提供一种用51单片机软件实现PWM 调速的方法。
1 PWM 基本原理PWM 是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
PWM 可以应用在许多方面,如电机调速、温度控制、压力控制等。
在PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
基于51系列单片机的直流电机PWM调速系统设计
随着社会的发展,直流电机作为机械设备中重要的驱动件,已经被越来越多的应用起来,而PWM(脉冲宽度调制)技术是控制直流电机转速的有效方法。
本文介绍了一种基于
51系列单片机的直流电机PWM调速系统设计,该调速系统可以实现对直流电机的转速调节。
首先,本文详细描述了该调速系统的硬件结构,包括51系列单片机控制器,PWM模块,旋转编码器,按键,LED指示灯,直流电机等构成组件。
其中,51系列单片机控制器负责
信号的采集和处理,PWM模块负责调节直流电机的转速,旋转编码器负责实时测量直流电
机的转速,按键和LED指示灯则用于进行键盘操作和系统状态指示。
接着,本文提出了该系统的主要程序流程设计。
首先,通过旋转编码器获取当前直流
电机的转速,并经过51系列单片机的实时校准,作为调节直流电机的转速的PWM信号的
参考值。
然后,通过按键输入参考值,调节PWM模块的输出比例,从而调节直流电机的转速。
最后,将调节结果通过LED指示灯反馈出来,用于系统状态的指示。
整个调速系统的设计都在51系列单片机上完成,功能完善。
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 端口来提供模拟时序信号。
基于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。
DOI:10.16660/ki.1674-098X.2018.13.108基于51单片机的直流电机PWM调速系统吴一平(浙江农林大学工程学院 浙江杭州 311300)摘 要:本文介绍了以单片机STC89C51和L298控制的直流电机PWM (脉宽调制)调速系统,主要介绍了用单片机软件实现PWM调整电机转速的基本原理及选择。
硬件电路实现了对电机的正转、反转、快速停止、加速,停止的控制。
软件电路给出了主程序、子程序流程图以及Proteus的仿真结果。
关键词:单片机STC89C51 脉宽调制 直流电机中图分类号:TN710 文献标识码:A 文章编号:1674-098X(2018)05(a)-0108-02直流电动机是将直流电能转换为机械能的电动机,相比其他类型电动机具有更好的调速性能,因此,直流电动机在工农业中被广泛应用。
本文对基于单片机STC89C51的直流电机PWM调速系统进行介绍,以期实现直流电机最优化方案。
1 直流电机PWM调速选择及原理直流电动机的调速方法有改变改变磁通量、改变电枢回路串联电阻以及改变电枢电压三种。
在电枢回路串联电阻,调速范围不大并且铜耗大,不经济。
弱磁调速中当磁通量Φ在低速时受磁极饱和限制,在高速时受换向器结构强度和换向火花的限制,而且由于励磁圈电感较大,动态响应较差,因此采用改变电枢电压的调速方法。
PWM(Pulse Width Modulation),全称为脉冲宽度调制,可以改变电枢电压值。
PWM的优点是精度高,易于控制,运行稳定。
PWM调速方法有三种,分别为定频调宽法、调宽调频法和定频调宽法。
前两种方法在调速时会改变控制脉冲的频率,而控制脉冲的频率与系统固有频率接近时会引起震荡,因此本文选用定频调宽法。
调速原理计算如下:占空比,D=t1t1+t2=t1T式中,T为电压变化周期;t1为一个周期内高电平持续时间;t2为一个周期内低电平持续时间;电机电压平均值U=DU0,式中,U0为总电压。
基于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单片机的PWM直流调速系统摘要:在当今社会,自动控制系统遍及我们生活的各个领域,在工业自动化中的应用也及其普遍,如:数控设备,工业机器人,电动机农业等。
而驱动这些设备的动力系统大多为直流电机,直流电机也因其有良好的启动性能,调速性能被广泛应用。
单片机简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,是一种功能强,体积小,可靠性高的大规模集成电路器件,乘法和除法指令,也给编程也带来了便利。
PWM(脉冲宽度调制)调速技术是直流电机中最常见的一种调速技术。
该调速技术有需要的元器件少,电路构造简单,精度高,范围广和无极调速等优点,成为直流电机的主流调速技术之一,同时也促进了工业化的发展。
本文主要介绍直流电机的调速系统,该系统为用51单片机发出PWM信号,通过改变PWM信号占空比来实现直流电机的调速。
并通过L298驱动模块来驱动电机。
在直流电机调速过程中,需要采用一些按键对系统调速进行控制。
在本系统中主要采用的是按键的方式进行控制,将四个按键分别连接到单片机的四个引脚上。
同时通过转速和电流双闭环直流调速系统,采用模糊控制的PID控制器对该系统进行控制,到达一个理想的速度。
关键词:直流电机;单片机;PWM调速;L2981研究背景及意义1.1国内外研究现状电机的历史非常悠久,自从第二次工业革命-电气化时代以来,电机就开始广泛参与人类生活的各个方面。
按工作电源种类来进行划分,电机可以分为交流电机与直流电机两大种类。
电机的转速控制是电机控制的最终目标,对应于电机的控制,交流调速系统与直流调速系统是电机自动控制系统中的两个重要组成部分。
直流调速系统与交流调速系统相比,具有调速精度高、调速范围广的特点,并且其变流装置控制简单,并具有更好的启动与制动性能。
在调速性能要求比较高、大功率、大扭矩的场合,如轧钢厂,海上钻井平台,直流调速系统仍占据主导地位。
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直流电机调速直流电机脉冲宽度调制(Pulse Width Modulation-简称PWM)调速产生于20世纪70 年代中期,最早用于自动跟踪天文望远镜、自动记录仪表等的驱动,后来由于晶体管器件水平的提高及电路技术的发展, PWM 技术得到了高速发展,各式各样的脉宽调速控制器,脉宽调速模块也应运而生,许多单片机也都有了PWM输出功能。
而51单片机却没有PWM 输出功能,采用定时器配合软件的方法可以实现51单片机PWM的输出功能。
本设计就是由单片机STC89C52RC芯片,直流电机(搭建H桥电路驱动)和四位一体LED数码管为核心,辅以必要的电路,构成了一个基于51单片机PWM可调速的直流电机。
该可调直流电机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。
该可调直流电机布置合理,全部器件分布在7*9cm洞洞板上,看起来小巧精简。
采用的是单片机内部定时器产生方波并且两个P口交换输出,可以方便灵活地调速度和方向。
该可调直流电机从0到最大速度1200转每分钟一共设置了60个档次的转速,采用红光四位数码管,可以直观地显示出来(显示的是每分钟的转速)。
有红光和绿光的两个二极管作为转速指示灯。
四个控制按键就可以控制电机的转速,方向与暂停。
每按一个键,该可调电机就会实现相对应的功能,操作非常简单。
关键词:直流电机,51单片机,C语言,数码管一、设计任务与要求 (4)1.1 设计任务 (4)1.2 设计要求 (4)二、方案总体设计 (5)2.1 方案一 (5)2.2 方案二 (5)2.3 系统采用方案 (5)三、硬件设计 (7)3.1 单片机最小系统 (7)3.2 数码管显示模块 (7)3.3 系统电源 (8)3.4驱动电路 (8)3.5 整体电路 (9)四、软件设计 (10)4.1 keil软件介绍 (10)4.2 系统程序流程 (10)五、仿真与实现 (13)5.1 proteus软件介绍 (13)5.2 仿真过程 (13)5.3 实物制作与调试 (15)5.4 使用说明 (17)六、总结 (18)6.1 设计总结 (18)6.2 经验总结 (18)七、参考文献 (21)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).四个按键分别实现改变转向,加速,减速与暂停的功能2).H桥电路驱动直流电机3).一个红光和一个绿光二级管指示电机转向4).四位数码管显示转速二、方案总体设计设计一个基于51单片机的可调直流电机。
51单片机控制直流电机PWM调速实验时间:第12周星期六1-4节51单片机控制直流电机PWM调速实验目的1.掌握脉宽调制 (PWM) 的方法。
2.用程序实现脉宽调制,并对直流电机进行调速控制。
实验设备PC 机一台,单片机最小系统,驱动板、直流电机,连接导线等实验原理1.PWM (Pulse Width Modulation) 简称脉宽调制。
即,通过改变输出脉冲的占空比,实现对直流电机进行调压调速控制。
2.实验线路图:实验内容:1. 利用实验室提供的单片机应用系统及直流电机驱动电路板,编制控制程序,实现直流电机PWM调速控制。
2.实验原理图:3. 程序如下:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit KEY1 = P3^4;sbit KEY2 = P3^5;sbit KEY3 = P3^6;sbit IN1 = P1^0;sbit IN2 = P1^1;sbit ENA = P1^2;sfr ldata=0x80;sbit dula=P2^6;sbit wela=P2^7; //sbit lcden=P3^4;//uchar timer,ms,t_set = 1;uchar T_N=100;uchar T_N1=100;uchar T_H_N=50;uchar T_H_N1=50;void msplay(uchar,uchar);uchar codex1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79 ,0x71};//uchar code x2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar code x3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//uchar code x4[]={0x01,0x02,0x04,0x08,0x10,0x20};void delay(uint z) //延时函数{uint x;for(x=z;x>0;x--);}void Key_Scan(){if(KEY1 == 0){delay(20);while(!KEY1);T_H_N++;if(T_H_N >=99){T_H_N =99;}}if(KEY2 == 0){delay(20);while(!KEY2);T_H_N--;if(T_H_N <= 1){T_H_N = 1;}}if(KEY3 == 0){delay(15);while(!KEY3);IN1=~IN1;IN2=~IN2;}}void Motor_Init(){ENA = 0;IN1 = 1;IN2 = 0;}void Timer0_Init(){TMOD=0X12;TH0=(256-50);TL0=(256-50);// TH1=(65535-T_H)/256;// TL1=(65535-T_H)%256;EA=1;ET0=1;TR0=1; }void main(){uchar k3,k2,k1,k0;Timer0_Init();Motor_Init();while(1){k2=T_H_N/10;k3=T_H_N%10;k1=0;k0=0;msplay(k0,2);msplay(k1,3);msplay(k2,4);msplay(k3,5);Key_Scan();}}void timer0() interrupt 1{TR0=0;// TH0=(65536-50)/256;// TL0=(65536-50)%256;T_H_N1--;if(0==T_H_N1){ENA=0;T_H_N1=1;}T_N1--;if(T_N1==0){ENA=1;T_N1=100;T_H_N1=T_H_N;}TR0=1;} void msplay(uchar y1,uchar y2){ldata = x1[y1];dula=1;dula=0;delay(1);ldata = x3[y2];wela=1;wela=0;delay(1);ldata = 0x00;dula=1;dula=0;delay(1);ldata = 0x0ff;wela=1;wela=0;delay(1);}占空比数值显示为70时,原理图的显占空比为70%时的调试图实验思考题本实验中是通过改变脉冲的占空比,周期T 不变的方法来改变电机转速的,还有什么办法能改变电机的转速,应该怎么实现?答:可以让占空比不变,改变周期T的大小来改变电机的转速。
基于MC51单片机的直流电机PWM调速系统一、本文概述随着现代电子技术的快速发展,直流电机调速系统在各种工业控制、自动化设备及智能家居等领域中得到了广泛应用。
MC51单片机作为一种功能强大、性价比高的微控制器,具有集成度高、稳定性好、控制灵活等优点,在电机控制领域具有广泛的应用前景。
本文旨在探讨基于MC51单片机的直流电机PWM(脉冲宽度调制)调速系统的设计与实现。
本文将首先介绍直流电机PWM调速的基本原理,包括PWM技术的特点及其在电机调速中的应用。
随后,将详细阐述基于MC51单片机的PWM调速系统的硬件设计,包括单片机选型、功率驱动电路、电机接口电路等关键部分的设计与搭建。
在软件设计方面,本文将介绍如何利用MC51单片机的定时器、I/O端口等资源,实现PWM信号的生成与控制,以及如何通过编程实现电机的精确调速。
本文还将对系统的调试与优化进行阐述,包括电路调试、软件调试、性能优化等方面的内容,以确保系统的稳定性和可靠性。
本文将总结基于MC51单片机的直流电机PWM调速系统的优点与应用前景,为相关领域的研究和实践提供参考和借鉴。
通过本文的研究与探讨,读者可以深入了解基于MC51单片机的直流电机PWM调速系统的设计与实现过程,掌握相关硬件与软件设计技术,为实际应用中的电机调速控制提供有效的解决方案。
二、系统总体设计在本设计中,我们将基于MC51单片机构建一个直流电机PWM(脉冲宽度调制)调速系统。
该系统的设计目标是实现直流电机的精确速度控制,以满足不同应用场景的需求。
总体设计包括硬件设计和软件设计两个部分。
硬件设计主要包括MC51单片机、直流电机、电机驱动电路、PWM 信号生成电路、电源电路以及必要的接口电路。
MC51单片机作为系统的核心控制器,负责生成PWM信号、接收用户输入以及处理相关控制逻辑。
直流电机是执行机构,通过电机驱动电路与MC51单片机相连,接收PWM信号以驱动电机转动。
PWM信号生成电路用于将MC51单片机输出的数字信号转换为模拟的PWM信号,以控制电机的转速。
基于MC51单片机的直流电机PWM调速系统一、概述随着现代工业技术的不断发展,直流电机因其良好的调速性能和控制精度,在工业自动化、机器人、航空航天等领域得到了广泛的应用。
PWM(脉宽调制)技术作为一种高效的电机调速方法,能够有效地控制直流电机的速度和方向。
本文旨在介绍一种基于MC51单片机的直流电机PWM调速系统,通过单片机实现对直流电机的精确控制。
该系统以MC51单片机为核心控制器,利用其强大的运算能力和丰富的外设接口,实现对直流电机的PWM调速控制。
系统通过采集电机的实时转速信息,结合用户设定的目标转速,利用PWM信号调整电机的输入电压,从而实现对电机转速的精确控制。
系统还具备过流、过压等保护功能,确保电机在安全可靠的环境下运行。
基于MC51单片机的直流电机PWM调速系统具有结构简单、控制精度高、响应速度快等优点,适用于各种需要精确控制直流电机转速的场合。
通过本系统的研究与应用,可以进一步提高工业自动化水平,推动相关产业的发展。
1. 直流电机PWM调速系统的研究背景与意义直流电动机作为最早出现的电动机类型,长期以来在调速控制领域占据着统治地位。
其良好的线性调速特性、简单的控制性能、高效的能量转换效率以及优异的动态特性,使得直流电动机在各种应用场景中得到了广泛的应用。
特别是在对调速性能要求较高的场合,如电力牵引、轧钢机、起重设备等,直流电动机更是发挥了不可替代的作用。
随着科学技术的不断进步和工业应用需求的日益复杂,传统的直流电机调速方式已经难以满足现代工业生产的需求。
传统的调速方法往往存在调速精度不高、调速范围有限、能耗较大等问题,严重制约了直流电动机在更多领域的应用。
为了解决这些问题,PWM(脉冲宽度调制)调速技术应运而生。
PWM技术利用微处理器的数字输出来对模拟电路进行控制,具有控制简单、灵活和动态响应好的优点。
通过将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单片机的PWM直流电机调速系统分析作者:杨雄来源:《数字技术与应用》2014年第04期摘要:现阶段直流电机是工业生产领域中的主要动力设备,在工业生产各环节都可以看到以直流电机为主要设备构成的动力系统,所以直流电机性能的优劣对工业生产效率与质量有着直接影响。
直流电机调速系统主要由PWM调速技术最为常用,其技术优势使直流电机具有调速精准度相对较高、控制范围相对较广、调速反映相对较快以及节省电力资源等,所以PWM 调速技术对直流电机发展有着重要作用。
本文就51单片机的直流电机进行分析,探讨PWM 调速技术对直流电机调速系统产生的影响。
关键词:51单片机 PWM调速技术直流电机调速系统中图分类号:TM33 文献标识码:A 文章编号:1007-9416(2014)04-0026-01近年来,直流电机被广泛应用于工业生产领域中的自动化设备动力系统,由于早起直流电机受到其线路复杂因素影响,使其在整体功能性与使用性都受到很大限制。
PWM调速技术的出现及应用使直流电机这一问题有效解决,不仅使直流电机整体功能性得到很大提升,同时也使直流电机在各生产领域中的应用范围不断增加。
随着电子技术与电子控制技术不断发展与创新,以单片机控制的PWM直流电机调速系统使直流电机整体功能更加优越,同时可以有效减少直流电机运行中对电力能源的消耗,因此基于PWM调速技术的直流电机广受工业生产领域亲睐。
1 PWM直流电机调速技术原理分析PWM调速技术主要通过应用半导体开关控制直流电压,半导体开关通过自身通断处理卡已改变电压状态,从而使直流电机调速系统可以实现调速处理工作。
当半导体开关在运行中处于导通状态时,可以将直流电压转变成高电平状态对直流电机提供电力;当半导体开关在运行中处于断开状态时,可以将直流电压转变成低电平状态对直流电机提供电力,而直流电压在高电平与低电平两者之间转换时会产生脉冲信号,而PWN调速技术就是通过半导体控制直流电压产生脉冲信号这一特性,使脉冲信号频率与宽度通过有效调整实现直流电机调速控制。
51单片机PWM电机调速程序#include#define TH0_TL0 (65536-1000)//设定中断的间隔时长unsigned char count0 = 50;//高电平的占空比unsigned char count1 = 0;//比较用的临时变量bit Flag = 1;//电机正反转标志位,1正转,0反转sbit Key_add=P2 ^ 0; //电机减速sbit Key_dec=P2 ^ 1; //电机加速sbit Key_turn=P2 ^ 2; //电机换向sbit PWM1=P2^6;//PWM 通道 1,反转脉冲sbit PWM2=P2^7;//PWM 通道 2,正转脉冲unsigned char Time_delay;void Delay(unsigned char x);void Motor_speed_high(void);void Motor_speed_low(void);void Motor_turn(void);void Timer0_init(void);void Delay(unsigned char x){Time_delay = x;while(Time_delay != 0);//等待中断,可减少PWM输出时间间隔}void Motor_speed_high(void)//{if(Key_add==0){Delay(10);if(Key_add==0){count0 += 5;if(count0 >= 100){count0 = 100;}}while(!Key_add);//等待键松开}}void Motor_speed_low(void){if(Key_dec==0){Delay(10);if(Key_dec==0){count0 -= 5;if(count0 <= 0){count0 = 0;}}while(!Key_dec );}}void Motor_turn(void) {if(Key_turn == 0) {Delay(10);if(Key_turn == 0) {Flag = ~Flag;}while(!Key_turn);}}void Timer0_init(void) {TMOD=0x01; //定时器0工作于方式1 TH0=TH0_TL0/256;TL0=TH0_TL0%6;TR0=1;ET0=1;EA=1;}void main(void){Timer0_init();while(1){Motor_turn();Motor_speed_high();Motor_speed_low();}}void Timer0_int(void) interrupt 1 using 1 {TR0 = 0;//设置定时器初值期间,关闭定时器TL0 = TH0_TL0 % 256;TH0 = TH0_TL0 / 256 ;//定时器装初值TR0 = 1;if(Time_delay != 0)//延时函数用Time_delay--;}if(Flag == 1)//电机正转{PWM1 = 0;if(++count1 < count0) {PWM2 = 1;}elsePWM2 = 0;if(count1 >= 100) {count1=0;}}else //电机反转{PWM2 = 0;if(++count1 < count0) {PWM1 = 1;}elsePWM1 = 0;if(count1 >= 100){count1=0;}}}这个程序是我转来的下载在硬件上是能通过的。
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端口来提供模拟时序信号。