求助关于ADS1232的复位使用问题

2020-01-27 11:29发布

请教各位大虾:
有谁玩过ADS1232?我现在有个问题,每次复位后,读数都不一样,比如这次复位后,读数是123.47,传感器不动,读数不变,但是关掉电源,传感器维持现状,重新启动后,读数就是145.35,每次重新复位后,就变了,主芯片是STC10F08XE,看了网上的ADS1232使用笔记,说是在复位后,设置参数前(GAIN,SPEED等参数),要将PDWN置低,然后设置参数,参数设置好后,然后将PDWN拉高,这样就好了,但是我的板子GAIN,SPEED这些参数都是由板子固定的,就是直接接地了,并不用我代码设置,此时如何复位呢?我在复位后,用代码先将PDWN置低,然后延时一段时间,再将PDWN拉高,无效。
急,谢谢!

部分原理图如下,ADS1232只有PDWN,DOUT,SCLK是连接在单片机芯片上由自己控制的。

ADS1232部分原理图 (原文件名:ADS1232.jpg)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
43条回答
hxf1978
1楼-- · 2020-01-29 12:18
兄弟,问题已经解决了,就是机子开机时要做做一次自校正就可以了,即发26个脉冲让芯片完成偏移校正,资料上有。
hxf1978
2楼-- · 2020-01-29 14:08
回复【13楼】hxf1978
-----------------------------------------------------------------------

ads1232使用笔记纯属误导。另外ads1232资料上给的信息也不够明确,估计还会有很多人在这里栽跟头。
liuxing7851
3楼-- · 2020-01-29 19:48
 精彩回答 2  元偷偷看……
aidby2004
4楼-- · 2020-01-30 00:42
回复【楼主位】liuxing7851
-----------------------------------------------------------------------

兄弟!能否请教你个问题啊!
你用的 是什么传感器啊?
我用的力值采集的传感器  按ADS1232的文档里面是编码是偏移二级制编码:
0x7f 和0x80  可以用来判断方向
力值传感器拉的时候最高八位是0x7f的话,那么压的时候就应该是0x80
但是我现在采集的得到的最高八位的值分别是0x00和0xff
这是何故啊?
难道是读函数的问题?
能否把你的读函数程序分享下啊?
我采用的是STC12C5A60S2单片机
以下是我的读程序
uchar ReadAdcData()
{
        uchar i=0;
        uchar Data=0x00;       
        for(i=0;i<8;i++)
        {
                Data<<=1;       
                Sclk=1;
                if(Dout==1)                {Data=Data+1;}       
                Sclk=0;       
        }
        Sclk=1;
        Sclk=0;
        return(Data);       
}
hxf1978
5楼-- · 2020-01-30 06:34
0x80表示负数,即24位最高位如果是1,表示是负数。反之,最高位是0则表示是正数,资料上有。

读数完全取决于你的输入电压。参考电压如果为5V,则测量范围为正负2.5V  

0xffxxxx表示负的比较小的数,0x00xxxx表示是正的较小的数,说明你很可能没有输入电压
hxf1978
6楼-- · 2020-01-30 12:21
回复【17楼】hxf1978
-----------------------------------------------------------------------

此外,你的程序里面好像没有寻找ADC输出管脚下降沿的动作,那样才能开始输入时钟信号,adc芯片才输出数据,不然,结果肯定错。不知道是不是你的寻找下降沿的动作在别的地方?

一周热门 更多>