0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

德晟舵机PWM信号控制原理

德晟舵机 2023-10-16 15:51 次阅读

现在常用的舵机控制信号主要有 PWM 信号和串口总线信号两种:其中PWM信号控制比较简单,但是功能只有一个即控制舵机转动;串口总线信号控制则比较复杂,需要控制器有串口输出功能,但是能实现较多的功能,除了可以控制舵机转动外还可以获取舵机的各种信息以及对舵机进行各种设置,具体需要配合相应的协议文件使用。

以下描述怎么使用PWM

信号控制舵机:

PWM 信号:一种周期固定脉宽(高电平宽度)可变的连续电平信号。

PWM 信号产生方式有两种:

第1种:由MCU的普通GPIO口输出,分辨率较低,程序比较复杂,需要使用到定时器

第2种:由MCU的硬件PWM输出,分辨率较高,可以达到1us或更小,程序比较简单,须要MCU

具备硬件PWM功能;

在舵机控制中的 PWM 信号的参数一般为:周期=20ms,脉宽(高电平宽度)范围=0.5ms~2.5ms。

wKgZomUszY-ARWgOAAAIlHVvkvQ904.png

舵机的转动角度由脉宽决定,例如某个舵机的总转角为 180°,PWM脉宽范围为0.5ms~2.5ms,那么

当舵机接收到不同的脉宽信号时转到对应的位置:

注:信号脉宽和舵机角度是成线性关系的。

信号脉宽

舵机角度
0.5ms
1.0ms 45°
1.5ms 90°

2.0ms

135°

2.5ms

180°
wKgZomUs6xyAClFvAADF7TRkOh0111.png

控制舵机转动效果:

1、 舵机锁舵:

当信号保持不变时,舵机会保持在当前位置,并且输出的扭力会随着负载大小不同而不同。

2、 舵机快速转动:

当信号改变时,如信号从 1ms 变为2ms,舵机会从45°以最快速度转到135°位置,这个速度会根据

舵机的本身性能以及负载大小有关,一般会在规格书上标注有空载时的最da转速。

3、 舵机慢速转动:

当需要让舵机慢慢转动时,如舵机从 45°转到135°位置需要耗时三秒,只需要计算出信号脉宽的变

化增量,在三秒的时间内从 1ms 匀速增到2ms即可,增量越小则转动的效果越细腻。

程序例子:

一、由 MCU 的普通GPIO口输出PWM:

#include 《reg51.h》

#define uchar unsigned char

#define uint unsigned int

sbit p10=P1^0;

uint aa;

void delay (uint z)

{

unsigned int x,a;

for(x=z;x>0;x--)

for(a=250;a>0;a--);

}

void timer0()interrupt 1 //定时器 1 为 0.1ms 一个周期, 输出 1.5ms 脉宽信号

{

TH0=(65536-100)/256;

TL0=(65536-100)%256;

aa++;

if(aa>=200)aa=0;

if(aa<=15) //产生周期为 20ms,高电平为 1.5ms,

p10=1;

else

p10=0;

}

void init()

{

aa=0;

a=0;

p10=0;

TMOD=0x11;

TH0=(65536-100)/256;

TL0=(65536-100)%256;

EA=1;

ET0=1;

}

void main()

{

init();

TR0=1;

p10=1;

while(1)

{

}

}

二、由 MCU 的硬件 PWM 输出 PWM 信号:

Step1、初始化PWM功能,配置PWM时钟为1us,周期为20000,占空比为0,信号电平为高电平有效。

Step2、当需要改变信号时,只需要在占空比寄存器中写入对应的参数即可,如0.5ms则写入500,2.5ms则写入 2500.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4900

    浏览量

    209906
  • 舵机
    +关注

    关注

    17

    文章

    239

    浏览量

    40393
  • 舵机控制
    +关注

    关注

    3

    文章

    42

    浏览量

    22269
  • 信号控制
    +关注

    关注

    0

    文章

    37

    浏览量

    9141
