L298N模块驱动电机(实现pwm调速)

2023-10-27

在这里插入图片描述
1.占空比是高电平所占周期时间与整个周期时间的比值。
2.脉宽调制(PWM)基本原理:
控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。

PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形。

主芯片L298N(双H桥电机驱动芯片,可以驱动两个直流电机或一个步进电机)

功率驱动电源输入12V(最高50V,最低7V)

5v供电需短接板载5v使能(当左边供电超过12v时,应该去除板载5v使能的短接,左边单独5v供电)

六个排针:逻辑输入,最左和最右边是使能端口(相当于开关),高电平有效。

逻辑区表(短接使能)

IN1 IN2 直流电机状态

0 1 正转

1 0 反转

使能端口调节电机转速(用按键都可以通断实现调速)

一定周期内,控制给高电平的时间来实现调速

时钟周期就是时钟振荡周期=1/12M=0.083us

机器周期=12*时钟周期=12/12M=1us

#include<reg52.h> 
#define unit16 unsigned int
int x;
sbit pwm=P1^0;
//right
sbit IN1=P2^0;
sbit IN2=P2^1;
sbit IN3=P2^2;
sbit IN4=P2^3;
//left
sbit IN5=P2^4;
sbit IN6=P2^5;
sbit IN7=P2^6;
sbit IN8=P2^7;
//void delay_s(unsigned int n)    //s
//{  
//    unsigned int i=0,j=0;  
//    for(i=0;i<n;i++)  
//        for(j=0;j<54053;j++);   
//} 
//void delay_ms(unsigned int n)   //ms
//{
//    unsigned int i=0,j=0;
//    for(i=0;i<n;i++)
//        for(j=0;j<123;j++);
//} 
void delay_10um(unsigned int n)     //(10*n)us
{
    while(n--);
} 
void main() 
{ 
 while(1) 
 { 
  IN1=1;
  IN2=0;
  IN3=1;
  IN4=0;
  pwm=1; 
  delay_10um(60);  //占空比为60% 
  pwm=0; 
  delay_10um(40); 
 } 
} 

由于没有示波器,对占空比的验证我用电压值来测试占空比是否为60%(程序占空比为60%)
先测量电池盒外部供电的大小,测量结果如图所示 :
在这里插入图片描述
测量5v供电口,测量结果如图所示:
在这里插入图片描述
我的程序中pwm波输出引脚为P1^ 0,测量P1^0引脚的电压值,测量结果如图所示:
在这里插入图片描述
P1^0引脚的电压为3.07v;

由占空比定义可知5v*60%==3v,

