基于ATmega8单片机的工频电压/频率仪设计

2022-03-24 09:24:19 | 浏览次数:

【摘要】介绍一种以AVR单片机ATmega8为核心,设计工频电压/频率仪。利用单片机ATmega8内部A/D转换功能测量电压,以内部定时计数器功能测量频率。用四位LED数码管作为电压/频率显示输出。本文对硬件电路和软件设计作比较详细的介绍。本设计硬件电路简单、性能稳定可靠、经济适用。

【关键词】ATmega8;A/D转换;电压;频率

1.引言

在电力生产和电气测试工作中,经常需要测量工频电压和频率。目前市面上工频电压表和频率表种类繁多,本设计与其相比具有电路简单、体积小、功耗低、性价比高等特点。利用低价位具备AVR高档单片机性能的ATmega8单片机,设计工频电压和频率两用测量仪。ATmega8单片机除了有A/D转换和定时计数器功能外,其内部的模拟比较器在测量频率电路中省了测量过零电路;I/O端口20mA驱动能力直接驱动LED数码管,省了驱动电路。使整个硬件电路非常简单。

2.硬件设计

基于ATmega8单片机工频电压/频率仪设计硬件电路如图1所示。以单片机为核心,加上少量的外部元件构成。

图1 工频电压/频率仪电路图

图1中:T1是电源变压器和电压互感器两用器件(电压互感器有变比精度要求),提供测量仪运行电源,并兼做为被测输入源使用;AD1、C1是电源整流滤波电路元件;U1是三端稳压器件;C2、C6是+5V电源滤波电容;L1、C4、C5是测量电压用基准电压和模拟端电源解耦电路元件;DS是大尺寸低功耗LED数码管,与Rd1-Rd8构成测量结果显示电路;D1、D2、R1是测量频率输入波形整形电路元件;R2、R3、R4、C3是测量电压取样输入电路元件;R6、R7、LED2、LED3是测量频率或电压状态指示电路元件;R8、LED1是电源指示电路元件;E1(8MHz)晶体和两个20p的电容组成单片机运行所必须的时钟(保证测量频率的精度)。S1是测量电压/频率选择开关。

ATmega8单片机:

ATmega8是ATMEL公司AVR系列单片机。采用低功耗CMOS工艺生产的基于AVR RISC结构的8位单片机,大多数指令执行时间为单个周期。

1)内有10位精度的逐次逼近型ADC

ADC与一个8通道的模拟多路复用器连接,能对来自端口C的8路单端输入电压进行采样。单端电压输入以0V(GND)为基准。ADC包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定。ADC由AVCC引脚单独提供电源。AVCC与VCC之间的偏差不能超过±0.3V。器件之内有标称值为2.56V和AVCC基准电压。基准电压可以通过在AREF引脚上加一个电容进行解耦,以更好地抑制噪声。

2)16位定时器/计数器

16位的T/C可以实现精确的程序定时(事件管理)、波形产生和信号测量。其主要特点如下:真正的16位设计;2个独立的输出比较单元;双缓冲的输出比较寄存器;一个输入捕捉单元;输入捕捉噪声抑制器;比较匹配发生时清除寄存器(自动重载);无干扰脉冲,相位正确的PWM;可变的PWM周期;频率发生器;外部事件计数器。

3)片内模拟比较器

模拟比较器对正极AIN0的值与负极AIN1的值进行比较。当AIN0上的电压比负极AIN1上的电压要高时,模拟比较器的输出ACO即置位。比较器的输出可用来触发定时器/计数器1的输入捕捉功能。此外,比较器还可触发自己专有的、独立的中断。

AVR单片机的系统内可编程特性,无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发;同时也为单片机的初学者提供了非常方便和简捷的学习开发环境。而且在省电性能、稳定性、抗干扰性以及灵活性方面考虑得更加周全和完善。ATmega8单片机与其它单片机比较而言,简便易用、费用低,相对进入AVR系列单片机开发的门槛也低,软件资源丰富,程序容易开发。由于Atmega8单片机是常用芯片,本文对其特性、内部结构、引脚说明等不做介绍。

3.ATmega8程序的设计

ATmega8芯片是ATMEL(爱特梅尔)公司的AVR系列单片机。ATMEL公司网站提供AVR Studio集成环境(IDE)开发软件免费下载。本固件程序采用开发软件汇编编译并烧写。

3.1 主程序

程序主要由初始化程序、数据处理程序(包括各种计算子程序)、LED位显示程序(包括LED显示刷新和字形码查表)、中断处理程序等模块组成。

主程序流程如图2所示。程序首先对系统初始化。初始化程序流程为:设置堆栈地址——初始化定时器(含显示和测频率计数器)——A/D转换初始化——存储器及寄存器初始化。接下来进入主程序闭合循环体,在循环体中不断检查电压/频率选择开关状态。如开关为合的状态,程序检查A/D转换是否完成。并对A/D转换做相应操作。如开关为断的状态,程序启动测量频率计数器工作,并允许计数器中断产生。然后无论电压/频率选择开关状态,都进入显示数据更新检查,并对LED显示做相应操作。程序最后对LED显示(4位轮流)进行刷新。完成后循环重新开始。

图2 主程序流程图

3.2 中断程序

本主程设置2个中断源。分别是LED显示扫描定时中断和频率测量计数器中断。为了保证频率测量精度,设置计数器中断优先级为最高。LED显示扫描由定时器0产生中断后做显示扫描标志。频率测量计数器由模拟比较器产生中断后,读取16位定时器计数值并保存(数据由主程序处理),并设置数据更新标志。程序处理流程如图3所示。

图3 中断处理流程图

4.结束语

基于ATmega8单片机工频电压/频率仪硬件电路简单、性能稳定可靠、经济适用,能满足一般的测量精度要求。

参考文献

[1]于正林等.AVR单片机原理及应用[M].北京:国防工业出版社,2009.

[2]Atmel.8-bit Microcontroller with of ATmega8[M].San Jose:Atmel Corporation,2010.

[3]Atmel.ADC on an AVR[M].San Jose:Atmel Corpo-ration,2006.

推荐访问: 单片机 电压 频率 设计 ATmega8