尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

五伏信号怎样安全送进三点三伏输入?看懂两只电阻分压

五伏信号怎样安全送进三点三伏输入?看懂两只电阻分压 五伏信号怎样安全送进三点三伏输入看懂两只电阻分压本文为教学接线与设计预期尚无实物测量记录使用 NUCLEO-F030R8。问题五伏开发板输出只有高和低能直接接三点三伏单片机吗不能只看它是否读到一。这里选不能当五伏输入用的 PA 零脚先把高电平降到三伏再送进去。五伏电源不能直接接这只输入脚。物件动作小熊拿着五伏包裹从五伏板的数字二脚走到分叉路口。先经过十千欧尺子再看到十五千欧尺子通向地。小熊用探针量路口只剩三伏举起绿旗告诉芯片这是高电平。两把尺子对应两只真实电阻。真实连接回到电路五伏板的数字二脚先接十千欧电阻另一端是分压节点接单片机板的 A 零也就是 PA 零。节点再经十五千欧电阻接公共地。两块板的地相连各自正常供电。本例只接单向、低速数字信号不接负载。原因与结果高电平来时两只电阻串成到地的路径。节点电压等于五伏乘下面的十五再除以两只相加的二十五算得三伏。低电平来时节点接近零伏。三伏是送给输入脚的信号不是开发板的供电。验证先断电核对数字二脚、十千欧、节点、十五千欧、地的顺序。上电后让五伏板分别输出低和高用万用表量 PA 零对地设计预期约零伏与三伏。示波器可同时量电阻前和节点。三伏是理想计算不是实测。边界高电平会让两只电阻持续流过约零点二毫安。高频边沿还会受引脚电容和线路影响不能代替高速或双向转换器。若五伏板在单片机断电时仍输出须另查反灌风险不按本图热插。有些脚耐五伏不代表所有脚都耐五伏。先认清五伏信号不要拿‘能读到’当安全证明本文只讨论一根单向低速数字信号Arduino UNO R3 的 D2 输出高时约 5 V低时约 0 V接收板是 ST NUCLEO-F030R8目标引脚是其 Arduino A0 对应的 PA0。Arduino A000066 官方数据表给出 D2 为数字 GPIOIOREF 接五伏ST 板卡手册给出 A0/PA0 映射。STM32F030R8 数据手册把 PA0 列为 TTa 类型而不是可直接按 FT 五伏容忍脚使用。数据手册还给出芯片工作供电范围 2.43.6 V。UNO 的五伏高电平与 STM32 板的三点三伏供电不是同一件事不能因为程序偶然读出高就认定直连对引脚长期安全。一个更直观的画法是小熊手拿写着五伏的包裹从 Arduino D2 门口走到两把电阻尺。上方的十千欧尺子挡在信号源与路口之间下方的十五千欧尺子从路口通到地。小熊拿探针量路口举绿旗告诉芯片‘这里约三伏’。回到电路路口是两只电阻的中点也是 PA0 输入节点尺子是真实的 R1/R2包裹是输入高电平绿旗是程序判成高的结果。卡通动作不代表电压凭空消失有电流经过串联电阻两个电阻各承担一部分电压。一根线拆成哪几段Arduino UNO R3 的 D2 先接 R110 kΩ 一端R1 另一端与 R215 kΩ 的上端以及 NUCLEO CN8 A0/PA0 三者汇成同一个节点。R2 下端接 NUCLEO CN6 GND。UNO 的 GND 也要接到同一个公共地否则所谓‘五伏’和‘三伏’没有共同的测量参考。两块开发板按各自规定独立供电本图没有把 UNO 的五伏电源端接 PA0 或接到 STM32 板上 3.3 V 输出。画面中只有这几根实际导线和两只电阻从探针到节点的高亮是测量提示不是一根额外电源线。上电前先断电用欧姆档辨认 10 kΩ、15 kΩ核查串联顺序确认 R2 真正回到地。若把 R2 漏接PA0 会悬空若把 R1/R2 接反理想高电平变为 5×10/252 V可能无法可靠被识别为高。若错误地把节点接到模块的五伏供电脚而绕开 R1分压保护就不存在。任何改线都应先断电避免跳线扫过旁边引脚。从五伏算到三伏再算电流高电平且 PA0 作为高阻输入时两只电阻串联承受五伏理想电流是 5 V÷(10 kΩ15 kΩ)0.2 mA。R2 上的电压也就是 PA0 对地的节点电压等于 0.2 mA×15 kΩ3.0 V直接写作 5×15/(1015)3 也相同。R1 上约掉 2 V。输入变为零伏时节点经 R2 被拉近地理想结果约零伏。这两个数只由本例电阻与输入值推得尚无实物测量不写成‘测得稳定三伏’。真实电阻有公差模块高电平未必精确 5.000 VPA0 有漏电和输入电容。静态电压须用万用表复核动态边沿应用示波器或逻辑分析仪两个仪器通道共地并分别观察 R1 前端与中点。数据手册里的引脚绝对最大额定值不是正常工作目标也不是允许把任何五伏直接接到任何脚上的通用许可。本例为正常供电条件下的教学分压示意电阻值不能不经目标设备核算就复制到其他板卡。正常、异常、边界分别怎样验收正常测试先让模块 SIG 输出低记录信号源端和 PA0 节点对共同地的电压再输出高预期源端约五伏、节点约三伏程序输入由低变高。若源端高而节点不高先查 R1 是否开路、R2 是否错值、地线是否缺失若节点接近五伏立刻断电检查是否绕过 R1 或 R2 开路。不要靠提高电压‘试到能读’。如果程序中的引脚被配置成输出而与外部模块对驱也可能损坏器件PA0 必须配置为输入。分压器会在高电平时持续耗电并且与输入电容、布线电容构成一个低通效应变化特别快时中点不一定跟得上。它不能处理双向通信也不适合作为未知线长、高速总线或安全隔离方案。若外部模块比开发板更早上电、开发板断电时 SIG 仍高要依据具体器件的注入电流与上电时序另行评估不能凭此图热插。若换成真正五伏容忍的引脚也要按该型号、该功能模式及供电状态重查资料‘某些脚可以’绝不等于‘所有脚可以’。本例从头到尾未得到实测波形视频标注的电压是设计计算值。逐线接线清单Arduino UNO R3 D2 数字输出 → R1 10 kΩ 上端仅单向低速信号不是供电脚R1 10 kΩ 下端 → 分压节点上臂到节点分压节点 → NUCLEO CN8 A0/PA0 数字输入只读这个节点输入不带外部负载分压节点 → R2 15 kΩ 上端下臂起点R2 15 kΩ 下端 → NUCLEO CN6 GND下臂回地Arduino UNO R3 GND → NUCLEO CN6 GND两侧共同参考地万用表或示波器探头可选 → PA0 分压节点与公共 GND读数待实测图中只示设计预期计算与实施边界ST UM1724 的 NUCLEO-F030R8 Arduino A0 对应 PA0ST STM32F030R8 数据手册的 PA0 为 TTa 引脚不把它当作 FT 五伏容忍脚Arduino UNO R3 A000066 官方数据表说明 D2 是数字 GPIO、逻辑参考 IOREF 连 5 V本例 D2 交替输出高低STM32F030R8 的主供电工作范围为 2.4–3.6 V本例开发板 3.3 V 工作理想分压 5 V×15 kΩ/(10 kΩ15 kΩ)3.0 V两电阻高电平电流为 5 V/25 kΩ0.2 mA均不含电阻公差与输入漏电本例只讨论两侧均正常供电的单向低速数字信号断电反灌、快速边沿和双向总线需另外评估不冒称实测这些参数和数值是本例选择或可复算计算实际测量前应先检查电源极性、公共地、元件额定值、仪器探头连接。完整可运行的核心算例与验收以下 C11 程序可在电脑上用 C 编译器单独编译运行用来复算状态或数值它不是已配置 GPIO、ADC、定时器和驱动的开发板固件。移植到实板时应按前述接线配置外设、检查读取错误并另做实测。#includestdio.h/* 仅复算无负载理想分压不是可烧录的 GPIO 初始化程序。 */staticdoublenode_voltage(doubleinput,doubleupper,doublelower){returninput*lower/(upperlower);}intmain(void){printf(high %.2f V, low %.2f V\n,node_voltage(5.0,10000.0,15000.0),node_voltage(0.0,10000.0,15000.0));printf(high-state divider current %.3f mA\n,5.0/25000.0*1000.0);return0;}验收时同时记录输入、关键节点电压或波形、程序输出若发现传感器通信失败、输入超出允许范围或波形明显异常应停止并排查。官方资料https://www.st.com/resource/en/user_manual/um1724-.pdfhttps://www.st.com/resource/en/datasheet/stm32f030r8.pdfhttps://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf
返回列表