利用STM32制作红外测温仪之硬件设计

最近受疫情的影响详细大家都在家里没事干,这里利用stm32最小系统做一个红外测温仪
这篇教程里我们来制作红外测温仪需要用到的硬件,关于PCB的工程文件,后文会给出。

(一)系统分析

由于我们的功能比较单一,所以对单片机的要求并不高,这里采用STM32F103C8T6作为主芯片,首先我们来设计一个单片机的最小系统,并留出相应的模块接口,方便我们使用。
单片机的最小系统由电源电路、复位电路、晶振电路、下载电路这几部分组成,但是为了实现相应的功能我们还会添加一些额外的模块,本教程利用stm32最小系统开发一个红外测温仪,所以我在电路板上留了相应的接口,同时留下了OLED 屏幕的接口等等

(二)软件的安装

  • Altium Designer 15(32/64位)下载地址:pan.baidu.com/s/1boDUPwN 提取码:dfyf

(三)电路设计

如果没有画板经验的可以参考我的另一篇文章:新手如何在Altium Designer中绘制电路板,这里我直接给出我的设计电路,电路图的设计一定要注意每个芯片的连接是否正确,以及芯片的封装是否是我们想要的。
图一
这里图片太大看得不太清楚,下面分模块介绍:

(1)电源模块

电源模块

(2)cpu模块

cpu

(3)复位电路

复位

(4)下载电路

xiazia

(四)PCB布局设计

关于PCB的布局、布线这里有相当多的门道,如果你没有涉及到高频一般你的电路出问题的概率会大大降低,如果你的需求比较高,就要严格遵守设计规则,因为规则实在太多,这里不做说明,有需要了解的可以关注我后面发的教程,或者网上搜教程学习。
正面:
正面
反面:
反面
大家可以照着我的原理图自己布局,或者按照我的也行,一定要动手!!

(五)效果预览图

我们最终的效果应该这样
效果图1
tu

(六)打板焊接

等到上面都做完了,就可以把你的PCB文件拿去打板了,这是我的成品展示:
展示
上面的工程文件在这里可以下载红外测温仪硬件实现


本文章仅供学习交流用禁止用作商业用途,文中所有内容均为原创未经授权不得转载

微信公众号:zhjj0729

微博:文艺to青年

简书:水枂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在博客中插入背景音乐

1.首先进入网音乐官方网站; 2.查找自己喜欢的歌,看到如下界面 3.点击"生成外链播放器" 4.看到下面的html代码了吗?将代码进行复制。 5.进入博客园,点击 "管理" ->"设置", 将代码复制…

常用存储器介绍

注意:"易失/非易失"是指存储器断电后,它存储的数据内容是否会丢失的特性。 (一)RAM和ROM 1.1 RAM RAM即随机存储器,它是指存储器中的数据被读入或者写入与信息所在位置无关,时间都是相同的 1…

TortoiseGit与github实现项目的上传

1. 下载并安装相关软件 这里主要涉及的软件包括msysgit和TortoiseGit。 msysgit的下载地址:http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe TortoiseGit的下载地址:http://code.google.com/p/tortoisegit/downloads/list&#xff0…

Uboot启动

(一)uboot 配置编译分析 u-boot源码是通过gcc和Makefile组织编译的,顶层目录下的Makefile可通过boards.cfg来设置开发板的定义 然后递归调用各级子目录下的Makefile,把编译过的程序连接成u-boot boards.cfg文件: 开发…

行列式计算的两种方法

#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define N 100 using namespace std; int a[N][N]; double aa[N][N]; int n;/**********************************************************/ //求行列式的值&#xff1…

uboot启动流程分析

Uboot的启动流程分为两个阶段&#xff0c;第一阶段主要是汇编语言编写&#xff0c;第二阶段是C语言编写&#xff0c;每个阶段所做的工作不同&#xff0c;这篇文章分析的是uboot 2010版&#xff0c;以tiny4412的uboot为例。 启动过程涉及的主要文件&#xff1a; arch/arm/cpu/a…

(一)uboot的移植与制作

目录&#xff08;一&#xff09;环境&#xff08;二&#xff09;流程分析&#xff08;三&#xff09;具体步骤在裸机启动流程里涉及到BL1&#xff0c;BL2为系统的加载启动项&#xff0c;全称为BootLoader。 Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程…

jquery ajax(实现单独提交某个form)

