08讲 | 基于STM32单片机NBIOT定位实战项目
前言
绘制基于 STM32 单片机的 NBIOT 实战开发板。
文章目录
- 前言
- 一、原理图
- 1、绘制
- 1)电源供电
- a、USB 转 TTL 电路
- b、锂电池充电管理电路
- c、3.3V电压转换电路
- d、一键开关机电路
- 2)单片机最小系统
- 3)ADC电压转换电路
- 4)NBIOT 模组串口电平转换电路
- 5)BC20 模组电路
- 6)SIM 卡物联网电路
- 7)项目整体原理图
- 2、原理图下载链接
- 1)PDF 格式
- 2)Altium Designer 格式
- 3)立创 eda 格式
- 二、PCB
- 1、图示
- 2、工程下载链接
- 1)立创 eda 格式
- 2)Altium Designer 格式
一、原理图
1、绘制
1)电源供电
a、USB 转 TTL 电路
-
USB 转 TTL 模块的作用就是把电平转换到双方都能识别进行通信。
-
单片机通信接口的电平逻辑和 PC 机通信接口的电平逻辑不同,PC机上的通信接口有USB接口,相应电平逻辑遵照USB原则;还有 DB9 接口(九针口),相应电平逻辑遵照RS-232原则。
-
单片机上的串行通信通过单片机的 RXD、TXD、VCC、GND 四个引脚,相应电平逻辑遵照TTL 原则。
-
供电分为USB供电和锂电池供电,USB供电可以给锂电池充电同时也可进行产品的调试,故需要一个USB转TTL电路。
b、锂电池充电管理电路
c、3.3V电压转换电路
d、一键开关机电路
- 当USB-5V不供电时,PMOS管G端电压为0,VBAT(锂离子电池供电电压最大为4.2V,最小为2.7V)通过PMOS管内部的二极管导通4.2V-0.1V=4.1V,S端电压为4.1V,PMOS管导通(区别NMOS)的条件时Vg-Vs<-0.7V(G端电压比S端电压小0.7伏以上或者1V以上),此时满足条件,PMOS导通,MOS管导通的时候相当于一根导线将内部的二极管短路,走上面VCC= VBAT,此时通过VBAT给后面的电路供电
- 当接入USB时5V输入,G端电压比S端电压大,故PMOS管不导通,S端电压通过二极管2电压为4.7V大于VBAT电压4.2V故MOS管内部的二极管也不导通,此时VBAT就不再给后面电路供电了,只通过USB给供电
- 按键实现开关机:当按键按下时,PMOS导通开始供电,当按键松开PMOS截至不供电,那要怎么保持住MOS管2G端的电压呢实现一键开机呢?
-
PWR_EN接单片机 的引脚,通过单片机高低电平控制三极管接通与否,当按键按下时,VCC有电,单片机开始工作运行程序将PWR_EN引脚置位高电平,三极管导通,放开按键,单片机保持运行,这样就实现了一键开机操作。
-
开机之后再怎么实现一键关机呢?现在我们的单片机检测不到按键按下的状态。SHUT_DOWN引脚接单片机的一个引脚,按键按下开机,SHUT_DOWN引脚检测到按键按下。按键再次按下,SHUT_DOWN引脚检测到按键再次按下,就可以实现关机了
2)单片机最小系统
- 单片机最小系统电路包括BOOT电路、复位电洛、下载接口、电源引脚BOOT引脚接GND之后单片机一上电就会运行我们下载进去的程序VDDA引脚是给单片机模拟器件(ADC)的电源供电引脚,VDD是给单片机数字电源的供电引脚。
3)ADC电压转换电路
- ADC引脚只支持0-3.3V的输入不能直接将VBAT(可能超过3.3V)直接接入过来,我们用电阻分压的方式,BAT_ADC_EN经过分压之后最大电压为(2.1V,VBAT4.2V)。R16上拉电阻,R17限流电阻。当电路板关机的时候如果不加PMOS,锂电池会接电阻一直耗电,接个PMOS避免过放,断电之后PMOS不接通。
4)NBIOT 模组串口电平转换电路
- NB模组的串口电压域为1.8V,而单片机的系统电压为3.3V,要想实现通信必须进行电平转换。
- 当单片机的TXD为高电平时(3.3V),三极管的E极为3.3V,B极为1.8V,三极管不导通,模组的RXD被上拉电阻上拉成高电平,故此时单片机发送高电平,模组接收为高电平。
当单片机的TXD发送低电平时(OV),三极管E极为OV,B极为1.8V,三极管导通,模组的RXD和TXD直连接都为OV低电平,故此时单片机发低电平,模组接收为低电平。
5)BC20 模组电路
6)SIM 卡物联网电路
7)项目整体原理图
2、原理图下载链接
1)PDF 格式
链接:https://pan.baidu.com/s/1BGQz7L04XPwBR3xKyptQMg?pwd=oald
提取码:oald
2)Altium Designer 格式
链接:https://pan.baidu.com/s/1D0AnsFHlAjxvL355ZUe-Ow?pwd=oald
提取码:oald
3)立创 eda 格式
链接:https://pan.baidu.com/s/1-qbmFcJq3dqdGbCxL_YmZQ?pwd=oald
提取码:oald
二、PCB
1、图示

