Iam使用嵌入式c通过读取图片16f73中的adc值来执行识别手势的项目。使用单个adc频道时一切正常。当我使用多个通道时,数值会相互影响。这是硬件错误还是软件问题?两个模拟通道在图片中相互影响
0
A
回答
1
也许吧。这很可能是一个或另一个,或两者兼而有之。将问题分解成一半。
一次消除一个。两个模拟输入的示波器/仪表。改变一个输入 - 另一个输入是否也改变了?如果是这样,至少有一个硬件问题。如果没有,它是软件。
这是调试101
1
这是一个硬件的影响,但不是一个错误。
11.1 A/d采集要求 为了使A/d转换器,以满足规定的精度, 电荷保持电容(CHOLD)必须允许 充满至所述输入通道电压电平。图11-2显示了 模拟输入模型。阻抗(RS)和内部采样开关(RSS) 阻抗的来源直接影响对电容器CHOLD充电 所需的时间。采样开关(RSS) 阻抗随器件电压(VDD)而变化,请参阅 图11-2。源阻抗影响模拟输入端的电压偏移 (由于引脚泄漏电流)。 模拟信号源的最大推荐阻抗为10kΩ。选择(更改)模拟输入通道 后,采集周期必须通过 ,然后才能开始转换。 要计算最小采集时间TACQ,请参见“PICmicro™中档单片机系列参考手册”(DS33023) 。但是,一般来说,给定10kΩ的最大源阻抗和100°C的温度 ,TACQ将不会超过16μs。
1
这可能是因为你有高阻抗源驱动所有的ADC引脚。当多路复用器从一个输入切换到下一个输入时,从前一个输入存储在ADC采样电容上的任何电荷将仍然存在。
如果您用合适的运算放大器的输出驱动每个输入,当ADC的多路复用器切换时,运算放大器能够驱动电荷充电或从采样电容中吸取电荷,以及新输入所需的时间正在读数可以大幅减少。另外,用这种方法,你不会加载你想要读取的电压。
如果你不能用低阻抗源驱动,那么确保你有足够的时间来处理新的输入值。
相关问题
- 1. AngularJS两款互相影响的手表
- 2. 两个互不相互影响的多层复选框系统
- 3. Magento 1.7 - 一个服务器中的两个magento互相影响
- 4. Python sys.path.append与模块互相影响
- 5. iBeacons是否互相影响?
- 6. JUnit测试互相影响
- 7. iPhone UISliders互相影响
- 8. Javascript变量相互影响
- 9. 多个线程组相互影响
- 10. iOS - 在两个滚动视图上使用TPKeyboardAvoiding,它们互相影响
- 11. 如何让两个片段在viewpager中相互沟通android
- 12. 两个利润率为什么相互影响?
- 13. 如何防止两个Manupulate函数相互影响?
- 14. 我需要两个互相影响的JTextFields
- 15. 两个兄弟组件如何互相影响?
- 16. 在Android模拟器中模拟相机图片中的SD卡
- 17. 它是一个通道OPS影响到另一个通道OPS
- 18. CSS图片都在互相
- 19. android输入字段互相影响
- 20. 互相影响的无关CSS ID
- 21. startMonitoringSignificantLocationChanges和startUpdatingLocation如何互相影响?
- 22. 独立规则是否互相影响?
- 23. serverSessionTimeout和wl.realm.expiration.XYZ会相互影响吗?
- 24. wxPython相互影响的滑块
- 25. 模拟两个相互反弹的圆圈
- 26. 协调中的单个微服务是否相互影响?
- 27. 互惠影响JComboBoxes
- 28. 对于Angular2,为什么两个页面(两个标签)具有相同的组件会相互影响?
- 29. ng-switch和ng-repeat在相同的元素上相互影响
- 30. 有没有一种快捷方法来防止两个单独的javascript/jquery相互冲突或相互影响?