TLE9843-2QX 的ADC1采样获取继电器实时电压,确保电机正常工作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangjiaweiwei/article/details/87370255
  1. Vmotor的电路引脚

Vmotor引脚采集电机实时电压,然后通过MON4引脚传给单片机

 

2、VBATT的电路引脚

 

 

VBATT给继电器供电,透传给VSENSE,VSENSE通过VBAT_SENSE引脚传给单片机

 

3、ADC1通道值分布

 

VBAT_SENSE的值传给CH0

MON4的值传给CH5

4、获取ADC1中的通道值

UWORD uwADCData;

              

                if (ADC1_GetChResult(&uwADCData,ADC1_CH0)) //vbat factor 0.047

    {

        uwVbatteryData = uwADCData;

         PowerVoltage = (ULONG)uwVbatteryData;

    }

              

                if (ADC1_GetChResult(&uwADCData,ADC1_CH5))  //mon4 factor 0.039

    {

        MotorVoltage = uwADCData;

    } 

5、获取ADC的增益系数

从上图可以看出,CH0的增益系数为 0.047,CH5的增益系数为 0.039。

更准确的增益系数为:

CH0为12/256

CH5为10/256

由增益系数可以获得:

VBAT_SENSE * 12/256  = PowerVoltage

VMOTOR * 10/256  =  MotorVoltage

6、电机正常工作与否的判断

¼ * VBAT_SENSE < VMOTOR < ¾  * VBAT_SENSE

一般设置VMOTOR值为VBAT_SENSE的(1/4, 3/4)之间时,表示电机正常工作

¼ * 256/12 * PowerVoltage <  256/10  * MotorVoltage < ¾ * 256/12 * PowerVoltage

PowerVoltage < 48/10 * MotorVoltage < 3 * PowerVoltage

即需要保证MotorVoltage、PowerVoltage两个值满足上边的式子,才能确定电机正常工作。

猜你喜欢

转载自blog.csdn.net/wangjiaweiwei/article/details/87370255
tle
今日推荐