AD7705 采用SP I Q SP I兼容的三线串行接口,能够方便地与各种微控制器和DSP 连接, 也比并行接口方式大大节省了CPU的 I O口。那么AD7705与51单片机的数字电压表是怎么表示的我们一起来看看。
摘要:在比赛中我们通过 A/D 芯片(AD7705)对外部电压值 进行采集, 经转换后传输给单片机 (89C52) , 使用液晶 (1602) 输出测量得到的电压值。该实验板可以测量不同增益下对应 范围的电压值,并使部分量程下精确度理论上达到 8 增益。 对于-20~20V,增益值为 1。在拓展中,我们根据闭合电路欧 姆定律,改进程序及实验板,使之能够测量电流、电阻,同 时能对短路状态做出检测。
总设计流程图方案比较
本次比赛基础要求设计量程为 0-5V,精确度至少为 0.02V 的电压表。根据精确度计算公式:精确度=量程/2^n(n 为 ADC 的位数) ,结合扩展的 25V,做出以下方案比较:
方案一:使用 STC12C51 进行模数转换,但由于其内置 ADC 精度 不够(8 位) ,勉强能够满足基础要求,但无法达到扩展要求。 故舍弃此方案。
方案二:ADC 选用 AD7705,单片机采用 89C52,使用 AD780 提 供基准电压。16 位 AD 处理 25V 时精度为 0.0004。同时使用继电 器完成自动量程转换,但由于电路的复杂程度和比赛时间,最终 我们没有做此扩展。
1、供电电压选取
由于实验要求使用 A/D 测量 0~5V 电压, 使用 DC Power Supply 提供外部供电电压,或以 USB 接口给系统上电,经过 AD780 芯 片,对 A/D 输入适合工作的基准电压,为 AD7705、单片机提供 稳定的 2.5V 工作电压。
2、AD7705 对模拟量的采集及转换(测量电压)
(1)AD7705 为 16 位双极性模数转换器,它包括一个Σ -Δ (或 电荷平衡)ADC、片内带静态 RAM 的校准微控制器、时钟 振荡器、数字滤波器和一个双向串行通信端口。该器件的电 源电流仅为 320μ A,使得它理想地用于电池供电的仪器中。 器件具有两种可选电源电压范围分别是 2.7~3.3V 或 4.75~ 5.25V。它具有高精度校准、测量的能力,适应电压表的精 度要求。
(2)设计实验板共有 5 个量程,分别为: -200mV~200mV -2~2V -20~20V -200~200V -500~500V 对应增益值为 8 对应增益值为 1 对应增益值为 1 对应增益值为 1 对应增益值为 1
(3)实验通过开关使不同阻值分压电阻接入电路来改变电压表量程。开关抬起有效。如图连接 A/D 与单片机,对 A/D 进行初始 化, 设置为双极性、 无缓冲、 增益为 1、 滤波器不工作、 自校准、 更新速率为 20Hz 的状态。通过编译的读、写程序,完成 A/D 对 外部模拟量的采集和处理,并将数据传送给单片机。
3、单片机数据处理(直流电压)
(1)本作品设计有五个电压档位。在程序中我们通过设置 switch 语句实现对不同档位的选取和控制,AD 转换后的数 据被传输至单片机中对应档位的数据处理函数, 单片机根据 相应档位的参数设置将数据处理还原为真实电压值, 并转换 为可被液晶读取的 2 进制形式。
(2)测量直流电压的公式为: 电压真值=数据 V/增益值*对应的档位参数
4、1602 液晶显示器
(1)对 1602 进行初始化,设置相关功能。
1602 液晶初始化程序:
显示器模块原理图:
(2)关于显示正负号及小数点,本次显示 000.00000 精度
(3)关于数据处理之后的输出,将经过单片机处理得到的数 据 V 发送至 1602 液晶,通过 display 函数(部分程序如下) ,实 现液晶对数据的显示。同时设计保护数据,当测得数据大于档位 上限时,系统输出档位上限值。
void display() (部分程序)
{
chardisp[9]=“12345678”;
disp[0]= (v/10000000)+0x30; v%=10000000; disp
[1]= (v/1000000)+0x30; v%=1000000;disp
[2]= (v/100000)+0x30; v%=100000; disp
[3]= (v/10000)+0x30; v%=10000; disp
[ 4]= (v/1000)+0x30; v%=1000;disp
[5]= (v/100)+0x30; v%=100; disp
[6]= (v/10)+0x30; v%=10;disp
[7]= (v/1)+0x30;
……
扩展部分
1、电流测量
m利用闭合电路欧姆定律,在测电压的基础上可以实现对电流 的测量。实验中共有五个档位,分别为: -2~2mA -20~20mA -200~200mA -2~2A -15~15A 对应增益值为 8 对应增益值为 8 对应增益值为 8 对应增益值为 8 对应增益值为 1
对于电流数据的处理,将 AD 采集到的数据 v 输入单片机后, 根据计算公式对 v 进行处理,以第一档程序举例:
其中对数据处理的公式为: 电流真值=数据/增益值*对应的档位参数
2、电阻测量
(1)本次比赛的电阻测量在说明中并没有,我们组为了充分 利用 AD7705 资源、 锻炼组员的能力, 额外做了电阻测量和短 路检测的拓展。
(2)电阻测量的原理为:根据闭合电路欧姆定律 R=U/I,由 于前两步已完成对电压与电流的测量,所以此处只需要在数 据处理时,使用某档位电压/对应档位流过待测电阻的电流值 即可。
(3)电阻测量的档位及对应增益值 0~20Ω 0~200Ω 0~2kΩ 0~20kΩ 0~200kΩ 0~2MΩ 0~100MΩ 对应增益值为 2 对应增益值为 2 对应增益值为 2 对应增益值为 2 对应增益值为 2 对应增益值为 2 对应增益值为 1
(4)电阻测量的数据处理(20Ω 档为例)
电阻测量的数据处理公式为: U/Rx=2.5/(Rx+Ro) Ro:相应电阻档的已知串联电阻 3、短路检测 在 P2.5 连接蜂鸣器系统,当表笔两端电阻小于 15Ω 时,P2.5 赋低电平,蜂鸣器工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)