当前位置: 首页 > news >正文

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&#xff09;电源供电a、USB 转 TTL 电路b、锂电池充电管理电路c、3.3V电压转换电路d、一键开关机电路2&#xff09;单片机最小系统3&#xff09;ADC电压转换电路4&#xff09;NBIOT 模组串口电…...

提取接近竖直物体(粗定位)

由于项目的需要提取图像之中的一个接近于竖直的物体&#xff0c;一般的方法是进行图像分割&#xff0c;分割方式使用什么OTSU方式以及hsv方法等等。但是项目中使用的相机是黑白相机&#xff0c;会受到一定的限制。因此想到的是使用线条提取方式。线条提取方式之中最好的方法是使…...

程序环境和预处理

目录一、程序的翻译环境和执行环境二、编译链接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日&#xff0c;中国中免披露2022年度业绩快报&#xff0c;2022年总营收为544.63亿元&#xff0c;同比下降19.52%&#xff1b;实现归属于上市公司股东的净利润50.25亿元&#xff0c;同比下降47.95%。来源&#xff1a;中国中免2022年度业绩快报业绩近乎腰斩&#xff0c;但从长…...

macOS中虚拟机桥接模式分配静态ip

1.首先使用dhclient命令&#xff0c;在局域网中分配一个C类地址。 2.获得地址后&#xff0c;输入ifconfig&#xff0c;查看分配的地址。 3.然后编辑vi /etc/sysconfig/network-scripts/ifcfg-en***文件 在该配置文件中编辑&#xff0c;设置ONBOOTyes&#xff0c;而后添加静态配…...

prometheus increase函数统计得到小数

今天发现prometheus的increase函数得到了小数&#xff0c;研究一下源码&#xff0c;以下是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程序是如何启动运行的

一、前言 在继续后面课程的内容讲解前&#xff0c;我们要知道在H3861平台上编写的代码到底是如何启动的&#xff0c;这一点很重要。 先分析HelloWorld程序的启动运行流程&#xff0c;并顺便讲解OpenHarmony在H3861平台的&#xff0c;系统是从哪里启动的。 反着推导函数之间具体…...

2023彻底解决Typora使用iPic微博图床失效问题

一、问题描述用Typora搭配iPic图床使用&#xff0c;最近csdn图片显示不出来用浏览器打开图片显示403&#xff0c;这里原因是微博图床出问题了导致的而使用iPic其他图床则需要一直付费&#xff0c;那有没有一劳永逸的解决所有问题呢&#xff1f;二、旧图恢复首先怎么找回旧图&am…...

Revit中添加水平仰视平面图及水平剖面

一、 Revit中如何添加水平仰视平面图 在Revit平面视图中视角是俯视视角&#xff0c;但是在一些特殊的情况下&#xff0c;我们可能需要创建仰视视角的平面视图&#xff0c;例如我们需要向上看天花板的灯具布置的时候。 1.下面讲一下如何在添加仰视平面视图的方法。如图1在模型中…...

Python 循环语句

Python的循环语句&#xff0c;程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构&#xff0c;允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次&#xff0c;下面是在大多数编程语言中的循环语句的一般形式&#xff1a;Python 提供了 for 循环和 whi…...

使用 ThreeJS 实现第一个三维场景(详)

文章目录参考描述index.html三维场景的基本实现导入 ThreeJS准备工作场景摄像机视锥体正交摄像机透视摄像机渲染器后续处理将摄像机添加至场景中移动摄像机设置画布尺寸将渲染器创建的画布添加到 HTML 元素中渲染物体结构材质合成将物体添加至场景中代码总汇执行效果动画reques…...

《小猫猫大课堂》三轮5——动态内存管理(通讯录动态内存化)

宝子&#xff0c;你不点个赞吗&#xff1f;不评个论吗&#xff1f;不收个藏吗&#xff1f; 最后的最后&#xff0c;关注我&#xff0c;关注我&#xff0c;关注我&#xff0c;你会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的很重…...

【Selenium学习】Selenium 八大定位法

1.1 ID定位HTML Tag 的 id 属性值是唯一的&#xff0c;故不存在根据 id 定位多个元素的情况。下面以在百度首页搜索框输入文本“python”为例。搜索框的 id 属性值为“kw”&#xff0c;如图1.1所示&#xff1a;代码如下&#xff0c;“find_element_by_id”方法已废弃&#xff0…...

算法训练营 day41 贪心算法 单调递增的数字 买卖股票的最佳时机含手续费

算法训练营 day41 单调递增的数字 买卖股票的最佳时机含手续费 单调递增的数字 738. 单调递增的数字 - 力扣&#xff08;LeetCode&#xff09; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c…...

【数据结构-JAVA】排序

排序在现实生活中的应用可谓相当广泛&#xff0c;比如电商平台中&#xff0c;选购商品时&#xff0c;使用价格排序或是综合排序、高考填报志愿的时候&#xff0c;会参考全国大学排名的情况。下面介绍一些计算机中与排序相关的概念&#xff1a;排序&#xff1a;所谓排序&#xf…...

基于注解管理Bean

一、介绍从 Java 5 开始&#xff0c;Java 增加了对注解&#xff08;Annotation&#xff09;的支持&#xff0c;它是代码中的一种特殊标记&#xff0c;可以在编译、类加载和运行时被读取&#xff0c;执行相应的处理。开发人员可以通过注解在不改变原有代码和逻辑的情况下&#x…...

Containerd 的 Bug 导致容器被重建!如何避免?

作者简介邓宇星&#xff0c;SUSE Rancher 中国区软件架构师&#xff0c;6 年云原生领域经验&#xff0c;参与Rancher 1.x 到 Rancher 2.x 版本迭代&#xff0c;目前负责 Rancher For openEuler(RFO) 项目开发。最近我们关注到一个关于 containerd 运行时的 issue(​​https://g…...

win环境安装部署Jenkins

win环境安装部署Jenkins&#xff0c;2022年11月&#xff1a;从2022年 6 月 28 日发布的 Jenkins 2.357 和2022年9 月发布的 LTS 版本开始&#xff0c;Jenkins 需要 Java 11 才能使用&#xff0c;放弃 Java 8&#xff0c;如果用JDK1.8&#xff0c;那么Jenkins版本需要是2.357版本…...

网络变压器与不同芯片之间的匹配原则及POE通讯产品需要注意哪些方面

Hqst盈盛电子导读&#xff1a;网络变压器与不同芯片之间的匹配原则及POE通讯产品需要注意哪些方面网络变压器与不同芯片之间的匹配原则&#xff1a;一&#xff0c;电流型PHY芯片一般要配的网络变压器&#xff1a;1、变压器PHY侧3线共模电感 &#xff08;更适合POE产品&#xff…...

Spring WebFlux

目录 基于注解编程模型 函数式编程模型 传统的基于Servlet的Web框架,如Spring MVC,在本质上都是阻塞和多线程的,每个连接都会使用一个线程。在请求处理的时候,会在线程池中拉取一个工作者( worker )线程来对请求进行处理。同时,请求线程是阻塞的,直到工作者线程提示它已…...

C++基础面试题:new和malloc的区别

面试题&#xff1a;new和malloc的区别或new和malloc的异同 相同点&#xff1a; 1、new/delete和malloc/free它们都是内存申请和释放的函数。 2、new/delete和malloc/free 都要一一对应&#xff0c;调用了多少次new 就需要调用多少次delete&#xff1b;同 理调用多少次ma…...

WebDAV之葫芦儿·派盘+KMPlayer

KMPlayer 支持WebDAV方式连接葫芦儿派盘。 KMPlayer几乎可以播放您系统上所有的影音文件,支持几乎全部音视频格式。通过其强大的插件功能,可以支持层出不穷的新格式。软件还具有齐全的操控功能,支持捕获音频、捕获AVI、捕获画面、外挂字幕、自定义编辑设置,是视频爱好者的不…...

杨浦区人工智能及大数据(云计算)企业登记工作(2023年度)的通知

各相关单位&#xff1a; 根据《“长阳秀带”在线新经济产业集聚发展若干政策》&#xff08;杨府发〔2022〕2号&#xff09;及其实施细则的要求&#xff0c;现组织开展2023年度杨浦区人工智能与大数据(云计算&#xff09;企业登记备案工作,现将相关工作通知如下&#xff1a; 一…...

2023年去培训机构学前端还是Java?

选择专业肯定是优先考虑更有发展前景和钱途的专业。毕竟IT专业的培训费都不低&#xff0c;基本都要一两万左右&#xff0c;咱们花钱总是希望获得最大回报。 那么到底哪个更有发展前景呢&#xff1f; 零基础能学得会吗&#xff1f; 就业薪资如何呢&#xff1f; 前言 不知道大家有…...

【React】组件事件

React(二) 创建组件 函数组件 函数组件&#xff1a;使用JS的函数或者箭头函数创建的组件 使用 JS 的函数(或箭头函数)创建的组件&#xff0c;叫做函数组件约定1&#xff1a;函数名称必须以大写字母开头&#xff0c;React 据此区分组件和普通的 HTML约定2&#xff1a;函数组…...

黑/白盒测试说明

白盒测试白盒测试也称结构测试或逻辑驱动测试&#xff0c;它是按照程序内部的结构测试程序&#xff0c;通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行&#xff0c;检验程序中的每条通路是否都能按预定要求正确工作。白盒测试的测试方法有代码检查法、静态结…...

车道线检测-Eigenlanes 论文学习笔记

论文&#xff1a;《Eigenlanes: Data-Driven Lane Descriptors for Structurally Diverse Lanes》 代码&#xff1a;https://github.com/dongkwonjin/Eigenlanes 核心&#xff1a;在 Eigenlane Space 中检测车道线 创新点 Eigenlane&#xff1a;数据驱动的车道描述符&#xff…...

docker run mysql -e 的环境变量 Environment Variables

例子 sudo docker run -itd --name DockerMysqlLatest3307 -p 3307:3306 -e MYSQL_ROOT_PASSWORDroot的密码 mysql:latest### root无密码 sudo docker run -itd --name Mysql57 -p 57:3306 -e MYSQL_ALLOW_EMPTY_PASSWORDroot mysql:5.7https://hub.docker.com/_/mysql?tabde…...

第17章 MongoDB 条件操作符教程

第17章 MongoDB 条件操作符教程 描述 条件操作符用于比较两个表达式并从mongoDB集合中获取数据。 在本章节中&#xff0c;咱们将讨论如何在MongoDB中使用条件操作符。 MongoDB中条件操作符有&#xff1a; (>) 大于 - $gt(<) 小于 - $lt(>) 大于等于 - $gte(< …...

网站时间特效/免费网站建设

格式转换代码见下边&#xff0c;就是代码运行起来很慢&#xff0c;想看看大家是否有优化方案Number of segment pairs 182; number of pairwise comparisons 40 means given segment; - means reverse complementOverlaps Containments No. of Constraints Supporting Overla…...

澄迈网站制作/seo优化网页

对网络模型压缩有什么了解 网络模型压缩方法通常有剪枝、量化、蒸馏。 剪枝分为非结构化剪枝和结构化剪枝&#xff0c;非结构化剪枝指将部分不重要的参数置0&#xff0c;在一般的硬件设备中其实并不能加速&#xff0c;因为即使是0仍然要参与运算&#xff0c;结构化剪枝指将部分…...

中国包装设计网/网站如何优化

display和visibility的用法和区别 更多 2013/11/17 来源&#xff1a;css学习浏览量&#xff1a;892 学习标签&#xff1a; css display visibility本文导读&#xff1a;大多数人很容易将CSS属性display和visibility混淆&#xff0c;它们看似没有什么不同&#xff0c;其实它们的…...

做最好的在线看片网站/东莞做网站seo

庆幸也与你逛过那一段旅程曾是日夜期待你施舍一点同情这算是固执做梦或太热情?在世上没有多少东西会尽如人意多数像讽刺逐年成长必经苦恋故事我爱你你扮作不知完了吧如无意外重今开始该好好恋爱放下从前一段感情才能追求将来你就似没存在完了吧仍能撑起来前进便让自尊心放开告…...

电商网站页面/营销网站建设选择原则

最近在看 UNIX 网络编程并研究了一下 Redis 的实现&#xff0c;感觉 Redis 的源代码十分适合阅读和分析&#xff0c;其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅&#xff0c;在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复…...

深圳手机集团网站建设/火星时代教育培训机构怎么样

如何搜集企业域中所有电脑的硬件配置信息?大家好&#xff0c;好久沒有在線給大伙留言了。最近在忙著做資產管理這一塊兒。電腦這麼多&#xff0c;配置不一&#xff0c;做這個確實有些悶。不過沒有關系&#xff0c;最近找到了一個腳本可以做到用戶端自動收集配置信息的腳本。主…...