2、工程下载链接
1)立创 eda 格式
链接:https://pan.baidu.com/s/1TBVdZX0XkEuBizLoK4FZdQ?pwd=oald
提取码:oald
2)Altium Designer 格式
链接:https://pan.baidu.com/s/1ctyMn7y-jCt2cmIG5eC6fQ?pwd=oald
提取码:oald
相关文章:
08讲 | 基于STM32单片机NBIOT定位实战项目
前言 绘制基于 STM32 单片机的 NBIOT 实战开发板。 文章目录前言一、原理图1、绘制1)电源供电a、USB 转 TTL 电路b、锂电池充电管理电路c、3.3V电压转换电路d、一键开关机电路2)单片机最小系统3)ADC电压转换电路4)NBIOT 模组串口电…...
提取接近竖直物体(粗定位)
由于项目的需要提取图像之中的一个接近于竖直的物体,一般的方法是进行图像分割,分割方式使用什么OTSU方式以及hsv方法等等。但是项目中使用的相机是黑白相机,会受到一定的限制。因此想到的是使用线条提取方式。线条提取方式之中最好的方法是使…...
程序环境和预处理
目录一、程序的翻译环境和执行环境二、编译链接2.1 翻译环境2.2 编译2.2.1 预处理2.2.2 编译2.2.3 汇编2.3 链接2.4 结果三、运行环境四、预处理详解4.1 #define4.1.1 #define定义标识符4.1.2 #define定义宏4.1.3 #define 替换规则4.1.4 #和##4.1.5 带副作用的宏参数4.1.6 宏和…...
财报解读:业务复苏迹象明显,中国中免能否重写增长神话?
2月3日,中国中免披露2022年度业绩快报,2022年总营收为544.63亿元,同比下降19.52%;实现归属于上市公司股东的净利润50.25亿元,同比下降47.95%。来源:中国中免2022年度业绩快报业绩近乎腰斩,但从长…...
macOS中虚拟机桥接模式分配静态ip
1.首先使用dhclient命令,在局域网中分配一个C类地址。 2.获得地址后,输入ifconfig,查看分配的地址。 3.然后编辑vi /etc/sysconfig/network-scripts/ifcfg-en***文件 在该配置文件中编辑,设置ONBOOTyes,而后添加静态配…...
prometheus increase函数统计得到小数
今天发现prometheus的increase函数得到了小数,研究一下源码,以下是rate/increase/delta 对应的计算函数https://github.com/prometheus/prometheus/blob/d77b56e88e3d554a499e22d2073812b59191256c/promql/functions.go#L55// extrapolatedRate is a uti…...
C++学习记录——유 类和对象(3)
文章目录1、赋值运算符重载1、运算符重载1、理解2、运算符重载实例2、赋值运算符重载2、日期类的实现1、加减函数1、加函数2、减函数2、前/后置--重载3.两个日期相减其他1、流插入2、流提取日期类的整体实现代码: https://gitee.com/kongqizyd/start-some-c-codes-for-learning…...
基于Hi3861平台的OpenHarmony程序是如何启动运行的
一、前言 在继续后面课程的内容讲解前,我们要知道在H3861平台上编写的代码到底是如何启动的,这一点很重要。 先分析HelloWorld程序的启动运行流程,并顺便讲解OpenHarmony在H3861平台的,系统是从哪里启动的。 反着推导函数之间具体…...
2023彻底解决Typora使用iPic微博图床失效问题
一、问题描述用Typora搭配iPic图床使用,最近csdn图片显示不出来用浏览器打开图片显示403,这里原因是微博图床出问题了导致的而使用iPic其他图床则需要一直付费,那有没有一劳永逸的解决所有问题呢?二、旧图恢复首先怎么找回旧图&am…...
Revit中添加水平仰视平面图及水平剖面
一、 Revit中如何添加水平仰视平面图 在Revit平面视图中视角是俯视视角,但是在一些特殊的情况下,我们可能需要创建仰视视角的平面视图,例如我们需要向上看天花板的灯具布置的时候。 1.下面讲一下如何在添加仰视平面视图的方法。如图1在模型中…...
Python 循环语句
Python的循环语句,程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:Python 提供了 for 循环和 whi…...
使用 ThreeJS 实现第一个三维场景(详)
文章目录参考描述index.html三维场景的基本实现导入 ThreeJS准备工作场景摄像机视锥体正交摄像机透视摄像机渲染器后续处理将摄像机添加至场景中移动摄像机设置画布尺寸将渲染器创建的画布添加到 HTML 元素中渲染物体结构材质合成将物体添加至场景中代码总汇执行效果动画reques…...
《小猫猫大课堂》三轮5——动态内存管理(通讯录动态内存化)
宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重…...
【Selenium学习】Selenium 八大定位法
1.1 ID定位HTML Tag 的 id 属性值是唯一的,故不存在根据 id 定位多个元素的情况。下面以在百度首页搜索框输入文本“python”为例。搜索框的 id 属性值为“kw”,如图1.1所示:代码如下,“find_element_by_id”方法已废弃࿰…...
算法训练营 day41 贪心算法 单调递增的数字 买卖股票的最佳时机含手续费
算法训练营 day41 单调递增的数字 买卖股票的最佳时机含手续费 单调递增的数字 738. 单调递增的数字 - 力扣(LeetCode) 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。 给定一个整数 n ,…...
【数据结构-JAVA】排序
排序在现实生活中的应用可谓相当广泛,比如电商平台中,选购商品时,使用价格排序或是综合排序、高考填报志愿的时候,会参考全国大学排名的情况。下面介绍一些计算机中与排序相关的概念:排序:所谓排序…...
基于注解管理Bean
一、介绍从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。开发人员可以通过注解在不改变原有代码和逻辑的情况下&#x…...
Containerd 的 Bug 导致容器被重建!如何避免?
作者简介邓宇星,SUSE Rancher 中国区软件架构师,6 年云原生领域经验,参与Rancher 1.x 到 Rancher 2.x 版本迭代,目前负责 Rancher For openEuler(RFO) 项目开发。最近我们关注到一个关于 containerd 运行时的 issue(https://g…...
win环境安装部署Jenkins
win环境安装部署Jenkins,2022年11月:从2022年 6 月 28 日发布的 Jenkins 2.357 和2022年9 月发布的 LTS 版本开始,Jenkins 需要 Java 11 才能使用,放弃 Java 8,如果用JDK1.8,那么Jenkins版本需要是2.357版本…...
网络变压器与不同芯片之间的匹配原则及POE通讯产品需要注意哪些方面
Hqst盈盛电子导读:网络变压器与不同芯片之间的匹配原则及POE通讯产品需要注意哪些方面网络变压器与不同芯片之间的匹配原则:一,电流型PHY芯片一般要配的网络变压器:1、变压器PHY侧3线共模电感 (更适合POE产品ÿ…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
