51单片机—使用PWM对直流电机调速

发布者:美丽花朵最新更新时间:2021-10-19 来源: eefocus关键字:51单片机  PWM  直流电机调速 手机看文章 扫描二维码
随时随地手机看文章

- 什么是PWM

PWM(脉宽调制),是靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。


(脉冲可以理解为是IO口的一次高低电平改变)


- PWM是怎么对直流电机进行调速的

使用PWM对电极调速时,是靠改变占空比(改变脉冲宽度)来控制输出电压的,电压较小电机转速就会下降;再通过改变周期(脉冲的周期)来控制其输出频率,脉冲频率对电机的转速有着决定性作用,脉冲频率越高连续性就越好。


我们一般时通过改变占空比来改变电机转速的。


(占空比:占空比是指一个脉冲循环内,通电(高电平)时间相对于总时间所占的比例。)


- 通过定时器中断实现PWM调速

因为51单片机不附带PWM硬件电路,所以我们一般通过软件模拟PWM,具体是利用定时器中断来实现PWM调速。


改变脉冲宽度:此处利用定时器0的工作方式2(即8位自动装填 TMOD=0X02),一次计时溢出就代表一次脉冲,所以占空比的改变(脉冲宽度的改变是在每一次脉冲改变的)就在中断函数内进行了。


主要是在中断函数内进行占空比设置,如下


void timer0() interrupt 1

{

pwm_t++;

if(pwm_t == 255) //将一个周期分成256份

pwm_t = left_en = right_en = 0;

if(pwm_left_val == pwm_t)//达到pwm_left_val后开启左使能开关

left_en = 1;

if(pwm_right_val == pwm_t)//达到pwm_left_val后开启右使能开关

right_en = 1;  

}


改变周期:那周期的改变是依据什么呢?当然是控制溢出时间了(即控制TH0和TL0的初始值)脉冲周期=定时器溢出时间x占空比的总份数。


当设置周期为0.01s、占空比总份数为256时,可以根据定时器溢出时间算出TH0和TL0的初始值为220。


- 上代码

代码经过本人亲测,可以实现


#include

sbit left_en=P1^4;

sbit right_en=P1^5;

sbit left_advance=P1^3;

sbit left_back=P1^2;

sbit right_advance=P1^6;

sbit right_back=P1^7;

unsigned char pwm_left_val = 200;//左电机占空比值 取值范围0-170,0最快

unsigned char pwm_right_val = 0;//右电机占空比值取值范围0-170 ,0最快

unsigned char pwm_t=0;//周期计数变量

/*小车前进*/

void forward()

{

left_advance=1; //左电机前进

left_back=0;

right_advance=1; //右电机前进

right_back=0;

}


//定时器0中断

void timer0() interrupt 1

{

pwm_t++;

if(pwm_t == 255) //将一个周期分成256份

pwm_t = left_en = right_en = 0;

if(pwm_left_val == pwm_t)//达到pwm_left_val后开启左使能开关

left_en = 1;

if(pwm_right_val == pwm_t)//达到pwm_left_val后开启右使能开关

right_en = 1;  

}

void main()

{

TMOD |= 0x02;//8位自动重装模块

TH0 = 220;

TL0 = 220;//11.0592M晶振下占空比最大比值是256,输出100HZ

TR0 = 1;//启动定时器0

ET0 = 1;//允许定时器0中断

EA = 1;//总中断允许

while(1)

{

forward();//前进

}

}

关键字:51单片机  PWM  直流电机调速 引用地址:51单片机—使用PWM对直流电机调速

上一篇:51单片机—LCD1602显示模块
下一篇:关于51单片机中的几种通信模式与总结

推荐阅读最新更新时间:2024-11-22 11:12

