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

项目场景:

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

问题描述

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

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

相关推荐
会编程的小孩4 小时前
STM32用PWM驱动步进电机
stm32·单片机·嵌入式硬件
努力做小白5 小时前
Linux驱动11 --- buildroot&杂项驱动开发方法
linux·运维·驱动开发·单片机·嵌入式硬件
小眼睛FPGA7 小时前
【RK3568+PG2L50H开发板实验例程】FPGA部分 | 以太网传输实验例程
科技·单片机·嵌入式硬件·ai·fpga开发·fpga
小刘摸鱼中7 小时前
INA226 数据手册解读
stm32·单片机·嵌入式硬件·芯片
切糕师学AI7 小时前
MCU中的系统控制器(System Controller)是什么?
嵌入式硬件·mcu
扣篮发型不乱13 小时前
STM32 | HC-SR04 超声波传感器测距
stm32·单片机·嵌入式硬件
几个几个n15 小时前
STM32-第五节-TIM定时器-1(定时器中断)
stm32·单片机·嵌入式硬件
EutoCool16 小时前
Qt窗口:QToolBar、QStatusBar、QDockWidget、QDialog
开发语言·数据库·c++·嵌入式硬件·qt·前端框架
国科安芯17 小时前
车规级ASM1042芯片在汽车无线充电模块中的应用探索
人工智能·单片机·嵌入式硬件·物联网·安全·汽车
学不动CV了19 小时前
深入理解C语言内存空间、函数指针(三)(重点是函数指针)
c语言·arm开发·数据库·stm32·单片机·嵌入式硬件·c#