whx456123 2023-02-13 00:53 采纳率: 100%
浏览 252
已结题

51单片机驱动不了sg90舵机

我是在用51单片机最小系统板做智能小车,用L298N驱动模块输入12v后再通过L298N的5v输出经过稳压给单片机供电。然后通过这样的供电方式使用舵机的时候,舵机有很明显的响声,但是舵机没有转动。请问各位这是什么原因?
代码如下:

#include <REGX52.H>
#include <intrins.h>
#include "delay.h"

sbit PWM = P3^5;


unsigned char counter;
unsigned char angle;

void Timer1_Init()        //500微秒@11.0592MHz
{
    TMOD &= 0x0F;            //设置定时器模式
    TMOD |= 0x10;            //设置定时器模式
    TL1 = 0x33;                //设置定时初始值
    TH1 = 0xFE;                //设置定时初始值
    TF1 = 0;                //清除TF1标志
    TR1 = 1;                //定时器1开始计时
    ET1 = 1;                //使能定时器1中断
    EA = 1;         //打开总中断
    PT1 = 1;         //设置优先级
}

void control()
{
    counter = 2;       //右转
    angle = 1;           
    Delay1ms(1000);
    
    counter = ;       //左转
    angle = 4Delay1ms(1000);
    
    counter = 3;      //归中
    angle = ;           
    Delay1ms(1500);
    
}

void Timer1_Isr() interrupt 3
{
    TL1 = 0x33;                //设置定时初始值
    TH1 = 0xFE;                //设置定时初始值
    counter++;
    if(counter == 40)
    {
        counter = 0;
    }
    if(counter <= angle)
    {
        PWM = 1;
    }
    else
    {
        PWM = 0;
    }
    TR1 = 1;
}

  • 写回答

11条回答 默认 最新

  • 星 沅 2023-02-13 10:22
    关注

    可以确认一下你的代码实现了PWM输出,是否可以驱动你的舵机。此外,还需要确保舵机的供电电压、电流都满足要求。可以根据舵机的数据手册,检查您的驱动模块是否正常工作。

    此外,还有一些细节:

    在代码中,P3.5被用作PWM输出,确保该引脚是51单片机的可用输出引脚。
    定时器1的初始值需要根据实际情况调整。
    在control函数中,角度变量angle的初始值是否与舵机的要求一致。
    control函数中的Delay1ms延时是否合适。
    还有:
    这个问题可能是由于舵机不能得到足够的电流供应造成的。可以尝试通过更换驱动模块,或增加电流供应的方式来解决这个问题。此外,还可以检查舵机的连接是否正确,确保舵机的控制信号被正确地发送到驱动模块。

    另外,你的代码中存在一些错误,请检查代码,以确保所有的变量都有正确的值,以免对舵机控制造成影响。比如,在 control 函数中, angle 变量没有正确地初始化
    如果以上所有因素都没有问题,那么你的代码应该可以正常驱动舵机。如果问题仍然存在,请提供更多信息

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

报告相同问题?

问题事件

  • 系统已结题 2月21日
  • 已采纳回答 2月13日
  • 修改了问题 2月13日
  • 创建了问题 2月13日

悬赏问题

  • ¥15 MATLAB卫星二体模型仿真
  • ¥15 怎么让数码管亮的同时让led执行流水灯代码
  • ¥20 SAP HANA SQL Script 。如何判断字段值包含某个字符串
  • ¥85 cmd批处理参数如果含有双引号,该如何传入?
  • ¥15 fx2n系列plc的自控成型机模拟
  • ¥15 时间序列LSTM模型归回预测代码问题
  • ¥50 使用CUDA如何高效的做并行化处理,是否可以多个分段同时进行匹配计算处理?目前数据传输速度有些慢,如何提高速度,使用gdrcopy是否可行?请给出具体意见。
  • ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),如何通过环岛的原理及完整代码
  • ¥20 机器学习或深度学习问题?困扰了我一个世纪,晚来天欲雪,能饮一杯无?
  • ¥15 c语言数据结构高铁订票系统