鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    分享一个FishBot上的电机控制开源库:Esp32McpwmMotor

    已定时 已固定 已锁定 已移动
    文档资料
    fishbot esp32mcpwm
    2
    2
    682
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 小鱼小
      小鱼 技术大佬
      最后由 编辑

      大家好,我是小鱼。在做FishBot时,小鱼没有找到合适的开源库来调用ESP32的MCPWM控制器,找到的支持电机路数和调用方式都不太好用,小鱼就自己整了一个——Esp32McpwmMotor。

      源码地址:https://github.com/fishros/Esp32McpwmMotor

      关于如何代码如何实现的,小鱼会在后续的FishBot制作课程中进行讲解,该库的使用方式如下,例程中只用了两路和四路,FishBot最多支持六路电机控制。

      使用方式:platformio.ini

      lib_deps = 
      	https://github.com/fishros/Esp32McpwmMotor.git
      

      两路舵机例程:

      #include <Arduino.h>
      #include <Esp32McpwmMotor.h>
      
      Esp32McpwmMotor motor;
      
      void setup()
      {
          Serial.begin(115200);
      
          motor.attachMotor(0, 33, 25);
          motor.attachMotor(1, 26, 27);
          motor.attachMotor(2, 12, 22);
          motor.attachMotor(3, 16, 17);
      }
      
      void loop()
      {
          motor.updateMotorSpeed(0, -70);   // 70%占空比
          motor.updateMotorSpeed(1, 70);
          motor.updateMotorSpeed(2, -70);
          motor.updateMotorSpeed(3, 70);
          delay(2000);
          motor.updateMotorSpeed(0, 70);
          motor.updateMotorSpeed(1, -70);
          motor.updateMotorSpeed(2, 70);
          motor.updateMotorSpeed(3, -70);
          delay(2000);
      }
      
      

      四路舵机例程:

      #include <Arduino.h>
      #include <Esp32McpwmMotor.h>
      
      Esp32McpwmMotor motor;
      
      void setup()
      {
          Serial.begin(115200);
      
          motor.attachMotor(0, 33, 25);
          motor.attachMotor(1, 26, 27);
          motor.attachMotor(2, 12, 22);
          motor.attachMotor(3, 16, 17);
      }
      
      void loop()
      {
          motor.updateMotorSpeed(0, -70);  // 70%占空比
          motor.updateMotorSpeed(1, 70);
          motor.updateMotorSpeed(2, -70);
          motor.updateMotorSpeed(3, 70);
          delay(2000);
          motor.updateMotorSpeed(0, 70);
          motor.updateMotorSpeed(1, -70);
          motor.updateMotorSpeed(2, 70);
          motor.updateMotorSpeed(3, -70);
          delay(2000);
      }
      

      新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

      1 条回复 最后回复 回复 引用 1
      • 10903348941
        HeyMad
        最后由 编辑

        @小鱼 在 分享一个FishBot上的电机控制开源库:Esp32McpwmMotor 中说:

        Esp32McpwmMotor

        源码地址:https://github.com/fishros/Esp32McpwmMotor进不去了,请问一下,这个库有ubuntu系统可以进去的境像吗?

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS