打印

79F085/165 Ad问题

[复制链接]
3772|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chl51|  楼主 | 2010-12-6 14:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用这个芯片打算搞个温控。热电藕输入。数据手册PGA输入要求0.4-2V的共模电压。放大后输出0.4-1.6V, ADC 参考电压0.1-1.2V,又没有办法使用内部的2。7V做参考?为什么放大后的电压这么小?版主能不能详细给解释一下?
沙发
bananarer| | 2010-12-7 09:09 | 只看该作者




1.79f165是应用在小信号放大系统的,输入信号只能这么大,内建参考电源就是从2.7V分压得到的,不能采用2.7V

2.请应用计算公式,设定你的参考电压和Gain的值,ADC输出码=AINx*Gain/Vref*32768

3.就热电偶应用而言,参考电压建议采用外接,如TL431分压得到。因热电偶无法与Vref同源,Vref的温飘很难解决。需要得到ADC的高精度输出最好外接。

4.热电偶输出范围大,一般最大输出接近100mV,因此PGA增益设定12.5倍即可,AINx*Gain小于VrefADC输出才不会溢出。

5.请从网站下载“SH79F165应用指南”,可以指导您了解IC

使用特权

评论回复
板凳
chl51|  楼主 | 2010-12-8 13:51 | 只看该作者
本帖最后由 chl51 于 2010-12-8 13:56 编辑

谢谢版主回复
void        InitialADC()
{        
        REGCON  = 0x01;                        //开启内部2.7V稳压电源
        PGAM    =0x94;              //放大25倍,消波控制器频率1K
        ADCON        =0x01;                        //Bin(10000000);        启动ADC模块,内部参考电压, Ain1为输入
        //ADT=0xEB;                                //ADC=100Hz
        ADT     =0xAD;                        //ADC=50Hz
        ADCH        =0x8A;                        //Bin(00001010);  P1.5和1.6口用于AIN1         参考电压为0.5V
        ADCON        |=0x80;                        //Bin(10000000);        开始ADC转换
        EADC        = 1;                        //允许ADC中断
}
总中断EA开启。采用中断读取。为什么不能进中断?通过串口读上的数为0200ff?而且不变化。

使用特权

评论回复
地板
chl51|  楼主 | 2010-12-8 13:54 | 只看该作者
本帖最后由 chl51 于 2010-12-9 10:44 编辑

运行程序后,输入共模电压1.3V左右,差模电压0.365mv,但是11脚vin-和12脚vin+,共模电压1.3V左右,但差模电压155mV好像有些不对,Vref引脚0.508V

使用特权

评论回复
5
chl51|  楼主 | 2010-12-8 14:20 | 只看该作者
//**************************ADC中断程序,读取温度值**************************
void ADC() interrupt 6        using 2
{
// unsigned long data ADCData;
        //ADCON&=0xB1;                                                //清中断标志寄存器
        ADCData=ADDH;                                                //
        ADCData=ADCData*256;                                //
        ADCData=ADCData+ADDM;                                //
        ADCData=ADCData*16;                                        //
        ADCData=ADCData+ADDL;                                //       
        ADCON&=0xBF;                                                //清中断标志寄存器
}

使用特权

评论回复
6
bananarer| | 2010-12-8 17:33 | 只看该作者
不好意思,要明天回答你了,这个要看一下

使用特权

评论回复
7
chl51|  楼主 | 2010-12-9 09:54 | 只看该作者
谢谢

使用特权

评论回复
8
bananarer| | 2010-12-10 09:45 | 只看该作者
1.两个子程序没有问题,中断应该能发生的,你可以采用查询中断标准ADCIF是否有产生?
2.文中描述有误,Vin+/-不是11脚和12脚,就关于应用建议如下:
(1).用万用表测量是否VDDR=2.7V,VREF=0.5V
(2).差分输入后经PGA放大的测量确定:(Vin+/-)=(Ain1+/-)*25,也就是VIN等于0.365mV*25=9.125mV,ADC输出码值应该很小.
(3).UART通信是否正常,波特率是否用示波器测量确定过?

使用特权

评论回复
9
lzslzk| | 2013-1-7 11:33 | 只看该作者
设定你的参考电压和Gain的值,ADC输出码=(AINx*Gain/Vref)*32768
32768应该不对吧

使用特权

评论回复
10
lzslzk| | 2013-1-7 11:34 | 只看该作者
资料:ADC data = ((VIN+) - (VIN-)) / VREF * 500000 ,  500000也不知道是怎么来的

使用特权

评论回复
11
ygs123456| | 2013-1-8 10:31 | 只看该作者
我们用过这个芯片,需要软件修正误差。

使用特权

评论回复
12
luchen66| | 2022-10-26 09:44 | 只看该作者
我这用SH79F085,打开AD的增益PGA,无论设置什么内容,都会导致仿真器断开报错问题??朋友你的165遇到过吗

使用特权

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

本版积分规则

3

主题

13

帖子

1

粉丝