2-2 伺服电机(舵机)(meArm机械臂)

2-2 伺服电机(舵机)(meArm机械臂)

  • 2-2 伺服电机(舵机)
    • 介绍
    • 直流伺服电机
    • 工作原理
      • (1)首先发出指令给伺服电机,让其旋转90度
      • (2)伺服电机接收指令,旋转一些如45度(假设,每次调整的读数看型号)
      • (3)伺服电机判断自己旋转角度是否达到要求,通过当前状态如45度,与指令90度比对,没有达到就再次调整自己
      • (4)与指令90度比对,没有达到就再次调整自己,达到90度的指令目标角度要求
      • (5)完成指令要求后,会再次等待新的指令
    • 闭环控制系统
    • 伺服电机结构
    • 舵机主要参数
    • 如何用arduino控制伺服电机
    • 控制伺服电机程序
    • 加载库

2-2 伺服电机(舵机)

在这里插入图片描述

介绍

在这里插入图片描述

Mearm机械臂通过四个电机控制机械臂的

四个电机名为直流伺服电机(又称舵机)

此节课讲直流伺服电机的原理及如何使用arduino控制舵机

直流伺服电机

在这里插入图片描述

使用直流电驱动电机
在这里插入图片描述
在这里插入图片描述

伺服:可以接受我们的指令,按照我们的指令进行工作的

工作原理

在这里插入图片描述

伺服电机的转子可以旋转,使用角度衡量转子旋转的单位

(1)首先发出指令给伺服电机,让其旋转90度

在这里插入图片描述

(2)伺服电机接收指令,旋转一些如45度(假设,每次调整的读数看型号)

在这里插入图片描述

(3)伺服电机判断自己旋转角度是否达到要求,通过当前状态如45度,与指令90度比对,没有达到就再次调整自己

在这里插入图片描述

(4)与指令90度比对,没有达到就再次调整自己,达到90度的指令目标角度要求

在这里插入图片描述

(5)完成指令要求后,会再次等待新的指令

在这里插入图片描述

闭环控制系统

上述讲到的自我调整的流程就是闭环控制

根据输出条件进行判断
在这里插入图片描述

伺服电机结构

伺服电机接收指令会调整自己,不断逼近正确指令,如何比对调整自己看其结构

在这里插入图片描述
在这里插入图片描述

直流电机通电转动,驱动齿轮,齿轮驱动输出轴

输出轴一般装摇臂,摇臂驱动响应的外接装置

输出轴连接电位器,电位器旋转输出的电压信号改变,电压信号传给控制电路

控制电路接收电压信号判断输出轴旋转角度状态,控制电路根据输出轴所处的状态以及PWM的控制信号进行比对,作为依据

在这里插入图片描述

直流电机运行速度极快,大于输出轴速度,目的高速旋转与齿轮传动使其扭矩增大
在这里插入图片描述

电位器如上
在这里插入图片描述

控制电路如上

舵机主要参数

在这里插入图片描述

如何用arduino控制伺服电机

在这里插入图片描述

一般使用伺服电机有三根引线

红色:VCC,给伺服电机供电(链接到arduino+5v)
棕色:GND,接地(arduinoGND)
橙色:专门接收PWM控制信号,这里接到arduino 9~号引脚
在这里插入图片描述

控制伺服电机程序

在这里插入图片描述

打开示例程序,示例, servo ,sweep

