从今天开始,我们将学习Python代码控制舵机专题。第一节课我们将学习舵机的旋转控制基础,探究180度舵机的图形化编程控制。

一、舵机

1、舵机简介

舵机也叫伺服电机,最早用于船舶上实现其转向功能,由于可以通过程序连续控制其转角,因而被广泛应用智能小车以实现转向以及机器人各类关节运动中,

2、舵机分类

舵机分为180度舵机和360度舵机。接下来以辉盛舵机为例。它有两款,其中辉盛S90舵机是180度舵机,而辉盛S90D舵机是360度舵机。

3、舵机接线图

将舵机连接到树莓派,我们使用的是18号口,将正、负和信号线连接到18号口的相应位置上去。为什么不能使用其他口呢,因为18号口是扩展板预留的PWM信号输出口。

二、PWM与占空比

PWM就是脉冲宽度调制的英文缩写,方波高电平时间跟周期的比例叫占空比。接下来,我们来观察下面的三幅方波图。

在第一幅图中,我们发现,在一个周期中有四分之一的高电平时间,有四分之三的低电平时间,也就是高电平的时间占周期的时间为四分之一,所以它的占空比为25%。

在第二幅图中,我们发现,在一个周期中有二分之一的高电平时间,有二分之一的低电平时间,也就是高电平的时间占周期的时间为二分之一,所以它的占空比为50%。

在第三幅图中,我们发现,在一个周期中有四分之三的高电平时间,有四分之一的低电平时间,也就是高电平的时间占周期的时间为四分之三,所以它的占空比为75%。

明白了占空比,我们的18号口就是一个能够改变输出信号(占空比)的端口。通过输出不同的信号(占空比)来改变舵机的旋转角度。既然舵机有180度舵,还有360度舵机,接下来,我们分别来探究如何通过改变占空比来控制舵机。

三、图形化编程探究180度舵机占空比与旋转角度

接下来,我们将以辉盛S90舵机(180度舵机)为例来探究,不同占空比带来的舵机的不同旋转角度。

下面的测试均以50Hz的信号为例,根据频率与周期的互为倒数的关系,我们很容易算出它的周期为0.02s,也就是20ms。

1、设置高电平时间为0.5ms

上面的程序中,我们使用了数值为500,在古德微图形化编程中,使用的是微秒这个单位,所以我们将0.5毫秒转化为500微秒。

2、设置高电平时间为0.5ms、1ms、1.5ms、2ms 、2.5ms

我们先创建一个叫做高电平时间的列表,将要测试的高电平时间全部放进来。

再使用列表循环,依次执行高电平时间,输出PWM信号。

现在,你发现了什么?舵机的转动,正好是一个180度的范围。

3、180度舵机旋转规律

现在,你再来看下面这个图,你能看懂吗?

如果,我们把1500的位置叫做0度,那么500的位置就是-90度,2500的位置就是90度。从500的位置到2500的位置就是180度,正好是这个舵机能旋转的角度。

四、图形化编程实现180度舵机的来回往复

在上面的探究程序中,我们使用了列表实现了舵机指针从一个方向转向另外一个方向。如果,我们想让舵机的指针实现连续往复的转动,实现类似雷达的扫描效果,应该怎么做呢?

1、扩展我们的列表

在原来的列表后面,我们又逆序添加了测试数据1500和1000。但是为什么没有再添加500呢?因为下一循环就是从500开始的,如果连续循环,不就实现了连续的数据取值了吗?

2、增加重复循环

现在,你的180度舵机,是不是已经实现了往复的循环运行?

