. 2023-04-07 00:00 采纳率: 50%
浏览 134
已结题

循迹电机都分别正常 但不能正常循迹

循迹能亮 电机烧录也能动 但是结合起来不能循迹是什么原因 电子还是程序的原因

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2023-04-07 06:19
    关注

    以下内容部分参考ChatGPT模型:


    首先需要确认循迹模块的输出是否正确,可以通过示波器等工具观察输出波形是否符合预期。如果循迹模块输出正确,则需要检查程序中是否正确读取了循迹模块的输出,并根据读取的结果控制电机的转动。同时还需要注意电机控制的算法是否正确,例如PID算法等是否正确实现。可以尝试在程序中输出调试信息,观察程序的执行过程是否符合预期,以便定位问题所在。以下是一个简单的示例代码,可供参考:

    #include <stm32f4xx.h>
    #include <stdbool.h>
    
    #define TRACKING_PORT GPIOA
    #define TRACKING_PIN  GPIO_Pin_0
    
    #define MOTOR_PORT GPIOB
    #define MOTOR_PIN  GPIO_Pin_0
    
    bool track_is_on_track(void)
    {
        return GPIO_ReadInputDataBit(TRACKING_PORT, TRACKING_PIN) == Bit_RESET;
    }
    
    void motor_forward(void)
    {
        GPIO_SetBits(MOTOR_PORT, MOTOR_PIN);
    }
    
    void motor_stop(void)
    {
        GPIO_ResetBits(MOTOR_PORT, MOTOR_PIN);
    }
    
    int main(void)
    {
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB, ENABLE);
    
        GPIO_InitTypeDef GPIO_InitStructure;
    
        // 初始化循迹模块引脚为输入模式
        GPIO_InitStructure.GPIO_Pin = TRACKING_PIN;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(TRACKING_PORT, &GPIO_InitStructure);
    
        // 初始化电机引脚为输出模式
        GPIO_InitStructure.GPIO_Pin = MOTOR_PIN;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(MOTOR_PORT, &GPIO_InitStructure);
    
        while (1)
        {
            if (track_is_on_track())
            {
                motor_forward();
            }
            else
            {
                motor_stop();
            }
        }
    }
    

    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 微信夜间被转走了1w对,当天手机剪切板里就出现了这个乱码,有铁子可以看看是啥吗可以
  • ¥50 跑通github上的代码 深度学习 pytorch
  • ¥50 求写,批处理调用分区助手分区脚本
  • ¥15 求购HI3519AV100开发板
  • ¥15 请问1553 RT怎么测试,没有BC有方法吗
  • ¥100 业务编程如何选择学习方向和内容?
  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 【有偿】调用DXGI截图初始化失败,提示0xf 887a0004