【开源硬件篇】STM32F103C8T6主控板

news2024/12/30 3:19:08

STM32F103C8T6主控板

文章目录

    • STM32F103C8T6主控板
      • 设计目标
      • 一、STM32F103C8T6核心板外围引脚电路
        • 1.1 原理图设计
        • 1.2 PCB设计用例
      • 二、ISP一键下载电路设计
        • 2.1 原理图设计
        • 2.2 原理分析
          • 2.2.1 CH340电路选择
          • 2.2.2 ISP一键下载原理
        • 2.3 PCB设计示例
      • 三、串口通信电路
        • 3.1 原理图设计
        • 3.2 原理分析
        • 3.3 PCB设计示例
      • 四、5V转3.3V电路
        • 4.1 原理图设计
        • 4.2 原理分析
          • 4.2.1 AMS1117芯片数据手册分析
          • 4.2.2 AMS1117电路分析
        • 4.3 PCB设计示例
      • 五、舵机控制电路
        • 5.1 原理图设计
        • 5.2 原理分析
        • 5.3 PCB设计示例

设计目标

  • 能够控制9路5V舵机
  • 具有3路串口通信接口,其中有一路串口设计为串口转USB,通过一根USB数据线直接进行通信
  • 拓展口,除了所用到的功能模块的IO口,其余的IO口都拓展出去
  • 一路LED灯5V电源指示灯
  • 设计了两组3V3-GND引脚

一、STM32F103C8T6核心板外围引脚电路

1.1 原理图设计

在这里插入图片描述

​ 这里我们需要将对应的引脚和我们之前的【开源硬件篇】STM32F103C8T6核心板的外围IO电路对应起来。

​ 具体的引脚的功能我们需要可以建立一个Excel表格查找,便于我们将对应引脚的功能分配到指定电路中:
在这里插入图片描述

​ 注:第一列为引脚名称,第二列为引脚复用的功能列表,第三列为复用的功能。

1.2 PCB设计用例

在这里插入图片描述

​ 一般来说,核心板的插座都会放置到主控板的中心,便于我们后期的走线以及元器件的摆放。

二、ISP一键下载电路设计

2.1 原理图设计

在这里插入图片描述

2.2 原理分析

2.2.1 CH340电路选择

​ 一开始我的原理图设计时,串口转TTL芯片的采用的是CH340G,但是由于其需要额外提供晶振电路,导致物料增多,而CH340C芯片恰好把晶振电路集成到芯片的内部当中,而且价格也便宜,设计方便,所以采用CH340C芯片进行电路设计。

​ 关于CH340电路我们需要考虑以下几点:

1)电压匹配问题

  • 芯片供电问题

CH340芯片通过USB转换出来的TTL串口输入和输出电压是根据芯片的供电电压自适应的。

​ 如果CH340芯片是5V 供电,那么串口输出和采样都是5V;如果是 3.3V 供电,那么标准就成了 3.3V。若CH340芯片是5V供电,可以兼容3.3V系统;若CH340芯片是3.3V供电,则不能兼容5V系统,若使用5V系统,则可能会损坏芯片。
在这里插入图片描述

  • 芯片V3引脚接线问题

    5V 供电时芯片 V3 引脚需要接一个 0.01uf电容到地;3.3V 供电时直接将 V3 脚与 3.3V 电源引脚短接
    在这里插入图片描述

2)晶体以及电容的选用(CH340G需要,而CH340C不需要

​ 在选用晶振时如果选择 12MHz 的石英晶体,那么旁路电容选择 22pF 的独石或高频瓷片电容。如果选用的低成本陶瓷晶体,那么旁路电路的容量必须用该晶体厂家的推荐值,一般情况下是47pF。

​ 对起振困难的晶体,建议电容数值减半。如果仍然无法起振,最好参考一下选用晶振的官方推荐电容值。

3)芯片CH340的V3引脚作用

​ V3 引脚的电容用于内部电源节点退耦,来改善 USB 传输过程中的 EMI,通常容量在 4700pF 到 0.1uF 范围,建议容量为 0.01uF,即 103 电容.

2.2.2 ISP一键下载原理

在这里插入图片描述