/* Sweepby BARRAGAN <http://barraganstudio.com>This example code is in the public domain.modified 8 Nov 2013by Scott Fitzgeraldhttp://www.arduino.cc/en/Tutorial/Sweep
*/#include <Servo.h>			//引入servo库的头文件(之前的串口监视器serial库无需引入)(库都是开发人员开发好了,贡献巨大)Servo myservo;  	// 创建servo对象控制伺服电机
// 很多开发板允许同时创建12个servo对象int pos = 0;    // 存储伺服电机角度信息的变量void setup() {myservo.attach(9);  //servo对象连接在9~号引脚Serial.begin(9600);  //初始化串口监视器
}void loop() {for (pos = 0; pos <= 180; pos += 1) { 		//0度转到180度//每一步增加1度 in steps of 1 degree
myservo.write(pos);              //告诉伺服电机达到“pos”变量的角度
Serial.println(pos);				//将pos状态发送至串口监视器,查看其变化delay(15);                       //等待15毫秒以确保伺服电机可以达到目标角度(伺服电机转动中需要时间才能达到目标角度,要在发出指令后等一等,防止上一次指令没有执行完,新的指令又过来了,电机繁忙)}for (pos = 180; pos >= 0; pos -= 1) { 		//180度转到0度 
myservo.write(pos);              //告诉伺服电机达到“pos”变量的角度 
Serial.println(pos);delay(15);                       // 等待15毫秒以确保伺服电机可以达到目标角度 }
}

程序编译上传到arduino后,结果如下:
电机从0度转到180度,又从180度转到0度
在这里插入图片描述

加深印象,增加修改,如下,思考效果
在这里插入图片描述

效果如下:
以45度旋转,每转到45度停1秒
在这里插入图片描述

这款电机只能转180度,其他的类型电机可以转360度,也可以更改此电机旋转360度,可在网上找资料看看

加载库

在这里插入图片描述

可以在项目加载库中进行各种库的加载,要使用某个库

鼠标移动到最上方,加载servo库,在加载库,点击servo,库就加载进来了

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未来已来:探索IT行业的革新与大模型技术的突破

摘要&#xff1a; 在数字时代的浪潮中&#xff0c;IT行业正以前所未有的速度迅速发展&#xff0c;带来一系列令人瞩目的革新和进步。 从数据仓库软件市场的显著增长到色觉障碍辅助模式的扩展&#xff0c;再到国产大飞机C919的成功运营,这些新动态不仅展示了技术的力量&#xff…

MySQL学习(20):InnoDB引擎逻辑架构、物理架构

1.InnoDB逻辑结构 &#xff08;1&#xff09;表空间(在磁盘中是后缀为ibd的文件)&#xff1a;一个mysql实例可以对应多个表空间&#xff0c;用于存储记录、索引等数据。 &#xff08;2&#xff09;段&#xff1a;分为数据段、索引段、回滚段。数据段就是B树的叶子节点&#xf…

C语言典型例题31

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 习题2.8 请编写程序将China译为密码&#xff0c;密码的规律是&#xff1a;用原来字母后面的第4个字母代替原来的字母。 例如:C后面的4个字母是G&#xff0c;h后面第4个字母为l 代码&#xff1a; //《C程序设计教程…

初学者入门的可视化超级色彩公式

色彩不仅是视觉元素&#xff0c;也是数据表达的重要工具。在临床数据的可视化过程中&#xff0c;合理的色彩搭配能帮助观众迅速理解数据背后的意义。例如&#xff0c;高危状态的患者可能用红色表示&#xff0c;而健康状态用绿色表示。不同色彩之间的对比度和相对位置将决定数据…

码农的世界,不是只有技术才是王道,《码农职场》带你从另一个角度看职场

码农的职场&#xff0c;一直是一个让人津津乐道的话题&#xff1b;今天也借着这次机会&#xff0c;聊聊我眼中的【码农职场】&#xff0c;以及大佬心中的码农职场。从一幅插画说起 不知这几天从哪里传来的这么一幅画&#xff0c;画风是这样的&#xff1a; 这个故事讲述了一个名…

【数据结构初阶】队列

hello&#xff01; 目录 一、概念与结构 二、队列的实现 Queue.h Queue.c test.c 一、概念与结构 1、概念&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出的特性。 入队列&#xff1a;进行插入操作…

Visual Studio 中的Code Snippet(代码片段)功能介绍

1、Code Snippet(代码片段)功能介绍 平常我们在使用Visual Studio 进行开发时&#xff0c;可以看到Intellisense提示如下内容 这种就是代码片段的提示。如输入cw后&#xff0c;按两次Tab键&#xff0c;即可输入Console.WriteLine(); 代码片段是小块可重用代码&#xff0c;可通…

PyTorch深度学习框架

最近放假在超星总部河北燕郊园区实习&#xff0c;本来是搞前后端开发岗位的&#xff0c;然后带我的副总老大哥比较关照我&#xff0c;了解我的情况后得知我大三选的方向是大数据&#xff0c;于是建议我学学python、Hadoop&#xff0c;Hadoop我看了一下内容比较多&#xff0c;而…

Kafka生产者(二)

1、生产者消息发送流程 1.1 发送原理 在消息发送的过程中&#xff0c;涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator&#xff0c;Sender 线程不断从 RecordAccumulator 中拉取…

剖析算法内部结构----------贪心算法

什么是贪心算法&#xff1f; 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在问题求解过程中&#xff0c;每一步都采取当前状态下最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致最终的全局最优解的算法策略。 贪心算法的核心思想是做选择时&…

StringJoiner更优雅创建含分隔符的字符序列

文章目录 1 why2 what3 how4 练习手段 1 why StringBuilder拼接包含分隔符的字符序列时&#xff0c;分隔符需要一个一个添加&#xff0c;或者需要手动删除末尾冗余的分隔符&#xff0c;代码不美观&#xff0c;不好看。 比如&#xff0c;单个字符串依次拼接时&#xff1a; Stri…

[io]进程间通信 -信号函数 —信号处理过程

sighandler_t signal(int signum, sighandler_t handler); 功能&#xff1a; 信号处理函数 参数&#xff1a; signum&#xff1a;要处理的信号 handler&#xff1a;信号处理方式 SIG_IGN&#xff1a;忽略信号 SIG_DFL&#xff1a;执行默认操作 handler&#xff1a;捕捉信 …

Ubuntu 无法进行SSH连接,开启22端口

我们在VM中安装好Ubuntu 虚拟机后&#xff0c;经常需要使用Xshell等工具进行远程连接&#xff0c;但是会出现无法连接的问题&#xff0c;原因是Ubuntu中默认关闭了SSH 服务。 1、 查看Ubuntu虚拟机IP地址 2、 利用Tabby等工具进行远程连接 命令&#xff1a;ssh ip地址 这里就是…

Ubuntu 20.04 中安装 Nginx (通过传包编译的方式)、开启关闭防火墙、开放端口号

文章目录 前言一、安装包下载二、上传服务器并解压缩三、依赖配置安装四、生成编译脚本五、编译六、查看是否编译完成七、开始安装八、查看是否安装成功九、设置为开机自启动 前言 参考大佬文章并在基础上做了点修改&#xff0c;发篇文章记录下 防止下次遇到。 参考文章&#…

leetcode169. 多数元素,摩尔投票法附证明

leetcode169. 多数元素 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输…

Animate软件基本概念:基本工具、工作区和颜色

在我们之前的教程中&#xff0c;有不少同学都在纠结为什么没有讲一些基本概念&#xff0c;其实我们在使用Animate软件时&#xff0c;很少会考虑某一个工具为什么这么称呼&#xff0c;它的原理又是什么&#xff0c;毕竟Animate软件只是工具。而且我们从Flash软件到现在Animate软…

008 | 基于RNN和LSTM的贵州茅台股票开盘价预测

基于RNN和LSTM的贵州茅台股票开盘价预测 项目简介&#xff1a; 本项目旨在通过使用Tushare下载贵州茅台的股票数据&#xff0c;并基于这些历史数据&#xff0c;使用TensorFlow 2.0实现循环神经网络&#xff08;RNN&#xff09;和长短期记忆网络&#xff08;LSTM&#xff09;来…

H3C MSR NAT66配置指北

正文共&#xff1a;1456 字 14 图&#xff0c;预估阅读时间&#xff1a;1 分钟 通过前面的介绍&#xff08;企业路由器配置IPv6家用宽带的PPPoE拨号示例&#xff09;&#xff0c;想必你已经可以实现让MSR路由器通过PPPoE拨号接入IPv6网络。 正常来讲&#xff0c;通过前面的配置…

Qt自定义TreeWidget,实现展开折叠按钮在右侧,且一条竖直线上对齐

效果如下&#xff1a; 图片随便找的&#xff0c;可能需要调下样式&#xff0c;代码复制可用&#xff0c;留给有需要的人。 #ifndef CustomTreeWidget_h__ #define CustomTreeWidget_h__#include <QTreeWidget> #include <QPushButton>class CCustomTreeWidget : p…

Java数据结构(六)——树和二叉树

文章目录 二叉树树初识树有关树的概念树的表示树的应用 二叉树二叉树的概念二叉树的性质二叉树的存储二叉树的遍历二叉树的操作(代码实现)遍历结点数二叉树高度查找 二叉树的相关练习对称二叉树平衡二叉树二叉树的构建及遍历前序和中序构造二叉树最近的公共祖先二叉树构建字符串…