智障车玩累了调无人机的第一天——PWM给了电机不转

智障车玩累了调无人机的第一天——PWM给了电机不转

硬件环境

主控:无名创新盘古开发板
电调:好盈乐天 A20 A电调
无刷电机:不详

问题

PWM频率初始化为50,200HZ都试过,发现给出pwm之后电机不转动。经过各种尝试后无果,对比发现烧录无名创新的示例代码系统之后,只要进入了无人机悬停模式即mode=-8之后再进入其他模式就会正常起来(PWM赋值写到主函数的,由于模式-8需要遥控器配合,但是我捡来的垃圾没有遥控器,所以停留在模式-8会导致pwm一直是0,所以需要切入其他模式,或者自己设置的空模式)。

解决方案

由于没有系统搞过无人机,不知道原来这一款电调启动是要设置最低油门行程的。
所以我的方法有一些问题,需要先给出最小油门值,再缓慢(延时)加到比最小值高大概150的PWM值就可以直接启动了。
示例代码如下:

#define  THR_MAX_OUTPU      2000//油门输出最大值
#define  THR_MIN_OUTPU      1000//油门输出最小值
#define  THR_IDEL_OUTPU     1150//油门怠速,取接近起转油门值即可1150
int flag_ii=1;
int main(void)
{
	System_Init();					//系统时钟初始化
	EEPROM_Init();					//EEPROM初始化

	trackless_params_init();//硬件配置初始化

	PWM1_Init();						//PWM1初始化M1P0、M1P1、M1P2、M1P3

  while(1)
  {	
		if(flag_ii)
		{
				steer_servo_pwm_m1p0(THR_MIN_OUTPU);
	steer_servo_pwm_m1p1(THR_MIN_OUTPU);
	steer_servo_pwm_m1p2(THR_MIN_OUTPU);
	steer_servo_pwm_m1p3(THR_MIN_OUTPU);
		delay(25);
		for(int i=THR_MIN_OUTPU;i<THR_IDEL_OUTPU;i++)
		{
				steer_servo_pwm_m1p0(i);
	steer_servo_pwm_m1p1(i);
	steer_servo_pwm_m1p2(i);
	steer_servo_pwm_m1p3(i);
			delay(25);
		}
		flag_ii=0;
	}
	steer_servo_pwm_m1p0(1500);
	steer_servo_pwm_m1p1(1500);
	steer_servo_pwm_m1p2(1500);
	steer_servo_pwm_m1p3(1500);
		
  }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值