发新帖我要提问
12
返回列表
打印

Atmega32a冬天室外工作异常?

[复制链接]
楼主: nngogogo
手机看帖
扫描二维码
随时随地手机跟帖
21
明月小厨| | 2012-12-31 10:31 | 只看该作者 回帖奖励 |倒序浏览
有的设计考虑不周,本身就有缺陷,只是处于临界的状态正好没有爆露;
但低温让他们显原形了;

数字电路部分通常能顶住;但模拟部分就不好说了;

使用特权

评论回复
22
nngogogo|  楼主 | 2012-12-31 11:38 | 只看该作者
明月小厨 发表于 2012-12-31 10:31
有的设计考虑不周,本身就有缺陷,只是处于临界的状态正好没有爆露;
但低温让他们显原形了;
数字电路部分通常 ...

我是用的SPI接口连接的ADS1118
每200ms读取上次转换结果,并开始下次数据采集

  do
  {
  ADC_dat[0] = SPI_MasterTransmit(ADC_cmd[0]);
  ADC_dat[1] = SPI_MasterTransmit(ADC_cmd[1]);
  ADC_dat[2] = SPI_MasterTransmit(ADC_cmd[0]);
  ADC_dat[3] = SPI_MasterTransmit(ADC_cmd[1]);
  }
  while(ADC_dat[3] & 0x01);

由于ADC温度降低一直没有完成转换 所以程序卡在了这个while循环里

我用示波器测试了一下,在室内温度的时候可以看到接口大概5次/秒转换,但是一旦放在户外,温度降低,ADC的转换时间就不对了,从示波器上就可以看到明显某一个采集时间拖长;当温度继续降低,一直无法完成转换,就一直在do-while里了;当不断电再次拿到屋内,温度上升慢慢就正常了。

我觉得这个应该是ADC芯片的原因,不知是否可以这样认为?

使用特权

评论回复
23
明月小厨| | 2012-12-31 11:56 | 只看该作者
ADC就二块,一个是采样,这个肯定没问题;
第二个就是比较;比较需要一个类似DAC的东西,一次次DAC后再比较;
楼主有位大虾说了,问题有可能是DAC的驱动时钟不行了;

使用特权

评论回复
24
nngogogo|  楼主 | 2013-1-3 20:09 | 只看该作者
明月小厨 发表于 2012-12-31 11:56
ADC就二块,一个是采样,这个肯定没问题;
第二个就是比较;比较需要一个类似DAC的东西,一次次DAC后再比较;
楼 ...

那不是还是ADC的问题了。。。 ADC内部的东西也控制不了呀。。。

使用特权

评论回复
25
明月小厨| | 2013-1-3 21:10 | 只看该作者
用加热法判断是哪个器件出问题了;
1)先冻起来
2)用烙铁靠近你怀疑的对象再看看效果;

使用特权

评论回复
26
明月小厨| | 2013-1-3 21:11 | 只看该作者
我有怀疑你整个芯片都出问题了;系统时钟正常不?

使用特权

评论回复
27
nngogogo|  楼主 | 2013-9-24 20:36 | 只看该作者
明月小厨 发表于 2013-1-3 21:11
我有怀疑你整个芯片都出问题了;系统时钟正常不?

感谢您的热心回复 不好意思未能及时答复您
后来经过确认是芯片设计的bug  在判断转换完成这里while(ADC_dat[3] & 0x01); 判断一次转换完成的
当温度低下来,实际一次转换完成了 但是此为未能按照相关说明置位

使用特权

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

本版积分规则