这篇是上一篇的续篇关于程序介绍下篇是实践篇所有代码都以GPL3协议分享HC官方的代码不在此协议范围请遵守HC官方协议在此声明!!!
这个周末写了2个库分别是NTC K型热电偶(带补偿)硬件在上篇有介绍代码和硬件有较大的联系主要是NTC和放大电路。
image.png


主要文件如果需要移植到其它芯片也是非常简单的温度范围-269~1209CODE大概需要6KB如果有需要可以裁剪比如负温度就可以裁剪掉再调整TMin这个值
image.png

如何使用
STEP 1
先将上面两个库添加到你的工程
STEP 2
分别完成这4个函数的移植注意

image.png


image.png

NTC电阻的电路是这种如果不是这样连接请重新书写

image.png

STEP 3
获取温度T

image.png

这段函数参数是实际电压除X10是因为放大器放大倍数是100再加上要转化为V单位所以要X10

image.png

image.png

这里的Uvref是模拟电路电源和参考电电压的电压如果参考电压和模拟电源电源不一样需要更改程序但需要遵守GPL3
NTC推导.c

#define ADCtoVoltage (Uvref/4095)
  • Untc / U10k = Rntc / 10K
  • ADCntc*ADCtoVoltage / ADC10K*ADCtoVoltage = Rntc / 10000
  • ADCntc*ADCtoVoltage                Rntc
  • -------------------  =  -----
  • ADC10K*ADCtoVoltage                10000
  • Rntc*ADC10K*ADCtoVoltage = ADCntc*ADCtoVoltage*10000
  • Rntc*ADC10K = ADCntc*10000
  •                 ADCntc*10000
  • Rntc =  ------------
  •                    ADC10K
  •                   
  •                 ADCntc*10000
  • Rntc =  ---------------
  •                 ADCUvref - ADCntc
  • 复制代码
    这边模拟实验一切正常我们还可以看到由于FPU的开启我们的浮点运算全部使用了F32的指令,如何开启可以看我以往的文章。