打印

请教关于DA0832电压输出问题

[复制链接]
4016|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 guofan1943 于 2011-6-10 16:40 编辑



如图所示:将DA0832的Iout1引脚接运算放大器的反向输入端,Iout2接运算放大器的同向输入端,然后再接地,运算放大器的输出端接DA0832的RFB引脚,DA0832接成直通方式,5V供电,VREF引脚接5V,运算放大器用的是LM324。
问题1:按上述方式连接,在数字输入端全是1时;运算放大器的输出端输出的电压却是0.62V,为什么不是5V呢? 在接成电流输出形式时,将DA0832的Iout1引脚接一个LED,用单片机编了一个程序,使DA0832的数字量逐渐减小,在程序运行时,LED的亮度也随之降低,在接成电压输出形式时,运算放大器输出的0.62V电压也随之减小。

相关帖子

沙发
guofan1943|  楼主 | 2011-6-11 08:34 | 只看该作者
这个放大器我该怎么连接呢?

使用特权

评论回复
板凳
dqyubsh| | 2011-6-11 13:18 | 只看该作者
你先上图,看你怎么接的,程序怎么写的。

你说把它直通方式,莫非/WR也接地了?你看下手册,是不是内部有锁存器的,如果有,/WR的上升沿才能锁存数据线信号,即,/WR必须有跳变才行。

这跟DAC0800是不一样的,这个才叫直通。

使用特权

评论回复
地板
guofan1943|  楼主 | 2011-6-14 12:38 | 只看该作者
本帖最后由 guofan1943 于 2011-6-14 12:42 编辑

如图及程序
刚开始用的是LM324或LM358,后来看PDF上说,得用LF357,现在用LF357,连接如下图,供电后LF357的输出端只是3.7V,而且也不随着DAC0832的数字端的变化而变化,可以说根本不受DAC0832的控制,去掉DAC0832后,LF357的输出端仍是3.7V左右。不知道是怎么回事,请各位朋友指点一下。
程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P1^0;
uchar code table[]={0xff,0xef,0xcf,0xaf,0x8f,0x4f,
0x2f,0x00};
uchar num;
void delay(uint z)
{
     uint i,j;
     for(i=z;i>0;i--)
     for(j=110;j>0;j--);
}
void init()
{
   P2=0xff;
   num=0;
   wr=0;
}
void main()
{
      init();
      while(1)
      {
         num++;
         if(num==8)
            num=0;
         P2=table[num];
         delay(1);
         wr=1;
         delay(1000);//此处延时一秒是 为了便于观察现象
         wr=0;   
        //while(1);
    }
}

使用特权

评论回复
5
dqyubsh| | 2011-6-14 13:33 | 只看该作者
这样简单的需求完全可以用DAC0800。他是直通的。

输出不变化,说明数据是没写进去。DAC0832有两级锁存器,第一级是8位数据输入锁存器,第二级是8位DAC锁存器,只有让两级锁存器都得到更新,输出结果才能更新。

你这种接法是手册的1.2节,图4,第二级缓冲直通,/WR1控制第一级,叫单缓冲输出。大致流程是:
{
/wr负跳变,高变低,数据更新
写数据到P口
可能的延时
/WR拉高,数据锁存到第一级
}
你的程序有问题。比较别扭的是,先数据更新,再数据锁存。感觉次序是反的,先更新的是上次锁存的数据。你试验一下。

手册1.3节讲到了直通方式,我觉得这个简单。ILE接5V,其它都接地,直接P口输出。应该相当于DAC0800。

使用特权

评论回复
6
guofan1943|  楼主 | 2011-6-14 16:51 | 只看该作者
如图:如果DAC0832的Iout2与LF357的正向输入端连接在一起,然后不接地,DAC0832按直通方式连接,DAC0832的输出端就能随数字端的变化而变化,DAC0832的数字端从0到0xff变化,输出端Iout1就从2v到3v之间变化,如果Iout2与LF357的正向输入端连接在一起,然后再接地,DAC0832的输出端就不随其数字端的变化而变化了,这时DAC0832的输出端Iout1总是3.6V,这是为什么呢?

使用特权

评论回复
7
dqyubsh| | 2011-6-14 21:27 | 只看该作者
手册中缺省的例子是双电源运放,你用的单电源运放。

使用特权

评论回复
8
guofan1943|  楼主 | 2011-6-15 14:35 | 只看该作者
问题已解决,我将Iout1与Vref反过来用,多谢指点。

使用特权

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

本版积分规则

116

主题

423

帖子

0

粉丝