You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Pico搭配CircuitPython时舵机无法完成180°旋转的解决方法

解决CircuitPython下SG90舵机无法旋转180°的问题

问题核心是Adafruit ServoKit库的默认脉冲宽度范围与TowerPro SG90的实际需求不匹配:

  • SG90标准脉冲范围为500μs(对应0°)到2500μs(对应180°)
  • ServoKit默认使用700μs-2300μs的范围,这导致舵机无法走到极限位置,只能实现约150°的旋转

修改步骤:

在初始化舵机控制器后,手动为目标舵机通道设置正确的脉冲宽度范围即可解决问题。

修改后的完整代码:

import time
import board
import busio

from adafruit_servokit import ServoKit


kit = ServoKit(channels=16, i2c=(busio.I2C(board.GP1, board.GP0)))
# 为0号舵机设置SG90对应的脉冲宽度范围
kit.servo[0].set_pulse_width_range(500, 2500)

while True:
    kit.servo[0].angle = 180
    time.sleep(1)
    kit.servo[0].angle = 0
    time.sleep(1)

额外说明:

如果设置后仍未达到完整180°,可以微调脉冲范围的数值(比如480-2520),因为不同批次的SG90可能存在微小的参数差异,根据实际旋转效果调整即可。

内容的提问来源于stack exchange,提问作者Monty Swanson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:22:53