发布时间: 2026-03-16
想要用树莓派去制作一个酷炫的小机械臂,或是制作一个智能小车吗,舵机肯定是不能缺少的。然而很多朋友在一开始的时候,都会被接线弄得晕头转向,又或者会碰到舵机不停地抖动,以及转不到指定角度的那些问题。别着急,就在今天,我会把用树莓派控制舵机的那些事情,掰开了,再揉碎了,讲给你听。
要让舵机运作起来,硬件需要先准备齐全。除了你手上的那台树莓派这两者中任何一个型号均可(3B加或者4B没关系),关键的存在就是舵机自身了,我们先来拿最为普遍的PWM舵机开展实践操作。绝对不能忘记准备一组母对母样式的杜邦线,它是连接树莓派GPIO引脚以及舵机的纽带。
还有个最为关键的东西,那就是外接电源!树莓派自身所带的USB口输出的电流,用来给舵机供电是远远不足够的,尤其是当多个舵机一同启动时,绝对是带不起来的。你要准备一个能够输出5V,且电流至少在2A以上的外部电源,这乃是舵机能稳定运行工作的基础条件。
要是你身为新手,强烈建议再搞来一块面包板,如此接线之际、改线之时都会便利许多,无需进行焊接操作。此外,虽说树莓派的3.3V逻辑电平不少舵机也能够识别,然而倘若你所挑选的舵机明确规定需要5V信号,那么还得准备一个电平转换模块,用以防止信号识别出现问题。
各种舵机充斥于市面上,种类繁杂得很,该如何选择舵机呢?,要明确你的项目具体所需要达成的目标是什么。假设你要制作一个局限于桌面范围的小型机器人 ,其所处空间存在一定限制 ,并且对于重量方面也较为敏感 ,那么这种情形下,就得着重关注微型舵机方面 ,就像参考资料当中所提及的 EM3 型号那样 ,它的重量为 9g ,具备 3kg·cm 的扭矩 ,这种舵机用于该类型项目就显得颇为契合。倘若你计划打造一个尺寸更大一些的机械臂 ,那么就参考类似 此类高压无刷舵机 ,只有选用这种舵机 ,才能够提供足够的力气。
具体而言,需要看三个核心参数,分别是扭矩、尺寸以及电压。扭矩能够决定舵机能拉动多重的物品,其单位是kg·cm,数值越大表明越有力。尺寸以及重量则决定了它是否能够装入你的结构之中。电压要和你所选择的电源相互匹配,常见的电压范围是4.8 6V,也存在高压舵机能够使用7.4V,在选择之前要前往舵机厂商的官网,将参数表查找出来仔细查看舵机厂家伟创动力,从而做到心中有底,对情况有所了解。
再来瞧一瞧控制方式以及材质方面,咱们刚开始入门之时最为常用的是PWM模拟舵机,其控制起来较为简便,然而要是项目变得复杂些,并且舵机的数量较多的话,那么可以去思量TTL串口总线舵机,这种舵机控制更为精准,齿轮材质同样是相当关键的,塑料齿具备价格便宜以及噪音小这样的特点,金属齿则有着耐用且力气大的特性,需依据你的预算以及需求来作出选择。
![]()
进行接线操作乃是首要步骤,同时它还是致使东西被烧毁的严重区域,要振作起精神来。将你的舵机拿起来,去查看它的三根线。其中颜色较深(呈现棕色或者黑色)的那根线是负极,红色的那根线是正极,而剩余的那根橙色和黄色都有可能的线便是信号线。记好这一点,不要失误犯错。
,最关键的一步是舵机品牌伟创动力,将舵机的负极线也就是棕色的那根,与树莓派的GND引脚连接在一起,这一操作被称作“共地”。只有当完成这一连接后,树莓派发出的信号舵机才能够正确进行识别。之后,要把舵机的信号线即橙色或者黄色的那根,连接到树莓派的GPIO引脚上,比如说这个引脚,它支持硬件PWM。
其二,连接电源线,然而绝对不要径直连接树莓派的5V引脚!将舵机的红线连接到你所预备好的外接电源的正极之处,随后把外接电源的负极和树莓派的GND(即地线)连接在一起。如此这般,树莓派负责发布指令,外接电源负责提供动力,各尽其责,稳稳当当。
将硬件连接妥当之后,紧接着要做的便是促使树莓派能够发出声音。我们借助来进行编写,具备简单且高效的特性。需要运用到名为RPi.GPIO的这个库,树莓派系统通常是自身携带的。开启你的编辑器,着手去撰写代码。
,将GPIO模式以及引脚进行设置,在代码之中,要向树莓派表明,我们采用的是BCM编号方式,接着,把设置成输出模式,最为关键的是,创建一个PWM对象,代码为:pwm = GPIO.PWM(18, 50),这一行代码所表达的意思是,在引脚18之上创建一个频率为50Hz的PWM信号,究其原因是,绝大多数舵机都是运用50Hz的频率来实施控制的。
然后,便是通过改变占空比去控制角度,舵机的角度由高电平脉冲宽度所决定,一般情况下,是0.5ms对应0度,2.5ms对应180度,对于50Hz(周期20ms)的信号而言,占空比等于脉宽除以周期,算一算,0.5ms对应的占空比是2.5%,2.5ms对应的是12.5%,使用pwm.(2.5),舵机理应转到0度,尝试一下!
![]()
实际上进行操作之际你或许会发觉舵机转动达不到预想程度亦或是颤动现象非常严重别慌张这属于新手普遍会碰到的问题大多是代码参数以及供电方面出了状况。
调整校准脉宽的范围之中,每一个舵机,是存在着个体方面差异的,上面所提及的从0.5ms到2.5ms 仅仅只是一种理論数值而已。你得去编写一个小型程序,一点一点地对占空比如同细致调节那般,从而寻觅到舵机恰好转动到机械限位最左边的数值以及最右的数值。比如说,你发觉当占空比为2.5%的时候舵机依旧处于转动状况,然而到了3%才停止住,那么你的0度就对应着3%。把这两个极限数值记录下来,运用到你的项目代码里之后,角度就会精准。
➡️ 2. 对供电稳定性展开检查。要是舵机运作的时候抖得如同筛子一般,又或者明显呈现出无力的状态,那十有八九是电源供应没跟上节奏。这有可能是外接电源所输出的电流不足够,或是电源线过于纤细导致的。要保证你的电源能够供给足够大的电流(好比多个舵机或许需要5V 5A甚至还要更高)。还能够在每次角度发生改变之后,添加一个时长很短的time.sleep(0.5),从而让舵机拥有时间稳定下来。
怀揣着去制作一个六足机器人或者摆弄一个多轴机械臂的想法,单纯凭借一个舵机那绝对是远远不够的。然而处于硬件层面,树莓派只具备两个PWM引脚用于相关操作,当面临不够用这种状况的时候究竟该如何去处理解决呢?其实这时存在着两个颇为不错的办法。
其一,乃是运用软件PWM,于代码范畴之中,采用诸如pwm.start(0)这般的形式,不过能将其分配至任意的GPIO引脚之上。其不足之处在于,若多个软件PWM同时运行,将会占用数量可观的CPU资源,进而对系统的响应带来影响。更为值得推荐的是第二种情形:运用舵机驱动板。它属于一种16路12位的PWM控制器,借助I2C接口与树莓派展开通信。
要是使用的话,那就简便许多嘞。需将板子的VCC,还有GND,以及SDA(也就是数据线),再加上SCL(时钟线),各自连接到树莓派相应的引脚上。接着去安装对应的库,像这种。在代码里完成初始化之后,直接运用(, 0, )便能够操控任意一路舵机。如此这般下去,操控几十个舵机根本算不上难事,你的创意施展范围一下子就被拓宽了。
于你玩树莓派以及舵机的进程里,遇上过最为奇特怪异离谱超难搞的问题是啥伟创动力,前往评论区去分享一番,要是觉着有作用的话可别忘了点赞收藏,如此下次方可找得到!