PWM之舵机

舵机又称直流电机,如下图

本节承接上节,具体的PWM技术已经在上一节讲的很详细了,本节就不再讲了,那么我们的重点就放在直流电机的工作原理上了。

一、工作原理

我们研究直流电机,主要式研究直流电机旋转速度的调节,可以理解为一个小型的电风扇。电风扇有挡位1 2 3,那么我们就是通过电机对其换挡。

如何换挡呢,这个很简单,在程序设计时,我们可以使用按键来对电机进行调速,主要的问题不是换挡,而是换挡后舵机的旋转速度会不会有所改变。

这就要利用我们的PWM技术了。通过不断的改变占空比来产生电机速度上的差异(与上一节的呼吸灯一样,通过占空比来影响灯的亮度)。举一个例子,我们如果想让电机转快一点,那我们就可以让一个周期内高电平持续5ms,低电平持续1ms。如果我们想让舵机转慢一点,我们就可以让高电平持续1ms,低电平持续5ms。

二、代码设计

首先是数码管和按键的声明(具体程序就不展示了,前面的章节已经讲解过了),直接来看主函数。主函数是实现P3_0这个按键,每按一次,进行一次换挡。没换一次档都会在定时器子程序中进行比较,也就是占空比的实现。Moter是用来控制电机的打开与关闭的。例如档位2,定时器一个周期是100ms,也就是说挡位2在75ms之前都是转的,后面的25ms停止,这与挡位1的50ms可以产生鲜明的对比。因为挡位2的占空比是75%而挡位1的占空比是50%

三、总结

本节难度较低,重点在于深入理解舵机的原理,以及如何让它与PWM技术建立联系

本节无难点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/337475.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年最热门的网络安全自学学习方法,一网打尽!

学好网络安全是一个复杂而又迫切的需求,特别是在当今数字化时代。对于零基础的人来说,建议按照以下步骤和原则学习网络安全,以建立坚实的基础。 第一步:了解网络安全的基础概念 在学习网络安全之前,首先需要了解一些…

keep-alive组件缓存

keep-alive组件缓存 从a跳b,a已经销毁,b重新渲染;b跳a,b销毁a重新渲染 源组件销毁,目标组件渲染 组件缓存:组件实例等相关( 包括vnode)存储起来 重新渲染指的是:把视图重…

街机模拟游戏逆向工程(HACKROM)教程:[14]68K汇编-标志寄存器

在M68K中,有许多条件分支指令,和jmp指令一样也会修改PC达到程序跳转或分支的目的,不过这些会根据一些情况或状态来选择是否跳转。而在M68K中,有一个特别的寄存器来标记这些情况。 CCR(状态标志寄存器) CCR寄存器是用来保存一些对…

回调地狱与解决方案

什么是回调地狱? 简单理解就是回调函数嵌套回调 示例: setTimeout(() > {console.log(1);setTimeout(() > {console.log(2);setTimeout(() > {console.log(3);}, 1000);}, 2000)}, 3000)如上代码所示,回调函数嵌套回调,就…

Rustdesk自建服务搭建好了,打开Win10 下客户端下面状态一直正在接入网络,无法成功连接服务器

环境: Rustdesk1.2.3 自建服务器 有域名地址 问题描述: Rustdesk自建服务搭建好了,打开Win10 下客户端下面状态一直正在接入网络,无法成功连接服务器 解决方案: RustDesk是一款免费的远程桌面软件,它允许用户通过互联网远程连接和控制其他计算机。它是用Rust编程语…

专题篇|国芯科技系列化布局车载DSP芯片,满足不同层次车载音频产品的需求

随着高端DSP芯片产品CCD5001的亮相,国芯科技也在积极布局未来的DSP系列芯片群。通过深入研究不同车型音频处理需求,对比国外DSP产品综合性能和成本,国芯科技未来将推出全新DSP芯片家族,包括已经推出的高端产品CCD5001,…

VRRP协议

VRRP概述 虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠…

AI大模型开发架构设计(1)——LLM大模型Agent剖析和应用案例实战

