cyberkyg 发表于 2010-4-21 22:45:31

用红外温度传感器MLX90615做的温度计

msp430f2274+mlx90615+ht1621(白沙液晶),初步显示温度,精度没有验证,datasheet上说出厂已经校准,在36-42度之间精度能达到0.1度

cyberkyg 发表于 2010-4-21 22:48:56

手机拍的效果不太好:

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_548201.jpg
显示环境温度 (原文件名:mlx90615_1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_548202.jpg
测量水杯温度 (原文件名:mlx90615_2.jpg)

cyberkyg 发表于 2010-4-21 22:52:45

废话少说,上源码ourdev_548205.rar(文件大小:613K) (原文件名:mlx.rar)

benlippen 发表于 2010-4-28 23:55:16

mark

growing 发表于 2010-4-29 10:15:43

mark

htjgdw 发表于 2010-5-4 19:55:52

LZ用的是eZ430-RF2500套件吗?

cyberkyg 发表于 2010-5-20 08:42:06

回复【5楼】htjgdw
-----------------------------------------------------------------------

正是,开研讨会送的,呵呵!

naoshi 发表于 2010-5-20 15:44:43

mark

xier2008 发表于 2010-5-29 14:41:16

回复【1楼】cyberkyg
-----------------------------------------------------------------------
你好!我也用的这一款温度计,初步显示环境温度基本符合实际,但测量的目标温度和实际相差太大,不知道什么原因!我的邮箱xier513186054@163.com   QQ号:513186054   联系一下,谢谢!

cyberkyg 发表于 2010-6-3 09:52:50

你可以看一下数据手册的12节和15节,红外很容易受到干扰,另外测量不同物体有不同的发射率,可以通过更改EEPROM里面3h寄存器的值来修正

albert815 发表于 2010-7-22 04:19:00

回复【2楼】cyberkyg
-----------------------------------------------------------------------

谢谢楼主,正是我要找的东西,不过我参考eZ430-RF2500T重画了一块板,当时的考量是想用I2C bus来实现SMBus,并不是用GPIO,目前正在调试阶段, 有很多问题,不知楼主是否有尝试过。 另一个问题是,MLX90615 Datasheet里定义input low voltage是 0.7V-1.3V,让人很困惑

anxiangbo 发表于 2010-8-10 15:26:15

记号

cyberkyg 发表于 2010-8-16 18:47:29

回复【10楼】albert815
回复【2楼】cyberkyg
-----------------------------------------------------------------------
谢谢楼主,正是我要找的东西,不过我参考ez430-rf2500t重画了一块板,当时的考量是想用i2c bus来实现smbus,并不是用gpio,目前正在调试阶段, 有很多问题,不知楼主是否有尝试过。 另一个问题是,mlx90615 datasheet里定义input low voltage是 0.7v-1.3v,让人很困惑
-----------------------------------------------------------------------

用i2c bus来实现smbus没有试过,我觉得“mlx90615 datasheet里定义input low voltage是 0.7v-1.3v”有问题,同样的地方在90614的datasheet里面是最大0.6v,所以我觉得不用管它。

joneywei 发表于 2010-8-28 15:52:35

回复【1楼】cyberkyg
-----------------------------------------------------------------------
这个红外测温需要黑体标定么

cyberkyg 发表于 2010-9-9 01:31:54

回复【13楼】joneywei
回复【1楼】cyberkyg   
-----------------------------------------------------------------------
这个红外测温需要黑体标定么
-----------------------------------------------------------------------

出厂时已经标定过了貌似

wjcheng 发表于 2010-11-13 12:06:01

你好,我照你的程序,读出的数据还是偏低,比如测得环境温度20度,再测人体只有25度,修改03 (E2P)的值还是偏低

ndust 发表于 2010-11-13 12:35:35

jh

wjcheng 发表于 2010-11-13 14:59:19

楼主测得的值貌似没有修改03H的值,我个人感觉如果不加菲列尔透镜的话,测量值随着测距变化会很大

ssaweee 发表于 2010-11-13 16:09:57

回复【15楼】wjcheng
-----------------------------------------------------------------------

人体表面温度确实比较低

wjcheng 发表于 2010-11-15 12:18:32

自从选用该器件以来,一直不是很顺利,PDF资料语焉不详,坊间也鲜有成功案例,读数一直偏低,只有贴近额头测得的值勉强差不多,当然还没加菲涅尔透镜,加上后值变小,怎么调03H的值都不行,不加则受测量距离影响很大,还有,写入时调用CRC-8算法(下载的)可以写入,读出的数却不能通过CRC-8校验(以上读出的温度都忽略校验)。现贴上代码,博君一笑。
   使用I2C模拟的SMBUSourdev_598039UF8EJ4.rar(文件大小:1K) (原文件名:红外.rar)

wjcheng 发表于 2010-11-15 16:25:41

还发现读内部E2P,读出的有效字节高位,低位均相同,但之后的PEC会出现不同的值.
比如 读00H的值有时是0X5B,0X00,197(PEC)
      有的时候却是0X5B,0X00,69 (PEC)

wjcheng 发表于 2010-11-16 14:48:35

不经意间发现了一个错误,把CLK信号延时加倍后,PEC校验通过
同上,读00H的值是:0X5B,0X00,151 8211校验通过

wjcheng 发表于 2010-11-24 13:27:11

程序基本上都通过了,平常也能测试,只是感觉这款器件测试一段时间后会漂.

qdvenus 发表于 2010-12-1 21:28:40

有详细的整个C51的工程吗,我现在用MSP430F168做,老是没反应,从机不响应,无ACK

wjcheng 发表于 2010-12-2 14:56:06

可能是你的CLK时间不对,我那个程序是好用的

wjcheng 发表于 2010-12-2 15:01:24

贴程序你看一下
点击此处下载 ourdev_601823NA3OPV.rar(文件大小:1K) (原文件名:红外.rar)

qdvenus 发表于 2010-12-2 19:52:18

谢谢楼上,我再试试,感觉这个器件不太好用,也许是时序没调整好

qdvenus 发表于 2010-12-3 10:43:59

这个MLX90615似乎不太好用,读取的PEC和生成的PEC不相同,单步调试时观察ACK好象没有响应,如果忽略PEC,用手或耳朵贴近它有变化,不知道是否正确

cyberkyg 发表于 2010-12-3 11:25:33

呵呵,好久不来。我当时也就是玩玩儿,看到能显示温度就扔那里没动过啦,没有校温工具

qdvenus 发表于 2010-12-3 14:51:14

晕死了,在现在的室内测出居然是负的,实际上室内大约在15度左右,读出来的SMBUS的地址也是0x5B,还有发射率是0X4000,温度范围是0x9c3,配置值是0x1501

wjcheng 发表于 2010-12-4 15:18:25

配置值我的程序没有动他,你的PEC读取的不对一定是CLK时钟频率不对,我刚开始读也是这个情况,比如读00(E2P)H的值,每次的值(0X5B)都是对的,但每次的PEC都不一样,把CLK脉冲适当延时(增加NOP)后,校验通过.你再试一下

fanwt 发表于 2010-12-4 19:16:53

mark~

qdvenus 发表于 2010-12-6 13:20:48

现在测试是通过了,不过测到的温度完全不对,差了近20度左右,也不知是怎回事.

qdvenus 发表于 2010-12-6 13:22:05

这个东东太贵,有用过台湾TN9的那个红外测温传感器模块吗?那个也很贵,要近200元

wjcheng 发表于 2010-12-7 22:10:59

这个器件我零买是80块,批发只要4.5美圆,你测的结果稳定不,我的思路是只要数据稳定可以进行线性修正.

qdvenus 发表于 2010-12-9 19:45:49

稳定性初看还可以,可是偏差太多了,有点离谱,难道说在使用时要每个都要校正?在离散了

ssaweee 发表于 2010-12-9 20:01:59

回复【34楼】wjcheng
-----------------------------------------------------------------------

哪能买到便宜点接近批发价点的?

cyberkyg 发表于 2010-12-9 21:51:59

这个我买的是50块钱一个,买了俩玩玩儿当时。看楼上那么多说不稳定的,我又特意翻出来看了看,觉得稳定度还是可以的,测室温时基本上就小数点后在跳,幅度不超过0.2度。离2厘米测掌心温度稳定在30度左右,不像楼上说的差20度啊。改天找个温度计对照一下

qdvenus 发表于 2010-12-10 19:56:39

楼上的买了50元?哪里买的?我买了76元呢,你的有示例程序吗?我用了两个都是这样的

cyberkyg 发表于 2010-12-10 22:27:08

回复【38楼】qdvenus
-----------------------------------------------------------------------

是在叫星亮的代理商那里买的样片,我就不说在哪里找了,自己放狗,不然有做广告的嫌疑。
程序在2楼

zyw19987 发表于 2010-12-12 10:39:23

红外测温

Autostep 发表于 2010-12-14 21:54:40

MLX90615

fanwt 发表于 2010-12-15 00:19:34

红外测温很成熟了

wjcheng 发表于 2010-12-19 08:03:56

to:【37楼】 cyberkyg
请问你测的时候加菲涅尔透镜没有,不加的话,测得的数据随测距影响很大啊.

cyberkyg 发表于 2010-12-19 16:44:49

回复【43楼】wjcheng
-----------------------------------------------------------------------

没有加,确实和测距有关,我是在3厘米范围内测的。这款的设计定位就是医疗电子,装在手机上测人体体温的,官网上有介绍,离太远测也没意义。还有一款90614,加个透镜比较有意义。

arvidwen 发表于 2010-12-19 16:49:12

谢谢分享,来学习的。

xiao_guo 发表于 2011-4-1 16:36:19

make

zqd311107 发表于 2011-5-4 11:12:07

:用红外温度传感器MLX90615做的温度计

wangguanfu 发表于 2011-6-14 14:18:07

标记

zhugjbest 发表于 2011-6-22 14:12:14

mark

Bicycle 发表于 2011-6-22 14:54:20

mark

yanrz 发表于 2011-7-1 22:51:44

呵呵,一直都想找一个玩玩,不过还没找到!

STD116155617 发表于 2011-9-8 17:10:36

谢谢咯!!嘿嘿。。谢谢楼主

yanrz 发表于 2011-9-23 15:56:56

终于试了,但是发送的命令中好像有点跟datasheet不一样,回来的结果好像也是正确的。不知道为什么发送的数据不正确也能读取回来正确的数据。呵呵。
发现的不对是:
发送读取RAM命令时,第一个Addr直接发送,第二个Addr要加1再发送,但是在程序中并没有加1,读取回来的数据也是能校验通过的。奇怪!!!!!!不知道现在改成加1是否能读取回来正确的数据。
下周一再试试!!!!

bingshuihuo888 发表于 2011-9-23 16:15:07

mark!!

yanrz 发表于 2011-10-7 21:58:01

温度读出来误差很大,不知道是怎么回事。很奇怪,一直都跟实际温度大概差8℃左右,调发射率也没有什么作用,我把发射率调成0.3,竟然温度还变成了负数!!!
不是发射率调低了,温度应该变大吗??
我测试的是手掌的温度,用我从市场上买回来的红外测温仪测试,是34.5℃,用mlx90615测试的是28~29℃之间。
有没有谁指教下????
多谢了!

21115064 发表于 2011-10-14 15:14:43

回复【1楼】cyberkyg
-----------------------------------------------------------------------

好的

21115064 发表于 2011-10-14 15:15:25

回复【1楼】cyberkyg
-----------------------------------------------------------------------

好的

shenwoufo 发表于 2011-10-20 21:54:04

顶 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11

chaled 发表于 2011-11-30 00:57:01

mark

HadesHe 发表于 2011-11-30 22:29:06

不错

zkcheng606 发表于 2011-12-5 13:55:04

好东西 mark

dingliming 发表于 2012-2-9 20:55:32

哈哈 太好了

wushiyun 发表于 2012-5-2 16:18:40

wjcheng 发表于 2010-12-2 15:01 static/image/common/back.gif
贴程序你看一下
点击此处下载 ourdev_601823NA3OPV.rar(文件大小:1K) (原文件名:红外.rar) ...

你好!贴的程序,无法下载。能不能发到我的邮箱里,763265109@qq.com    QQ:763265109
我用的是MSP430单片机 模拟的IIC(SMBus)   和mlx90615,想测物体温度。
不胜感激!!!

Zdhtdps 发表于 2012-7-9 23:10:20

wjcheng 发表于 2010-12-4 15:18
配置值我的程序没有动他,你的PEC读取的不对一定是CLK时钟频率不对,我刚开始读也是这个情况,比如读00(E2P)H ...

我刚帮朋友忙也搞了一套红外测温,硬件配置:msp430f149,mlx90615,液晶显示用12864'我参考了你老的程序和网上搜罗的其他样例,结果也是温度偏差特别大。我很仔细的学习了你老的过程,受启发很大。我的cpu最高才是8MHZ,可是这些样例都是12M的主频吧!哪些延时与定时都要调整吧!我调了一些,还有问题。特注册请教!

Zdhtdps 发表于 2012-7-9 23:45:48

xier2008 发表于 2010-5-29 14:41:16static/image/common/back.gif
回复【楼】yberkyg
-----------------------------------------------------------------------
你好!我也用的这一款...

现在好了吗?
来自: amoBBS 阿莫电子论坛 iPhone客户端

Zdhtdps 发表于 2012-7-10 08:30:38

wjcheng 发表于 2010-12-4 15:18 static/image/common/back.gif
配置值我的程序没有动他,你的PEC读取的不对一定是CLK时钟频率不对,我刚开始读也是这个情况,比如读00(E2P)H ...

修正一下:我是8MHz,原来的样品程序是16MHz的。(上贴给写成12MHz了)。

yuyu87 发表于 2012-7-10 08:44:11

我手头也是有一个,忘了具体啥型号了,
150+20运费买的~

Zdhtdps 发表于 2012-7-11 23:46:08

htjgdw 发表于 2010-5-4 19:55:52static/image/common/back.gif
LZ用的是eZ-RF套件吗?...

真的差呀!手按上时误差不大!
来自: amoBBS 阿莫电子论坛 iPhone客户端

Zdhtdps 发表于 2012-7-11 23:47:22

cyberkyg 发表于 2010-4-21 22:45:31static/image/common/back.gif
mspfmlx白沙液晶,初步显示温度,精度没有验证,dsee上说出厂已经校准,在-度之间精度能达到.度...


来自: amoBBS 阿莫电子论坛 iPhone客户端

Zdhtdps 发表于 2012-7-12 18:36:10

突然发现,感情那几根线对测量影响还挺大,不知啥原因?把那几根线卷一起(尤其是根部)后温度就指示到23度了,还是那个外部环境。

奇!

这里太冷清了!!!!

Zdhtdps 发表于 2012-7-12 19:05:54

主要问题解决了! 靠自己瞎摸吧!{:lol:}{:lol:}{:lol:}

xuepeng 发表于 2012-7-12 22:12:34

楼主这个东东多少钱?

kidi 发表于 2012-8-3 23:08:39

关注下!!

kidi 发表于 2012-8-3 23:09:26

Zdhtdps 发表于 2012-7-12 19:05 static/image/common/back.gif
主要问题解决了! 靠自己瞎摸吧!

我弄这个东西也遇到了很大的问题,现在解决不了。能指教一下吗

xuboluan 发表于 2012-8-4 14:46:30

用mega8 +数码管 参考了楼主的程序能正常出温度~在此感谢楼主

Zdhtdps 发表于 2012-8-4 23:39:17

新手权限不够!回复不了。{:sad:}

Zdhtdps 发表于 2012-8-4 23:40:11

kidi 发表于 2012-8-3 23:09 static/image/common/back.gif
我弄这个东西也遇到了很大的问题,现在解决不了。能指教一下吗

可以!留qq吧!我权限太低,回不了短信。

kidi 发表于 2012-8-5 22:28:49

Zdhtdps 发表于 2012-8-4 23:40 static/image/common/back.gif
可以!留qq吧!我权限太低,回不了短信。

我是用stm32做的。QQ:827854563。

Zdhtdps 发表于 2012-8-10 21:26:58

kidi 发表于 2012-8-5 22:28 static/image/common/back.gif
我是用stm32做的。QQ:827854563。

QQ zen me yi zhi bu zai xian?

Zdhtdps 发表于 2012-8-11 14:27:30

kidi 发表于 2012-8-5 22:28 static/image/common/back.gif
我是用stm32做的。QQ:827854563。

这个问题我也遇到过,最后解决了!

关键的问题是:你是用MLX90615的IIC方式传输数据还是用PMW传输数据?
我是用的IIC传输的数据。理论上讲应该没有任何问题的,不会发生传输误差,因为采用了PEC效验环节,但是确实发生了数据误差比较大并且不太稳定的现象。经过检查确定原因为,电源抗干扰能力太差造成,MLX90615将电源的干扰引入到测量环节,造成误差;当然也就是说IIC乃至后面显示实际上都没有错误。
解决办法:在MLX90615电源端子并联两个电容,一个0.1U、另一个4.7U。

nxmhp5522445 发表于 2012-8-16 08:45:58

挺好的,mark

莫要墨击 发表于 2012-8-16 10:55:20

Tingshuo zhge bucuo

afei8856 发表于 2012-9-7 10:49:24

学习 {:smile:}

chiefdh 发表于 2012-12-8 21:48:19

mark........

voncaesar 发表于 2013-4-8 10:30:41

Zdhtdps 发表于 2012-8-11 14:27 static/image/common/back.gif
这个问题我也遇到过,最后解决了!

关键的问题是:你是用MLX90615的IIC方式传输数据还是用PMW传输数据? ...

之前在测量中确实发现误差还是蛮大的 原来问题在这里呀受教了{:smile:}

highrock 发表于 2013-4-10 11:33:30

MLX90614MLX90615MLX90616 原装现货,技术支持长期供货,样品可售QQ:408025556   高生

hellospring 发表于 2013-11-19 15:55:50

顶一个!!!!!!!好东西!{:lol:}

68336016 发表于 2013-11-19 16:00:15

pec出错,时序不对可能性最大。sda sck有些信号跳变没有足够延时,偶尔可能正常,偶尔错误。

justdomyself 发表于 2013-11-19 16:22:15

mxl90615 学习了哈哈

彪悍的飞翔 发表于 2014-9-23 09:42:49

mark一下

Hello@liuzhen 发表于 2014-12-16 10:22:46

有谁试过怎么进SLEEP模式吗?手册上的进不了

蓝蓝的恋 发表于 2015-4-3 14:10:32

红外传感器的资料不好找啊{:sad:}

flyangus 发表于 2015-4-12 23:29:17

不错啊,下来学习一下。

KlausFeng 发表于 2017-7-28 17:22:17

不错资料,正在寻找,学习下

qiancuit2012 发表于 2020-2-16 14:52:05

这东西不错喔,学习学习下
页: [1]
查看完整版本: 用红外温度传感器MLX90615做的温度计