打印

几百个开关量信号如何接入单片机进行检测?

[复制链接]
9876|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
红金龙吸味|  楼主 | 2009-10-18 17:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有一个系统,可能需要检测几百个(>300)开关量信号
请教各位,采用什么样的思路可以完成?
想了几天了,没啥头绪,希望各位大侠给点思路,谢谢咯
用模拟开关?

相关帖子

沙发
autuy123| | 2009-10-18 21:55 | 只看该作者
弄个通讯总线什么的
估计可以的

用多个检测单元做

使用特权

评论回复
板凳
原野之狼| | 2009-10-18 23:06 | 只看该作者
用IO扩展,然后扫描就是了。

使用特权

评论回复
地板
李冬发| | 2009-10-18 23:19 | 只看该作者
信号线多长?
要是长:用分布式IO;
要是短:用矩阵。

使用特权

评论回复
5
红金龙吸味|  楼主 | 2009-10-19 08:21 | 只看该作者
所有传感器分布在5m*5m的范围内。
现在初步想法是用模拟开关+595 或者是165级联。

使用特权

评论回复
6
李冬发| | 2009-10-20 20:19 | 只看该作者
千万别用模拟开关

使用特权

评论回复
7
Wxy8030| | 2009-10-20 21:22 | 只看该作者
to 楼上:为什么不能用模拟开关?

使用特权

评论回复
8
tcc8073| | 2009-10-21 05:56 | 只看该作者
模拟开关抗干扰能力差,同时候也会带来干扰,这样系统就很不稳定

使用特权

评论回复
9
emailli| | 2009-10-21 08:39 | 只看该作者
5m*5m的范围内,已经很大了。用595肯定会出现不稳定的情况的。还是多点获取用通信总线上传比较好。

当然,这个还要看你这个检测时间的要求。

使用特权

评论回复
10
tjcao| | 2009-10-21 08:49 | 只看该作者
找个PLC配一下就行了

使用特权

评论回复
11
zcbc| | 2009-10-21 08:59 | 只看该作者
用SPI连74HC165.我就这么做的。

使用特权

评论回复
12
冷漠| | 2009-10-21 12:32 | 只看该作者
很简单的事:接口一片8279可以检测64/128个互相绝缘的开关。300个开关?一个8051外扩3/6个8279就搞定了。非常标准的设计,(不是什么技巧)以前的单片机接口实验书上硬软件都有。芯片商早就想到了这类应用。

使用特权

评论回复
13
Wxy8030| | 2009-10-21 13:34 | 只看该作者
8279太老且贵!

还不如用89C51直接串起来用呢,串口通信,IO组成键盘矩阵,一个89C51可以接224个绝缘开关量!

使用特权

评论回复
14
xwj| | 2009-10-21 14:37 | 只看该作者
移位+ IO即可,就算用开关也应该用数字开关(门、数据选择器),而不应该用模拟开关

使用特权

评论回复
15
红金龙吸味|  楼主 | 2009-10-21 14:47 | 只看该作者
价格不算太大的问题,关键是这么多的开关量如何稳定可靠有效的检测到。
12L 可否详细讲解一下。谢谢。

to 13L
这些传感器分布在一定空间范围内,除了电源2根线之外,输出只有一根线,输出的是高低电平。
I/O口矩阵键盘如何组?为何是224个?能否指点一下迷津。

使用特权

评论回复
16
宇容创行| | 2009-10-21 15:04 | 只看该作者
13 楼教你用16×14 ,另外两个io连串口
你这种共地的信号,可以用光耦隔离,再接入扫描,就是连线实在太多

用165,布线方便

使用特权

评论回复
17
Wxy8030| | 2009-10-21 17:14 | 只看该作者
能否请 李冬发、 tcc8073、 xwj 几位兄弟解释一下,为什么模拟开关比数字开关差?

使用特权

评论回复
18
红金龙吸味|  楼主 | 2009-10-21 17:15 | 只看该作者
请教 XWJ
移位+I/O 是不是就是采用并入串出移位寄存器,如74HC165?

使用特权

评论回复
19
xwj| | 2009-10-21 17:19 | 只看该作者
嗯,
可以并入串出移位寄存器做输入,
也可以串入并出移位寄存器做输出,
还可以综合起来运用...

使用特权

评论回复
20
冷漠| | 2009-10-21 20:20 | 只看该作者
本帖最后由 冷漠 于 2009-10-21 20:28 编辑

13楼说的有道理。关键是硬件上节省的是看得见的钱,花费的看不见的是软件工时,也就是没有把软件程序员的脑力劳动的价值计算进去。一个软件程序员一天的工作价值至少是300RMB,(一大半被老板剥削了。)2个8279不过50RMB而已(没必要为老板省钱,做出来还软件没有硬件可靠。)。我买的17RMB/片。而且开关状态检测完全依靠芯片内部硬件扫描,中断通知开关状态改变事件,软件连扫描、通信程序都不需要,检测300个开关基本没什么工作量。如果熟悉硬件,看得懂手册(8279手册上或者书上都有实际电路和实验程序。)软件一星期够了?

如果用2个89c51矩阵接口300个开关,再主从通信,属于偏重纯软件扫描、检测、通信方案了。一般人没有一个月行吗?尤其是通信,又是一个台阶。如果以前没做过,当作学习课题还可以。
如果是投入市场要和别人竞争的产品,最基本的设计要求,就是可靠+可靠。“能用硬件的地方绝不用软件。”   这个项目至少5,000RMB? 哪有什么为了省一、二十元,用软件代替硬件的方案?自己给自己找麻烦。省下经费来能给自己涨工资?自己是老板都不会这么干。

最重要的正如16楼LZ所说:“价格不算太大的问题,关键是这么多的开关量如何稳定可靠有效的检测到。”  呵呵,稳定,可靠,有效,只有硬件芯片做得到。软件是智力产品,要可靠就更贵重。

使用特权

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

本版积分规则

19

主题

229

帖子

13

粉丝