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

项目场景:

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

问题描述

电机驱动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度以上的发热源

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

相关推荐
QAQ小菜鸟3 小时前
一、安装Altium Designer 26.1
嵌入式硬件
嵌入式-老费4 小时前
esp32开发与应用(用面包板去学模块)
嵌入式硬件
归零鸟5 小时前
WD Elements移动硬盘能识别出盘但不能出盘的修复记录
stm32·单片机·嵌入式硬件
追兮兮6 小时前
MCUQuickStart v1.1.0发布,一键生成Keil工程+RTOS模板
stm32·单片机·嵌入式硬件·freertos·gd32·keil5
国科安芯6 小时前
ASP7A84AS与主流架构兼容替代及系统级电源完整性解决方案的深度研究
单片机·嵌入式硬件·架构
kaikaile19956 小时前
STC8单片机实现简单花样DMX512控制器
单片机·嵌入式硬件
szxinmai主板定制专家6 小时前
RK3568 + CODESYS+实时系统运动控制器PLC,支持 AI 视觉目标检测,预测性维护,混合多系统部署,多路模拟量采集
arm开发·人工智能·嵌入式硬件·fpga开发
rit84324996 小时前
STM32移植NES模拟器指南
stm32·单片机·嵌入式硬件
都在酒里6 小时前
STM32 I2C通信协议详解——标准库函数实现(通讯协议总结一)
stm32·嵌入式硬件·i2c