pwm控制舵机转动角度程序_01 舵机旋转控制基础相关推荐

  1. pwm控制舵机转动角度程序_舵机的内部结构及工作原理

    一.舵机实物图 舵机是机器人旋转关节中的常用部件,尤其是小型机器人.其实物就像下面这张图,相信大家都不会陌生.大家一定见过春晚上哪个跳舞的小机器人,其全身各关节都是有舵机组成.我们常见到的舵机就是这个 ...

  2. pwm控制舵机转动角度程序_Mixly 第15课 舵机的使用

    第15课  舵机的使用 舵机的旋转不像普通电机那样只是转圈圈,它可以根据你的指令旋转到0至180度之间的任意角度然后精准的停下来.舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的. ...

  3. 舵机任意角度程序_【舵机初动】基于Mind+ Ardunio入门教程10

    点击上方"蘑菇云创造"可以关注我们哦 本项目要接触到舵机.舵机是一种电机,它使用一个反馈系统来控制电机的位置.可以很好掌握电机角度.大多数舵机是可以最大旋转180°的.也有一些能转 ...

  4. 舵机任意角度程序_真香!!!飞特发布性价比超高的19kg磁编码360°双轴串口总线舵机STS3215...

    2020年4月6日,深圳飞特模型有限公司发布了2020年新款磁编码版本的TTL串口总线舵机.这款舵机是基于SCS215电位器版本开发的更高性能的磁编码版本,不仅具备了飞特SM高端系列的高性价比功能,又 ...

  5. STM32学习笔记(6):PWM控制

    PWM控制 PWM方波 脉冲宽度调制(PWM),是英文"Pulse Width Modulation"的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有 ...

  6. micropython控制舵机,Micropython之pwm控制舵机

    Micropython的定时器Timer 舵机原理可以参考这篇文章(侵删)51单片机PWM双舵机控制详解 简单例子 from pyb import Pin, Timer p = Pin('X1') # ...

  7. 懒人开关 ESP32控制舵机旋转(基于ESP32+SG90舵机+微信小程序)

    提示:站在巨人肩膀上的小白,大家可以提出自己的看法.如有侵删: 原文参考链接:esp32单片机控制舵机 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/566 ...

  8. STM32 PWM控制舵机

    目录 舵机简介 舵机工作原理 什么是PWM 硬件连线 代码 实现结果 总结 舵机简介 舵机是指在自动驾驶仪中操纵飞机舵面(操纵面)转动的一种执行部件.分有:①电动舵机,由电动机.传动部件和离合器组成. ...

  9. STM32入门笔记(02):F103C8T6 舵机PWM控制实验(SPL库函数版)

    舵机的结构 舵机简单的说就是集成了直流电机. 电机控制器和减速器等, 并封装在一个便于安装的外壳里的伺服单元. 能够利用简单的输入信号比较精确的转动给定角度的电机系统. 舵机安装了一个电位器(或其它角 ...

最新文章

  1. 机器学习笔记(5) KNN算法
  2. python 透视变换补边
  3. Libevent学习环境搭建
  4. Fiddler抓包使用教程-Https
  5. mysql中的操作指令,MySQL中常用指令操作的介绍(代码示例)
  6. SpringBoot整合阿里云OSS上传文件
  7. 15分钟,教你用Python爬网站数据,并用BI可视化分析!
  8. 利用project编制进度计划
  9. oracle peoplesoft enterprise,Solix实现与Oracle PeopleSoft Enterprise9.1整合
  10. RC电路 波形分析
  11. 潇洒郎: 凯酷84机械键盘win键被锁解决方法
  12. 电口模块(Copper SFP)、xSFP+ Cable、光模块有什么区别
  13. 深度学习框架zf_深度学习十大框架比较
  14. 详解minigui图片加载及显示
  15. 邮件发送时间怎么修改 python_使用python通过电子邮件发送日期时间
  16. 仿微信拍照和图片选择开源库(适配android7.0)multi-image-selector
  17. 8寸7寸触摸屏常见的故障问题和维修方法分别是什么?
  18. 应用编程与裸机编程、驱动编程的区别(Linux应用编程篇)
  19. matlab偏微分图像修复,图像修复 Region filling and object removal by exemplar-based image inpainting matlab实现...
  20. Excel中的VBA学习--简易上手VB的程序

热门文章

  1. python基础训练题2-元组,字典
  2. Silverlight实例教程 - Out of Browser的自定义应用
  3. JS动态生成的元素,其对应的方法不响应(比如单击事件,鼠标移动事件等)...
  4. JAVA escape/unescape
  5. 使用getopts处理选项
  6. NSDate的具体用法
  7. linux/hpux 添加用户
  8. mySQL教程 第10章 事务和锁
  9. C#命名规范 C#控件的缩写大全
  10. 探讨微软团队开发利器VSTS之安装及部署篇