atmega16单片机ad如何实现对路ad转换

我现在想做一个电压短路检测控制板,用的单片机是atmega16,我想用ad转换来检测是否有短路,如果有就把数据发给串口,但是现在的问题是我不晓得怎么做才能8路ad都可以转换,我仔细的想了一下,具体就是先转换ain1,把数据存到变量里,然后再转换ain2,把数据存到变量里,等第8路转换完成后 就在主函数里面判断是否由短路的电压值出现,如果出现就把这个电压值发送给串口,这是我的思路,感觉有一点笨拙,希望大手帮忙改进一下!

第1个回答  2013-10-18
一个8路的AD很可能是要轮流工作的,这样做挺好。

但你用AD检测是否短路?恐怕不好。你可以搜搜别人怎么检测短路的,应该不会用普通的AD。追问

这是我的图纸,con10

就是我8串电池接过来的接口,

追答

短路时会检测到电压为0;开路时电压也为0。感觉不好判断短路还是开路。

第2个回答  2013-10-17
想知道,你是如何进行短路的检测的。

你意思是测电压,短路电压为0,开路电压又为另一值?
第3个回答  2013-10-17
很好的思路
avr的单片机本来就很笨,不能同时转换多路的,所以有时候笨办法才是最好的办法追问

我知道是不能转换多路的啊,但是我觉得我这个方法有点欠缺, 希望大神们帮忙改进一下

追答

只能依次转换的,别无他法。
倒是判断短路的方法可能有很多种,用8路AD未必是最好的办法。

追问

哦?愿闻其详

追答

这个我没法帮你呀,取决于你的具体工作对象和要求呀

追问

你就告诉我思路就行,我现在用单片机接到电池保护板上,然后我要检测是否有电压短路的现象!希望您能帮到我

追答

不知道你的具体要求呀,电压短路我也不知道是啥意思。
不知道用比较器可以不?avr也有的

本回答被提问者采纳
相似回答