舵机使用基础(SG90模拟舵机和MG90S数字舵机为例)(附驱动程序)

本文介绍了舵机的基础知识,包括模拟舵机SG90和数字舵机MG90S的区别,它们的共同点在于机械结构,但数字舵机在性能和精度上有优势。舵机的工作原理是通过PWM信号控制角度,文中还提供了PWM波形与角度的关系,并讨论了舵机在不同状态下的电流消耗。12C5A60S2单片机的PWM驱动和舵机电路图也被提及。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作环境(蓝色粗体字为特别注意内容)
1、系统环境:SG90模拟舵机、MG90S数字舵机、12C5A60S2单片机
2、参考文献:

很多不是航模或者机器人爱好者的同学可能舵机了解比较少,笔者也一样,只是单纯的单片机爱好者,只是有时候需要用舵机来控制一些机械机构,因此对舵机不是很了解。对新手来说可能会有以下疑问
1、舵机是什么?有什么作用?
2、数字舵机和模拟舵机的区别是什么?模拟舵机和数字舵机接口是否通用?
3、舵机的工作原理是怎么样的?
4、舵机控制方式是怎么样的?
5、舵机工作的时候电流是多大?
6、舵机是否需要驱动电路?

那么今天咱就来彻底的了解一下舵机的来龙去脉。有图有真相,咱们先来看看舵机长什么样。

 笔者为了弄清楚以上两个问题,特地从某宝买了以上两种舵机,都比较便宜,也非常好找,分别是SG90模拟舵机(蓝色塑料齿轮)<10元,MG90S(灰色金属齿轮)<20元。可以发现,金属齿轮比塑料齿轮要贵,数字舵机比模拟舵机要贵。那么下面咱们来一一解答上面的问题。

1、舵机是什么?有什么用?

### SG90舵机技术参数 SG90是一种小型、经济实惠的伺服电机,广泛应用于机器人项目其他自动化应用中。以下是其主要的技术参数: - **电压范围**: 4.8V 至 6V[^1] - **工作电流**: 约70mA (无负载),约250mA至400mA (满载)[^1] - **旋转角度**: 标准情况下支持0°到180°之间的任意位置控制 - **脉冲宽度调制(PWM)**: 接受标准PWM信号输入,周期为20ms,有效高电平持续时间为0.5ms~2.5ms对应于0°到180°的位置调整 ### 使用教程 对于初学者来说,使用SG90舵机通常涉及硬件连接以及软件编程两个方面。 #### 硬件连接指南 要驱动SG90舵机,需将其三根线分别接到电源微控制器上: - 棕色/黑色线接GND; - 红色线接正极(建议使用5V供电); - 黄色/橙色线则用于接收来自微控制器发出的PWM信号. #### 软件编程实 下面提供了一个基于Arduino平台来操作SG90舵机子: ```cpp #include <Servo.h> Servo myservo; // 创建servo对象以控制舵机 void setup() { myservo.attach(9); // 将舵机绑定到数字端口9 } void loop() { for (int pos = 0; pos <= 180; pos += 1) { // 执行从0度到180度的动作 myservo.write(pos); // 告诉舵机移动到指定位置 delay(15); // 等待时间让机械部件完成动作 } for (int pos = 180; pos >= 0; pos -= 1) { // 返回原位,即执行反向运动 myservo.write(pos); delay(15); } } ``` 此程序会让舵机先顺时针转动直到最大角度再逆时针回到起点,形成循环往复的效果。 ### 控制方法概述 通过上述提到的功能函数可以更好地理解如何精确操控该型号舵机: - `Sg90_Init()` 函数负责初始化设置; - `Sg90_AngleToDuty()` 方法用来把所需设定的角度转换成相应的占空比数值以便后续处理; - 实际发送指令给物理设备由`Sg90_Control()` 完成. 以上便是关于SG90舵机的一些基本信息技术细节介绍.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值