芯知识学堂SingleYork 今天的付出,是为了明天更好的享受! http://www.ickey.cc/group-show-id-6.html关注有惊喜!
获得 349 次赞
帮助过549人
1、485多机通信的时候,每个从机是需要设置唯一一个地址的,不知道楼主有没有给每个从机分配一个地址;2、每个从机在接收到主机发来的数据时,需要校验地址,看是不是发给自己的,如果地址不是自己的,就不要做应答,否则,如果同时有多个从机在应答,那么总线就会有冲突;3、从机只有在应答的时候,才会处理发送状态,其他时刻都应该设置成接收状态,并且在应答完成后,要等待很小的一段时间,再将状态设置成接受状态,目的就是为了让最后一个停止位发送出去;综上,楼主的硬件应该没有问题,关键应该在软件处理上,最大的可能就是没有做地址校验,造成了两个从机同时应答,从而出现了通信错误……
直流的话还是比较好弄,测出电压、电流、电阻中的三个值中的两个就可以计算出来,交流的话就不好弄了,最好用专门的芯片来做,或者买专门的变送器,人家功率什么的都给你换算成了0-5V、0-10V、4-20MA的模拟量输出,或者有些直接是带通信接口的,这样就省去了不少事。当然,如果你是学习研究的话,可以看下这家的芯片:http://www.ireader-opto.com/Products/rn8208gdxj.html,还是挺不错的,厂家有技术支持和DEMO。
直接用单片机的外部中断口就可以实现了,每来一个中断做个计数,同时可以用定时器来精确定时,这样就可以准确得到单位时间内的脉冲个数了,通过公式换算,从而就可以准确的计算出流量……
工业上常用的基本都是拨码开关,便宜又好用……如你所说最大只需要256-512,那么用一个9位的拨码开关就OK了,也就几块钱的事情……做工控产品的话,应该也不差这几块钱,最主要是使用方便……当然,也有很多人不喜欢用这种二进制的,直接用十进制的拨码开关,像下面这种,不过这种一般是装在面板上的不会直接焊板子上: