基于msp430单片机的交流电压测量设计_第1页
基于msp430单片机的交流电压测量设计_第2页
基于msp430单片机的交流电压测量设计_第3页
基于msp430单片机的交流电压测量设计_第4页
基于msp430单片机的交流电压测量设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 MSP430 单片机的交流电压测量设计 东南大学 仪器科学与工程学院 许欢 摘要摘要:在单片机的一些测量中,有时候需要我们直接测量交流信号,现介绍一种基于 msp430 单片机实现的交流电压的测量方法。 关键字关键字:MSP430 单片机,交流电压,测量,中断 日常生活及学习中,我们一般需要之间测量交流信号,测量交流信号的方法有很多,而 在应用单片机的测量中,我们常常用来测量直流电压,现在将介绍一种基于 msp430 单片 机实现的交流电压的测量方法。 系统的构成主要分硬件设计和软件设计两块来介绍。 硬件设计硬件设计: 为了保证硬件电路设计的通用性,采用单级性电压测量的方法,将输入的双极性电压转 换成单级性电压进行测量。整个电路主要包括极性转换电路和输入处理电路。其中,极性 转换电路主要由放大电路实现,在此我采用 MCP601 放大芯片。 MCP601 芯片芯片:(Microchip 公司的一款高性能的放大芯片) 如图所示,该芯片共有 8 个管脚, Vcc 管脚:电源管脚 GND 管脚:接地管脚 VIN-管脚:负输入端管脚 VIN+管脚:正输入端管脚 OUT 管脚:输出管脚 极性转换电路设计极性转换电路设计: 在进行 A/D 转换时,我们一般会采用芯片的工作电压作为 A/D 转换的参考电压。由于一般 芯片的工作电压都为正电压,而我们在这里要测量交流电压,所以要对输入的交流信号进 行极性转换,将双极性变成单级性。下图为极性转换电路: 在极性转换电路中,ADOUT 为输出信号。输出信号是在输入信号 ADIN 的基础上叠加了 一个直流分量,调节上面的 Vref 的值就可以改变直流分量的值。如果调节 Vref 使直流分 量的值为 1.5V,并且此时输入信号是幅值为 1.5V 的交流正弦信号,那么输出信号就为最 大值为 3V,最小值为 0V 的单级性正弦信号。在极性转换电路基础上我们将很容易设计出 我们要的输入电路。 输入处理电路:输入处理电路: 在极性转换电路基础上,输入处理电路需要将 220V 的交流电压信号变为幅值为 1.5V 左右 的交流信号,此外,还需要为 MCP601 提供适当的参考电压信号。电路如下图所示: 从所设计的电路中我们可以得到,首先通过变压器将 220V 的交流电压降成 8V 的交流电压, 再经过极性转换电路将双极性的交流电压转换为单级性的交流电压。电路中的 R405 电位 器主要用于调节参考电压,R404 电位器用于调节交流输入电压的幅度。经过上面电路的处 理,可以将输入的交流电压转换成 03V 的单级性交流电压,这样很容易使用 MSP430 单 片机自带的 A/D 转换通道进行模拟量采集,从而实现交流电压的测量。 在上面的电路中,电压采用 3V 供电,电源芯片采用 TPS76030,实现电路如下图所示: 单片机电路如下图所示: 整个电路如下图: 软件设计:软件设计: 对于交流采集,需要在 1 个工频周期内采集 40 个点,即时间间隔为 500us,时间间隔 采用定时器实现。整个程序主要包括初始化程序和采集程序。 初始化程序主要是设置 A/D 采集通道和定时器 A,采集程序主要是通过定时器来实现 每间隔 500us 采集 1 次。采集程序使用定时器中断服务程序实现,在定时器中断里读出数 据,当采集完 40 个点的数据后,设置一个标志通知主程序已经采集完 40 个点的数据,主 程序通过全局的数据缓冲区与定时器中断服务程序实现数据的交互。 单片机程序设计:(根据单片机程序设计:(根据 TI 公司所给软件的例程改编得到)公司所给软件的例程改编得到) #include char nADC_Flag; int nADC_Count; int ADC_BUF40; void Init_CLK(void); void Init_ADC(void); void Init_TimerA(void); void Init_ADC(void) /设置设置 P6.0 为模拟输入通道为模拟输入通道 P6SEL = 0X01; /设置设置 ENC 为为 0,从而修改,从而修改 ADC12 寄存器的值寄存器的值 ADC12CTL0 /设置参考电压分别为设置参考电压分别为 AVSS 和和 AVCC,输入通道为,输入通道为 A0 ADC12MCTL0 = INCH_0 + EOS; /转换的起始地址为:转换的起始地址为:ADCMEM0 ADC12CTL1 = 0X00; ADC12CTL1 += CSTARTADD_0; /采样脉冲由采用定时器产生采样脉冲由采用定时器产生 ADC12CTL1 += SHP; /转换模式为:多通道、多次转换转换模式为:多通道、多次转换 ADC12CTL1 += CONSEQ_1; /内部时钟源内部时钟源 ADC12CTL1 += ADC12SSEL_0; /时钟分频为时钟分频为 1 ADC12CTL1 += ADC12DIV_0; ADC12CTL0 += 8 * 0x100; ADC12CTL0 += MSC; ADC12CTL0 += ADC12ON; ADC12IE = 0; /关闭各个通道的转换中断关闭各个通道的转换中断 ADC12IE |= 0X00; /使能使能 ADC 转换转换 ADC12CTL0 |= ENC; return; void Init_TimerA(void) / 选择选择 SMCLK,清除,清除 TAR TACTL = TASSEL1 + TACLR; / 1/8 SMCLK TACTL += ID1; TACTL += ID0; / CCR0 中断允许中断允许 CCTL0 = CCIE; / 时间间隔为时间间隔为 500us CCR0 = 500; / 增记数模式增记数模式 TACTL |= MC0; return; void Init_CLK(void) unsigned int i; BCSCTL1 = 0X00;/将寄存器的内容清零将寄存器的内容清零 /XT2 震荡器开启震荡器开启 /LFTX1 工作在低频模式工作在低频模式 /ACLK 的分频因子为的分频因子为 1 do IFG1 / 清除清除 OSCFault 标志标志 for (i = 0x20; i 0; i-); while (IFG1 / 如果如果 OSCFault =1 BCSCTL2 = 0X00;/将寄存器的内容清零将寄存器的内容清零 BCSCTL2 += SELM1;/MCLK 的时钟源为的时钟源为 TX2CLK,分频因子为,分频因子为 1 BCSCTL2 += SELS;/SMCLK 的时钟源为的时钟源为 TX2CLK,分频因子为,分频因子为 1 interrupt TIMERA0_VECTOR void TimerA_ISR(void) int results; / 关闭转换关闭转换 ADC12CTL0 / 读出转换结果读出转换结果 results = ADC12MEM0; ADC_BUFnADC_Count = results; / 计数器加计数器加 1 nADC_Count += 1; / 采集完采集完 40 个点个点 if(nADC_Count = 40) / 设置标志设置标志 nADC_Flag = 1; / 计数器清计数器清 0 nADC_Count = 0; / 开启转换开启转换 ADC12CTL0 |= ENC + ADC12SC; void main(void) int ADC_BUF_Temp40; int i; / 关闭看门狗关闭看门狗 WDTCTL = WDTPW + WDTHOLD; / 关闭中断关闭中断 _DINT(); / 初始化初始化 Init_CLK(); Init_ADC(); Init_TimerA(); / 打开中断打开中断 _EINT(); / 循环处理循环处理 for(;) if(nADC_Flag = 1) nADC_Flag = 0; for(i = 0;i 40;i+) ADC_BUF_Tempi = ADC_BUFi; 小结:本设计想法采用 MSP430 单片机实现交流电压得采集测量。主要通过介绍交流电压 的极性转换电路、输入处理电路以及采用定时器中断服务程序进行交流电压数据的采集。 由于本人水平有限,此方法比较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论