打印机-STM32版本 硬件部分

05-09 1135阅读

最终PCB EDA工程:

打印机-STM32版本 硬件部分

打印机-STM32版本 硬件部分

一、确定芯片型号

根据项目需求,梳理需要用到的功能,

  • 电量检测:ADC

  • 按键:IO input+外部中断

  • LED:IO output

  • 温度检测:ADC

  • 电机控制:IO output

  • 打印通讯:SPI

  • 打印时序:IO input&output

  • 蓝牙:UART连接透传模组

  • 日志:UART

    最终得出需要的外设和功能:UART、SPI、ADC、IO、中断、定时器、RTOS

    外设部分一共需要27个IO,其中特殊外设包括两个ADC,一个SPI,两个UART,一个用于蓝牙通讯,一个用于日志打印。

    打印机-STM32版本 硬件部分

    最终选择 STM32F103C8T6

    • 描述:CPU内核:ARM Cortex-M3 CPU最大主频:72MHz 工作电压范围:2V~3.6V 程序存储容量:128KB 程序存储器类型:FLASH RAM总容量:20KB GPIO端口数量:37 ST 32位 ARM内核 MCU芯片

      打印机-STM32版本 硬件部分

      二、确定外设接到哪个IO

      1、查看芯片Datasheet确定

      手册与设计资料:www.st.com

      打开芯片手册,然后找到pin definitions页面,这里主要查看一些特殊功能的引脚,例如adc、uart、spi用的是哪些io,确定下来后,把其它的通用IO也逐一确定即可,这些通用的IO后续绘制原理图时,还可以调整。

      手册与设计资料:www.st.com

      打开芯片手册,然后找到pin definitions页面,这里主要查看一些特殊功能的引脚,例如adc、uart、spi用的是哪些io,确定下来后,把其它的通用IO也逐一确定即可,这些通用的IO后续绘制原理图时,还可以调整。

      打印机-STM32版本 硬件部分

      2、使用STM32Cubemx工具确定

      打印机-STM32版本 硬件部分

      2-1、安装STM32Cubemx

      https://www.st.com/zh/development-tools/stm32cubemx.html

      stm32cubemx安装教程(包含安装包)

      2-2、打开软件,创建工程

      File->New Project->stm32f103cb

      打印机-STM32版本 硬件部分

      2-3、设置系统时钟为外部时钟

      因为我们高速时钟想使用外部8MHz的晶振,当然了,也可以使用内部时钟,对精度要求不高的话,低速时钟就不需要的,因为我们用不到RTC功能。

      打印机-STM32版本 硬件部分

      设置时钟为72MHz,外部晶振8MHz

      打印机-STM32版本 硬件部分

      2-4、设置Debug方式支持Serial Wire

      后续可以使用Jlink SWD进行烧录仿真打印机-STM32版本 硬件部分

      2-5、确定对应IO

      到这里,你就可以选择对应功能的引脚了,例如ADC SPI UART分别是芯片的哪个引脚,记录下来

      打印机-STM32版本 硬件部分

      然后剩余的常规IO,就可以比较随意,大部分引脚都是可以复用的,直接在右边的芯片上点击选择即可,对应IO设置为输出输入,这一步可以打开示例工程参考哦!!

      打印机-STM32版本 硬件部分

      三、绘制原理图和PCB Layout

      打印机-STM32版本 硬件部分

      1、外设部分原理图的绘制

      打印机-STM32版本 硬件部分

      2、STM32的最小系统绘制

      绘制完外设后,我们看下STM32的最小系统如何绘制

      • 电源

      • 外部时钟

      • 运行模式

      • 烧录仿真接口

        外设:

        打印机-STM32版本 硬件部分

        打印机-STM32版本 硬件部分

        打印机-STM32版本 硬件部分打印机-STM32版本 硬件部分

        打印机-STM32版本 硬件部分

        3、BLE透传模组

        由于STM32是没有蓝牙功能的,而我们需要和手机进行通讯,这里我们使用了蓝牙透传模组,通过串口与STM32进行数据透传。

        蓝牙部分我们使用串口2进行数据交互,所以需要重写串口2的处理函数

        我们使用的蓝牙模组是RF Crazy/智汉的模组,主要是立创上购买方便,大家也可以根据自己需要选择其它模组。

        模组的连接非常简单,只需要提供电源和地,然后串口连接STM32的串口即可通讯。

        打印机-STM32版本 硬件部分

        4、把芯片IO和外设连接起来

        有了芯片和外设,那芯片如何控制外设或者读取外设状态呢?这里就需要把芯片IO和外设连接起来了。只需要用标签连接起来即可。

        打印机-STM32版本 硬件部分

        5、接下来就是PCB Layout

        打印机-STM32版本 硬件部分

        四、生产、焊接、快速调试

        1、生产

        2、焊接

        1. 准备好PCB、元器件、电烙铁、焊锡、镊子、万用表。

        2. 打开BOM表或者PCB工程,然后从电源模块开始,找到要焊接的元器件型号,逐个模块焊接,切记不要一下子焊完所有模块,否则很难定位排查问题。

        3. 每个模块焊接完成后,对照原理图、PCB工程,用万用表先检查下有没有焊接错误、短路、虚焊等情况,一个焊点一个焊点确认,确认没问题后在焊接下一个模块。

        一般的焊接流程是:

        • 充电管理模块

        • 开关

        • 电源指示灯

        • 稳压3.3V (先焊接模块11,才能使用开关打开电源到稳压3.3V)

        • CH340

        • 打印头相关

        • STM32芯片

        • 升压模块

          3、焊接完排查说明

          焊接完成后,切记不要马上上电,先目测、用万用表检测下,有没有焊接错的地方,特别是要检查各路电源有没有短路,确保没有短路后,上电第一时间也要观察下有没有异常,有异常迅速拔掉电源。

          目测没有异常后,先检测下所有的电源电压是否正常,在确定所有电源电压正常后,就可以接到电脑,烧录程序啦。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]