舵机速度的控制其实都是让舵机从初始位置到目标的位置不是直接到达,而是划分成很多细微的小过程逐步让他到达。比如说让舵机的初始位置是0度让他跑到90度,直接送入90度的数据的话由于舵机的响应速度还是比较快的,几乎就一下子跑到90度的位置。如果我们在他到达90度的过程中给他制造很多缓冲,就是让他从0度到1度到2度3度……..的逐步过渡过到90度,那么出现的效果就是舵机以比较慢的速度到达目标位置,就达到我们控速的目的。而每个间距切换的时间加以控制既可以得到我们想要的具体旋转速度,因为划分的过程很多,所以舵机的旋转看上去是流畅的一个速度的旋转。

虽然理论上是那么回事,不过要通过程序表达还是要经过一些变换,在这里假设舵机初始位置的值是x,舵机要运行到目标位置y,在设置个变量a让他初始时0,x+(y-x)*a/100就是我们要送入的舵机位置信息,开始的时候a是0所以送入的数据是x,舵机还在初始位置,这时候我们每隔固定的时间就对a+1,随着a的变化舵机位置逐步从初始位置向目标位置靠近,到a=100的时候完全到达目标位置停止a的自加。但是由于x+(y-x)*a/100的公式中大量的引入了x,你会发现写程序还是不是那么好控制,我的最终的速度控制程序又对这个公式进行了变换y-(y-x)*(100-a)/100这个公式也是随着a的自加会使得送入的信息逐步到达目标位置。两个公式都可以实现,但是相比较第二个程序到时候会相对简单。

在写程序的时候有时候我们不光要考虑程序语句的正确性,有时候还要考虑单片机的处理能力,比方说a=(0x01<<16)>>16这个语句没有错误,理论上a应该最后还是等于1但是把他下载到51单片机当中就不是那么回事了,因为在向右移动16位的过程中,51没有16位的高位来储存数据,所需信息会有打失,最后的结果会是a=0,我也是在写程序的时候发现了这个问题,只是想说明在涉及运算的时候要考虑单片机处理能力。x+(y-x)*a/100就是对舵机在初始位置到目标位置的转化过程进行了100微分,本来还想进行1000微分的了,但是发现100微分就已经完全足够了,而且100的时候程序计算过程设计的不合理就会出现超出运算能力而出错的情况。

Html控制舵机,舵机速度控制原理细解相关推荐

  1. 舵机速度控制原理细解

    舵机速度的控制其实都是让舵机从初始位置到目标的位置不是直接到达,而是划分成很多细微的小过程逐步让他到达.比如说让舵机的初始位置是0度让他跑到90度,直接送入90度的数据的话由于舵机的响应速度还是比较快 ...

  2. 树莓派-10-安装jupyter并控制SG90舵机

    1 开发工具jupyter notebook 1.1 安装jupyter #(1)安装jupyter notebook $ sudo pip3 install jupyter $ sudo pip3 ...

  3. 舵机分类和控制原理简述(180°模拟电机)SG90 MG996R

    -- 参考书目:<我的机器人 仿生机器人的设计与制作>罗庆生 北京理工大学出版社 舵机 舵机是一种位置(角度)伺服的驱动器,最早用于航模,相当于廉价版的伺服电机,但仅保留了位置环,适用于那 ...

  4. STM32机器人控制开发教程No.3 使用遥控控制电机/舵机(基于HAL库)

    01 前言 本教程使用的机器人控制板拥有4个带编码器的电机接口,4个舵机接口,串口通信接口.SWD下载调试接口.航模遥控接口.USB5V输出接口以及方便与树莓派直接连接的40PIN接口等,板载资源丰富 ...

  5. Arduino_mega2560+DynamixelShield控制MX-64R舵机

    Arduino_mega2560+DynamixelShield控制MX-64R舵机 一.安装Arduino IDE (1) 下载Arduino IDE安装包 (2) 使用tar命令对压缩包解压 (3 ...

  6. 用STM32CubeMX配置输出PWM信号控制多路舵机(HAL)

    1.软件准备 (1)编程平台:Keil5 (2)CubeMX 2.硬件准备 (1)本此使用最小核心板STM32F103C8T6为例 (2)一个舵机:SG90或者MG996等均可 (3)ST-link ...

  7. Arduino ESP8266控制SG90舵机输出PWM信号

    1. 什么是舵机: 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素.舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口. 舵机是一种位置(角 ...

  8. 51单片机控制SG90舵机、MG90S舵机

    舵机的控制信号为周期是20ms 的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化.也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应 ...

  9. mblock控制SG90舵机模块

    [1.关于SG90舵机] SG90舵机是Arduino中常用的一种舵机.这是一种模拟舵机,和数字舵机不同,模拟舵机需要持续发送控制脉冲,才能使舵机旋转到某个角度并保持. Arduino中使用SG90舵 ...

  10. 基于stm32f103zet6控制180°舵机的详细使用及测试(keil5软件)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码 总结 前言 该文章适合于32单片机小白入手外设的一个代码篇章,主要通过按键来控制pwm占空比来控制舵机转动不 ...

最新文章

  1. PAT甲级1027 Colors in Mars :[C++题解]进制位
  2. 领域驱动设计理论基础
  3. iOS新上线注意事项
  4. php 文章读取_php实现获取文章内容第一张图片的方法
  5. mysql as join_mysql as 别名与 join 多表连接语法
  6. 前端学习(1874)vue之电商管理系统电商系统之处理项目中eslint语法报错
  7. ModelCoder中的超密时间模型
  8. Chronicle 已死,凶手是谷歌!
  9. NGINX反向代理部署
  10. linux ext3 fsck一定要慎用
  11. 自考本科的单科成绩包括英语和计算机吗,自考问题自考统考科目(例如:英语,计算机等 – 手机爱问...
  12. 劳动者可以拒绝加班吗
  13. AWS RDS多可用区部署与只读副本的区别
  14. 计算机知识利用率,电脑CPU使用率怎么看 查看CPU使用率的快速方法图解
  15. c语言数组如何把一串数字存入数组_第十七章、C语言之数组1
  16. 电脑提示vcruntime140_1.dll丢失的正确修复方法
  17. python中rgb颜色_Python 转换RGB颜色值的示例代码
  18. 安全基础——常见网络安全产品
  19. 大红喜庆版UI猜灯谜又叫猜字谜微信小程序源码下载
  20. 区块链量化投资系列课程(4) - 动态平衡策略

热门文章

  1. LayoutInflater原理分析
  2. 补码一位乘法(Booth算法)和补码二位乘法详解
  3. AspNetPager分页控件之url重写
  4. dnf一天能获得多少黑暗之眼_DNF:想快速积累史诗狗眼?这几个方法可别错过,一天最少四五个...
  5. 计算机论文期中小结,毕业论文中期小结
  6. APEX 压枪练习记录
  7. vnpy 查询持仓量_Vnpy 中增加TD指标计算及BOLL指标的运行情况
  8. 使用工具YUMI制作多系统启动盘
  9. 常见定位技术有哪些?
  10. 通信系统、基本原理概念