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

ops/2024/10/21 8:31:22/

目标实现功能

单片机引脚输出PWM波形控制直流电机以不同转速工作。

1.PWM简介

PWM技术

PWM的中文全称是脉宽调制,常用于电动机控制、开关电源、音频放大器等。利用PWM技术可以达到微处理器(如单片机)的数字输出对模拟电路控制的效果。

PWM波形

下图的两个PWM波形是由单片机引脚输出,由于单片机引脚只能输出高低电平,而不能输出介于高低电平之间的电压值,因此为周期性的方波,其中周期和占空比是方波的两个重要参数。

方波的周期:信号从高电平到低电平再回到高电平的时间。

方波占空比:一个周期内高电平的持续时间与一个周期的比值。

PWM调节电压 

在研究怎样用PWM调节电压之前,我们先讨论一个小学数学问题(题目我瞎掰的)。

问题:小明的速度是240m/min,小明跑了6分钟,累了休息了4分钟,问这10分钟小明的平均速度是多少?

解:

类似的,假设方波周期是10min,高电平6分钟,低电平4分钟,那么方波的平均电压是多少?

解:

下面说一个重要定理,其内容是冲量相等而形状不同的窄脉冲加在具有相同惯性的环节上其效果基本相同。

这个定理很凹口不好理解,我还是用下面两个问题来说明这个重要定理。

小明以240m/min的速度,跑了6分钟,休息了4分钟,问这10分钟小明的跑的路程?

小明以144m/min的速度,跑了10分钟,问这10分钟小明的跑的路程?

通过计算不难得出路程都是1440m,小明两种跑法虽然速度不一样、跑的时间不一样,但最终的效果却一样。

类似的高电平(5v)持续6分钟、低电平(0v)持续4分钟,跟平均电压(3v)持续10分钟的效果是一样的。

 结论:虽然单片机引脚只能输出高低电平,但可以通过输出周期性的方波再控制方波的占空比,就能达到介于0~5V之间任意电压的作用效果。

2.单片机输出PWM波形

要想输出PWM波形就需要设置两个重要参数:周期和占空比。

PWM周期

PWM波形可以用定时器控制,在12Hz晶振条件下,以定时器T0工作在方式1、定时100us为例,初始化程序如下:

/*定时器T0初始化*/
void timer0_init()
{TMOD=0X01;//定时模式、方式1(16计数器)、启停仅受TR0控制TH0=0XFF;TL0=0X9C;//定时100usET0=1;//定时器0中断允许EA=1;//总中断允许TR0=1;//启动定时器T0
}

假设定时器每定时100us,会发生一次中断,如果想产生周期为1ms波形,那么中断10次时间就为1ms左右。上述程序仅供参考,具体怎么使用定时器大家自行决定。

PWM占空比

占空比用于控制PWM波形高电平的持续时间,当当前占空比小于目标设定占空比则让该引脚输出高电平,当当前占空比大于目标设定占空比则让该引脚输出低电平。

直流电机调速

关于单片机怎样控制直流电机,我在之前的文章中提到过在此不做赘述,大家可以通过链接翻看。

https://blog.csdn.net/weixin_45755708/article/details/142742152?fromshare=blogdetail&sharetype=blogdetail&sharerId=142742152&sharerefer=PC&sharesource=weixin_45755708&sharefrom=from_linkicon-default.png?t=O83Ahttps://blog.csdn.net/weixin_45755708/article/details/142742152?fromshare=blogdetail&sharetype=blogdetail&sharerId=142742152&sharerefer=PC&sharesource=weixin_45755708&sharefrom=from_link单片机通过控制引脚输出不同占空比的PWM波形,达到一种可调电压作用在直流电机上的效果,可调电压的大小跟PWM波形占空比成正比,占空比越大、电压越大,相应地电机转速就越快。

3.演示视频

演示内容

操作按键控制直流电机的转速,同时数字示波器会显示控制直流电机转速的PWM波形。

视频播放链接如下

基于单片机>51单片机直流电机pwm调速的仿真设计

关于本设计具体Keil工程和Proteus电路图可访问下方链接

https://item.taobao.com/item.htm?ft=t&id=845236527408icon-default.png?t=O83Ahttps://item.taobao.com/item.htm?ft=t&id=845236527408最后祝大家天天开心!!!!


http://www.ppmy.cn/ops/127222.html

相关文章

QT中的D指针和Q指针

前提:之前在工作当中遇到一个崩溃问题,由于是一套很老的代码配合新的库,所以导致了引用的库和头文件产生了不匹配的问题,最后还是公司的大佬通过阅读汇编定位到的问题,之前也了解过Qt是如何规避这类问题的,…

RabbitMQ系列学习笔记(九)--路由模式

文章目录 一、路由模式原理二、多重绑定三、路由模式实战1、消费者代码2、生产者代码3、运行结果分析 本文参考 尚硅谷RabbitMQ教程丨快速掌握MQ消息中间件rabbitmq RabbitMQ 详解 Centos7环境安装Erlang、RabbitMQ详细过程(配图) 一、路由模式原理 使用发布订阅模式时&#x…

cefsharp63.0.3(Chromium 63.0.3239.132)支持H264视频播放-PDF预览 老版本回顾系列体验

一、版本 版本:Cef 63/CefSharp63.0.3/Chromium63.0.3239.132/支持H264/支持PDF预览 支持PDF预览和H264推荐版本 63/79/84/88/100/111/125 <

C语言(函数)—函数栈帧的创建和销毁

目录 前言 补充知识 一、函数线帧是什么&#xff1f; 二、函数线帧的实现&#xff08;举例说明&#xff09; 两数之和代码 ​编辑两数之和 汇编代码分析 执行第一条语句 执行第二条语句 执行第三条语句 执行第四、五、六条语句 执行第七条语句 执行第八、九、十条语句 执行第十…

网络服务--时间服务器

NTP 是网络时间协议&#xff08;Network Time Protocol&#xff09;的简称&#xff0c;通过 udp 123 端口进行网络时钟同步。 #查看当前主机监听的端口信息 ss -lntup netstat -lntup [rootClient red1]# ss -lntup Netid State Recv-Q Send-Q Local Address:Po…

【设计模式】深入理解Python中的过滤器模式(Filter Pattern)

深入理解Python中的过滤器模式&#xff08;Filter Pattern&#xff09; 在软件设计中&#xff0c;面对复杂的数据处理需求时&#xff0c;我们常常需要从一组数据中筛选出符合特定条件的子集。**过滤器模式&#xff08;Filter Pattern&#xff09;**是一种能够简化这种操作的设…

HarmonyNext保存Base64文件到Download下

本文介绍如何保存Base64的文件到Download下 参考文档地址&#xff1a; 保存用户文件-Harmony Next 用到的是DOWNLOAD模式保存文件 用户在使用save接口时&#xff0c;可以将pickerMode配置为DOWNLOAD模式&#xff0c;该模式下会拉起授权接口&#xff0c;用户确认后会在公共路径…

Lua 数据类型

软考鸭微信小程序 过软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 Lua 作为一种轻量级、灵活的脚本语言&#xff0c;其简洁的语法和强大的功能使得它在多个领域都有广泛的应用。在 Lua 编程中&#xff0c;理解并掌握数据类型…