故占空比为60%,测试成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L298N模块驱动电机(实现pwm调速) 的相关文章

  • 如何定制化Spring Boot Starter,这次我终于学会了

    文章目录 什么是Spring Boot Starter 实现步骤 启动器 自动配置包 总结自定义Starter的实现逻辑 Spring Boot Starter官网描述 Spring Boot Starter官方介绍 什么是Spring B
  • 测试相关知识点

    设计测试用例 主要从功能性 性能性 安全性 易用性 兼容性 网络测试这几个方面来设计 需要考虑问题的角度全面 注意如果是手机端app测试的话需要加上中断测试这项 考虑后台切换 app切换 拔插数据线 来短信 电话 其他app消息 1 微信朋
  • openMP + cuda 实现多GPU编程

    include
  • @FeignClient configuration参数配置

    1 我们定义Feign Client时候 可以通过configuration参数指定一个配置类 那么指定的这个配置入口类上面是否需要添加 Configuration 注解呢 FeignClient name OrderServiceClie
  • 渗透测试工具Burp Suite详解

    Burp Suite 的安装 Burp Suite是一款集成化的渗透测试工具 包含了很多功能 可以帮助我们高效地完成对Web应用程序的渗透测试和攻击 Burp Suite由Java语言编写 基于Java自身的跨平台性 使这款软件学习和使用起
  • ffmpeg 和 opencv 编译

    一 ffmpeg编译 ffmpeg 编译参数 configure enable gpl disable x86asm enable shared enable pic enable static 二 opencv编译 1 安装依赖库 sud
  • 两个栈实现队列 和 两个队列实现栈

    1 两个栈实现队列 核心 push操作 每次总是往stack1 push元素 pop操作 每次总是从stack2 pop元素 分stack2是否empty分为两种情况 static final Stack
  • FEC介绍(四)—RS(544,514)编解码过程【转载】

    https zhuanlan zhihu com p 103888948 utm source wechat session
  • JAVA基础知识点总结

    文章目录 前言 一 JAVA简介 二 基础语法 面向对象 String Integer Object 异常 IO 序列化 Java 泛型 注解 反射 前言 一 JAVA简介 Java 是一门面向对象的编程语言 语言特点 面向对象 平台无关性
  • ES6 flat 与数组扁平化

    前言 flat 用于将多维数组拉平 扁平化 不影响原数组 返回新的数组 1 2 3 4 flat 1 2 3 4 仅有一个参数depth 用于指定拉平的深度 默认值为1 若depth指定为非正数 将返回原数组 指定为Infinity 无论多
  • 线程间发布和订阅

    include
  • 刷脸支付可以自动识别会员可以领券打折

    刷脸支付说白了就是用自己的脸 身份证明 来跟金融做的一个消费交易 大家对于信息这个事情是非常敏感的 因此就会存在一个安全风险问题 还有就是对商家泄露的信息太多 造成消费者的担心等情况 也是时有发生 靠脸吃饭之前只是一句调侃 如今却成为了现实
  • 01 Java NIO NIO和IO的区别

    Java NIO NIO和IO的区别 NIO和IO的区别 面向流与面向缓冲 阻塞与非阻塞IO 选择器 Selectors NIO和IO如何影响应用程序的设计 API调用 数据处理 设置处理线程数 Java IO流专栏中主要介绍了java i

