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

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

3天内不再提示

非常适合在关节型机器人产品使用的舵机原理和实现

GReq_mcu168 来源:玩转单片机 作者:玩转单片机 2020-10-26 10:56 次阅读

最近几年国内机器人开始起步发展,很多高校、中小学都开始进行机器人技术教学。小型的机器人、模块化的机器人、组件式的机器人是教学机器人的首选。在这些机器人产品中,舵机是很关键,使用较多的部件。根据控制方式,舵机应该称为微型伺服马达。早期在模型上使用最多,主要用于控制模型的舵面,所以俗称舵机。舵机接受一个简单的控制指令就可以自动转动到一个比较精确的角度,所以非常适合在关节型机器人产品使用。

1.舵机的结构

舵机简单的说就是集成了直流电机电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。能够利用简单的输入信号比较精确的转动给定角度的电机系统。舵机安装了一个电位器(或其它角度传感器检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文servo。

舵机的主体结构如图所示,主要有几个部分:外壳、减速齿轮组、电机、电位器、控制电路。简单的工作原理是控制电路接收信号源的控制信号,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。舵机的外壳一般是塑料的,特殊的舵机可能会有金属铝合金外壳。金属外壳能够提供更好的散热,可以让舵机里面的电机运行在更高功率下,以提供更高的扭矩输出。金属外壳也可以提供更牢固的固定位置。舵机的齿轮箱有塑料齿轮、混合齿轮、金属齿轮的差别。塑料齿轮成本低,噪音小,但强度较低;金属齿轮强度高,但成本高,在装配精度一般的情况下会有很大的噪音。小扭矩舵机、微舵、扭矩大但功率密度小的舵机一般都用塑料齿轮,如Futaba3003,辉盛的9g微舵。金属齿轮一般用于功率密度较高的舵机上,比如辉盛的MG995舵机,在和3003一样体积的情况下却能提供13KG的扭矩。Hitec甚至用钛合金作为齿轮材料,其高强度能保证3003大小的舵机能提供20几公斤的扭矩。混合齿轮在金属齿轮和塑料齿轮间做了折中,在电机输出减速箱扭矩不大的部位,用塑料齿轮。

2.舵机的规格和选型

舵机转速

转速由舵机无负载的情况下转过60°角所需时间来衡量,常见舵机的速度一般在0.11s/60°-0.21s/60°之间。

舵机扭矩

舵机扭矩的单位是KG·CM,这是一个扭矩单位。可以理解为在舵盘上距舵机轴中心水平距离1CM处,舵机能够带动的物体重量。

工作电压

厂商提供的速度、转矩数据和测试电压有关,在4.8V和6V两种测试电压下这两个参数有比较大的差别。如MG995在4.8V时速度为0.17秒,在6.0V时速度为0.13秒。舵机的工作电压对性能有重大的影响,舵机推荐的电压一般都是4.8V或6V。当然,有的舵机可以在7V以上工作,比如12V的舵机也不少。具体更加较高的电压可以提高电机的速度和扭矩。选择舵机还需要看我们的控制板所能提供的电压。

尺寸重量和材质

舵机的功率(速度×转矩)和舵机的尺寸比值可以理解为该舵机的功率密度,一般同样品牌的舵机,功率密度大的价格高。塑料齿轮的舵机在超出极限负荷的条件下使用可能会崩齿,金属齿轮的舵机则可能会电机过热损毁或外壳变形。所以材质的选择并没有绝对的倾向,关键是将舵机使用在设计规格之内。用户一般都对金属制的物品比较信赖,齿轮箱期望选择全金属的,舵盘期望选择金属舵盘。但需要注意的是,金属齿轮箱在长时间过载下也不会损毁,最后却是电机过热损坏或外壳变形,而这样的损坏是致命的,不可修复的。塑料出轴的舵机如果使用金属舵盘是很危险的,舵盘和舵机轴在相互扭转过程中,金属舵盘不会磨损,舵机轴会在一段时间后变得光秃,导致舵机完全不能使用。综上,选择舵机需要在计算自己所需扭矩和速度,并确定使用电压的条件下,选择有150%左右甚至更大扭矩富余的舵机。

3.舵机的工作原理

舵机是一个微型的伺服控制系统,具体的控制原理可以用下图表示:

工作原理是控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。模拟舵机需要一个外部控制器(遥控器的接收机或者单片机)产生脉宽调制信号来告诉舵机转动角度,脉冲宽度是舵机控制器所需的编码信息。舵机的控制脉冲周期20ms,脉宽从0.5ms-2.5ms,分别对应-90度到+90度的位置(对于180°舵机)。  

舵机的控制一般需要一个20ms的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度舵机为例,那么对应的控制关系是这样的:

0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 如下图所示:

需要解释的是舵机原来主要用在飞机、汽车、船只模型上,作为方向舵的调节和控制装置。所以,一般的转动范围是45°、60°或者90°,这时候脉冲宽变一般只有1ms-2ms之间(比如你做一个遥控小车,用舵机控制方向,那么舵机转的角度肯定不是180度,对吧。因为你见过你开的车方向能转180度吗?)。而后舵机开始在机器人上得到大幅度的运用,转动的角度也在根据机器人关节的需要增加到-90°至90°之间,甚至还有-135°至135°之间,脉冲宽度也随之有了变化。对于机器人控制而言,我们一般通过单片机产生PWM信号控制舵机。

4.STM32控制舵机代码

0.5ms---------0度 0.6ms---------9度 0.7ms---------18度 0.8ms---------27度 0.9ms---------36度 1.0ms---------45度 1.1ms---------54度 1.2ms---------63度 1.3ms---------72度 1.4ms---------81度 1.5ms---------90度 1.6ms---------99度 1.7ms---------108度 1.8ms---------117度 1.9ms---------126度 2.0ms---------135度 2.1ms---------144度 2.2ms---------153度 2.3ms---------162度 2.4ms---------171度 2.5ms---------180度 |/ ---|---/ |/ |/ |/ -------------------------------------------------------------- 20ms的时基脉冲,如果想让舵机转63度,就应该发生一个高电平为1.2ms, 周期为20ms的方波,duty=1.2/20=6%,而定时器自动重装载寄存器arr的值 为1000,所以令duty=60,时占空比才为60/1000=6%. 20ms的时基脉冲,如果想让舵机转90度,就应该发生一个高电平为1.5ms, 周期为20ms的方波,duty=1.5/20=7.5%,而定时器自动重装载寄存器arr的值 为1000,所以令duty=75,时占空比才为75/1000=7.5%. 20ms的时基脉冲,如果想让舵机转126度,就应该发生一个高电平为1.9ms, 周期为20ms的方波,duty=1.9/20=9.5%,而定时器自动重装载寄存器arr的值 为1000,所以令duty=95,时占空比才为95/1000=9.5%. ----------------------------------------------------------------- voidSERVO_Init(void) { GPIO_InitTypeDefGPIO_InitStruct; TIM_TimeBaseInitTypeDefTIM_TimeStructure; TIM_OCInitTypeDefTIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;//配置为复用推挽输出 GPIO_InitStruct.GPIO_Pin=GPIO_Pin_7; GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStruct); TIM_TimeStructure.TIM_Period=1000;//1000自动重装载寄存器的值,周期为50000Hz/1000=50Hz,即输出PWM波形的频率为20ms。 TIM_TimeStructure.TIM_Prescaler=1440-1;;// 1400时钟预分频系数为3600,72 000000Hz/1400=50000Hz =50KHZ。 TIM_TimeStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeStructure.TIM_RepetitionCounter=0; TIM_TimeBaseInit(TIM3,&TIM_TimeStructure); TIM_ARRPreloadConfig(TIM3,ENABLE);//使能ARR预装载寄存器(影子寄存器) TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse=0;//占空比大小 TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High; TIM_OC2Init(TIM3,&TIM_OCInitStructure); TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable); TIM_Cmd(TIM3,ENABLE); TIM_CtrlPWMOutputs(TIM3,ENABLE); } //舵机角度控制 voidSERVO_Angle_Control(uint16_tCompare2) { TIM_SetCompare2(TIM3,Compare2);//设置通道2为可变的pwm }

配置号上面的程序,如果你想让舵机旋转90度,只需要在你程序的某个位置放上这句话就可以了

SERVO_Angle_Control(75);//舵机旋转90度

原因就是20ms的时基脉冲,如果想让舵机转90度,就应该发生一个高电平为1.5ms,周期为20ms的方波,duty=1.5/20=7.5% ,而定时器自动重装载寄存器arr的值为 1000 ,所以令duty=75,时占空比才为75/1000=7.5%。以此类推,你想让舵机转多大的角度按照这个方法设置就行了。

责任编辑:xj

原文标题:STM32驱动舵机原理和实现

文章出处:【微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

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

    关注

    211

    文章

    28445

    浏览量

    207225
  • STM32
    +关注

    关注

    2270

    文章

    10901

    浏览量

    356226
  • 舵机
    +关注

    关注

    17

    文章

    270

    浏览量

    41053

原文标题:STM32驱动舵机原理和实现

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【「具身智能机器人系统」阅读体验】2.具身智能机器人大模型

    需要专业程序员进行繁琐的编程工作,这种方式不仅效率低下,还限制了机器人的应用场景。例如,在我们大学工程实训课程中使用的数控机床,需要人为设定起点、终点、移动方向和移动距离等参数,自动化程度非常有限。而
    发表于 12-29 23:04

    【「具身智能机器人系统」阅读体验】1.初步理解具身智能

    需要理解环境,适应变化的环境。 从国际上来看,已经有不少科技公司发布了自己的机器人产品,大多数应用在安保,物流,制造等场景。 中国在具身智能机器人领域的研发速度相对较慢,但经过多年的发展,已经取得了显著
    发表于 12-28 21:12

    机器人关节的灵动之源:揭秘舵机的技术奥秘

    机器人世界的浩瀚宇宙中,每一个关节的灵动都承载着无尽的技术奥秘。今天,让我们一起深入探索舵机——这个被誉为机器人关节”的神奇装置,了解它
    的头像 发表于 12-27 14:03 71次阅读

    关节机器人驱控一体机QC-R6M

    同步性高、响应更快、控制精度更高 QC-R6M是华成工控针对多关节机器人推出的新一代板卡级驱控一体控制系统,采用FPGA伺服控制系统,体积更小,集成度更高。内置6路抱闸控制,支持6个轴关节,不同类
    的头像 发表于 12-06 15:14 155次阅读
    多<b class='flag-5'>关节</b><b class='flag-5'>机器人</b>驱控一体机QC-R6M

    泰科机器人获奖,开启人形机器人关节模组新动力

    泰科机器人携多款产品及解决方案惊喜亮相2024高工人形机器人年会暨高工金球奖颁奖典礼,并凭借深厚的技术积淀和高效可靠的供应链体系荣膺“高工金球奖——2024年度优秀供应链企业”。本次年会上,泰科
    的头像 发表于 12-05 09:36 428次阅读
    泰科<b class='flag-5'>机器人</b>获奖,开启人形<b class='flag-5'>机器人</b><b class='flag-5'>关节</b>模组新动力

    舵机技术深度解析,让机器人更智能!

    的——舵机舵机,这个看似不起眼的装置,实则蕴含着丰富的技术内涵。它不仅是机器人和无人机等智能设备的“关节”,更是实现精准操控的核心部件。
    的头像 发表于 11-06 14:19 438次阅读

    机器人关节模组为何选择双编码器设计?

    关节模组是机器人关节控制系统中的核心组件,决定了机器人的运动控制与动作精准度。在关节模组中,位置反馈和误差校正是确保精确运动的关键,而双编码
    的头像 发表于 09-06 11:55 617次阅读
    <b class='flag-5'>机器人</b><b class='flag-5'>关节</b>模组为何选择双编码器设计?

    专为人形机器人应用打造,助力具身智能行业发展,泰科机器人关节模组持续升级!

    为满足新老客户在定制人形机器人一体化关节时的最新需求,泰科机器人在结构设计、材料选择和定制化开发等方面不断推出创新方案,产品全系可覆盖人形机器人
    的头像 发表于 09-03 08:58 777次阅读
    专为人形<b class='flag-5'>机器人</b>应用打造,助力具身智能行业发展,泰科<b class='flag-5'>机器人</b><b class='flag-5'>关节</b>模组持续升级!

    柔性机器人和刚性机器人有什么区别?

    柔性机器人和刚性机器人都是工业机器人的一种,柔性机器人和刚性机器人的主要区别在于它们的结构和使用方式:结构:柔性
    的头像 发表于 08-16 10:17 553次阅读
    柔性<b class='flag-5'>机器人</b>和刚性<b class='flag-5'>机器人</b>有什么区别?

    MT6701磁编码IC在关节喷涂机器人领域中的应用

      在工业自动化与智能制造的浪潮中,高精度、高效率的机器人系统正逐步成为产业升级的核心驱动力。特别是在复杂多变的喷涂作业环境中,关节喷涂机器人凭借其灵活的机械结构、精准的运动控制以及
    的头像 发表于 07-26 15:54 434次阅读

    Al大模型机器人

    )大模型AI机器人采用中英文双语应用,目前的知识图谱包括了金航标和萨科微所有的产品内容、应用场景、产品的家属参数等,热卖的型号S8050、TL431、SS8550、FR107、LM321、ZMM5V6
    发表于 07-05 08:52

    机器人舵机:关键要素解析与选择指南

    机器人技术日新月异的今天,舵机作为机器人的核心部件之一,扮演着至关重要的角色。它的性能直接关系到机器人的运动控制、稳定性以及精度等方面。那么,在选择和使用
    的头像 发表于 06-06 13:57 1038次阅读
    <b class='flag-5'>机器人</b><b class='flag-5'>舵机</b>:关键要素解析与选择指南

    泰科机器人携新款行星滚柱丝杠线性关节模组和双臂协作机器人亮相2024年ITES深圳工业展

    作为开年第一大展,ITES深圳工业展于3月28-31日,在深圳宝安国际会展中心成功举办,泰科机器人携人形机器人关节模组新品、智能分拣搬运、双臂协作试剂开拧瓶盖、移液、臂展1米8的大负载协作机械臂码垛
    的头像 发表于 05-10 16:01 1177次阅读
    泰科<b class='flag-5'>机器人</b>携新款行星滚柱丝杠线性<b class='flag-5'>关节</b>模组和双臂协作<b class='flag-5'>机器人</b>亮相2024年ITES深圳工业展

    常见的多关节机器人有哪些?具有什么特点?

    关节机器人是当今工业领域中最常见的工业机器人的形态之一,适合用于诸多工业领域的机械自动化作业。多关节机器
    的头像 发表于 03-07 08:42 1492次阅读
    常见的多<b class='flag-5'>关节</b><b class='flag-5'>机器人</b>有哪些?具有什么特点?

    无框电机最适合哪种应用?为什么机器人关节要用无框力矩电机?

    机器人关节要求电机体积小、扭矩大、响应快。而无框力矩电机仅由转子和定子组成,体积小,同时具有较高的功率,低转速情况下能够输出更大扭矩,更符合人形机器人的需求。
    发表于 01-02 13:41 4246次阅读
    无框电机最<b class='flag-5'>适合</b>哪种应用?为什么<b class='flag-5'>机器人</b><b class='flag-5'>关节</b>要用无框力矩电机?