​ DTR#和RTS#都是 输出类型,MCUISP(一键下载工具)会控制DTR#和RTS#的高低电平状态,从而控制BOOT0和NRST

​ 芯片上电后,DTR#、RST#初始状态的时都是高电平;当开始下载时,DTR#维持高,RST#拉低,此时Q1、Q2都导通,NRST为RTS#电平,即低电平,会发生复位,而BOOT0为RTS#,即高电平

​ 下载完成后,DTR#变低,Q2不导通,复位结束,此时BOOT0为高电平

注:先是DTR#变为高,RST#变为低,等到代码下载结束时 RST#先变为高电平,然后DTR#在变成高电平

所以,在使用FlyMcu的时候一定要选择如下图所示的模式:

在这里插入图片描述

2.3 PCB设计示例

在这里插入图片描述

​ 注:D+和D-最好为差分走线,这样我们的信号会更加稳定。

三、串口通信电路

3.1 原理图设计

在这里插入图片描述

3.2 原理分析

​ 串口是一种串行通信,设备之间通过数据信号线、地线、电源线连接,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据。

​ 串口也是一种全双工通信,如图所示:

在这里插入图片描述

​ 串口分为发送方TX和接受方RX,TX用于向外面发送数据,而RX用于接收外面的数据,两者互不干扰,可以同时进行。

​ 串口是一种异步通讯方式,不需要时钟信号进行数据同步,但是要约定好数据的传输速率(波特率)。

​ 原理图中,两个物体之间的GND和VCC要同时连接,为数据提供高低电平的参考。VCC的选择可以选择3.3V或者5V,5V可以兼容3.3V,但是3.3V不能兼容5V。

3.3 PCB设计示例

在这里插入图片描述

四、5V转3.3V电路

4.1 原理图设计

在这里插入图片描述

4.2 原理分析

4.2.1 AMS1117芯片数据手册分析

1)简介:

​ 通过查阅数据手册,选择了AMS1117-3.3这款芯片,可以提供1A的电流。AMS系列有多种电压输出,包括了1.5V, 1.8V, 2.5V, 2.85V, 3.3V 和 5.0V

2)封装:

​ 选择的封装为:SOT-223

在这里插入图片描述

​ 1- Ground/Adjust

​ 2- VOUT

​ 3- VIN

3)最大额定值

​ 最大输入电压为15V,焊接温度最好控制在265℃以下

4)电气特性

在这里插入图片描述

4.2.2 AMS1117电路分析

​ 电容起到一个对电源的输入和输出进行一个滤波的操作

4.3 PCB设计示例

在这里插入图片描述

​ 电容一定要靠近芯片的对应引脚,这样滤波的效果才明显,否则会导致滤波效果很差,电源纹波比较大。

五、舵机控制电路

5.1 原理图设计

在这里插入图片描述

5.2 原理分析

​ 舵机是一种位置(角度)伺服的驱动器
在这里插入图片描述

​ 一个舵机由变速齿轮箱,电位器,电路板与直流电机组成.伺服电机由信号线输入的PWM信号控制。信号的频率应为50Hz,周期为20ms,PWM的占空比决定了舵机旋转到的角度。

​ 舵机的控制由一个脉冲宽度调制信号(PWM波)来实现

在这里插入图片描述

​ 因此舵机主要有电源线、PWM控制线、GND线。一般的舵机输入电压,从4.8V到7.2V左右,电压越大,舵机达到指定位置的速度越快。舵机的工作电流为100mA~2A,若发生舵机堵转可能会达到3A左右的电流,很容易把舵机烧坏,所以在使用时候要注意舵机的堵转问题。

5.3 PCB设计示例

在这里插入图片描述

​ 由于一个舵机的电流大概在1A左右,所以多个舵机驱动的话需要进行电源铺铜的方式,防止有导线不够粗而烧毁。

上述的原理图以及PCB设计已经开源至立创开源平台上,大家可以下载进行参考设计专属自己的STM32F103C8T6主控板,链接为:https://oshwhub.com/panzhongsheng/kai-yuan-ying-jian-STM32F103C8T6

如果觉得写的还不错的话,麻烦大家点赞收藏加关注哦!

