八、无刷电机电压电流温度采集

1、三相电流采样

上图为 U 相电流采集电路(U、V、W 三相同理,这里只以 U 相为例),其中R17 为采样电阻(20mR),当有电流 I 流过采样电阻时,采样电阻上就会产生一个电压,电压大小为: I*0.02Ω(20mR)。使用 I-V 表示电流 I 经过采样电阻后形成的电压,所以 U相的电压,我们使用 I-V_U 表示。

那么现在只需要测出电压 I-V_U 的值,就可以换算出 U 相电流,但是这里有一个问题,假设 U 相电流为 10A,此时电压 I-V_U = 10 * 0.02 V = 0.2V,同理当电流为 20A 时,求得的电压值 I-V_U = 0.4V,可以看到当电流比较大的情况下,求得的电压值是非常小的,不利于我们的 ADC 采集,考虑到 ADC 的精度问题,所以我还需将电压经过差分放大电路放大后在来采集,如下图:

由上图得出该差分放大电路的放大倍数为:Diff = 12K/(1K+1K)= 6 倍, 并有一抬升电压 1.25V,所以电压放大后的输出为: AMP_IU = 6 * ( 0.02*I ) + 1.25V。由于AMP_IU 是接到电机开发板的 ADC 引脚的,所以该值是已知的,此时就可以计算出 U 相电流 I 的值。

1.1实际应用

1、电机停机状态下,通过ADC1_CH8(PB0)检测AMP_IU电压对应的ADC值,计算电压值AMP_IU电压 = ADC值 * 3.3 / 4096,此时电压值即偏置电压;

2、当电机旋转时,继续检测AMP_IU电压对应的ADC值, 计算AMP_IU电压AMP_IU电压 = ADC值 * 3.3 / 4096

3、采样电压放大,放大倍数= 12 / (1+1) = 6倍

4、得到输出电压:AMP_IU = (6*0.02Ω* I) + 1.25V

5、采集输出电压计算实际电流I ;I = ( 旋转时电压 -- 偏置电压 ) / 0.12 A

2、电源电压采样

驱动板的供电电压 POWER 经过电阻分压后进入 LMV358 的 A 路运放,该运放为电压跟随电路,所以 1 脚输出电压 VBUS 和电阻分压的值相同,即 VBUS = POWER/(12K+12K+1K)*1K,当 ADC 采集到 VBUS 电压后就可以计算出 POWER 电压。

2.1实际应用

第一步:使用ADC1_CH9(PB1)采集VBUS点的电压,即

VBUS = ADC_CH9(PB1) * 3.3 / 4096

第二步:电压跟随电路 VBUS = POWER * 1/(12+12+1)

第三步:采集输出电压计算实际电压POWER = VBUS * 25

最终得到:

POWER = 25* ADC_CH9(PB1) * 3.3 / 4096

3、控制器温度采样

上图为温度检测电路,可以看到,NTC 电阻和固定的 4.7K 电阻分压,然后接入B 路运放,B 路运放也是电压跟随电路,所以此时 VTMEP = 3.3V/(Rt+4.7K)*4.7K,通过ADC 采集 VTMEP 的电压后就可以算出 Rt 的值,其中 Rt 就表示 NTC 电阻在当前温度下的电阻值。从 NTC 电阻的数据手册可以找到温度计算公式:T1=1 / ( In (Rt/R0) / B + 1/T2 ),这里的 T1 和 T2 指的是 K 度即开尔文温度,K 度 = 273.15(绝对温度) + 摄氏度;其中:

⚫ T2 :273.15 + 25(25 摄氏度下的 K 度值)

⚫ T1 :实际温度

⚫ Rt :热敏电阻在 T1 温度下的阻值;

⚫ R0 :热敏电阻在 T2 常温下的标称阻值;

⚫ B 值:热敏电阻的重要恒定参数;

其中 T1 是我们需要求解的温度值,Rt 的大小由前面的温度采集电路可以算出,其他的参数都是可以在数据手册中查找得出,代入温度求解公式即可算出T1温度值,注意该值为K度。

3.1实际应用

第一步:使用ADC1_CH0(PA0)采集VTEMP点的电压,VTEMP = ADC1_CH0(PA0) * 3.3 / 4096

第二步:电压跟随电路,VTEMP = 3.3 * 4700 /(Rt + 4700)

第三步:采集VTEMP计算此时热敏电阻的阻值Rt

Rt = ( 3.3 * 4700 )/ VTEMP - 4700

第四步:根据Rt算出实际温度值

实际温度 T1=1 / ( In (Rt/R0) / B + 1/T2 )

相关推荐
沐欣工作室_lvyiyi6 分钟前
基于单片机的智能家居窗帘控制系统设计(论文+源码)
单片机·嵌入式硬件·毕业设计·智能家居·智能窗帘
嵌入式分享22 分钟前
嵌入式分享#41:RK3576改UART波特率【精简版】
linux·嵌入式硬件·ubuntu·嵌入式
典则1 小时前
STM32FreeRtos入门(四)——任务状态和调度
stm32·单片机·嵌入式硬件
充哥单片机设计1 小时前
【STM32项目开源】基于STM32的智能天然气火灾监控
stm32·单片机·嵌入式硬件
充哥单片机设计1 小时前
【STM32项目开源】基于STM32的智能仓库火灾检测系统
stm32·单片机·嵌入式硬件
A9better4 小时前
嵌入式开发学习日志38——stm32之看门狗
stm32·嵌入式硬件·学习
小莞尔4 小时前
【51单片机】【protues仿真】基于51单片机智能路灯控制系统
c语言·stm32·单片机·嵌入式硬件·51单片机
A9better14 小时前
嵌入式开发学习日志36——stm32之USART串口通信前述
stm32·单片机·嵌入式硬件·学习
思诺学长14 小时前
BMS(电池管理系统)的主要功能和架构简述
单片机·嵌入式硬件
czhaii14 小时前
全局不关总中断的 RTOS / CosyOS-II for STCAI MCU
单片机