OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4312|回复: 8

用STM32单片机检测开关量信号电路,20元微信红包或电话费求助

[复制链接]

3

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2014-5-16
在线时间
99 小时
发表于 2017-1-7 14:48:33 | 显示全部楼层 |阅读模式
1金钱
现有两种信号状态,第一种状态有信号为12V,无信号为悬空,第二种状态有信号为地无信号为悬空:
  
  
有效信号
无效信号
第一种
12V
悬空或GND
第二种
GND
悬空或12V
现在需要用一个电路检测这两种信号状态,单片机可用两个IO  一个IO可以选择检测的是第一种还是第二种,另一个IO能检测出使有效信号还是无效信号.
M4T$PBCSO}0MIQR6}JE4~WK.png
我设计如图电路,LIN_30为输入信号,CON_30为控制选择检测哪种信号状态,IN_30为单片机检测端,现在的电路问题是CON_30由单片机控制,当单片机输出高电平时是3.3V,图腾柱输出2.6V左右,达不到驱动光耦的条件,而由于信号为为多路信号,对bom面积有要求,不知道有大家有没有更好的方法检测,小弟奉上20元微信红包或者电话费

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2017-1-7 15:30:35 | 显示全部楼层
设备安装的时候能确定用哪种方式吧。设计2种电路不久好了,为何执着用一个电路呢
我有故事,你有酒吗
回复

使用道具 举报

3

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2014-5-16
在线时间
99 小时
 楼主| 发表于 2017-1-7 15:40:12 | 显示全部楼层
来俩不甜的 发表于 2017-1-7 15:30
设备安装的时候能确定用哪种方式吧。设计2种电路不久好了,为何执着用一个电路呢

好多路信号,并且每个现场信号都不确定,设计两种电路三十几个信号,全部分开成单个模块,bom面积太大了
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2017-1-7 15:45:56 | 显示全部楼层
这2种信号一个正接一个反接,必须有2个电路。一个3段拨码开关2个电阻1个光耦就可以了,没那么多元件
我有故事,你有酒吗
回复

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1814
金钱
1814
注册时间
2011-10-9
在线时间
230 小时
发表于 2017-1-7 16:49:47 | 显示全部楼层
12V的信号 用电阻分压成5V的信号   然后经过一个74HC04   反向    另一个不反向          不可以么
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2017-1-7 19:58:09 | 显示全部楼层
本帖最后由 jinggx 于 2017-1-7 20:00 编辑

我帮你画了个图,很简单的电路就可以实现,如下:
无标题.png


原理
第一种情况:IO_CON设置为悬空输入状态,则IO_DET被R2下拉到地,在IN端无12V信号或者接地时,IO_DET为低电平的状态不会改变,当IN有12V信号时,R1与R2分压使IO_DET检测到高电平;
第二种情况:IO_CON设置为推挽输出状态并设置输出为高电平,R3与R2分压会使IO_DET为高电平,无信号或者IN为12V都不会改变IO_DET为高电平的状态,当IN为地时,二极管D1会令IO_DET变为低电平;

3.3V稳压二极D2与D3为保护IO用,当输入信号远超充许的范围时,依然能保证IO不被损坏,如果IN的输入信号不会有异常,则D2与D3可以不用。
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2017-1-10 11:09:19 | 显示全部楼层
楼主的问题解决了,人就消失了!红包呢?
回复

使用道具 举报

3

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2014-5-16
在线时间
99 小时
 楼主| 发表于 2017-1-13 08:57:05 | 显示全部楼层
jinggx 发表于 2017-1-10 11:09
楼主的问题解决了,人就消失了!红包呢?

不好意思,还没解决,我的信号需要过光耦,因为12V信号,在无信号的时候可能会有0.几到2V多的干扰,这几天出差没有看论坛,再找找办法,如果没有好办法只能用1楼的办法了
回复

使用道具 举报

3

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2014-5-16
在线时间
99 小时
 楼主| 发表于 2017-1-23 09:34:17 | 显示全部楼层
来俩不甜的 发表于 2017-1-7 15:45
这2种信号一个正接一个反接,必须有2个电路。一个3段拨码开关2个电阻1个光耦就可以了,没那么多元件

你好,请给我一个联系方式,由于最后bom面积需要选择了你的这个方案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-1 02:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表