标准版
#第六届立创电赛#红外热成像仪

创建时间:3年前

视频

  • 立创电赛:《红外热成像仪》-功能演示.mp4

  • 立创电赛:《红外热成像仪》-虚拟U盘功能演示.mp4

描述

<h1>1、项目功能介绍</h1> <p>红外热成像仪,用来显示电路板温度成像、设备温度成像等。</p> <p>平时工作的时候会遇到如下场景:</p> <p>1、新焊接好的板子,通电后发现电流异常,需要看下板子上哪里发热异常。</p> <p>2、需要监控某个器件(比如三极管、MOS)的温度,以防过热烧掉。</p> <p>3、测量温升。</p> <p>因此需要一个红外热像仪,可是网上看了一下都要2000左右了,虽然分辨率很高,可是我并不需要那么好的性能,于是干脆自己做一个。AMG8833的红外像素点是8x8的,感觉太低了,于是选用了32x24像素点的MLX90640,淘宝价格172元,再加上单片机和液晶屏,这样300元以内就能搞定了。</p> <p>完成后工作时的样子:</p> <p><img src="//image.lceda.cn/pullimage/T7673DGlsiBwMoR2l9GXurPfus0ClsDAK9KTHOsY.png" alt="image.png"></p> <p><br> 具有如下功能:</p> <p>1、锂电池供电,USB口充电。</p> <p>2、内置16M SPI flash,一张红外图片大小150K,因此可以保存109张图片。</p> <p>3、SPI Flash做虚拟U盘。USB口接电脑就可以直接查看、复制保存的图片。</p> <p><img src="//image.lceda.cn/pullimage/dfkVzfHM31KgVg5qQI16i1yFbdbdk5LMDRszUtaa.png" alt="image.png"></p> <p><img src="//image.lceda.cn/pullimage/fTPnPnJGQRYmOTUuyD0Xi67tfw1DJsK9aJn6otTd.png" alt="image.png"></p> <h1>2、项目属性</h1> <p>首次公开,完全原创。</p> <h1>3、开源协议</h1> <p>GPL3.0开源协议。</p> <p><br></p> <h1>4、硬件部分</h1> <p>总体原理图如下:</p> <p><img src="//image.lceda.cn/pullimage/r4okieBwOjTRtINyzGnXFC4l8dAtQ4XRj3hFrjwn.png" alt="image.png"></p> <p>1、电源部分</p> <p><img src="//image.lceda.cn/pullimage/vrxImKmLFz22DPcZyvzDq5IcHXkUCVH3QYwrRluL.png" alt="image.png"></p> <p>当USB口没有连接,由锂电池供电。当USB口连接,由USB供电,同时通过TP4057给锂电池充电。</p> <p><br> 2、屏幕和SPI Flash</p> <p><img src="//image.lceda.cn/pullimage/UDL026pwndATFfeZto2SqaJEP1eJAWhy79RyVh9k.png" alt="image.png"></p> <p>屏幕采用3.5英寸、320x240分辨率的。SPI Flash采用芯天下的XT25F128B,16MB。</p> <p><br> 3、MLX90640和AD按键。</p> <p><img src="//image.lceda.cn/pullimage/P7qIsDo5f9IrdY5oGvl99Sr2baU940c0sL0pvvWf.png" alt="image.png"></p> <p>MLX90640采用模拟IIC驱动,3个按键使用ADC读取,因为IO口用完了。</p> <p><br> 4、MCU</p> <p><img src="//image.lceda.cn/pullimage/Qbb2J0eDCwe2Ulbw8L79OkrNsl9zkpZpnzAlyaZA.png" alt="image.png"></p> <p>单片机使用GD32F103C8T6。</p> <p>6、外壳选择</p> <p><img src="//image.lceda.cn/pullimage/55wylbbG4jQRVjncNIb0FvAkz1xlurWZVmeg32eh.png" alt="image.png"></p> <p>外壳使用淘宝现成的。</p> <p><img src="//image.lceda.cn/pullimage/kr4mwGCFK1i3MyxTwj8ouLYH4ILO9ABmtHBVCFYI.png" alt="image.png"></p> <p>空间还是很宽裕的。</p> <p><br> 7、PCB</p> <p><img src="//image.lceda.cn/pullimage/gJCQYHLpiBhMz3QhFpZpqjzkj6GA1oVzmRnR8KQ2.png" alt="image.png"></p> <p><img src="//image.lceda.cn/pullimage/vYtFuN1FZFIxomG4gjNmC0YqYDYOuVjCenzdMtrj.png" alt="image.png"></p> <h1>5、软件部分</h1> <p>1、软件处理框图</p> <p><img src="//image.lceda.cn/pullimage/lhbKU9Px0vyELpSQWw11wYBJv2GA5uEDvcHOuZHd.png" alt="image.png"></p> <p>2、移植MLX90640官方API库</p> <p><span class="colour" style="color:rgba(0, 0, 0, 0.75)">从github上获取官方提供的API库:<a href="https://github.com/melexis/mlx90640-library" target="_blank">https://github.com/melexis/mlx90640-library</a></span><br> <br> <img src="//" alt="在这里插入图片描述"></p> <p><img src="//" alt="在这里插入图片描述"></p> <p>把API库中的IIC驱动修改成自己的完成移植。</p> <p>3、图像插值</p> <p>调用API库中的函数就可以读取32x24个红外像素点,可是屏幕是320x240的,因此需要把原始图片插值放大后显示到屏幕上。</p> <p>由于GD32的运算能力不是很强,因此选择了计算量比较小的双线性内插值算法。</p> <p><img src="//" alt="在这里插入图片描述"></p> <p><br> <span class="colour" style="color:rgb(77, 77, 77)">在X方向上进行两次线性插值计算</span><br> <br> <br> <img src="//" alt="在这里插入图片描述"></p> <p><br> <span class="colour" style="color:rgb(77, 77, 77)">然后在Y方向上进行一次插值计算:</span><br> <br> <br> <img src="//" alt="在这里插入图片描述"></p> <p>经过插补后的图像效果:</p> <p><br> <img src="//" alt="在这里插入图片描述"></p> <p>4、温度值转颜色</p> <p><span class="colour" style="color:rgb(77, 77, 77)">现在把32x24像素点放大了10倍,得到了320x240像素点,但是这些像素点还都是-40度到300度的温度值,要怎么转换成彩色来显示呢?</span><br> <br> <span class="colour" style="color:rgb(77, 77, 77)">其实都已经有转换规范了,而且还有很多种方案:</span><br> <br> <img src="//" alt="在这里插入图片描述"></p> <p><br> <span class="colour" style="color:rgb(77, 77, 77)">温度转颜色的方法:</span><br> <br> <br> <br> <span class="colour" style="color:rgb(77, 77, 77)">首先假设温度范围的上下限并将实际的温度数据转换为 0~255 之间的数值</span><br> <br> \<br></p> <p><span class="colour" style="color:rgb(77, 77, 77)">使用转换后的数值代入下面的伪彩编码计算函数,生成伪彩色</span><br> <br> <br> <br> <img src="//image.lceda.cn/pullimage/2fZCUgwHe2RAltFycUM36zqRiSrnfBhc8zJ1xdrM.png" alt="image.png"></p> <p><br> 其他颜色转换方法在我的博客去看:<a href="https://blog.csdn.net/qlexcel/article/details/119421679" target="_blank">https://blog.csdn.net/qlexcel/article/details/119421679</a>。</p> <p>5、移植Fatfs文件系统和GD32的USB程序</p> <p>把文件系统的驱动读写函数和USB的读写函数匹配上即可。</p> <p><img src="//image.lceda.cn/pullimage/oweUPlsZiGmFNoMca9QdYLkgLiuduZh4bG384EiF.png" alt="image.png"></p> <h1>6、BOM清单</h1> <p><img src="//image.lceda.cn/pullimage/jYmIYdu4l69cMs5k76GBOMHTqAIYKxlCUO2GYIP2.png" alt="image.png"></p> <p><br> <br></p> <h1>7、大赛LOGO验证</h1> <p><img src="//image.lceda.cn/pullimage/0vu0RPxvI6rxuReWXw2V7Q8y8n2Lu2ExPVdEtfU2.png" alt="image.png"></p> <p><br></p> <h1>8、演示您的项目并录制成视频上传</h1> <p><img src="//image.lceda.cn/pullimage/ICcaxxcMaQ2DuDODLv8hvvPgIMZnn1vbg1v7NNUg.png" alt="image.png"></p> <p><img src="//image.lceda.cn/pullimage/OVSOhi0107EbPZS9Ayc7p60Nt3WDBxUFChtDBQJr.png" alt="image.png"></p> <p><img src="//image.lceda.cn/pullimage/2FZoeX1K12s0Y0FGYZLAODYL1jxpbQ8HHNloy1FA.png" alt="image.png"></p>

