Microchip
直播中

刘阳

7年用户 165经验值
私信 关注
[问答]

PIC16F1773 DAC错误

嘿,各位,我道歉,如果我的格式是关闭的,这是我的第一个帖子,但我保证我会变得更好!我使用PIC16F1773DAC输出从ADC读取的模拟信号。当我调试我的ADC正在读取正确的值+-2.5毫伏(如预期的10B ADC)。当我调试DAC时,寄存器具有正确的值(DAC5RIFH和DAC5ReFL)。我的DAC的测量输出大约在50-80mV之间。当我的输入更高时,情况似乎更糟。DAC仍然跟踪我的输入,但好像我的错误是巨大的。硬件:我有一个1UF电容到地面的DAC输出。我用DMM读取输出。PIC在5V上工作。我使用以下来初始化DAC:OptuthyRg=0B01010101;//WPU启用,在上升沿中断,TMR0=FoCC/4,TMR0增量在高到低,PSA TMR0启用,PS= 1:64。OSCCon=0B0111010;/PLL禁用,16MHz时钟,内部振荡器TrasiSc0=1;//设置为DACWPUCITS输入。WPUC0=0;DAC5CON0= 0B10100000;/DAC 5启用,右对齐,DAC5OUT1(C0)启用,DAC5OUT2禁用,DAC+VDD,DAC=AGNDTO输出I:DAC5RIFH=HCAPSOS>8;/HCAPOSMSb DAC5REFL=HCAPOS&0x00FF;//HCAPOS LSb DAC5LD=1;//传输到双缓冲区*在HCAPOS保存我测量的ADC值的地方。我在DAC上查找错误%有困难,但我假设在10bDAC上不会得到50mV错误。有人有什么想法吗?任何帮助都将非常感谢。干杯,Dane

回帖(5)

康永清

2019-10-21 12:35:50
在测量DAC输出电压之前,请确保程序或调试器断开。大多数设备具有通用DACOUT和ICSP报头引脚。此外,尝试将DACOUT从0倾斜到轨电压,并检查输出是否改变。
举报

陈衍暖

2019-10-21 12:43:45
什么是DAC输出电压在零的设置?(最小输出)和在0x3FF(最大输出)?也就是说,错误是否随着DAC寄存器中的更高的值或更高的电压电平而增加到ADC中?同样,误差是ADC输入的恒定电压差还是随着输入电压的增加而增加?ADC也使用VDD和Agnd作为POS和NEG引用吗?当DAC5REFH=0x00;DAC5REFL=0x00;我在输出处测量4mV。当DAC5REFH=0xFF;DAC5REFL=0xFF;我测量4.952VIf时,我使用4.952V作为正参考来计算步长,这些值看起来更好。我仍然在4V时得到21mA误差。DAC和ADC都使用相同的基准。误差随着电压增加而增加,并且是非线性的。我试过用ADC写具有计算值和测量值的DAC基准寄存器。我还查看了调试器中的两个寄存器。ADC工作得很好,只是DAC比它应该的低。我原本希望用这个设备在5V以内,但也许我需要使用一个不同的处理器或外部DAC。
举报

tijing忽忽

2019-10-21 13:03:24
你试过使用一个运算放大器(或外部放大器)来缓冲来自DAC的输出信号吗?
举报

肖舒

2019-10-21 13:13:15
确保这不仅仅是安顿时间。每张数据表规格DAC06,10位单位电阻为300欧姆,使总电阻为300 K+。1UF上限使RC时间常数为0.15s至0.33秒,任何额外的泄漏或浸入上限可能会增加额外的错误。这一部分具有将DAC直接连接到运算放大器内部的能力。运算放大器有一个内置的单位增益模式,你可以用来创建电压跟随器。您应该能够更好地测量DAC的DNL和INL。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分