51单片机实验6:独立按键
开发板独立按键模块电路图如下: 目的:通过控制独立按键K1,使第一盏led发光/关闭 P3口位准双向io口,当K1按下时,P3^1口接地,电平为0。 当K1按下时,由于独立键盘的物理特性以及按下过程等因素的干扰,P3^1口电平变化与理想情况并不相符,出现“抖动”现象,如下图所示: 为消除按下抖动造成的影响,在led状态改变之前,加入延时函数,判断独立按键K1是否真正被按下。 难点:等待按键释放语句:while(!k1)的作用。 释放抖动造成的影响,在下一个keypros()函数周期中可以被解决。 #include reg52.h #define uc unsigned char sbit led=P2
[单片机]
<font color='red'>51单片机</font>实验6:独立按键
基于AT89C51单片机的量程自切换频率计
近年来,随着科学技术的快速发展,特别是类似单片机等相关集成电路生产技术的快速堀起,推动了仪器仪表及家电产业的快速发展,用程序代码来简化硬件电路的复杂程度,使其不断向着体积小,价格低廉,功能更加多样化、智能化的方向发展。功能齐全,价格低廉的产品越来越受到人们的青睐,当然,科技的发展最先受益的还是从事前沿科技研究领域的人员,对于他们来说,一款好的测量设备将为他们的研究工作带来便利的同时也减轻很多负担。就目前而言,高端仪器设备很多均依赖进口,研究并制造出属于我们国家自己的高端仪器设备将是我们一直努力的方向,而且也具有非常广阔的发展前景。 1 硬件电路设计 本设计主要由信号采集电路、放大整形电路、分频电路、信号处理电路、电源电路
[单片机]
基于AT89C<font color='red'>51单片机</font>的量程自切换频率计
51单片机STC89C52】HC-SR04超声波模块测距
一、HC-SR04超声波模块 1、简介 HC-SR04 超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高达3mm;模块包括超声波发射器、接收器与控制电路。 基本工作原理: (1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。 (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2; 让它发送波:给Trig端口至少10us的高电平 开始发送波:Echo信号由低电平跳转到高电平 接收返回波:Ec
[单片机]
【<font color='red'>51单片机</font>STC89C52】HC-SR04超声波模块测距
MCS51单片机存储器结构
MCS-51单片机存储器结构 MCS-51的存储器可分为四类: 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,
[单片机]
MCS<font color='red'>51单片机</font>存储器结构
8051单片机架构_封装及原理图
  在1976年时,英特尔首次生产了名称为MCS-48的单片机,即8位单片机。1980年晚些时候,发布了名称为MCS-51的改进版本(也是8位单片机),目前国内广泛使用的8051单片机就是属于Intel的MCS-51单片机家族,而且现在已经过了知识产权期限。   继8051单片机成功之后,许多其他半导体制造商纷纷以自己的品牌发布了使用MCS-51内核的单片机。比如Microchip、Zilog、Atmel、Philips、Siemens等公司。它们的共同点是所有这些单片机都可以使用相同的MCS-51指令集进行编程。它们在支持设备配置(例如改进的内存,是否存在ADC或DAC等)方面基本上有所不同。随后,英特尔于1982年发布了其首
[单片机]
80<font color='red'>51单片机</font>架构_封装及原理图
51单片机温控风扇制作 数码管显示 Proteus仿真程序
仿真原理图如下 制作出来的实物图如下: 单片机源程序如下: #include reg52.h //调用单片机头文件 #define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535 //数码管段选定义 0 1 2 3 4 5 6 7 8 9 uchar code smg_du ={0x28,0xee,0x42,0x72,0xe5,0xa8,0x41,0x77,0x20,0xa0,
[单片机]
<font color='red'>51单片机</font>温控风扇制作 数码管显示 Proteus仿真程序
STM32通用定时器的PWM
脉冲宽度调制(PWM),是英文 Pulse Width Modulation 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用来控制步进电机的速度等等。STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出。 PWM输出模式 STM32的PWM输出有两种模式,模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位确定的( 110 为模式1, 111 为模式2)。模式1和模式2的区别如下: 110:PWM模式1-在
[单片机]
AP384XC系列PWM控制器的设计考虑
Ⅰ.主要特点简介 384X系列电流型PWM控制器已广泛应用于开关电源设计中。许多半导体厂商都生产此标准电源管理控制芯片。表一列出了BCD和三个主要竞争对手产品的关键参数对比。   与竞争对手的产品相比,BCD的AP384XC具有如下特点: 1.低启动电流 2.低工作电流 3.内部过温保护功能 这些特点不仅能够提供更加可靠的过温保护,而且能降低开关电源在空载待机时的功耗。 同时,由于启动电流小,AP384XC的启动电路参数应当和竞争对手产品稍有不同。在某些应用中,一个简单的直接替代可能会产生问题,尤其是在短路工作模式中。 在其它部分的性能参数上,例如内部运放,参考电压,PWM部分,驱动能力,欠压保护以及启动关断时
[应用]

推荐帖子

为什么MOSFET在升压和降压模式的电压振铃尖峰差异很大
双向直流变换器,部分管子在升压运行的时候电压振铃尖峰很大,但降压就改善了很多,部分管子与之相反。除了升降压模式下管子的关断电流有不同,还会有别的什么因素影响吗?PCB布局的时候只考虑了环路面积,可是感觉师兄做的板子回路面积都很大的,有的管子电压波形却很好,非常困惑。还请大家指点~谢谢!为什么MOSFET在升压和降压模式的电压振铃尖峰差异很大翻页再扯 嗯?双向直流变换器,部分管子在升压运行的时候电压振铃尖峰很大与什么样的控制芯片是否有关芯片datasheet怎么讲
squareshawn PCB设计
谁有模拟滤波器与电路设计手册 (美),求一份PDF
谁有模拟滤波器与电路设计手册(美),求一份PDF谁有模拟滤波器与电路设计手册(美),求一份PDFmark我回去给你查查 谁写的?https://download.eeworld.com.cn/detail/tyw/572298本论坛就有吧。本坛就有,可以下载。模拟滤波器与电路设计手册
nono000 RF/无线
去耦电容器......是否真的有必要?
作者:ArtKay德州仪器在担任应用工程师之前,我在TI的职位是IC测试开发工程师。我的项目之一是对I2C温度传感器进行特性描述。在编写一些软件之后,我手工焊接了一个原型设计电路板。由于时间仓促,我省去了比较麻烦的去耦电容器。谁会需要它呢,对吧?我收集数据大概有一个星期了,但获得的任何结果都无法与预期结果相匹配。于是我做了大量更改,试图提升性能,但都没有效果。最后,我决定添加一个去耦电容器,不出所料,问题解决了。这让我不禁思考……,会不会总是需要使用去耦电容器
qwqwqw2088 模拟与混合信号
一个很简单的程序,怎么结果不对呢?
#includepic.hmain(){inti=0;TRISA=1;TRISC=0;while(1){if(RA4==1&&RA5==0){PORTC=0x01;}elseif(RA4==0&&RA5==1){PORTC=0x02;}else{PORTC=0x00;}}}
ieewxg Microchip MCU
霍尔器件[应用电路][转]
与大家分享!霍尔器件不错哦,学习学习回复:霍尔器件虽然不需要希望楼主再接再厉发更多的好贴回复:霍尔器件谢谢!!回复:霍尔器件谢谢分享回复:霍尔器件好样的回复:霍尔器件学习学习!!!!!!!!!回复:霍尔器件先学学回复:霍尔器件先谢谢了,谢谢共享回复楼主yetai的帖子谢谢分享!!!好,是挺好得谢谢分享了,呵呵
yetai 模拟电子
LM2675MX-ADJ可调电源及ISL21009电压基准模块设计
测试结果(12V转5V):1、经多次测量,电压基准输出不变,输出较为稳定,无漂移。2、可调电源空载输出有效纹波一般在20mv以内,满载(800mA输出)时,输出有效纹波在40mv以内,超载(1A)时输出有效纹波也在50mv以内。3、在不同电压输出下,系统空载时输入电流在3mv以内,加上负载后效率一般在80%以上。4、测试过程中,系统工作
aboutnow 微控制器 MCU
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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