文章目录 LLM大模型Agent剖析和应用案例实战1 从 LLM 大模型到智能体演进技术语言模型是什么?大语音模型是什么?大语言模型日新月异LLM大模型存在局限性LLM Agent来势凶凶LLM Agent增长迅猛LLM Agent是什么? 2 LLM Agent 架构深度剖析规划能力…

1.10马原,总复习PART2

马克思主义鲜明特征 革命性,科学性,实践性 人民性,发展性 革命性、科学性,实践性,人民性,发展性 革命性,科学性,实践性,人 革命性,发展性&#xff0c…

架构篇05-复杂度来源:高可用

文章目录 计算高可用存储高可用高可用状态决策小结 今天,我们聊聊复杂度的第二个来源高可用。 参考维基百科,先来看看高可用的定义。 系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一。 这个定义…

数学建模实战Matlab绘图

二维曲线、散点图 绘图命令:plot(x,y,’line specifiers’,’PropertyName’,PropertyValue) 例子:绘图表示年收入与年份的关系 ‘--r*’:--设置线型;r:设置颜色为红色;*节点型号 ‘linewidth’:设置线宽&#xff1…

使用cmake进行完成开发实践

根据这个UML图进行cmake的实践 首先按照使用vscode在wsl2中配置clangd环境-CSDN博客的内容先创建出cmake项目。 之后在项目目录中创建include和src目录。 根据UML图,首先要完成Gun类的实现。分别在include,src目录下创建头文件和源文件,写入…

迭代器模式介绍

目录 一、迭代器模式介绍 1.1 迭代器模式定义 1.2 迭代器模式原理 1.2.1 迭代器模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、迭代模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 抽象迭代类 2.2.2 抽象集合类 2.2.3 主题类 2.2.4 具体迭代类 2.2.5 具体集合类 …

android使用相机 intent.resolveActivity returns null

问题 笔者使用java进行android开发,启动相机时 intent.resolveActivity returns null takePictureIntent.resolveActivity(getPackageManager()) null详细问题 笔者使用如下代码启动相机 // 启动相机SuppressLint("LongLogTag")private void dispatc…

基于华为MRS3.2.0实时Flink消费Kafka落盘至HDFS的Hive外部表的调度方案

文章目录 1 Kafka1.1 Kerberos安全模式的认证与环境准备1.2 创建一个测试主题1.3 消费主题的接收测试 2 Flink1.1 Kerberos安全模式的认证与环境准备1.2 Flink任务的开发 3 HDFS与Hive3.1 Shell脚本的编写思路3.2 脚本测试方法 4 DolphinScheduler 该需求为实时接收对手Topic&a…

yum下载源,vim使用

文章目录 yum本地配置lzrsz命令行互传scp(远程拷贝)vim yum本地配置 [rootiZf8z3j2ckkap6ypn717msZ ~]# pwd /root [rootiZf8z3j2ckkap6ypn717msZ ~]# ls /etc/yum.repos.d CentOS-Base.repo epel.repo //本地配置源yum会根据/etc/yum.repo.d路径下的配置文件来构成自己的下载…

一个简单的ETCD GUI工具

使用ETCD没有好用的GUI工具,随手用c#写了一个, 做得好玩的一个ETCD GUI工具,后面加上CLI 工具,类似于 redis Cli工具一样,简化在 Linux下面的操作,不知道有没有必要, git 地址如下,…

华为OD机试 - 查找一个有向网络的头节点和尾节点(Java JS Python C)

题目描述 给定一个有向图,图中可能包含有环,图使用二维矩阵表示,每一行的第一列表示起始节点,第二列表示终止节点,如 [0, 1] 表示从 0 到 1 的路径。 每个节点用正整数表示。 求这个数据的首节点与尾节点,题目给的用例会是一个首节点,但可能存在多个尾节点。同时图中…

天龙八部资源提取工具(提取+添加+修改+查看+教程)

可以提取,添加,修改,查看天龙八部里面的数据。非常好用。 天龙八部资源提取工具(提取添加修改查看教程) 下载地址: 链接:https://pan.baidu.com/s/1XOMJ1xvsbD-UUQOv3QfHPQ?pwd0kd0 提取码&…

leetcode下一个更大的元素---1暴力---2单调栈

1.题目&#xff1a; nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。 对于每个 0 < i < nums1.l…