【mcuclub】舵机-SG90

news/2024/11/15 5:24:54/

一、实物图(SG90)

二、原理图

编号名称功能
1GND电源地(棕色线)
2VCC电源正(红色线)
3I/O信号线(黄色线)

三、简介

舵机(英文叫Servo),是伺服电机的一种,伺服电机就是带有反馈环节的电机,这种电机可以进行精确的位置控制或者输出较高的扭矩。舵机也叫RC伺服器,通常用于机器人、遥控汽车,飞机航模等。类似舵机这样的伺服系统通常由小型电动机,电位计,嵌入式控制系统和变速箱组成。电机输出轴的位置由内部电位计不断采样测量,并与微控制器(例如STM32,Arduino)设置的目标位置进行比较;根据相应的偏差,控制设备会调整电机输出轴的实际位置,使其与目标位置匹配,这样就形成了闭环控制系统。

四、内部结构

①:信号线:接收来自微控制器的控制信号;

②:电位器:可以测量输出轴的位置量,属于整个伺服机构的反馈部分;

③:内部控制器:处理来自外部控制的信号,驱动电机以及处理反馈的位置信号,是整个伺服机构的核心;

④:电机:作为执行机构,输出多少转速,转矩,位置;

⑤:传动机构/舵机系统:该机构根据一定传动比,将电机输出的行程缩放到最终输出的角度上;

五、工作原理

舵机内部有一个基准电路,产生周期为20ms、宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。经过电路板IC方向判断,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到位。

舵机转动的角度是通过调节PWM信号的占空比来实现的。标准的PWM信号的周期固定为20ms,理论上脉宽分布应该在1ms到2ms之间,实际上在0.5ms到2.5ms之间,脉宽与转角0°——180°相对应。不同厂家不同型号的舵机也会有所差异。

六、程序

/**********************************

变量定义

**********************************/

uint servo_pwm = 4;              //舵机pwm值

/**********************************

函数定义

**********************************/

/****

*******定时器0初使化函数

*****/

void Timer0_Init(void)

{

   TMOD &= 0xF0;                 //清除 T0 的工作模式

   TMOD |= 0x01;                 //配置 T0 的GATE=0;C/T=0; M1=0; M0=1;(模式1(16位))

   TH0 = (65536-92)/256;         //配置 T0 高8位计数初始值

   TL0 = (65536-92)%256;         //配置 T0 低8位计数初始值

   TR0 = 1;                     //启动 T0

   ET0 = 1;                      //启动 T0 中断

   EA = 1;                      //打开总中断

}

/****

*******T0计时中断函数

*****/

void Timer0_Handler(void) interrupt 1

{

   static uint timer0_count;

   TR0 = 0;                            //关定时器

   TH0 = (65535-92)/256;               //重新赋初值

   TL0 = (65535-92)%256;

   timer0_count++;

   if(timer0_count >= 200)    //定义一个周期,T = 20ms清零

   {

      timer0_count = 0;

   }

   if(timer0_count < servo_pwm)        //调节占空比

   {

      SERVO = 1;

   }

   else

   {

      SERVO = 0;

   }

   TR0 = 1;                           //开定时器

}

流程设计

首先初始化引脚,然后初始化定时器,在定时器中断函数中定义一个周期,调节周期内高电平的占空比,从而调整角度。


http://www.ppmy.cn/news/166151.html

相关文章

奥西750服务器系统,奥西TDS750驱动

软件标签&#xff1a; 奥西Oc TDS750是一款大幅面数码工程机&#xff0c;为设计及相关行业的用户提供高效、易用、稳定的解决方案。在多次获奖的Oc TDS700系统基础上&#xff0c;Oc TDS750在品质&#xff0c;稳定性和环保方面表现更为突出&#xff0c;但是在使用工程机之前&…

TM7705、TM7707使用

TM7705、TM7707的硬件电路 TM7705和TM7707的是PIN对PIN&#xff08;管脚&#xff09;兼容的&#xff0c;因此在硬件电路上完全兼容。 外围电路中&#xff0c;TM7705和TM7707内部没有振荡器和基准电压&#xff0c;需要外接晶振电路和基准电路&#xff0c;一般接1M或者2.45…

Nginx的讲解

Nginx的讲解 关于Nginx编译安装Nginx服务1.关闭防火墙&#xff0c;将安装nginx所需软件包传到/opt目录下2.安装依赖包3.创建运用用户、组4.编译安装Nginx5、检查、启动、重启、停止 nginx服务6.添加 Nginx系统服务 Nginx服务的主配置文件 nginx.conf1.全局配置2.I/O 事件配置3.…

国产AIGC大模型汇总

“ 随着ChatGPT和GPT-4的出现&#xff0c;直接引爆了全球的AIGC大模型市场&#xff01;为了赶上这一波热潮&#xff0c;国内的大厂和创业公司也纷纷内卷起来&#xff0c;相继发布了自己的大模型。但是到目前为止&#xff0c;没有一个大模型能与ChatGPT相提并论&#xff0c;更比…

Mac 必备清理神器 CleanMyMac X4.13,新功能你了解多少?

macOS平台的知名系统清理应用 CleanMyMac X4.13.4 对比之前的老版本CleanMyMac X 不管是在外观还是功能上 新版本的系统清理工具CleanMyMac X都焕然一新 除了UI 设计焕然一新&#xff0c;采用了完全不同的风格&#xff0c; 功能方面&#xff0c;CleanMyMac X 在保留了之前…

【算法系列之二叉树III】leetcode236. 二叉树的最近公共祖先

617.合并二叉树 力扣题目链接 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新二叉树。合并的规则是&…

基于状态的系统和有限状态机FSM

基于状态的系统和有限状态机FSM 介绍 基于模型进行测试。模型可能是规格或描述感兴趣的属性。 该模型通常是一个抽象概念&#xff0c;应该相对容易理解。 测试补充了白盒方法。 测试通常是黑盒&#xff1a;不考虑实际系统的结构。 如果模型具有形式语义&#xff0c;则可实现的…

联想V310重装win10系统(待完善)

1、制作U盘 2、安装系统 3、使用设置 3-1显示我的电脑 3-2磁盘分区 3-3程序下载 chrome、QQ、网易云音乐、百度网盘、WPS