Arduino AD8495温度计的制作

电子说

1.2w人已加入

描述

步骤1:一般如何工作

一般来说这个温度计是Adafruit的产品,它带有K型传感器,几乎可用于家庭或地下室温度测量,炉子和烤箱热量测量。它可以承受从-260摄氏度到980摄氏度的温度,并且通过一些小的电源调整,它可以达到1380摄氏度(非常值得注重)并且非常精确,+/- 2度变异非常有用。如果你像我们使用Arduino Nano那样制作它,你也可以将它装在一个小盒子里(考虑到你将制作你自己的盒子,但不包括在本教程中)。

Step 2:连接并正确布线

您可以从上面的照片中看到这样的包装。您可以使用跳线将其连接到Arduino板,但我会建议焊接电线,因为它可以在非常小的电压下工作,因此任何轻微的移动都会破坏结果。

上面的照片是如何拍摄的我们将电线焊接到传感器上。对于我们的项目,我们使用了Arduino Nano,正如您所看到的,我们已经对我们的Arduino进行了一些修改,以便从我们的测量中获得最佳结果。

第3步:使用类型

根据数据表,此传感器可用于使用常规Arduino 5V电源在-260至980摄氏度之间进行测量,或者您可以添加一些外部电源,这将让您有机会测量高达1380度的温度。 但要注意,如果温度计给Arduino提供的电压超过5V,可能会损坏你的Arduino并且你的项目可能注定要失败。

为了克服这个问题,我们放了一个器件上的分压器,在我们的情况下是Vout到Vin电压的一半。

链接到数据表:

http://www.analog.com/media/en/技术文件。..

http://www.analog.com/media/en/technical-documenta 。..

第4步:大问题使用测量时的代码

根据温度计的数据表,参考电压为1.25V。在我们的测量中,情况并非如此。..。..当我们进一步测试时,我们发现指示电压是可变的,我们在两台计算机上测试,两者都不同(!?!)。好吧,我们在电路板上放了一个引脚(如上图所示),我们在代码中放了一行,每次在计算之前读取所指的电压值。

这个的主要公式是 Temp =(Vout-1.25)/0.005 。

在我们的公式中我们做到了: Temp =( Vout-Vref)/0.005 。

第5步:代码部分1

const int AnalogPin = A0;//用于临时读取的模拟引脚

const int AnalogPin2 = A1;//用于读取参考值的模拟引脚

float Temp;//温度

float Vref;//参考电压

float Vout;//adc之后的电压

float SenVal;//传感器值

float SenVal2;//来自引用引脚的传感器值

void setup(){

Serial.begin(9600);

void loop(){

SenVal = analogRead(A0);//温度模拟值

SenVal2 = analogRead(A1);//来自refferent pin的模拟值

Vref =(SenVal2 * 5.0)/1024.0;//将模拟转换为数字以表示参考值

Vout =(SenVal * 5.0)/1024.0;//温度读取电压的模拟转换为数字

温度=(Vout - Vref)/0.005;//温度计算

Serial.print(“ Temperature =”);

Serial.println(Temp);

Serial.print(“Referent Voltage =”);

Serial.println(Vref);

延迟(200);

}

当您使用Arduino(无外部电源)的电源时,将使用此代码。根据数据表,这会将您的测量限制为最高980摄氏度。

步骤6:代码部分2

const int AnalogPin = A0;//用于临时读取的模拟引脚

const int AnalogPin2 = A1;//我们读取参考值的模拟引脚(我们必须这样做,因为传感器的参考值不稳定)

float Temp;//温度

float Vref;//参考电压

float Vhalf;//分隔符后的arduino读取电压

float Vout;//转换后的电压

float SenVal;//传感器值

float SenVal2;//来自我们获得参考值的传感器值

void setup(){

Serial.begin(9600); }

void loop(){

SenVal = analogRead(A0);//模拟输出值

SenVal2 = AnalogRead(A1);//我们得到参考值的模拟输出

Vref =(SenVal2 * 5.0)/1024.0;//将来自Referent引脚的模拟值转换为数字值

Vhalf =(SenVal * 5.0)/1024.0;//将模数转换为数值

Vout = 2 * Vhalf;//计算半分压分压器后的电压

Temp =(Vout - Vref)/0.005;//温度公式计算

Serial.print(“ Temperature =”“);

Serial.println(Temp);

Serial.print(“Vout =”);

Serial.println(Vout);

Serial.print(“Referent Voltage =”);

Serial.println(Vref);

延迟(100);

}

如果您使用外部电源,这是代码,为此我们使用分压器。这就是为什么我们里面有“ Vhalf”值。我们使用的分压器(参见第3部分)是输入电压的一半(R1具有与R2相同的欧姆值),因为我们使用的是9V电池。如上所述,任何高于5V的电压都可能损坏Arduino,因此我们使其达到最大4.5V(在这种情况下这是不可能的,因为在分压器之后传感器输出的最大功率可能在3.5V)。

第7步:结果

Arduino

Arduino

Arduino

Arduino

Arduino

Arduino

从上面的屏幕截图中可以看到,我们已经对其进行了测试并且可以正常工作。此外,我们还为您提供了Arduino的原始文件。

责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分