随机推荐

  • vue3之toRefs

    把一个响应式对象转换成普通对象 该普通对象的每个属性都是一个ref reactive的响应式功能赋予给对象的 给对象结构或展开的时候 会让数据丢失响应式能力 使用toRefs可以保证该对象展开的每一个属性都是响应式的 案例一
  • 挖到过src吗?请描述一下过程

    挖到过src吗 请描述一下过程 SRC 安全漏洞奖励计划 是一种由企业或组织设立的计划 旨在鼓励独立的安全研究人员发现并报告其系统或应用程序中的漏洞 这些计划的推出是为了提高安全性 及时修复潜在的漏洞 并奖励那些贡献漏洞发现的研究人员 SR
  • 如何让网页变灰色

    在一些重大节日 如何快速使网站网页变成灰色 黑白色 在网页的标签内加入以下代码 如果想让单个网页变灰色 就写在单网页里面 如果写在继承的网页里面 是整体的变灰色 如果你不想改动CSS文件 你可以通过在网页头部中的标签内部加入内联CSS代码的
  • c语言数学追赶法编程,计算方法——C语言实现——追赶法求解非线性方程

    最近在上计算方法这门课 要求是用MATLAB做练习题 但是我觉得C语言也很棒棒啊 题目 一般三对角线性方程组的求解用这个方法 三对角线性方程组也称为带状矩阵 这方法基础上还是LU分解法 只是比LU分解法计算方法上简单一些 使用VS2017
  • [HCTF 2018]admin 1 弱口令和爆破解法

    HCTF 2018 admin 继续buu刷题 几天刷到一道比较有意思的题 HCTF 2018 admin 打开环境之后 右上角 点击login 既然题目名字都提示了admin 猜测就是弱口令 admin加123 试一下 直接就登录进去了
  • pytest自动化测试框架基础篇

    目录 前言 一 单元测试框架 二 pytest简介以及常用插件安装 三 pytest默认测试用例的规则以及基础应用 四 pytest跳过测试用例 五 pytest测试用例的前后置 固件 前言 pytest是一个基于Python语言的自动化测
  • C++ 11 新容器和新算法

    目录 新容器 forward list Abstract How Demo array Abstract Comparewith vector Compare with original array How Demo tuple Abstr
  • LFU的实现

    题目内容 实现一个 LFUCache 类 三个接口 LFUCache int capacity 创建一个大小为 capacity 的缓存 get int key 从缓存中获取键为 key 的键值对的 value put int key in
  • opensuse 在 Wayland 中启用输入法

    当我在选择了kde wayland 环境的时候 fcitx输入法不能够使用了 网上有很多教你怎么在登陆时启用输入法的 基本都是教你修改X的配置文件 然而wayland并不读取X的配置文件 wayland读取的是 etc environmen
  • 【学习笔记】栈(c语言)

    1 栈的概念 栈 一种特殊的线性表 其只允许再固定的一段进行插入和删除元素操作 进行数据插入和删除操作的一端称为栈顶 另一端成为栈底 栈中的数据元素遵循后进先出LIFO Last In First Out 的原则 压栈 push 栈的插入操
  • 2020美赛F奖论文(二):传球网络模型(PNM)的建立和影响因子分析

    上接 2020美赛F奖论文 一 摘要 绪论和模型准备 全文 2020美赛F奖论文 一 摘要 绪论和模型准备 2020美赛F奖论文 二 传球网络模型 PNM 的建立和影响因子分析 2020美赛F奖论文 三 足球团队指标和基于机器学习的球队表现
  • 最小二乘法计算一组数据的斜率(线性回归、趋势计算)

    def compute trend y 计算数据的趋势 线性回归求斜率 最小二乘法 https blog csdn net qq 45607873 article details 109425736 return x np arange l
  • python基础语法

    1 列表 定义的格式 列表名称 元素1 元素2 元素可以是数字 字符串 列表 列表的访问 整体访问 列表名称 单个访问 通过下标获取元素 切片技术来访问列表中某些元素 列表的操作 len 计算列表的长度 实现列表的加法 将两个列表合并成为一
  • 第十七章 MyBatis3.X整合Mysql数据库事务

    1 MyBatis3 x 的事务管理形式 使 JDBC的事务管理 使 java sql Connection对象完成对事务的提交 commit 回滚 rollback 关闭 close 使 MANAGED的事务管理 MyBatis 身不会去
  • 咖啡店小程序:吸引顾客的创新营销手段

    近日 酱香拿铁 的大火让大家再次把目标聚焦在年轻人都喜欢的咖啡上 现在咖啡已经成为年轻一代的社交硬通货 咖啡店也遍地开花 而随着移动互联网的快速发展 咖啡店小程序已经成为了各大咖啡店主的选择 因为它提供了便捷的方式来链接顾客和销售 那么咖啡
  • 摄像机跟随之第三人称视角(一)

    在我们开发游戏的时候 总避免不了对摄像机的设置 当然 这也因为每款游戏类型不一样 所以摄像机的跟随或者说放置位置不一样 这也要求我们写出合适的算法 本篇就主要是针对第三人称视角的摄像机 进行算法设计分析 首先来分析第三人称摄像机的特性 1
  • thinkphp6 入门(1)--安装、路由规则、多应用模式

    一 安装thinkphp6 具体参考官方文档 安装 ThinkPHP6 0完全开发手册 看云 下面仅列举重要步骤 ThinkPHP6 0的环境要求如下 PHP gt 7 2 5 1 安装Composer 2 安装稳定版thinkphp 如果
  • 浏览器显示无法解析服务器的DNS地址,搜狗浏览器无法解析服务器的DNS地址怎么解决...

    5 点击 使用下面的DNS 服务器地址 然后在下面填入 114 114 114 114 点击 确定 确定 保存设置即可解决问题 3 重置winsock 目录设置后等待提示已成功刷新DNS 解析缓存 继续输入 netsh winsock re
  • 【Kubernetes部署篇】Ansible自动化工具离线部署K8s 1.27版本

    一 前提须知 采用kubeadm方式 目前只支持 单Master 多Node部署架构 需要主机网络互通 没有网络限制 需要使用root用户权限进行部署 二 使用Ansible部署K8S集群步骤 第一步 获取离线安装包 百度网盘获取 MD5
  • L298N模块驱动电机(实现pwm调速)

    1 占空比是高电平所占周期时间与整个周期时间的比值 2 脉宽调制 PWM 基本原理 控制方式就是对逆变电路开关器件的通断进行控制 使输出端得到一系列幅值相等的脉冲 用这些脉冲来代替正弦波或所需要的波形 也就是在输出波形的半个周期中产生多个脉