【嵌入式硬件】直流电机驱动相关

项目场景:

驱动履带车(双直流电机)前进、后退、转弯

问题描述

电机驱动MOS管烧毁

电机驱动采用IR2104S+TRH1R403NL的H桥方案(这是修改之后的图)

原因分析:

1.主要原因是4路PWM没有限幅,修改后限制在了最大96%

2.修改了部分硬件使其更合理

c 复制代码
/************************************************左杆油门控制前进后退*******************************************************/
		if(CH[2]>1200)  // 思翼遥控器通道3  992 272 1712  
	   {
			 PWM1=(int)(4*(CH[2]-992)+err_pwmval2);
			 if(PWM1>3456) PWM1=3456;
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2,PWM1 );    //修改比较值,修改占空比
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, 100);     //修改比较值,修改占空比
			 
			 PWM2= (int)(4*(CH[2]-992)+err_pwmval1);
			 if(PWM2>3456) PWM2=3456;
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_4,PWM2);    //修改比较值,修改占空比
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_3, 100);     //修改比较值,修改占空比			
			}
		 else if(CH[2]<800)
		 {		 
			 
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2, 100);    //修改比较值,修改占空比
			 PWM3=(int)(4*(992-CH[2])+err_pwmval2);
			 if(PWM3>3456) PWM3=3456;
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, PWM3);   //修改比较值,修改占空比
			 
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_4, 100);    //修改比较值,修改占空比
			 PWM4=(int)(4*(992-CH[2])+err_pwmval1);
			 	 if(PWM4>3456) PWM4=3456;
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_3, PWM4);   //修改比较值,修改占空比

		 }
		 else 
		 {
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, 1440+err_pwmval1);    //修改比较值,修改占空比
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2, 1440);    //修改比较值,修改占空比
			 
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_3, 1440+err_pwmval2);    //修改比较值,修改占空比
			__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_4, 1440);    //修改比较值,修改占空比
		 }
		 
/************************************************右杆副翼控制旋转*******************************************************/		 
		 
		 if(CH[0]>1200)  //思翼遥控器通道1
	    {
        err_pwmval1=(int)(2*(CH[0]-992));   //1440
				err_pwmval2=-(int)(2*(CH[0]-992));
			}
		 else if(CH[0]<800)
		 {
        err_pwmval1=-(int)(2*(992-CH[0]));
				err_pwmval2=(int)(2*(992-CH[0]));
		 }
		 else 
		 {
        err_pwmval1=0;
				err_pwmval2=0;
		 }

解决方案:

1.修改限幅到96%,之前可以超出PWM满占空比。

2.栅极电阻从30R改为20R,SS14改为SS34,自举电容从10uF/25V改为4.7uF/25V

测试:

操作履带车持续运行半小时没有超过50度以上的发热源

大家有什么感兴趣的地方可以留言!我后期补充!

相关推荐
智者知已应修善业1 小时前
【51单片机用数码管显示流水灯的种类是按钮控制数码管加一和流水灯】2022-6-14
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
智商偏低8 小时前
单片机之helloworld
单片机·嵌入式硬件
青牛科技-Allen9 小时前
GC3910S:一款高性能双通道直流电机驱动芯片
stm32·单片机·嵌入式硬件·机器人·医疗器械·水泵、
森焱森11 小时前
无人机三轴稳定控制(2)____根据目标俯仰角,实现俯仰稳定化控制,计算出升降舵输出
c语言·单片机·算法·架构·无人机
白鱼不小白11 小时前
stm32 USART串口协议与外设(程序)——江协教程踩坑经验分享
stm32·单片机·嵌入式硬件
S,D11 小时前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程
芯岭技术14 小时前
PY32F002A单片机 低成本控制器解决方案,提供多种封装
单片机·嵌入式硬件
youmdt15 小时前
Arduino IDE ESP8266连接0.96寸SSD1306 IIC单色屏显示北京时间
单片机·嵌入式硬件
嘿·嘘15 小时前
第七章 STM32内部FLASH读写
stm32·单片机·嵌入式硬件
Meraki.Zhang15 小时前
【STM32实践篇】:I2C驱动编写
stm32·单片机·iic·驱动·i2c