收藏 人收藏

    评论

    相关推荐

    舵机三根线分别是什么?一文解析舵机各线缆对应关系

    一根线,但是它的频率和占空比是可以通过微处理器或其他控制芯片进行调节的。不同的PWM信号可以实现对不同的模拟信号进行数字编码,从而实现不同的控制
    发表于 12-30 10:06

    什么是舵机舵机的种类有哪些?

    (角度)伺服的驱动器,适用于需要角度不断变化并可以保持的控制系统,由下壳、控制电路、电机、中壳、齿轮组、轴承以及上壳组成。舵机是一个闭环控制系统。
    发表于 12-12 09:47

    如何增强PWM信号?如何减少PWM调压误差?

    确地控制输出电压。如果采用传统的固定占空比PWM调制方式,可能会导致输出电压的偏差较大。这时可以选择一些新型的PWM调制算法,如基于滑模控制、模糊
    的头像 发表于 11-30 11:12 756次阅读

    智能车方向控制舵机PWM技术

    舵机 舵机是一种位置(角度)伺服的驱动器,我们可以通过给信号脚不同的占空比来让舵机进行打角进而控制小车方向。 例如C车的S3010
    的头像 发表于 11-14 16:54 375次阅读
    智能车方向<b class='flag-5'>控制</b><b class='flag-5'>舵机</b><b class='flag-5'>PWM</b>技术

    51单片机教程 使用PWM舵机进行控制

    舵机的种类有很多,下面我所展示的是非常常见的SG90舵机(下面简称“舵机”),也是我们这次实验室考核所使用的舵机
    的头像 发表于 11-01 10:52 1225次阅读
    51单片机教程 使用<b class='flag-5'>PWM</b>对<b class='flag-5'>舵机</b>进行<b class='flag-5'>控制</b>

    舵机控制信号可以用定时器产生吗?

    舵机控制信号可以用定时器产生吗,pwm不够用,需要8路pwm,能用一个定时器加8个io的方式模拟8个p
    发表于 10-28 06:54

    STM32基础知识:PWM控制舵机

    伺服电机通常被称为舵机,它是一种带有输出轴的小装置。当我们向伺服器发送一个控制信号时,输出轴就可以转到特定的位置。只要控制信号持续不变,伺服
    的头像 发表于 10-24 15:36 1066次阅读
    STM32基础知识:<b class='flag-5'>PWM</b><b class='flag-5'>控制</b><b class='flag-5'>舵机</b>

    求助,谁有pwm信号控制舵机的脉冲控制图?

    谁有pwm信号控制舵机的脉冲控制
    发表于 10-24 06:16

    舵机只有在接通或断掉pwm信号时才动180度怎么解决?

    舵机只有在接通或断掉pwm信号时才动180度,怎么办呢?
    发表于 10-19 07:52

    请问20米传输pwm信号的时候波形怎么控制呀,现在是驱动舵机50hz

    使用的的stm32的c8t6,传输50hz的pwm信号,但是传输过去后舵机出现抖动不稳定,还有时候出现朝一个方向打死,查到都是由于占空比出现问题导致的,这个可以怎么解决呀
    发表于 10-07 11:37

    舵机控制原理资料

    舵机控制原理
    发表于 09-21 09:33 1次下载

    PWM信号控制舵机原理

    PWM信号控制舵机原理
    发表于 09-21 09:32 4次下载

    舵机驱动时PWM信号可以用3.3V直接驱动吗?

    舵机驱动时,PWM信号可以用3.3V直接驱动吗
    发表于 09-20 07:04

    stm32插上舵机线后不停的自动复位重启是怎么回事?

    很大的困扰,下面就来详细解析一下这个问题。 首先,我们先来了解一下舵机舵机是一种能够精确控制转动角度的电动机械装置,通常用于模型、机器人等领域。舵机
    的头像 发表于 09-14 14:22 1940次阅读

    CH32V103基础教程75-舵机控制

    本章教程主要在第八章PWM输出和第七十四章按键控制LED灯的基础上进行,通过两个按键控制舵机左右旋转,同时通过两个LED灯查看状态。 1、TIM简介及相关函数介绍本章教程所述
    发表于 05-06 15:51