文档

BOM

暂无

附件

附件名 下载
红外热成像V1 BOM.xlsx
红外热成像源码.zip
原理图与PCB.zip
mlx90640-library-master.zip
MLX90640开发笔记(含中文数据手册、API驱动库).pdf
MLX90640数据手册(中文-稳控科技译).pdf
MLX90640 Driver中文.pdf
MLX90640-Datasheet-Melexis.pdf

成员

评论(56)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
feiyuederen 回复
<p>平时简单测温的确用不了那么大分辨率,200多DIY个的确性价比很高,感谢楼主全开源了,回头我也做个。<span class="colour" style="color: rgb(34, 34, 34);"> (&gt;‿◠)</span><br><br/><br></p>
CS801380 回复
<p> 大神!牛!!!!学习!!!!!!!!!!!!!!!谢谢!!!!!!!!!!!!!</p>
zhangyansheng 回复
<p>真的很不错,楼主用心了</p>
立创电赛 回复
<p><span class="colour" style="color: rgb(83, 139, 215);">恭喜您在“航顺HK32MCU杯”第六届立创电子设计开源大赛获得优胜奖,更多详情见:</span><a href="https://diy.szlcsc.com/posts/2745c50726da4cbca856be6e52dd7383" target="_blank">https://diy.szlcsc.com/posts/2745c50726da4cbca856be6e52dd7383</a></p>
Food520 回复
<p>这篇写的真的很细心啊,帮助非常大,感谢!!!</p>
Yhyhyh668 回复
<p>学习了,生命不止学习不止。</p>
JCMOFO 回复
<p>为啥我首次编译,报错说main.c的头文件bsp.h找不到啊,的确文件里面也没有这个bsp.h,作者是删除了吗</p>
DingorDing 回复
<p>开源地址:<br><span style="color:rgb(33,33,33);"><a href="https://gitee.com/qlexcel/thermal-cam" target="_blank">https://gitee.com/qlexcel/thermal-cam</a></span><br><br/>博主这个代码里少了点头文件,加上就能用</p>
JCMOFO 回复
<p>好的勒,多谢</p>
DingorDing 回复
<p>做好了前来评论,博主的东西用着真不戳,来讲讲遇到的问题,代码部分这边缺个bsp.h,博主github有完整的,补上都能用,硬件部分的话,我犯了屏幕选错了,当然引脚对应一样的话也能用,或者改硬件和代码,还有就是mlx90640他的外壳设计我想吐槽,就底部全是gnd,如果元件完全贴合就会容易短路,两个iic引脚也是,我找了好久的问题才发现,后面直接悬空一点距离就没有短路的情况,其它焊接的话看自己<img src="//image.lceda.cn/pullimage/FYhSC48IxQKYoBUjvvP3AxoxBSSdFZZ6nzJ6lKnE.jpeg" alt="IMG20220118112558.jpg"><img src="//image.lceda.cn/pullimage/IFBvf8tt7UTVE3aMsKqQmO5F0dzQD6lPrCAkppdX.jpeg" alt="IMG20220118131519.jpg"><img src="//image.lceda.cn/pullimage/CVTiAuxqIEIrMOB3ze8l0ruruEwN8hX0mPKfieqG.bmp" alt="13.BMP"></p>
DingorDing 回复
<p><img src="//image.lceda.cn/pullimage/lFDkyjPaQW2vozkaCvI1Ynf8NtD446FiLq0GwTHU.jpeg" alt="IMG20220126190144.jpg"></p>
xizhaoxie 回复
<p>来交作业了!<img src="//image.lceda.cn/pullimage/tPNQTnPILIBxGLRw3D6qOtqyPbNVY67IWLwgEFKU.jpeg" alt="29a3ac39-7877-454a-864a-ddf39acb27b4.jpg"></p>
mytest 回复
<p>有一说一,看了想做一个</p>
mytest 回复
<p>屏幕找不到,能否来个链接。。</p>
xizhaoxie 回复
<p><a href="https://gitee.com/qlexcel/thermal-cam" target="_blank">https://gitee.com/qlexcel/thermal-cam</a> ,这里有具体屏幕链接</p>
mytest 回复
<p>欧力给</p>
mytest 回复
<p>几个点给各位提醒下:买来的传感器有一个点坏了,还好有源码屏蔽下即可;强烈建议3D打印外壳,折腾公模那个容易高血压;电路图背光部分建议加限流电阻,现在屏幕功耗大约150mA电流<br><br/>为开源点赞!!!!<br><img src="//image.lceda.cn/pullimage/3vNwVPnzkSsqGxMdP0TItngfSG5KGY2c1OLVFzcH.bmp" alt="07.BMP"></p>
jamsmith 回复
<p>交个作业,作为30多岁的小白,想学习硬件设计,没有编程经验,只能原样照搬,怎么打开程序都不知道!新下的keil5 学习怎么用keil5编译程序,怎么下载,用什么样的下载器,下载器怎么操作都是从零开始,但是程序完全看不懂!实现没问题,就是程序看不懂,不知道怎么开始学,还请大神指教。</p><br/><p><img src="//image.lceda.cn/pullimage/BRE9BMgIL3XillG4S2kzcgyIFpvcnrEetM30yFgH.bmp" alt="01.BMP"><img src="//image.lceda.cn/pullimage/1BUxXCLC0cWkm9IXBBk8wbLeTI3GCePdWGsSBLrR.jpeg" alt="462c4f470df8ca6dddadb478d7f881e.jpg"><img src="//image.lceda.cn/pullimage/ttUp3swdycLs1zW4gXI7Ba6Y56ivbS7vu6zVROwf.jpeg" alt="微信图片_20220314163712.jpg"></p>
jamsmith 回复
<p>立个小目标吧,争取今年能看懂这个程序</p>
LINLX 回复
<p>哥们,方便交流一下吗?我也做了一个,但是并没有跑起来,屏幕的背光都没亮起,想请教一下是什么原因</p>
Distance-98 回复
<p>我想问一下,MLX90640处理出来的温度数据把帧0和帧1分开了,也就是说,每次得到的只有一半的温度值,怎么才能合并呢,或者作者怎么处理的呢</p>
mytest 回复
<p>这个需要一点专业知识:仿真看下是否跑通;测量下对应背光是否开路,有无电压输出;……</p>
LINLX 回复
<p>用万用表测过了,所有的电路均有电压输出。由于没有逻辑分析仪,就没有测芯片的引脚</p>
mytest 回复
<p>那这种就不太好分析了。一般还是硬件问题,例如没焊接好,屏幕型号,座子型号等等方面查</p>
Liangbob 回复
<p>谢谢分享开源。。。我也做了一个,发现拍照保全时间比较长。<br><img src="//image.lceda.cn/pullimage/OvlB4HsS6z8iwPXfaTolfwgDzgvISAw1AkiSUQmd.jpeg" alt="da68424f4da2036c701e96355af4c02.jpg"><img src="//image.lceda.cn/pullimage/WVQlJG3R5degcR6RlPTboq81RNXKloODMkWaoCka.jpeg" alt="519787cd17f756001847404078158b6.jpg"><img src="//image.lceda.cn/pullimage/I6vCTMFCen0tZ2yyjKlf30z50jUp8dVnqMBw8clg.jpeg" alt="59e92179faa5cb277b90b8c54200b3b.jpg"></p>
焊武帝 回复
<p>请问板子上轻触开关的准确型号是啥?看bom里的信息搜不到呀。刚打板,正在搜集物料搞个玩玩。</p>
没有咸鱼的理想 回复
<p>真心不错 还没动手</p>
chengquan 回复
<p>想做一个,请问源码直接可以用吗?我不懂这个请赐教,谢谢</p>
gfzdfw 回复
<p>感谢分享</p>
unclechuck 回复
<p>厉害!打板/元器件/焊接都是在jlc完成的吗?我也很想做一个,看到这些硬件相关的不知道怎么动手……</p>
nnxg 回复
<p>不会抄作业,但是想要成品,有多余的出吗?</p>
North.WU 回复
<p>复刻了一个 收吗</p>
zwwg 回复
<p>同出</p>
beiying 回复
<p>大佬们,你们的显示屏那里买的。有链接吗?</p>
happy_boy 回复
<p>可以提供下完整的源代码吗</p>
crazy262 回复
<p>看看价格</p>
crazy262 回复
<p>多少啊</p>
AngleLeon 回复
<p>请问芯片程序是用什么方式下载的呢?</p>
nnxg 回复
<p>哈,我这边搞了一个厂家货,后来觉得用处不大,感觉就是一个大人玩具</p>
dxdaya 回复
<p>你好,加上bsp文件后,还是会出现两个警告,你是怎么解决的呢</p>
jamsmith 回复
<p>需要一个下载器</p>
TKFN 回复
<p>@xizhaoxie 有坐标文件?</p>
DaJun22 回复
<p>刷新率几HZ?</p>
sunhigh 回复
<p>请问屏幕用哪款芯片的😂说是同一个型号有多个芯片可选</p>
sunhigh 回复
<p>请问大佬,是否可以提供立创eda的文件</p>
金角大王 回复
<p>你好请问屏幕刷新率多少HZ</p>
金角大王 回复
<p>请问屏幕刷新率多少HZ</p>
355s 回复
<p>能不能直接上传直接烧录的hex文件啊 ?大佬</p>
fupingyi 回复
<p>外壳是自己画的吗?</p>
355s 回复
<p>屏幕成本太高 有没有代换方案?</p>
forever_young 回复
<p>usb驱动好奇怪啊一直没弄懂怎么移植,有没有参考链接[emojis:流泪]</p>
qiyiweng 回复
<p>想问下BSP.h在哪</p>
taoye11 回复
<p>请问大佬我的怎么怎么没有颜色?</p>
taoye11 回复
<p>请问大神,我的怎么是灰白色的图像?</p>
xiaoyuyao 回复
<p>收</p>
xiaoyuyao 回复
<p>收</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow