打印

单片机IO怎么检测外部输入的(9~30V)高电压?

[复制链接]
5436|61
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lyzjhzdz 于 2019-6-3 21:43 编辑

单片机工作电压是3.3V。现在要通过单片机IO口对外部PLC输入的电压范围9~30V 电压判断出是高电平(1)做出相应动作,对低于9V以下电压判断出低电平(0)做出另一动作。9~30V 电压跟单片机电路不同电源供电。要知道9~30V输入电压是否还要外部地也要输入跟单片机系统地相连 ?因为不同供电电源是否要对输入电压隔离?因为输入电压超出了单片机工作3.3V电压是否要电阻分压,可电阻分压不一定很准,由于电阻受温度 变化分压值会漂移,这样不能和准的做出判断?下图是IO 结构图。感觉有点乱,没有很清晰思维。大家帮我出出主意。谢谢!

无标题.png (32.44 KB )

无标题.png

使用特权

评论回复

相关帖子

沙发
lyzjhzdz|  楼主 | 2019-6-3 21:50 | 只看该作者
也想用比较器,可是电源不是同一电源能 比较吗?

使用特权

评论回复
板凳
yanwen217| | 2019-6-3 22:02 | 只看该作者
lyzjhzdz 发表于 2019-6-3 21:50
也想用比较器,可是电源不是同一电源能 比较吗?

两个电源是否是共地的?如果共地就用比较器比较即可,将9~30V电压用电阻分压下,比如分压到0.9V~3V,比较器就设定0.9V的参考基准做比较,比较器用与MCU相同的工作电压

使用特权

评论回复
地板
lyzjhzdz|  楼主 | 2019-6-3 22:29 | 只看该作者
yanwen217 发表于 2019-6-3 22:02
两个电源是否是共地的?如果共地就用比较器比较即可,将9~30V电压用电阻分压下,比如分压到0.9V~3V,比较 ...

不共地,这样是不是用光耦隔离比较好?

使用特权

评论回复
5
yanwen217| | 2019-6-3 22:43 | 只看该作者
lyzjhzdz 发表于 2019-6-3 22:29
不共地,这样是不是用光耦隔离比较好?

那就光耦隔离下在检测

使用特权

评论回复
6
lyzjhzdz|  楼主 | 2019-6-4 00:08 | 只看该作者
本帖最后由 lyzjhzdz 于 2019-6-4 00:12 编辑

现在初步隔离电路如图 不能确定 R1 和R2 的阻值,使R1 和R2分压的电压值在9V 以上使光耦导通,以下截至?

无标题.png (40.21 KB )

无标题.png

使用特权

评论回复
7
lyzjhzdz|  楼主 | 2019-6-4 10:31 | 只看该作者
上图分压是R1跟R2分压还是 R1跟R2并R3和发光管后分压?

使用特权

评论回复
8
maychang| | 2019-6-4 10:40 | 只看该作者
本帖最后由 maychang 于 2019-6-4 10:43 编辑
lyzjhzdz 发表于 2019-6-4 10:31
上图分压是R1跟R2分压还是 R1跟R2并R3和发光管后分压?

是 R1跟R2并R3和发光管后分压。
但需要注意:发光管的电压-电流关系是非线性的,绝对不能当成一个电阻看待。
通常,这样的非线性元件,只能用作曲线图的方法来解。当然也可以通过计算解决,但非常麻烦,需要迭代多次。另外一个办法就是仿真,但仿真模型若建立不当,也会出错。

使用特权

评论回复
9
lyzjhzdz|  楼主 | 2019-6-4 10:51 | 只看该作者
本帖最后由 lyzjhzdz 于 2019-6-4 10:53 编辑
maychang 发表于 2019-6-4 10:40
是 R1跟R2并R3和发光管后分压。
但需要注意:发光管的电压-电流关系是非线性的,绝对不能当成一个电阻看待 ...

谢谢老师,这电路可行吗?按你说的好像比较麻烦,这样好像给自己找坑

使用特权

评论回复
10
maychang| | 2019-6-4 11:03 | 只看该作者
lyzjhzdz 发表于 2019-6-4 10:51
谢谢老师,这电路可行吗?按你说的好像比较麻烦,这样好像给自己找坑

电阻分压才是给自己找坑。
你本来是要一个非常强的非线性电路:高于9V动作。现在用电阻分压,那就接近线性而不是强非线性了。

你的要求是:“对外部PLC输入的电压范围9~30V 电压判断出是高电平(1)做出相应动作,对低于9V以下电压判断出低电平(0)做出另一动作”

光耦一次压降大约1.1V,和光耦串联一支7.5V或者8.2V的稳压管,再串联限流电阻,即可实现大约9V光耦动作。

使用特权

评论回复
11
lyzjhzdz|  楼主 | 2019-6-4 11:17 | 只看该作者
本帖最后由 lyzjhzdz 于 2019-6-4 11:21 编辑
maychang 发表于 2019-6-4 10:40
是 R1跟R2并R3和发光管后分压。
但需要注意:发光管的电压-电流关系是非线性的,绝对不能当成一个电阻看待 ...

老师 可以把电阻分压去掉,直接R1连接到发光二极管上(把R2 和R3去掉)如下图的光耦IF和副边的饱和电压图是不是只有把R1电阻增大到是IF电流很少比如 R1为200K  二极管压降是1.2V 这样IF=(9-1.2)/200K=0.039MA  ,副边饱和时IC=(3.3-0.4)/5.1K=0.56MA,IC>IF*CRT没有达到饱和状态IO检测电压低于0.7V  IO 口认为是低电平。但不能保证高于9V IO端能否检测到高电压?

无标题1.png (56.41 KB )

无标题1.png

使用特权

评论回复
12
maychang| | 2019-6-4 11:20 | 只看该作者
lyzjhzdz 发表于 2019-6-4 11:17
老师 可以把电阻分压去掉,直接R1连接到发光二极管上(把R2 和R3去掉)如下图的光耦IF和副边的饱和电压图 ...

画出图并且贴出来吧。“如下图”我没有找到。

使用特权

评论回复
13
hensonman| | 2019-6-4 11:22 | 只看该作者
如果你是要用在量产的产品上的话,我会建议你,再加一级三极管在光耦输入端,增加开关特性。

使用特权

评论回复
14
lyzjhzdz|  楼主 | 2019-6-4 11:34 | 只看该作者
本帖最后由 lyzjhzdz 于 2019-6-4 11:38 编辑
maychang 发表于 2019-6-4 11:03
电阻分压才是给自己找坑。
你本来是要一个非常强的非线性电路:高于9V动作。现在用电阻分压,那就接近线 ...

老师 按你说的 图改成如下

无标题2.png (21.99 KB )

无标题2.png

使用特权

评论回复
15
maychang| | 2019-6-4 11:50 | 只看该作者
lyzjhzdz 发表于 2019-6-4 11:34
老师 按你说的 图改成如下

没有查到LTV-817的datasheet,不知道该光耦一次允许通过多大电流。
R1可能太小。R1必须保证VCCIN在最大值即30V时,光耦一次(发光管侧)不能损坏。

使用特权

评论回复
16
叶春勇| | 2019-6-4 12:11 | 只看该作者
用这个试试。

电压检测器.png (58.48 KB )

电压检测器.png

使用特权

评论回复
17
lyzjhzdz|  楼主 | 2019-6-4 12:43 | 只看该作者
本帖最后由 lyzjhzdz 于 2019-6-4 12:44 编辑
maychang 发表于 2019-6-4 11:50
没有查到LTV-817的datasheet,不知道该光耦一次允许通过多大电流。
R1可能太小。R1必须保证VCCIN在最大 ...

不知道怎么上传datasheet   https://www.alldatasheetcn.com/datasheet-pdf/pdf/86744/LITEON/LTV817.html 这里可以找到老师上图按照你说的改的可以吗?

使用特权

评论回复
18
maychang| | 2019-6-4 12:45 | 只看该作者
lyzjhzdz 发表于 2019-6-4 12:43
不知道怎么上传datasheet   https://www.alldatasheetcn.com/datasheet-pdf/pdf/86744/LITEON/LTV817.html ...

既然你有该光耦datasheet,难道你不会查该光耦一次允许多大电流?

使用特权

评论回复
19
lyzjhzdz|  楼主 | 2019-6-4 12:48 | 只看该作者
hensonman 发表于 2019-6-4 11:22
如果你是要用在量产的产品上的话,我会建议你,再加一级三极管在光耦输入端,增加开关特性。 ...

老师,你说的不是很懂,想象不出你说的相应电路?

使用特权

评论回复
20
lyzjhzdz|  楼主 | 2019-6-4 12:55 | 只看该作者
maychang 发表于 2019-6-4 11:50
没有查到LTV-817的datasheet,不知道该光耦一次允许通过多大电流。
R1可能太小。R1必须保证VCCIN在最大 ...

IF最大是50MA   如按30V 输入  减去7.5V 稳压值 还有22.5V 电压 减去 1.2V 压降 得出IF=213MA 是太大了,R1电阻值不个,可是如按照输入是9v是 减去7.5V  和减去1.2V 后是剩0.3V  再除于100欧IF=3MA ,如果增大R1值 对于9V输入IF会很小。这样副边会线性工作,iO 口可能检测不到高电压?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

336

帖子

8

粉丝