当前位置: 首页 > article >正文

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

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 )


http://www.kler.cn/a/408006.html

相关文章:

  • PHP屏蔽海外IP的访问页面(源代码实例)
  • 力扣刷题--41.缺失的第一个正数【困难】
  • 【HAProxy11】企业级反向代理HAProxy高级功能之访问控制列表(ACL)
  • MD5算法的学习
  • 驱动开发系列29 - Linux Graphics Kernel 内核内存管理子系统介绍
  • 海洋通信船舶组网工业4G路由器应用
  • CSS布局学习1
  • Oracle SQL优化②——访问路径
  • 使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
  • 2-测试bigcache做进程内缓存 --开源项目obtain_data测试
  • Python爬虫:获取1688店铺详情的实战指南
  • JMeter监听器与压测监控之 InfluxDB
  • 在Excel中处理不规范的日期格式数据并判断格式是否正确
  • 【JAVA面试题】什么是Springboot的自动配置以及注意事项
  • 【深度学习之回归预测篇】基于卷积神经网络(CNN)的数据回归预测
  • 第二十一周机器学习笔记:动手深度学习之——数据操作、数据预处理
  • 如何在react中使用 indexDb
  • 用axios和fetch分别封装请求
  • RK3588开发板中编译安装opencv
  • java中链表的数据结构的理解
  • 【超详细】C#基础-基本运算、语句
  • DICOM核心概念:显式 VR(Explicit VR)与隐式 VR(Implicit VR)在DICOM中的定义与区别
  • springmvc 用了 @RequestMapping 是不是可以不用
  • CSP/信奥赛C++语法基础刷题训练(23):洛谷P1217:[USACO1.5] 回文质数 Prime Palindromes
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现四
  • aws ses生产环境申请