本作品以Launchpad做成的简易的双通道K型电热偶测温器,功能也是非常简单。Launchpad读取两个电热偶通道的电压,转换成温度发送到串口助手显示。本作品以MSP430G2245为Launchpad控制ic,ads1118以及两个k型电热偶测温座组成扩展板,测温扩展板可以插在Launchpad上面。电热偶的原理就不介绍了。准备工作:1.准备好工具,万用板,launchpad,电热偶测温板。
来张测温板的背面特写(不要吓到啊)
2.3块板组合到一块
3.线路图与lauchpad接口
#define CS BIT4 /* pin */ ///Connect to CS pin of Flash memory.
#define SCK BIT5 /* pin */ ///Connect to SCK pin of Flash memory.
#define MOSI BIT6 /* pin */ ///Connect to SI pin of Flash memory.
#define MISO BIT7 /* pin */ ///Connect to SO pin of Flash memory.
#define SPI_PORT P1OUT /* pin */ ///Micro pin PORT register.
#define SPI_PIN P1IN /* pin */ ///Micro pin PIN register.
#define SPI_DDR P1DIR /* pin */ ///Micro pin DDR register.
4.功能显示
常温下的测试数据
用风筒加热通道2的数据:
5.经验总结
一直想做一个电热偶的测温仪,看到ads1118可以做,便参加ads1118的团购,买回来后又打了板,开始调试程序。那悲剧开始了
,这个ic是有bug的,有bug的,有bug的。。。。多喊几声纪念我失去是时光与耐心。按照ads1118的datasheet写好程序,试来
试去总读不到数据,用spi读ads1118的Config寄存器,转换成功的标志位(CNV_RDY_FL)一直为显示ads1118正在转换数据,
坑爹啊。反反复复修改以为是自己的程序错误,连逻辑分析仪都用上了,看到波形是正确的,才怀疑ic的问题。有另外的方法判断,
ads1118数据转换成功后,Dout会拉低。另外读取ads1118的内部温度传感器的值要注意转换,ads1118的温度值是14位的,而且
是左对齐,读出来后需要移位。要注意负温度是以补码格式给出。由于精力有限,电热偶的温度表只做了0~128摄氏度。而且温度
补偿跟温度校验都没有做,因为没有高精度的校准仪器。程序为了方便使用了浮点数,所以代码差不多8k了。如果用不用浮点的话
,程序大概4k左右。总体介绍完毕,希望大家喜欢。后面附代码,欢迎测试。