m0_74829877 2024-04-07 11:14 采纳率: 0%
浏览 26

一接电,舵机就转动到固定角度之后锁死不动

img

img


我是想用arduino UNO、舵机和超声波测距器做一个通过PID算法控制小球保持在中间的机器,但是arduino的板子不能提供太大的电流,所以一但小球速度过快,舵机就会过载,我尝试使用外接锂电池,可一但送电,舵机就转动到0度之后锁死,请问大家这是出了什么问题

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-07 11:14
    关注

    引自免费微信小程序:皆我百晓生

    首先,让我们看看你的代码逻辑,你的程序目前可以实现将舵机角度锁定在一个固定的范围(比如30度)。但是当小球的速度超过这个范围,舵机会自动锁定,这可能是因为舵机的限流器设置不当,或者是舵机本身的固有特性。

    为了确定原因并找到解决办法,我们需要检查你的电路图。在这个电路图中,我们可以看到舵机与电池之间的连接以及限流器的位置。

    看起来你的限流器设计得非常简单,只考虑了静态电流限制。那么你是否已经确保电机的最大输出电流不会超过电池的能力?如果是这样,可能是由于过度供电导致的舵机过载。

    接下来,我们来看看桨叶的角度。考虑到舵机是旋转的,其角应该是随着小球速度的变化而变化。现在来看一下桨叶的角度。你应该能看到,即使你在没有接电的情况下,也没有明显的速度变化。

    因此,最有可能的原因是你在接电后没有改变桨叶的角度。那么你需要检查的是如何改变桨叶的角度,以及何时这样做?

    一般来说,改变桨叶的角度可以通过控制电机的正向或反向电压来实现。当桨叶角度增大时,电机应逆时针旋转,反之亦然。至于何时改变角度,这就取决于你的系统需求。

    这里有一个简单的示例代码,它演示了如何改变桨叶的角度和保持一定的速度:

    # 初始化桨叶的角度
    舵叶角度 = 30
    
    # 控制电机的正向电压,使桨叶加速
    舵机_voltage += 10
    
    # 增加桨叶的角度,使其偏离初始角度
    舵叶_angle += 10
    
    # 如果桨叶角度大于设定值,立即停止改变
    if舵叶_angle > 60:
       舵叶_angle = 60
    
    舵机_voltage -= 10
    舵叶_angle -= 10
    
    # 记录新的桨叶角度和速度
    new舵叶_angle =舵叶_angle
    new_speed = speed + 0.1 * new舵叶_angle
    
    print("新舵叶角度:", new舵叶_angle)
    print("新速度:", new_speed)
    

    以上代码仅供参考,实际应用中需要根据你的具体需求进行修改。

    再次强调,这个问题最好由专业人士来解决,如果你对电路图不够熟悉,建议你找一个电路设计师帮助你检查和修复。同时,我也建议你在接电之前做一次充分的测试,以确保舵机能在没有外部输入的情况下正常工作。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月7日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大