自己做的负离子源供气系统的stm32 项目架构讲解

2023-10-30

前景

为了准备校招,熟悉下自己的项目

项目架构

在这里插入图片描述

1、电源部分
STM32 正负3.3供电
程序下载5V
光接收 0-5V
AD电压采集(正负15V)
2、程序下载
串口-CH340(UART协议)
3、光接收
光纤接收,75452与非门,提高驱动力
4、电压采集
电压滤波,电压跟随,电压变化(调理,反向电压放大器),电压反向器
5、DAC(1479A流量计)
STM32输出0-3.3V的电压输出,若需要额外0-5V,电压变换(升压)
6、电光转换(控制压电阀)
单施密特触发器,75451与门,集电极开路
7、PWM输出(压电阀控制)
定时器(TIMER3— 管脚复用),选择pwm模式,输出频率80Khz
8、LCD(SPI 2 实现LCD 实时相关信息显示)
采用SPI通信,有对应的驱动库
9、以太网传输W5500(TCP server)
采用SPI通信,4根线(MAX),单主多从

项目中可能会问的问题

1 电光转换部分电路图
https://blog.csdn.net/weixin_42066185/article/details/108172050
什么是迟滞比较器(施密特触发器)
在这里插入图片描述

2 ad采样部分电路图
参考博文:
https://blog.csdn.net/weixin_42066185/article/details/108286806

3 adc 的基本方法有哪些
参考博文:https://blog.csdn.net/weixin_42066185/article/details/108286965

4 你知道dac的基本方案有哪些吗?以及你的DAC的实际的精度可以到达多少?
请参考blog:
(1) 问题二:DAC输出电压不稳定问题

STM32部分型号没有参考电压引脚,就使用VDDA模拟电源作为参考电压。

在实际应用中,系统的电压受到负载的影响比较常见,如果STM32数字电源、模拟电源和参考电压共用一个电源,就会存在参考电压不稳定的情况,从而导致DAC输出电压不稳定的情况。

解决办法:增加电源输出功率、使用独立VDDA模拟电源、更换使用有参考电压引脚的芯片等。
(2)问题三:DAC无法输出0V问题

相信有不少人都遇到过这样的问题:DAC无法输出0V。

引起这个问题有可能是因为使能了Buffer(输出缓冲器),STM32的DAC输出缓冲器,与常人思维的理解可能有点不同。

输出缓冲器作用是减小输出阻抗,可用来降低输出阻抗并在不增加外部运算放大器的情况下直接驱动外部负载。

在这里插入图片描述

在数据手册中还有一点说明:使能缓冲器之后,输出电压下限为0.2V。(同时,上限电压为VDDA - 0.2)。
上面这个地方的我是遇到了,我采用的电源的参考的电位是3.3V,当我想要输出最大的时候会出现溢出的情况。

dac 的测试的结果:
在这里插入图片描述

解决办法:关闭输出缓冲器。(关闭之后,驱动能力会减弱,建议添加电压跟随器或运放电路)

DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;

5 spi 协议简单说下等等
参考我的常用的板级传输协议:https://blog.csdn.net/weixin_42066185/article/details/107947559

6 你的电源电路是什么样的?
在这里插入图片描述

7 程序下载电路时什么样

在这里插入图片描述

程序下载电路的整体的工作的过程:
https://blog.csdn.net/weixin_42066185/article/details/108346620

8 关于光路接收与75452
请参考blog:
https://blog.csdn.net/weixin_42066185/article/details/108349487

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自己做的负离子源供气系统的stm32 项目架构讲解 的相关文章

  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • 在没有 IDE 的情况下如何使用 CMSIS?

    我正在使用 STM32F103C8T6 并想使用 CMSIS 这本质上只是寄存器定义 没有代码 让我的生活更轻松 同时仍保持在较低水平 问题是我不知道如何安装该库以便在命令行上使用 Makefile 使用 所有文档似乎都与特定于供应商的 I
  • 在 MCU 内部 FLASH 中从一个固件跳转到另一个固件

    我目前正在开发针对 STM32F030C8 的引导加载程序固件应用程序 我在分散文件中指定引导加载程序应用程序将占用主内存位置 0x08000000 到 0x08002FFF 扇区 0 到扇区 2 我还编写了一个主固件应用程序 存储在0x0
  • 当数据大小较小时,内存到内存 DMA 传输是否需要权衡?

    我正在学习 STM32 F4 微控制器 我正在尝试找出使用 DMA 的限制 根据我的理解和研究 我知道如果数据量较小 即设备使用DMA生成或消耗少量数据 则开销会增加 因为DMA传输需要DMA控制器执行操作 从而不必要地增加系统成本 我做了
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH
  • STM32 GPIO工作原理详解

    STM32 GPIO介绍 1 STM32引脚说明 GPIO是通用输入 输出端口的简称 是STM32可控制的引脚 GPIO的引脚与外部硬件设备连接 可实现与外部通讯 控制外部硬件或者采集外部硬件数据的功能 以STM32F103ZET6芯片为例
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G
  • HAL 锁定和解锁函数如何使用以及为什么?

    我试图理解另一位程序员编写的代码 它使用了I C http en wikipedia org wiki I C2 B2C通信以将数据写入 STM32 微控制器的 EEPROM 一般来说 我理解他的代码是如何工作的 但我不明白他为什么使用HA
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 最终启动顺序错误 - STM32L476 的 Eclipse System Workbench 调试

    我正在尝试调试和运行 STM32L476 的简单汇编代码 我已经设置了 Eclipse Oxygen 在 Eclipse 中安装了最新版本的 System Workbench 插件并安装了 ST Link 驱动程序 IDE 成功构建了程序
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • STM32的HAL中实现单按、长按和双按功能

    我正在尝试实现单击 双击和长按功能来执行不同的功能 到目前为止 我已经理解了单击和长按的逻辑 但我不知道如何检测双击 至于代码 我使用计数器实现了单击和长按 但代码仅停留在第一个 if 条件上 bool single press false
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • Cortex-M3与M4权威指南

    处理器类型 所有的ARM Cortex M 处理器是32位的精简指令集处理器 它们有 32位寄存器 32位内部数据路径 32位总线接口 除了32位数据 Cortex M处理器也可以有效地处理器8位和16位数据以及支持许多涉及64位数据的操作
  • 嵌入式 C++11 代码 — 我需要 volatile 吗?

    采用 Cortex M3 MCU STM32F1 的嵌入式设备 它具有嵌入式闪存 64K MCU固件可以在运行时重新编程闪存扇区 这是由闪存控制器 FMC 寄存器完成的 所以它不像a b那么简单 FMC 获取缓冲区指针并将数据刻录到某个闪存
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi

随机推荐

  • idea快捷键设置(Idea常用快捷键大全)

    目录 友情提醒 第一章 IDEA常用快捷键 1 1 快捷键 查找 提示类 1 2 快捷键 修改代码类 1 3 快捷键 光标移动类 第二章 Idea如何修改快捷键 2 1 已知快捷键 通过搜索快捷键查找 2 2 已知快捷键含义 通过输入快捷键
  • SpringBoot 如何实现多文件的上传和下载

    在前面的文章中 我们介绍了如何在Spring Boot中实现单个文件的上传和下载 但是 有时候我们需要实现多个文件的上传和批量下载 本文将介绍如何在Spring Boot中实现多文件上传和批量下载的功能 多文件上传 在Spring Boot
  • 通过transpose和flip实现图像旋转90/180/270度

    在fbc cv库中 提供了对图像进行任意角度旋转的函数rotate 其实内部也是调用了仿射变换函数warpAffine 如果图像仅是进行90度倍数的旋转 是没有必要用warpAffine函数的 这里通过transpose和flip函数实现对
  • 上网流量不够用,办无限流量卡吗?python程序员教你暴力破解wifi

    流量不够用怎么办 随着时代的发展 流量也是越来越不够用了 办无限网卡吗 月租太贵不划算 还是用Wi Fi舒服 不用担心流量用没了 今天用python教大家写一个暴力破解Wi Fi的程序 Wi Fi在手 天下我有 上网流量不够用 办无限流量卡
  • STM32中断优先级彻底讲解

    一 综述 STM32 目前支持的中断共为 84 个 16 个内核 68 个外部 16 级可编程中断优先级的设置 仅使用中断优先级设置 8bit 中的高 4 位 和16个抢占优先级 因为抢占优先级最多可以有四位数 二 优先级判断 STM32
  • STM32:寄存器概念

    目录 1 STM32长什么样 2 STM32内部有什么 2 1 STM32芯片架构简图 3 存储器映射 3 1 什么叫存储器映射 3 2 让GPIOB端口的16个引脚输出高电平 要怎么实现 4 什么是寄存器 4 1 总线基地址 4 2 寄存
  • 63万张!旷视发布最大物体检测数据集Objects365,物体检测竞赛登陆CVPR

    郭一璞 发自 北京会议中心 量子位 报道 公众号 QbitAI 比ImageNet大的图像数据集来了 在4月16日的智源学者计划启动暨联合实验室发布会上 旷视科技发布了通用物体检测数据集Objects365 包含63万张图像 远超Image
  • python 基础之注释变量常量

    一 注释 注释 就是对代码的解释 方便大家阅读代码 1 注释的分类 1 单行注释 在python中在行首添加一个 号就将这一行进行注释 单行注释 用 开头 后面跟上任意字符串 python2 版本print 这个函数 语法如下 print
  • java中File类

    转自http shameant iteye com blog 163007 Java文件操作我个人认为重要的问题有 a 如何跨平台问题 b 文件编码问题 尤其是多语言平台情况下如何正常工作 c 文件读写效率 操作效率 d 文件加密和文件安全
  • STM32CubeMX+FreeRTOS学习笔记(一)

    嵌入式实时操作系统FreeRTOS 基本概述 在嵌入式领域当中 实时操作系统的应用越来越广泛了 目前嵌入式操作系统种类很多 例如 Clinux C OS II C OS III FreeRTOS RT Thread等等 这篇文章所记录的就是
  • python自动拷贝U盘文件(打包成exe)

    大家好 欢迎阅读此文档 从零实现利用python工具实现自动拷贝U盘里的文件 打包成exe文件程序 exe程序是windows系统兼容的程序 运行程序的电脑不需要安装python就能实现 新手也能完成 提示 熟悉python工具的可直接跳转
  • .3ds 文件转 glb 或 gltf

    拿到一个3d模型 是 3ds 文件和一堆png的纹理图片 要在cesium中显示 cesium中支持这个格式 需要转化成支持的glb 或 gltf格式 目录 一 在3dmax中导入 并显示贴图纹理 二 转换成fbx 再转换成obj 三 在B
  • layui代码生成器,后台layui表单生成器代码复制即用,添加编辑一体,可条件判断

    下载资源 查看视频演示https www bilibili com video BV1CG411n7Lk 直接上图 重新编辑只需要点击编辑现有页面把之前生成出来的代码粘贴进去就行 使用方式 放在服务器根目录访问域名 tfForm index
  • 【计算机网络系列】物理层②:信道复用技术(频分复用、时分复用、波分复用及码分复用)

    本文主要介绍物理层中的信道复用技术 包括频分复用 时分复用 波分复用及码分复用技术 以及简单谈谈数字传输系统和几种宽带接入技术 信道复用技术 复用 multiplexing 是通信技术中的基本概念 计算机网络中的信道广泛地使用各种复用技术
  • 自定view实践(一) 自定义loadingView

    昨天同事遇到如下效果的加载view 实现了一下 1 首先创建一个类继承view public ProgreesView Context context this context null public ProgreesView Contex
  • html 修改mate标签禁止页面缩放

    html5 默认的mate标签 禁止时可以修改成 这样就可以解决移动端双击或者两根手指滑动是页面方大或者缩小的问题了
  • 目标检测:OneNet: Towards End-to-End One-Stage Object Detection

    目录 算法介绍 算法训练 算法介绍 OneNet算法的优点 1 全卷积 端到端 没有ROI 操作 也没有 attention 机制 2 标签分配是通过最小代价策略 不需要复杂的人工设计或者启发 3 没有任何后处理 比如 NMS max po
  • 本月与上月对比公式_Tableau 环比 for 本月某一段时间 与 上月同一段时间

    来源 https interworks com blog estam 2017 04 05 compare incomplete month same days previous month tableau April 5 2017 by
  • 前端html2canvas和dom-to-image实现截图功能

    目录 需求 历劫过程 截图知识点 html2canvas 文档地址 封装 使用教程 dom to image more 文档地址 封装 使用教程 解决跨域问题 以下是我花了大把时间 薅秃头得出来的最终结果 dom to image more
  • 自己做的负离子源供气系统的stm32 项目架构讲解

    前景 为了准备校招 熟悉下自己的项目 项目架构 1 电源部分 STM32 正负3 3供电 程序下载5V 光接收 0 5V AD电压采集 正负15V 2 程序下载 串口 CH340 UART协议 3 光接收 光纤接收 75452与非门 提高驱