python如何控制伺服驱动_用 pyboard 控制 hobby 伺服电机
在 pyboard 板上有4个用于连接业余hobby伺服电机的专用连接点。这些电机有3条线:地线、电源线和信号线。您可在板上将三条线连接在右下角,信号引脚在最右边。引脚X1、X2、X3和X4是4个专用伺服信号引脚。
这张图片中呈现了将伺服电机用公对公杜邦线连接到pyboard。
伺服上的地线通常是深色的,可能为黑色或深棕色。电源线最有可能是红色。
伺服的电源引脚(标为VIN)直接连接到pyboard的输入电源。当通过USB供电时,VIN由5V的USB电源线通过二极管供电。 连接到USB,pyboard可以驱动至少4个小到中型的伺服电机。
若您使用电池为pyboard供电并运行伺服电机,请确保电压不大于6V,6V为大多数伺服电机可承受的最大电压。(有些电机最高仅支持4.8V,所以请仔细查看您所使用的电机类型)。
创建Servo对象
将一个伺服插入位置1(带有引脚X1的位置)并使用以下代码创建一个伺服对象:
>>> servo1 = pyb.Servo(1)
使用 angle 方法更改伺服的角度:
>>> servo1.angle(45)
>>> servo1.angle(-60)
此处的角度以度为单位,且其值介于-90至90间,该值取决于电机。调用无参数的 angle 将返回当前角度:
>>> servo1.angle()
-60
注意:对于某些角度而言,返回的角度并非与您所设定的角度相同,这是设置脉宽的舍入误差造成的。
您可将第二个参数传递给 angle 方法,此参数指定到达预设角度所花费的时间(以毫秒为单位)。 例如,花费1秒(1000毫秒)从当前位置到达50度,使用:
>>> servo1.angle(50, 1000)
此指令将直接返回,而伺服将继续移动到预设角度,并在到达该角度后停止。 您可将此特性用作速度控制,或同步2个或更多的伺服电机。 若我们还有另外的伺服电机 (servo2 = pyb.Servo(2)) ,则我们可 :
>>> servo1.angle(-45, 2000); servo2.angle(60, 2000)
此代码将同时移动伺服,使二者在耗时2秒后到达各自的最终角度。
注意:上述两表达式中的使用分号使在您点击Enter键后可一个接一个地执行。在脚本中您无需使用分号,您只需在一行结束后在下一行写入。
连续旋转伺服
目前我们已在使用移动到特定角度后停留在该角度的标准伺服。这些伺服电机可用于创建机器人的关节, 或诸如平面-倾斜机制等。在其内部,电机有一个可变电阻器(电位计), 其作用为测量当前角度和向电机施加与其到达预设角度的距离成正比的功率。 此预设角度由在伺服信号线上的高脉冲的宽度设定。1500微秒的脉宽对应中心位置(0度)。 脉冲以50Hz频率发送,即每秒50脉冲。
您也可获取顺/逆时针旋转的连续旋转伺服电机。旋转的角度和速度由信号线上的脉宽设定。 1500微秒的脉宽对应停止的电机。大于或小于此角度的脉宽即代表以给定速度顺/逆时针旋转。
在pyboard上,连续旋转电机的Servo对象与前无异。实际上,您可使用 angle 来设置速度。 但是,为方便大家理解,此处我们提供另外一种设置速度的方法,称为 speed :
>>> servo1.speed(30)
speed 与 angle 功能相同:您可获取并设置速度,并设置到达最终速度所需时间。:
>>> servo1.speed()
30
>>> servo1.speed(-20)
>>> servo1.speed(0, 2000)
上述的最后一条指令将电机设置为停止,但需耗时2秒使其停止。这实际是对连续伺服加速度的控制。
通常认为,伺服速度100(或-100)即为最大速度,但实际上您可取比其略大的数值,具体情况取决于特定电机。
angle 和 speed 方法的唯一区别(除名称外)在于输入数字(角度或速度)转换为脉宽。
校准
从角度/速度到脉宽的转换是由伺服对象使用其校准值完成的。使用以下代码获取当前校准:
>>> servo1.calibration()
(640, 2420, 1500, 2470, 2200)
此处有5个数字,其意为:
最小脉宽;伺服接受的最小脉宽。
最大脉宽;伺服接受的最大脉宽。
中心脉宽;使伺服处于0度或0速度的脉宽。
与90度对应的脉宽。这就设置了角度的 angle 方法到脉宽的转换。
与速度100相对应的脉宽。这就设置了速度的 speed 方法与脉宽的转换。
您可使用以下代码重新校正伺服(更改其默认值):
>>> servo1.calibration(700, 2400, 1510, 2500, 2000)
当然,您可根据特定伺服电机更改上述值。
python如何控制伺服驱动_用 pyboard 控制 hobby 伺服电机相关推荐
- python如何控制伺服驱动_在控制伺服电机的驱动中,控制器和驱动器各有什么功能和作用?...
展开全部 控制器的功能和作用:62616964757a686964616fe78988e69d8331333431366335 控制电机的转速,在电动车行业还要求控制器有刹车断电.欠压保护.欠压回升值 ...
- 汇川H5U走EtherCat控制伺服带HMI程序,轴控制和气缸控制有做功能块
汇川H5U走EtherCat控制伺服带HMI程序,轴控制和气缸控制有做功能块,通俗易懂,是学习汇川总线的好帮手 YID:8219666741670494工控小达人
- pwm控制的基本原理_单片机PWM控制基本原理详解~
PWM是Pulse Width Modulation的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信号的效 ...
- 仿vivo控制中心下载_仿vivo控制中心下载_手机控制中心app
手机控制中心app可以用来提供系统管理功能和界面设置功能,它让你快速的访问你手机的各个应用,手机控制中心app还拥有飞机模式.WiFi.调整亮度.手电筒.相机.控制音频.计算器等调控功能,欢迎使用. ...
- CanOpen协议的伺服驱动控制
一.CanOpen的基本介绍: 1.基本介绍: CanOpen在CAN网络7层协议中,处于应用层.CANopen协议是在20世纪90年代末,由CIA组织CAN-in-Automation,(http: ...
- 关于伺服驱动控制的课本_西门子伺服电机驱动系列汇总,说明书参数及使用方法。...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 西门子V90伺服驱动系统作为SINAMICS驱动系列家族的新成员,与SIMOTICS S-1FL6 完美结合,组成最佳的伺服驱动系统,实现位置控制.速度控 ...
- 关于伺服驱动控制的课本_电液伺服同步驱动系统控制理论与应用
电液伺服同步驱动系统控制理论与应用 作 者:倪敬 主编 出版时间:2013 内容简介 <电液伺服同步驱动系统控制理论与应用>对电液伺服同步驱动控制技术所涉及的液压油源.电液比例伺服阀.液压 ...
- kingbase自带的驱动在哪_德国制造到底强在哪?从工博会上伺服驱动的创新上能看出真相!...
随着2014年协作机器人在中国兴起,UR.新松.达明.遨博.大族激光等企业积极布局协作机器人市场.2014-2019年,我国协作机器人销量复合增速一度超过了50%,2019年我国协作机器人产量超过80 ...
- sm总线控制器找不到驱动程序_【KHGEARS钧兴谐波 | 新品】埃斯顿发布总线伺服驱动系统 ProNet Summa...
高工机器人CEO圈群招募中,欢迎感兴趣的朋友们加微信号:13632944360入群:添加微信时请备注单位-姓名-职务,通过审核后我们将邀请进群. 2019 年 3 月 6 日,以"创新设计 ...
最新文章
- 在Visual C++ 中使用内联汇编
- ASP.NET 2.0 – 善用DataSourceMode属性
- WPF基础入门 - 1
- C语言二叉搜索树返回key的树级(附完整源码)
- button url图片显示不出来_哼!Vue如何在图片上传前使用vue-cropper进行剪切
- 【开源项目】Android开发内置App自动升级
- 支撑阻力指标_使用k表示聚类以创建支撑和阻力
- datagrid在MVC中的运用02-结合搜索
- 【Openstack】实录手动部署Openstack Rocky 双节点(4)- Nova
- 《认清C++语言》---接口继承和实现继承
- python访问文件被拒绝_python – uWSGI服务器日志…权限被拒绝读取文件…哪个文件?...
- 【Git入门之六】远程仓库
- 国内开发商品基金的一些设想
- python snap7 plc_python-snap7-master
- 75道逻辑思维题及答案--计算机面试大全
- 2017中国云计算评测报告
- 2021-12-11 根据单词首字母查找单词
- 更加简洁易用——wangEditor富文本编辑器新版本发布
- Vue-Element写一个简单的列表管理23/100统
- vue使用高德地图 zoom 不生效
热门文章
- U盘文件被病毒隐藏无法查看,但是占用相应空间的恢复办法
- virtualBox安装增强功能及安装过程中出现的一系列问题的解决
- Jenkins构建(14):Jenkin实现自动化更新服务(一)
- 流程图软件lauto_Iauto免费版下载|Iauto(流程图软件) v2.6.0官方版 - 万方软件下载站...
- html5自动抠图api,js钢笔抠图插件_jQuery之家-自由分享jQuery、html5、css3的插件库
- Linux学习-42-查看文件系统信息dumpe2fs命令用法
- java 打码_Java基础(一)
- [论文阅读-NeRF+SLAM]NeRF-SLAM:使用神经辐射场表征的实时稠密单目SLAM系统
- java运维技术要求,Java 20190919
- Photoshop文字之——模仿书法字