V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
EchoFUN
V2EX  ›  问与答

四轴无刷电机 PWM 信号驱动异常情况

  •  
  •   EchoFUN · 2017-02-01 01:30:35 +08:00 · 2869 次点击
    这是一个创建于 2853 天前的主题,其中的信息可能已经有所发展或是发生改变。
    初玩四轴飞行器,自己先捣鼓了一番。
    使用的是好盈 20A 的电调。电机在运转的时候貌似不是匀速运转(在油门信号不变的情况下)。速度会不断的在变化中。有种一顿一顿的感觉。不知道这是不是算正常现象?还是我的代码写的不对?如果我想消除这种一顿一顿的感觉,有什么好的方法吗?

    录了段视频:
    https://v.qq.com/x/page/e03714k45av.html
    PWM 信号模拟的代码如下:
    https://github.com/EchoFUN/raspi/blob/master/tests/ESC.py

    求教懂行的大神。
    11 条回复    2017-02-01 14:38:37 +08:00
    skylancer
        1
    skylancer  
       2017-02-01 02:19:47 +08:00 via Android
    我不懂这类,不过我会先建议你检查电机
    yangff
        2
    yangff  
       2017-02-01 02:24:45 +08:00
    http://www.hobbywing.com/products/pdf/XRotor-Micro-BLHelicn.pdf
    看了一下,默认要的是 PPM 输入吧
    yangff
        3
    yangff  
       2017-02-01 02:28:04 +08:00   ❤️ 1
    · PWM 输入(PWM input ):可以启用或禁用(默认是禁用)。如果禁用,只有 1-2ms PPM 和 oneshot125(125-250us) 被视为有效输入信号.当使用回路时间低于 1100 的 OneShot125 时,请将该功能设置为禁用。
    ProjectAmber
        4
    ProjectAmber  
       2017-02-01 10:29:46 +08:00 via iPhone
    肯定不是正常现象。
    可以拿逻辑分析仪测下引脚输出 PWM 波形是否正常。

    PS :多旋翼类飞行器一般使用 400Hz 的 PWM 信号。
    xihefeng
        5
    xihefeng  
       2017-02-01 10:39:46 +08:00 via Android
    是不是没有解锁电调(行程设定)?
    ProjectAmber
        6
    ProjectAmber  
       2017-02-01 10:40:57 +08:00   ❤️ 2
    我不是很了解树莓派,查了下相关资料,都提到树莓派只有一个引脚 GPIO18 能够输出 PWM 信号。所以这个 PWM 应该是软件模拟的。
    我对 Linux 能够产生微秒精度的信号这点很怀疑,也许换上 RT 内核会好那么一点。
    你可以参考下 NAVIO( https://emlid.com/navio/),他使用了 PCA9685 来输出 PWM 信号。
    HowardMei
        7
    HowardMei  
       2017-02-01 10:51:25 +08:00 via Android
    频率太低,最起码要高于音频。
    HowardMei
        8
    HowardMei  
       2017-02-01 11:00:20 +08:00 via Android
    你这个等于把电机当喇叭用了,只是振动单元从鼓膜换成叶片而已。

    一般根据开关质量不同,定在 10kHz~20kHz 比较多,最少也要 5kHz 左右,即便很大功率的, 500Hz 也是极限了,再低就是当喇叭用。

    你可以试试调高频率,找找板子的输出频率极限。
    yangff
        9
    yangff  
       2017-02-01 12:26:38 +08:00
    @HowardMei 和这个没关系…… 这个信号又不是直接控制电机的=-=
    yangff
        10
    yangff  
       2017-02-01 12:52:22 +08:00
    @ProjectAmber +1

    感觉这点也很可疑,不过 50Hz 应该也不算什么太高的频率吧……
    EchoFUN
        11
    EchoFUN  
    OP
       2017-02-01 14:38:37 +08:00
    感谢各位提点,多尝试了几下。目前能够匀速运转,没有一顿一顿的感觉了。

    目测的原因:使用 RPi.GPIO 这个库输出的 PWM 信号(全部使用软件模拟)不是太准确。估摸着这个库可能是专门为教学准备的。简单,易上手,用 PWM 信号调试调试发光二极管效果杠杠的,不需要这么高的精度。
    换了个 pigpio 的库问题就解决了。深层原因还在进一步研究中。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.