
从选题到打样我打算把整套基于LoRa的物联网控制器硬件设计流程完整拆开讲一遍。这个毕设题目的核心不只是“做一个板子”而是要跑通一条从需求分析、器件选型、原理图绘制、PCB布局布线到最终焊接调试的完整硬件设计链路。这次我会直接用工程项目的思路来讲不说虚的把关键的器件选型逻辑、电路设计细节、PCB布线的注意点以及我在实际调试中踩过的坑都写清楚。不管你是准备做毕设的学生还是刚接触硬件设计想入门的开发者这套流程都能直接拿来参考。文章会围绕LoRa通信、主控电路、电源系统、接口保护这几个核心模块展开把每个环节的原理和操作都说透。1. 选型前置为什么用LoRa方案怎么搭才合理1.1 LoRa技术在物联网里的定位LoRa全称是Long Range这是一种基于扩频技术的远距离无线通信方案。它最大的特点是能用很低的功耗换来很远的通信距离在开阔环境下几公里的传输都不成问题穿墙能力也比Wi-Fi、蓝牙这些常规短距离方案强好几个档次。在物联网的通信协议选型里LoRa的地位很明确它不追求高带宽也不扛视频流它的核心战场是“少量数据、远距离、超低功耗”这种场景。比如环境监测节点每隔几分钟上传一次温湿度、土壤墒情传感器定时上报数据、停车场车位检测器、农业大棚的自动灌溉控制都是LoRa的典型应用。拿毕设来说如果你做的是智能家居那用ESP8266或蓝牙可能更顺手但如果课题是“偏远区域的远程监控”“低功耗广域数据采集”“农业物联网”那LoRa几乎是绕不开的选项。因为它在同等功耗下能传得更远而且不依赖路由器或基站组网灵活调试起来也直白。1.2 方案选型主控与射频怎么搭配确定了用LoRa通信之后接下来的问题就是射频部分怎么落地。市面上主流做法有两种。一种是直接用LoRa射频芯片做设计比如Semtech的SX1268、SX1276需要自己画射频匹配电路、天线接口设计难度高一些但成本低、灵活性大。另一种是直接用集成的LoRa模组比如亿佰特E22-400M30S、安信可Ra-01SH模组内部已经把射频匹配、晶体振荡器、甚至部分协议栈都做好了主控通过SPI或者串口就能操作设计简单很多。毕设阶段我个人强烈推荐用模组方案。原因很简单射频电路的阻抗匹配、谐波抑制这些真不是新手能在短时间调明白的稍不注意天线性能就拉垮还查不出原因。用模组等于把射频这个最难啃的部分封装好了你只需要把精力放在主控逻辑和外围电路上成功率会高得多。而且答辩的时候也能讲清楚基于SX1268芯片的成品模组具备什么特性外围设计要点是什么这本身也是工程能力的体现。主控芯片的选择上STM32是绝对的主流。STM32F103系列便宜、资料多、教程丰富库函数和HAL库都有大量现成代码对毕设来说足够用了。如果想做得更前卫一点用ESP32也行自带Wi-Fi和蓝牙后面可以扩展“LoRaWi-Fi网关”这种玩法但功耗会高一些实时性也不是它的强项。我建议老老实实选STM32F103C8T6稳定可靠样板好买出问题也好排查。1.3 做主控板还是做节点板先想清楚形态很多人在画板之前没想清楚一个关键问题这个控制器到底是一个集中式的控制主机还是一块分布式节点板这个问题直接决定了板子的结构和接口数量。拿我自己做的项目举例我设计的是“数据采集控制输出”一体的节点控制器要求包括2路模拟量采集接口接温湿度传感器和光照传感器2路继电器输出控制灌溉电磁阀1路RS485接口接Modbus协议的设备比如风速仪板载LoRa模组做无线通信12V直流供电板内转为5V和3.3V。这样一列出来板子的功能边界就清晰了。如果你的课题是“集中式网关”那可能更关注以太网接口、4G模块、多路LoRa并发接收如果是“低功耗节点”那就要重点考虑睡眠电流、LDO或DC-DC选型、定期唤醒逻辑。先搞清楚板子扮演什么角色再去画原理图才不会画到一半推倒重来。2. 原理图里的关键环节电源、主控、LoRa、接口保护2.1 电源树设计先稳住电能再谈功能所有硬件设计的第一步不是摆主控而是设计电源树。供电一旦不稳后面全部白搭这是硬件设计里最容易翻车也最容易被忽视的地方。我这块板子的外部输入是12V直流来源是电源适配器或开关电源。12V进来之后分两路一路直接供给继电器因为继电器线圈常见额定电压就是12V这样设计能省掉一路功率转换另一路进入降压电路转为5V再通过LDO转成3.3V供主控和LoRa模组使用。降压芯片我选的是MP1584或MP2303这种常用的DC-DC降压芯片输入电压范围宽、输出电流够用、外围器件不复杂价格也实在。具体电路按照数据手册的典型应用来搭就行关键是把反馈电阻分压网络算准确。以MP1584为例输出电压由FB引脚的反馈分压电阻决定公式是Vout 0.8 × (1 R1/R2)我需要输出5V如果选R2为10kΩ那么R1 (5 / 0.8 - 1) × 10k 52.5kΩ。实际取标准电阻值51kΩ配合微调电阻或直接接受5V偏低一点的情况。如果是给数字电路供电电压偏差个0.1V完全无感如果后面有模拟采集电路就要用高精度电阻甚至电位器校准。3.3V用AMS1117-3.3这个经典LDO来实现输入5V输出3.3V最大输出电流1ASTM32和LoRa模组的电流需求加起来不超过150mA余量非常充足。注意LDO输入输出都要加滤波电容输入用10µF钽电容或电解电容输出用10µF陶瓷电容加100nF高频去耦电容组合这样能最大限度降低纹波。2.2 MCU最小系统STM32F103C8T6怎么接才对STM32F103C8T6是LQFP48封装48个引脚Flash 64KBRAM 20KB主频72MHz。对这个项目来说性能绰绰有余。最小系统的组成部分想必大家也都熟悉电源去耦、晶振、复位电路、BOOT配置、SWD下载接口。但越是熟悉的东西越容易出纰漏我这里一个一个说。电源引脚每一个都必须就近放置100nF去耦电容这是我反复跟学生强调的。数字芯片在高频开关时会瞬间抽取大电流如果电源路径上电感大、电容离得远电压就会出现跌落和振铃轻则通信误码重则程序跑飞。原理图上每一个VDD引脚旁边都要画一个电容位置在PCB上也要尽量靠近引脚。晶振我用的是8MHz无源晶振并联两个20pF负载电容。这个电容值不是随便定的它要匹配晶振的负载电容规格一般8MHz晶振CL约为20pF。PCB布线的时候晶振到MCU引脚的走线要尽量短晶振底下最好不要铺铜防止寄生电容引发起振不稳。另外STM32的PC14和PC15引脚接了晶振后就不能再当普通IO用了这个很容易忽略。NRST复位引脚用10kΩ电阻上拉到3.3V同时并联一个100nF电容到地。这样既能防止误复位又能在上电瞬间提供复位脉冲。BOOT0和BOOT1引脚我习惯分别通过10kΩ电阻下拉到地保证从Flash启动。SWD接口引出SWDIO、SWCLK、GND、3.3V和NRST五个信号接一个5Pin的排针或端子即可。特别注意SWDIO和SWCLK不需要上拉或下拉直接用就行。2.3 LoRa模组的连接SPI通信现场还原我这里用的是基于SX1268的LoRa模组——亿佰特E22-400M30S它的通信接口是SPI同时还有几个额外的控制引脚。标准的接法是NSS接STM32的PA4SPI1片选SCK接PA5SPI1时钟MOSI接PA7SPI1主出从入MISO接PA6SPI1主入从出RST接一个普通GPIO比如PB0BUSY接另一个GPIO比如PB1SX1268的BUSY引脚特别关键它在芯片忙碌时会拉高主机必须等它变低之后才能进行下一步操作。很多人在调LoRa通信的时候数据发不出去或者接收不到排查到最后发现是没处理BUSY状态直接往SPI里硬写导致指令丢失。这一点一定要记得在代码里等待BUSY释放。模组的供电要注意电压范围这个型号支持2.3V~5.5V直接用我们的3.3V电源就行。另外模组的天线接口是SMA-K接口外接天线时要注意天线频率要和模组匹配E22-400M30S对应的天线工作频率是400MHz~470MHz随便贴一个2.4G天线那信号强度会惨不忍睹。2.4 输入输出接口从传感器到执行器的电路细节作为物联网控制器光有无线通信还不够得能和外界交互。我这块板子的IO接口是这样设计的。传感器接口我做了两个4Pin的接口给土壤湿度传感器和光敏传感器用。引脚定义统一为“VCC、GND、AO、DO”即模拟输出和数字输出都引出MCU通过ADC读取AO通过GPIO读取DO。传感器的VCC用5V供电输出的模拟电压范围是0~3.0V可以直接进STM32的ADC引脚0~3.3V量程。如果你选的传感器输出超过3.3V那么中间必须加分压电阻或电压跟随器切记。继电器控制输出部分我选了2路5V继电器模块。但5V继电器模块通常需要几十mA的线圈电流STM32的GPIO只能提供几mA直接驱动会烧引脚所以需要用三极管或MOS管做驱动。我用的方案是S8050三极管GPIO通过1kΩ电阻接基极集电极接继电器线圈线圈两端并联一个1N4148续流二极管方向是负极接电源正极、正极接集电极。这个续流二极管必不可少否则继电器断电瞬间的反向电动势会击穿三极管。RS485接口选用MAX485芯片RO接MCU的USART2_RXPA3DI接USART2_TXPA2DE和RE短接后接一个GPIO控制方向。A、B两端要加120Ω匹配电阻这个电阻在总线两端各接一个如果节点少距离短不接也能工作但距离一长误码率就上来了。我直接在板子上做了一个可焊跳线默认不焊接需要时手动补上这样更灵活。2.5 保护电路不能省的ESD和防反接这一节很多人不当回事觉得“我实验室里调试的时候好好的”但拿到现场就各种问题大概率就是没做防护。12V电源输入端必须加防反接电路。最简单粗暴的方式是串联一个肖特基二极管压降小、功耗低进阶一点用PMOS做理想二极管防反接压降几乎为零。毕设用前者就够了我选的是SS34肖特基二极管正向压降0.5V左右反向耐压40V。电源输入还要并联一个大容量电解电容100µF/25V和一个小陶瓷电容100nF前者是应对瞬态大电流需求后者滤除高频噪声。有条件的话再加一个TVS管比如SMBJ15A输入浪涌电压超过15V时它会钳位保护后端电路。这个对继电器、电机这类感性负载频繁启停的现场特别有用。传感器接口和RS485接口的走线是会伸出板外的这些线上很容易感应到静电或者外界干扰所以最好在接口处预留ESD保护器件的位置。比如使用USBLC6-2SC6或PESD1CAN具体型号可以根据接口类型选但原理都是一个把瞬态高压引导到地保护内部芯片。3. PCB设计全流程从布局到布线再到检查3.1 板层选择与叠层设计我的板子用的两层板这在绝大多数毕设项目里都够用了。两层板便宜、打样快、调试方便而且只要布线规范EMC性能不会太差。两层板的结构是顶层走信号和电源底层走地关键信号尽量放在顶层底层完整铺铜做地平面。这样做的好处是底层铜皮构成了一个完整的参考平面为顶层所有信号线提供了回流路径能显著降低环路面积减少辐射和串扰。如果你的板子功能更复杂、器件更密集或者有DDR、高速USB这类信号那就要用四层板了。四层板的经典叠层是“信号-地-电源-信号”地平面和电源平面紧密耦合电源完整性会好很多。但四层板成本高对毕设来说没必要。元器件布局是整个PCB设计里最影响成败的环节我一般按这个顺序来第一步固定连接器。电源端子、传感器端子、RS485端子、天线座这些是和外部交互的接口位置由结构决定比如板子要装进某个壳子里那端子的位置就得匹配壳体开孔。先把它们放在板框边缘。第二步固定主控。MCU放在板子中心偏上的区域晶振紧挨着MCU的OSC引脚去耦电容紧挨着对应的电源引脚。这样最短的路径最小环路面积。第三步围绕主控排布外设。LoRa模组放在板子一角远离MCU的高速数字走线继电器放在板子的另一侧远离天线和模拟电路因为继电器的开合会产生火花和电磁干扰。第四步电源区域集中放置。12V输入端子、防反接二极管、DC-DC芯片、电感、LDO放在一起组成电源区输出的5V和3.3V再向四面八方供应。最后进行电源和地的规划在整板铺铜时区分模拟地和数字地但注意单点连接避免地平面割裂。3.2 布线规则线宽、间距、走向一次说透布线的核心原则其实就四条电源走线宁宽勿窄、信号走线越短越好、关键信号远离噪声源、最后统一检查。电源线宽的确定直接用电流来算。我习惯用1A/mm²的载流能力来估算一般PCB铜厚是1oz约35µm10mil线宽大概能过0.5A电流为了保险我一般会把电源线宽做16mil以上。12V输入那一段和GND主干我直接加粗到40mil甚至直接铺铜。如果板子电流大比如有1A以上负载那必须在电源路径上铺铜块或者加宽到80mil以上不能光靠走线硬扛。信号线的间距没有特殊要求的话线到线的间距不要小于8mil常规做10mil就够。但两个相邻信号线走了一段平行线之后一定要拉开间距打断耦合或者中间插一根地线隔离不然高速信号的串扰会非常明显。走线还讲究一个关键原则地线回流。任何信号都是有回流的回流电流会沿着阻抗最小的路径流回源端。如果你的信号线下面没有完整的地平面回流就只好绕远路结果就是形成一个巨大的环路天线辐射干扰直线上升。所以布线时一定要确保关键信号的正下方是完整的地铜皮。晶振底下不要走线、不要铺地保持干净LoRa模组底下的地铜皮要多打地孔和主地相连保证热和射频的接地都充分。3.3 天线的净空处理射频性能的分水岭这是新手做LoRa板最容易翻车的地方。天线不是焊上就能用它需要净空区和匹配网络。LoRa模组的天线焊盘周围天线所在的区域、板子的边缘处需要把铜皮全部掏空这叫净空区。净空区的尺寸直接影响天线效率和辐射方向图空间越大越好至少也要留出模组资料里规定的最小尺寸。如果天线正下方有铜皮辐射能量会被地平面吸收通信距离大打折扣。模组的地引脚要尽量多的过孔连接到主地平面而且过孔要靠近引脚减小寄生电感。这相当于为射频电流提供一个低阻抗回路。SMA天线座的位置要靠近板边最好直接放在板框上让天线的外导体和板子的地尽可能大面积接触。如果SMA座放在板子中间馈线穿过整个板子馈线的地会破坏板子的地完整性同样会影响天线性能。3.4 EMC设计认知为什么你的LoRa板子通信距离总比别人短EMC在国内硬件设计里被提到最多的场景就是做认证但其实在开发阶段EMC设计的好坏已经体现在通信距离上了。LoRa虽然通信距离远但它的接收灵敏度高也意味着它容易被同类噪声干扰。板上的DC-DC开关频率、继电器动作的电弧、数字总线的振铃都可能成为干扰源。所以我在布线时做了这几件事DC-DC的开关节点走线尽量短粗电感和续流二极管靠近芯片引脚继电器驱动部分远离射频区域RS485、传感器这些对外接口处串联了小阻值的电阻比如22Ω~33Ω来抑制振铃模拟信号走线加宽并在ADC采样点附近预留了RC滤波位置。这些细节不会让你立刻看到明显收益但同一方案、同一模组别人传3公里你的板子传300米差距往往就在这些不起眼的EMC处理上。4. 打样与焊接从Gerber文件到第一块能跑的板子4.1 为什么推荐2层板打样6片原理图和PCB画完之后导出Gerber文件交给板厂打样。现在国内板厂服务很成熟小批量打样2层板10cm×10cm以内几十块钱就能做5片对毕设来说绰绰有余。我建议第一次至少打样6~10片。原因很现实焊接过程中很容易弄丢器件、焊盘脱落、或者因为设计失误烧掉一两块板子手里没有余量会非常被动。另外调试时你可能需要在实验板上飞线、割线、测量各个节点的波形这些操作都有损伤风险板子多几块心里不慌。拿到板子第一件事是对着原理图检查关键网络12V、5V、3.3V、GND是否都正常连通有没有短路。第二步是目视检查借一个放大镜或者手机微距镜头逐个检查焊盘和走线有没有划伤、桥接、缺失。第三步才是焊接。4.2 焊接顺序和技巧先把肚子填饱再穿衣服焊接的顺序其实是有讲究的不是想焊哪就焊哪推荐顺序是“从低到高、从内到外”。我习惯先把核心的、距离近的贴片小器件焊好电阻、电容、去耦电容、晶振。这些器件小、引脚密放在最后焊容易碰掉旁边的大器件。然后用镊子夹住芯片对准焊盘先固定对角引脚再给其余引脚上锡拖焊。STM32F103C8T6这种LQFP48封装用刀头烙铁拖焊非常好操作。上锡之后用助焊剂润洗再用吸锡带把多余焊锡吸走拖两遍基本就干干净净。大器件最后焊比如继电器、端子座、电解电容。注意电解电容有极性长脚是正极丝印上也会有明显的标识。焊接大板的时候最好配一个带灯放大镜工作台也会让你少流泪很多次。4.3 第一次上电先量电源再碰MCU焊接完成之后不能立刻通电得按照安全顺序来。第一步不通电用万用表蜂鸣档量12V输入正负极之间的电阻确认没有短路。第二步只接12V电源量电源芯片输出是否正常5V测的是5V3.3V测的是3.3V如果电压不对马上断电检查。第三步量一下MCU每个VDD引脚对地电压是否正常确认没有问题再接仿真器看能不能识别到芯片。如果仿真器能识别到SWD设备说明MCU最小系统已经活了。可以先跑一个最简单的程序比如让板载LED闪烁验证GPIO、时钟、下载链路都是通的。这一步通过之后再一步步验证LoRa通信、ADC采集、继电器控制这些功能模块。5. 调试实战让LoRa数据真的跑起来5.1 点对点通信测试两块板子互发的完整过程LoRa通信的调试我强烈建议分三步走不要上来就写完整协议。第一步准备两块板子烧录同一个LoRa点对点通信测试程序A板发帧B板收帧并打印出来。注意确保通信频率、扩频因子、带宽、编码率、同步字这些参数完全一致任何一个不匹配都会导致通信失败。第二步A连电脑串口通过串口转USB发一条指令给AA通过LoRa发出去B收到之后回一条响应给AA再把响应的内容打印到电脑上。这一打通说明无线链路是通的射频参数没问题。第三步才加上具体的业务逻辑比如数据上报、控制指令下发。这样排查问题的时候每一层的边界都很清楚是串口问题、LoRa问题还是业务代码问题一眼就能定位。5.2 通信距离不够先排除“假故障”如果你发现两块板子隔了几十米就收不到信号先不要急着怀疑模组质量问题按这个顺序排查先看天线是否旋紧。SMA接头的手感“咔哒”一下才算锁紧我之前就遇到过天线没拧紧隔了一堵墙信号就丢了拧紧之后通到室外500米都稳定。再看天线频段是否匹配400M的模组配400M的天线这是常识但特别容易犯低级错误。然后看供电电压。LoRa模组在高功率发射时电流可以达到几百毫安如果你的3.3V供电能力不足发射瞬间电压跌落导致模组重启或发射功率下降。用示波器量一下模组电源引脚发射瞬间有没有掉压如果掉压波形明显就要加大电源电容或者换更强供电能力的LDO。最后看接收灵敏度。可以在两个固定点做遮挡测试看是天线馈线坏了还是路径损耗太大。5.3 功耗问题想让节点扛得住几个月你得算这笔账如果课题要求“低功耗节点”那么供电和耗电是重中之重。STM32F103在72MHz全速运行时的功耗大约是20~30mALoRa模组在发射模式下可达120mA接收模式也有10mA级别。如果你用电池供电这么大电流是撑不了多久的。降低功耗的办法有几个。第一单片机进入Stop模式或Standby模式通过RTC定时唤醒或外部中断唤醒。第二LoRa模组在空闲时切换成Sleep模式只在发送数据时唤醒。第三降低发射功率如果你的通信距离不远没必要每次都开满功率。以我这个节点为例典型场景是每10分钟采集一次数据并上传每次活动时间约1秒其余时间全部睡眠。平均电流算下来约0.3mA如果用18650电池约3000mAh理论上能撑一年多。这数据看着不惊艳但对毕设演示来说已经完全够用。5.4 数据校验和协议不该省的一道防线LoRa本身只负责物理层的字节传输不保证数据完整性和语义正确性所以协议层一定得自己做。我用的简单帧格式是帧头0xAA 0x55用于同步类型1字节区分温度、湿度、控制指令等长度1字节数据段长度数据N字节校验CRC16的高字节和低字节接收端按照这个格式解析校验不通过直接丢弃不解析不响应。看起来很简单但这一层校验能救你命。实际环境中LoRa信道虽然不是特别容易丢包但偶尔一个干扰帧、一个半包是常有的事没有校验的协议很容易出现“明明收到数据了但内容全乱”的情况。6. 常见问题排查速查我在调试中踩过的坑6.1 无线不通问题可能出在代码上LoRa硬件本身还没有复杂到经常出问题大多数“通信失败”案例问题都出在参数配置上。扩频因子Spreading FactorSX1268支持的取值范围是5~12。SF越大灵敏度越高通信距离越远但空中的传输时间越长速率越低。我常用SF7或SF9SF7速率高适合距离近SF9距离远但单包发送时间会拉长。带宽Bandwidth同样带宽越窄灵敏度越高但速率越低。125kHz是常用值兼顾速率和距离。编码率Coding Rate这是带纠错功能的4/5是常用配置。更强的纠错会牺牲速率。同步字Sync WordSX1268的默认值是0x12如果有多个网络共用一个频段需要用不同同步字来隔离子网确保不同网络之间互不干扰。还有一点容易忽略单次LoRa包长有限制SX1268在SF7 BW125设置下单包最大长度是255字节如果业务数据很长必须分包发送并在应用层做重组。6.2 上电没反应按这个清单一步一步查板子上电后MCU不工作是整个调试过程出现概率最高的故障也是排查流程最套路化的问题。先用万用表量3.3V是否正常再量MCU的VDD引脚有没有电压。然后量NRST复位引脚电压应该是高电平如果为低说明复位电路有问题检查上拉电阻和电容。再用示波器看8MHz晶振有没有起振幅度大约几百毫伏到1V的正弦波。如果没波形看电容是不是焊错、晶振本体有没有破损。接着查SWD接口如果仿真器能识别到芯片说明最小系统基本没问题如果识别不到量一下SWDIO和SWCLK的电压波形看信号有没有被拉死。最后检查BOOT0和BOOT1的引脚电平确认它们都是低电平。之前遇到过一个情况焊完板卡BOOT0默认被悬空了结果就读了内部Bootloader程序一直烧不进去。6.3 PCB制板回来发现丝印反了、焊盘不对怎么办打样之前一定要检查这几项一是板框尺寸和定位孔是否符合结构要求二是丝印是否有可能遮挡焊盘三是Mark点是否保留。最稳妥的办法是让板厂在出货前直接通过“生产稿预览”和你确认重点关注丝印层、阻焊层、助焊层这几层有没有异常。阻焊层如果开窗不对焊盘会被绿油盖上那板子就废了。还有一个小技巧假如你的原理图和PCB是不同EDA工具画的比如原理图用立创EDA、PCB用AD那在导入网表之后一定要用DRC全面检查一遍网络连接、器件封装、辅助规则都过一遍再投板。6.4 EDA工具选择立创EDA还是AD关于用什么EDA工具画图我给的答案永远是“哪个顺手用哪个关键是流程要跑通”。立创EDA的优势是云端免安装、有在线元件库、国内付费元件大部分都能直接找到而且和嘉立创打样无缝衔接快捷键也贴近国内习惯对新手极度友好。Altium Designer的优势是功能全、生态成熟、网上教程海量工作后很多公司还在用它。但上手门槛高一些电脑配置要求也高。Allegro是另一个选择主要是大公司高速板在用刚入行没太大必要一开始学它。毕设的话我强烈建议立创EDA。从画原理图到转PCB到导出Gerber一条龙下来比AD顺滑很多遇到问题查中文资料也方便。7. 一些关于毕设答辩和项目延展的思考硬件设计做到“能跑”不算完答辩时老师关注的往往是背后的逻辑为什么选这个方案、为什么选这些器件、某个参数为什么取这个值。这篇文章里所有设计决策的思路本质上是直接可以为答辩服务的素材。比如被问到“为什么用LoRa不用4G”时可以这样回答LoRa工作在免授权频段无通信费用功耗远低于4G而且可以通过电池供电实现长时间工作适合数据量小、分布范围广、不方便布线的应用场景。同样为什么温湿度传感器用电容式而不是电阻式为什么电源用DC-DC加LDO两级结构都是需要能讲清楚的问题。如果你后续想继续延展横向可以做网关一个ESP32板子外接LoRa模组同时连接Wi-Fi或以太网作为数据汇聚节点接入物联网云平台这样就把“端-边-云”的整条链路打通了。纵向可以往低功耗优化方向深挖用STM32L0系列替代F103使用RTOS配合LoRa模组做低功耗管理把整个节点的静态电流降到微安级别。这些都是很好的毕设加分项。我一直觉得硬件设计本身是一种很纯粹的工程乐趣你画下的每一条线、放下的每一个电容最后都会变成现实里物理世界顺畅运转的一部分。看到自己设计的板子能稳定收发数据、控制电磁阀动作的时刻那种满足感是看多少教程都代替不了的。