PS:有单片机软硬件设计、嵌入式课程作业设计、课设等相关需求欢迎加入QQ群联系我哦!QQ群号: 593708918

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

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

相关文章

Jackson2JsonRedisSerializer使用及问题

1、使用 public static RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {lettuceConnectionFactory.setShareNativeConnection(false);RedisTemplate<String, Object> rt new RedisTemplate<>();// 设置…

嵌入式软考备考_6 嵌入式程序设计

嵌入式程序设计 开发流程 要想某个功能要用硬件还是软件实现&#xff08;硬件快&#xff0c;但是耗资源&#xff09;&#xff1f;BSP&#xff1f;裸机还是OS&#xff1f; 硬件的设计与实现-》设备驱动软件的设计与实现-》os的选择&#xff0c;移植&#xff0c;api接口函数的…

openGL 环境搭建

刚入坑&#xff0c;每个包、每个项目都得重新配一遍&#xff0c;实在烦人&#xff0c;由于网上已有很多教程&#xff0c;故在此只简要介绍。 比较通用的安装方法如下&#xff1a; 优先下载&#xff0c;对应vs版本&#xff0c;32位&#xff0c;已经编译好的库。如果下载的是源代…

2023 年Java经典面试题,基础篇02(持续更新)

本篇文章主要讲的是 2023 年Java最新面试题&#xff0c;持续更新中 原文地址&#xff1a;https://github.com/Snailclimb/JavaGuide 面向对象基础 面向对象和面向过程的区别 两者的主要区别在于解决问题的方式不同&#xff1a; 面向过程把解决问题的过程拆成一个个方法&…

Git 配置多个SSH-Key

Git 全局配置 查看全局配置 git config --global --list git config --global user.name 删除全局配置 git config --global --unset user.name 1.生成ssh public key and private key open git base, 执行以下command&#xff0c;其中是keyname自己填&#xff1b;codeup…

java程序员容易被人误解?我来聊聊常见的三种情况

先说一下个人情况吧。21年来到深圳&#xff0c;现在马上工作满两年。我说程序员是一个容易被人误解的职业呢&#xff0c;可能在大部分人的印象里&#xff0c;程序员就是一个呆板、穿着格子衫、戴着厚厚的眼镜片、比较呆滞的一群人。其实这个印象可能是符合上个年代吧——程序员…

第二部分——长难句——第二章——复合句——第二节——定语从句

内容比较多&#xff0c;且比较重要 一&#xff0c;定语从句的概述 定语&#xff08;紧挨着名词&#xff09;礼让弱小&#xff0c;所以放在所修饰的名词后面。 法律是一种学科&#xff08;鼓励责任判定&#xff09;定语修饰 在翻译成中文的习惯&#xff0c;我们会把定语从句放…

倒计时|数字标准读书会—打破“信息孤岛”、拆除“数据烟囱”

业务与其他业务域间存在信息鸿沟&#xff0c;协作效率低下&#xff1b; 系统边界划分复杂混乱&#xff0c;技术标准不兼容&#xff1b; 新业务无法基于已有解决方案快速组装上线&#xff0c;迭代创新&#xff1b; …… 以上这些数字化转型痛点&#xff0c;你是否也遇到过&a…

家里网速越来越慢?路由器附近千万别放这几样东西

我们在日常生活中常常会使用到WiFi&#xff0c;当遇到网络卡顿、网速缓慢时往往感到疑惑&#xff0c;是不是自己的WiFi速度不够&#xff1f;其实除了无线路由器、终端等自身产品质量问题&#xff0c;还有许多外在因素。 在网络本身没有问题的情况下WiFi卡顿或不稳定&#xff0…

美国限制Unity和UE渲染引擎风险增加,数字孪生行业急需国产渲染引擎软件

数字孪生作为智能制造的关键技术之一&#xff0c;其应用已经从工业制造领域扩展到了城市规划、交通运输、农业等多个领域。然而&#xff0c;随着中美脱钩的持续进行&#xff0c;有关3D渲染引擎的“卡脖子”问题已经引起了行业的高度关注。 美国限制3D渲染引擎风险对数字孪生产…

linux中查看某个文件夹下文件的个数和大小

一、统计某个目录的文件和子目录的大小 1、stat指令 stat命令 主要用于显示文件或文件系统的详细信息&#xff0c;该命令的语法格式如下&#xff1a; -f  不显示文件本身的信息&#xff0c;显示文件所在文件系统的信息-L  显示符号链接-t  简洁模式&#xff0c;只显示…

强化学习p3-策略学习

Policy Network (策略网络) 我们无法知道策略函数 π \pi π所以要做函数近似&#xff0c;求一个近似的策略函数 使用策略网络 π ( a ∣ s ; θ ) \pi(a|s;\theta) π(a∣s;θ) 去近似策略函数 π ( a ∣ s ) \pi(a|s) π(a∣s) ∑ a ∈ A π ( a ∣ s ; θ ) 1 \sum_{a\in …

【Hive实战】数据仓库设计

数仓中的数据分层 文章目录 数仓中的数据分层维度模型维度建模下的主要概念维度表事实表 结合维度模型分析数据分层贴源层 &#xff08;Operation Data Store&#xff09;公共维度层 CDM&#xff08;Common Data Model&#xff09;数据细节层 DWD&#xff08;Data Warehouse De…

前端(移动端)学习笔记

PC端网页和移动端网页的区别&#xff1a; PC端屏幕大&#xff0c;网页固定版心移动端屏幕小&#xff0c;网页多数为100% 在谷歌浏览器中可以调试移动端网页的代码 屏幕尺寸&#xff1a; 屏幕尺寸指的是对角线的长度,一般用英寸来度量 分辨率&#xff1a; PC分辨率 1920*10…

31 - 买股票的最佳时机问题

文章目录 1. 买股票的最佳时机I2. 买股票的最佳时机II3. 最佳买卖股票时机4. 买股票的最佳时机III5. 买股票的最佳时机IV 1. 买股票的最佳时机I dp数组含义&#xff0c;本题两个状态&#xff1a;持有股票、不持有股票 dp[i][1] &#xff1a;表示第i天不持有股票所得最多现金dp…

最时髦的AI画画,一文包教包会

最时髦的AI画画&#xff0c;一文包教包会 大概半年前&#xff0c;AI 绘画工具 Disco Diffusion 从 Text-to-Image 开发社区和设计行业&#xff0c;火到了普通用户的视野中。即便它界面简陋&#xff0c;满屏英文和代码&#xff0c;也“劝退”不了人们。因为对那些没有任何美术功…

kali php无法执行,直接下载或显示php文件内容

问题描述&#xff1a; 开启apache或nginx&#xff0c;访问php文件要么直接显示php文件内容&#xff0c;要么直接下载&#xff0c;这都是php文件无法解析的问题&#xff0c;需要nginxphp-fpm解决 1、安装NGINX 查看是否安装&#xff0c;如下图则已安装 #apt-cache policy ngi…

Linux安装MinIO及springboot项目整合使用实战(详细)

以往的项目&#xff0c;用的比较多的OSS服务是腾讯云和阿里云的存储服务&#xff0c;不过从去年到今年&#xff0c;最近的几个项目&#xff0c;普遍要使用Minio,所以我在开发服务器和测试服务器上都装上了minio 一、首先minio的安装 MInIO的安装有很多方法、单实例的、集群分…

Django学习——安装、创建项目、数据库、用户管理案例

目录 1、 安装django 1.1django是第三方模块&#xff0c;用pip install django 安装&#xff1a; 1.2 python的安装目录 &#xff1a; 2、创建项目 2.1在终端创建的步骤 执行过程 2.2使用pycharm&#xff08;企业版&#xff09;创建 django项目 2.3对比两种方式 2.4默认…

推荐5款体积小、无广告、超实用的办公软件

大家好&#xff0c;我又来啦&#xff0c;今天给大家带来的几款软件&#xff0c;共同特点都是无广告、超实用&#xff0c;大家观看完可以自行搜索下载哦。 1.网络分析工具——Wireshark Wireshark 是一款开源的网络分析工具&#xff0c;它可以让你捕获和浏览网络上的数据包&am…