function submitTaskScore(formid) {//formid表示的是表单的id$.ajax({type:"post",url:"companyAndDistributeAction!scoreTask",//后台处理程序data:$(formid).serialize(),success:function(){document.getElementById("hjzggContent").inner…

(二)linux内核镜像制作

&#xff08;一&#xff09;目的 在进行嵌入式开发的时候&#xff0c;我们往往会先在电脑上安装交叉编译器&#xff0c;然后编译目标板上的代码&#xff0c;最后把代码下载到电路板中&#xff0c;嵌入式系统组成包括&#xff1a;BootLoaderkernelfilesystemapplication&#x…

js+css实现骰子的随机转动

网上找的例子&#xff0c;然后增添了新的东西&#xff0c;在这里展示一下...... 效果图预览&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x…

linux安装交叉编译环境

&#xff08;一&#xff09;交叉编译器的简介 &#xff08;1&#xff09;本地编译 在了解交叉编译之前我们首先介绍一下另一个概念&#xff1a;本地编译 之前所做的C开发属于本地编译&#xff0c;即在当前PC下&#xff08;x86的CPU下&#xff09;&#xff0c;直接编译出可以运…

jsp实现邮件的发送

如果程序出现 454 Authentication failed, please open smtp flag first! 错误&#xff0c;那么一般是邮箱没有开通POP3/SMTP服务&#xff0c;登录邮箱&#xff0c;在设置中开启该服务即可 &#xff01; 另外需要的jar包如下: imap.jar, mail.jar, smtp.jar, 可以自己在网上下…

linux的mount和umount指令使用

mount即挂在操作&#xff0c;磁盘或分区创建好文件系统后需要挂载到一个目录&#xff08;一般mount在/mnt下&#xff09;才能使 用&#xff0c;和winsdows不同的是在linux下需要手动挂载。 用法&#xff1a;mount [-t文件系统] [选项] 设备目录注意&#xff1a;[ ]为可选项…

斐波那契的四种求法

首先看一下斐波那契的矩阵表示&#xff1a; 数列的递推公式为&#xff1a;f(1)1&#xff0c;f(2)2&#xff0c;f(n)f(n-1)f(n-2)(n>3) 用矩阵表示为&#xff1a; 进一步&#xff0c;可以得出直接推导公式&#xff1a; #include<iostream> #include<cstring> #i…

利用STM32制作红外测温仪之软件设计(MLX90614)

目录&#xff08;一&#xff09;工程目录如图&#xff1a;&#xff08;二&#xff09;main函数实现&#xff1a;&#xff08;三&#xff09;MLX90614测温代码实现前面介绍了使用 STM32制作红外测温仪硬件设计,今天来说一下软件的实现&#xff0c;具体的程序&#xff0c;完整的k…

Windows下使用Dev-C++开发基于pthread.h的多线程程序

一、下载Windows版本的pthread 目前最新版本是&#xff1a;pthreads-w32-2-9-1-release.zip。 二、解压pthread到指定目录 我选择的目录是&#xff1a;E:\DEV-CPP\Pthread完成后&#xff0c;该目录会多出三个文件夹&#xff1a;Pre-built.2&#xff0c;pthreads.2&#xff0c;Q…

(三)linux之根文件系统的制作

&#xff08;一&#xff09;准备工作 Ubuntu 16.04系统linux-3.5内核:linux-3.5-20190929交叉编译工具arm-linux-gcc-4.5.1-v6-vfp-20120301.rarbusybox源码包&#xff1a;busybox-1.21.1.rar &#xff08;二&#xff09;工具介绍 &#xff08;1&#xff09;交叉编译器 这个…

c/c++多线程模拟系统资源分配(并通过银行家算法避免死锁产生)

银行家算法数据结构 &#xff08;1&#xff09;可利用资源向量Available 是个含有m个元素的数组&#xff0c;其中的每一个元素代表一类可利用的资源数目。如果Available[j]K&#xff0c;则表示系统中现有Rj类资源K个。 &#xff08;2&#xff09;最大需求矩阵Max 这是一个nm的…

(四)Linux内核模块化编程

目录&#xff08;一&#xff09;模块化编程简介&#xff08;二&#xff09;安装卸载模块命令.&#xff08;三&#xff09;将自定义功能添加到内核三种方法&#xff08;1&#xff09;修改Kconfig和Makefile&#xff08;2&#xff09;直接修改功能对应目录下的Makefile文件&#…

基于X86平台的PC机通过网络发送一个int(32位)整数的字节顺序

1.字节顺序  字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序&#xff0c;通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处&#xff0c;高字节数据存放在内存高地址处&#xff1b;大端字节序是高字节数据存放在低地址处&#xff0c;低字…