淮南师范学院电气信息工程学院自动化专业proteus课程设计
DA电路:DA电路采用的是电阻加IO口的方式,输出的形式是电流信号,输出电流越大输出电压越高。详细信息已在R-2R阶梯DA中介绍。Atmega8 的输出引脚可以提供10mA电流,但注意这时已经出现了电压衰减。我们将使用 0-5V整个输出范围,所以输出端的负载要小于1mA。换而言之我们会采用 5K和 10K电阻来实现一个 R-2R阶梯电路此电路最大优点:高速、低价、易于与微控制器连接。非常适合本设计使用。
图3.2.5 DA转换
- 10 -
淮南师范学院电气信息工程学院自动化专业proteus课程设计
3.2.6 电压采样电路
电压采样电路,这个是对输出的电压采样.反馈到单片机内部,控制DA达到输出电压的稳定,因为负载加重或变轻会使输出电压升高或变低.有这个必要加上这个采样电路。同样M8的PC0端口设置了电流采样电路,电流采样是采用负端电阻采样,这样采样的电压比较低,能直接送到单片机中处理,采样的电压越高,说明电流越大。可以在单片机中设置过流保护。
3.2.7 完整的电路原理图
图3.2.6 电压采样电路
- 11 -
淮南师范学院电气信息工程学院自动化专业proteus课程设计
图 3.2.7 电路原理图
电路原理分析:从左向右看,系统输入采用普通笔记本电源(19V左右),首先经过7812产生12V电压给7805供电产生系统工作电压+5V,与此同时,系统输入与7812并联给功率三极管提供工作电压。左下角是ATmega8的10位R-2R阶梯,最高产生5V的DAC输出,经过一个PNP和NPN的电压放大组合,可以放大6倍左右,电压放大器电路的系数为:Vampl= (R10 + R11)/R11。然后再次经过三极管BD137,此三极管作用就是一个电压跟随器用来放大电流驱动功率三极管工作,因为DAC本身输出电流较小无法驱动功率三极管。右下角为显示跟按键输入部分,接入ATmega8的PB0-PB7双向IO口。
- 12 -
淮南师范学院电气信息工程学院自动化专业proteus课程设计
第四章 软件系统的设计
4.1 主程序逻辑流程
1) 从中断任务中拷贝最后的 ADC 结果
2) 将想要的相应 ADC 值拷贝到比如一个中断任务能使用的变量 3) 清 LCD显示
4) 将电压值写入显示部分
5) 检查中断任务是否可以调节电压或电流(电压限定起控) 6) 把安培值写入显示
7) 检查中断任务是否可以调节电压或电流(电流限定起控)
8) 检查是否有按钮被按下,如果没有则等待 100 毫秒再检查。如果 按钮被按下,那么等待200 毫秒。这是为了有一个好的响应——如果按钮被持续按下时不致于滚动过快。
9) 回到第一步。
中断任务:
1) 将 ADC结果拷贝至变量
2) 在电流和电压间切换 ADC 测量通道
3) 检查是否测量到过流,若过流则立即将 DAC 设为一个很小的值 4) 检查电压电流是否需要调节
5) 根据4)的结果检查确定是否需要更新 DAC(数模转换器)
程序采用ICC AVR C语言编写,程序主要由主程序、A/D转换程序、输出电压调控程序、 键盘处理程序、 数码显示程序、E E P RO M读写程序等部分组成。各程序的组成及功能见附表。
- 13 -
淮南师范学院电气信息工程学院自动化专业proteus课程设计
第五章 PROTUES 仿真调试
仿真数据分析:图中可以看出设定输出电压20V,实际显示19.99V,输出端电压表测得输出电压20.5V。ATmega8 DAC输出端电压表测得输出电压+4.6V,经过电压放大网络再减去三极管BE管脚压降应在22V左右,实际电压表测试得到22.5V。
图5.1 Protues仿真
- 14 -
万用表课程设计



