基于MSP430单片机的交流电压测量设计

合集下载

430做7135万用表方案

430做7135万用表方案

一、设计目标:4 1/2万用表(19999), 最小分辨率6微伏,自动选择量程。

二、功能设计要求(量程范围):直流电压(DCV)―― 200 mV 2V 20V 200V 1000V交流电压(ACV)―― 200mV 2V 20V 200V 700V直流电流(DCA)―― 2mA 20mA 200mA 20A交流电流(ACA)――2mA 20mA 200mA电阻(OHM)――― 200 2K 20K 200K 2M20M三、主要芯片:MSP430FE42X四、操作方式:按键――DCV按键,ACV按键,DCA按键,ACA按键,OHM按键五、原理框图:当进行AD测量时,MSP430FE42X可以选择外部参考源,也可以选择内部参考源。

这里在测量电压和电流时,选择内部参考源1.25V,这样,当外部待测电压为0.625V 时,AD采样值为65535,当待测电压为-0.625时,AD采样值为0。

由于设计的最小量程为0.2V,故需要将其放大到0.625V,使其满量程,然后根据显示的位数进行转换即0-20000对应0-32767。

实际的最小分辨率是0.2/32767V=6微伏。

当待测电压大于0.2V时,必须进行分压处理,一般采用10倍的分压器,例如2V时降至0.2V等。

电压分压器如图1所示。

图1 电压分压器同样,在测量电流时,也要进行处理,使电流变为电压,然后才能测量。

电流的测量原理图如图2所示。

图2 电流分压器请注意,图2中右边的20A输入是直接接入的,当然也可以加上一个20A的保险丝。

以上是测量直流电压或直流电流的情况,当要测量交流电压或交流电流时,必须进行整流,整流电路如图3所示。

图3 交流整流电路AC/DC转换电路由同相放大器A1、整流管D2和D3、隔直电容C18和C19、平滑虑波器R22和C22等组成,R24是校准电阻器。

该电路可以得到输入正弦波的有效值。

D1用于减少非线性失真。

电阻的测量与电压和电流的测量不同,原理图如图4所示。

基于MSP430单片机的蓄电池电导测试仪设计

基于MSP430单片机的蓄电池电导测试仪设计
[4]侯建华.阀控密封铅酸蓄电池内阻构成与测试方法比对[J].通信电源技术,2013,30(4):69-71.
[5]刘险峰,倪洪权,杨海峰,等.基于直接采样相移法的蓄电池内阻测量[J].电池工业,2012,17(2):67-69.
[6]江国栋,邓荣.便携式蓄电池内阻测试仪的噪声抑制[J].电源技术,2013,37(1):97-99.
设计的测试信号产生电路如图3所示。采用MAX038产生频率可调的正弦波,采用MSP430F169单片机片内的D/A转换器输出直流电压控制MAX038输出信号的频率,采用MAX9711对MAX038输出的信号进行功率放大。
2.4差动放大和幅相检测电路
根据取样电阻和蓄电池上的电压和求得两者的幅度比和相位差即可求得蓄电池的等效内阻和等效电容。因为蓄电池的内阻一般在量级,的幅度一般较小,所以在幅相检测之前需要对和进行放大。本文采用仪用放大器AD8235对和进行放大,然后利用幅相检测芯片AD8302检测两者的幅度比和相位差,具体电路如图4所示。。
标签:铅酸蓄电池;电导测试仪;交流注入法;幅相检测;MSP430;AD8302;
铅酸蓄电池广泛应用于潜艇动力系统,蓄电池的正常与否直接影响到潜艇的安全航行及隐身性能。现在很多常规潜艇依然是工作人员通过滑车在蓄电池舱内用密度计测量电解液的比重借以判断蓄电池的剩余容量。这种测量方式读取速度慢、测量精度不高、而且蓄电池溶液腐蚀性较强,近距离测试影响人身健康。虽然蓄电池的电导测量不能判断蓄电池的剩余容量,但却可以快速有效地发现失效电池,对于战场抢修意义重大。本文采用MSP430单片机为主控单元,设计了一种蓄电池电导测试仪,该测试仪操作简单,测量速度快,数据自动保存,具有一定应用价值。
参考文献:
[1]黄炳诚.电导测试在蓄电池测试中的应用[J].动力与电气工程,2012,(3):123.

MSP430系列单片机16位ADC测试程序

MSP430系列单片机16位ADC测试程序
* 名 称:BT_ISR() BasicTimer 中断
* 功 能:1/16秒唤醒CPU一次。
* 入口参数:无
* 出口参数:无
****************************************************************************/
// W1 | |<----->| A1+ COM0-COM3|--->| 7.1Digit,4-Mux LCD |
// |_| | | +----------------------+
// +------->| A1- VREF |---+
以记录外部输入为0V和10.00V时,ADC2的实际读数,作为校准参考值。参
考《超低功耗电压表》程序。
本程序给出了多路ADC同时采样的程序处理方法,可供参考。
//=========================================================================
// 开启内部1.2V基准源, 开启缓冲器,ADC时钟选择为SMCLK/2(524KHz)
for (i = 0; i < 500; i++); // 略延迟,让基准电压稳定
SD16CCTL0 |= SD16DF+SD16GRP; // ADC0与ADC1编组,数据格式为有符号
{
while(ADC_Flag==0) LPM0; //CPU休眠,等待被采样结束唤醒
ADC_Flag=0;
ADC_Sum0+=ADC_Result0; //ADC0采样结果累加

基于MSP430G2553的电压表设计

基于MSP430G2553的电压表设计

数字式直流电压表一、整体说明在电子技术中,往往离不开对电压的测量,作为一种测量电压的仪器——电压表是近代电子技术领域的常用工具之一,在许多领域得到广泛应用。

本设计是基于TI 单片机设计的数字式直流电压表,它主要由MSP430G2553、LCD12864和分压电路三部分组成。

分压电路先将输入的电压信号衰减一定的倍数,后通过控制双路选择开关设定测量的量程,分别有0~3V 和0~15V 两个档,以便实现精确读数;分压处理后的电压信号由MSP430G2553内部的ADC10模块转换成数字信号;再通过LCD12864液晶屏进行串行显示。

经多次测量实验得出误差范围在2%以内。

二、原理图基于MSP430G2553单片机设计的数字式直流电压表的电路图如图1所示。

由于MSP430开发板已具备单片机最小系统结构,只需添加显示电路和分压电路。

LCD12864通过串口方式显示,只需占用单片机2个I/O 口;分压电路可以通过开关S1选择量程档位,只占用1个I/O 口。

三、接口定义MSP430G2553的接口说明如表1所示。

图1中的复位和晶振部分是MSP430开发板固有的部分,故不再说明。

P1.0接液晶屏的SID 脚,作为串行的数据口用;P1.1则接液晶屏的SCLK 脚,控制串行的同步时钟;P1.4接分压电路的输出端。

LCD12864的接口说明如表2所示。

当PSB 脚接低电平时,串口模式被选择。

在该模式下,只用2根线(SID 与SCLK )来完成数据传输。

RS 接高电平,不使用片选功能。

注意:信号源与单片机之间要共地。

图1 直流电压表电路图表1 MSP430G2553的接口说明表2 LCD12864的接口说明四、程序流程图(一)主函数主函数的流程框图如图1所示。

主函数主要是调用系统初始化函数和循环开启ADC 转换,这是由于ADC10采用单通道单次转换模式,每次采样后需要重新开启ADC ,才会进行下一次信号采样转换。

另外,信号的采样与处理以及电压值的显示都是通过中断来完成。

基于MSP430单片机的空间定向测试仪的设计与实现

基于MSP430单片机的空间定向测试仪的设计与实现

简指令集 ( R I S C)的混合信 号处理器 ,它 能针对实际应用
0 引 言
需求 ,将多个不 同功能的模拟 电路 、数字 电路 模块和微处 理器集成在一个芯片上 。因此 ,笔者研究 了如何 用MS P 4 3 0
空 间定 向测 试仪 是 一种 应 用非 常广 泛 的 电子测 量 仪 单片机控制 各模块 的接 口电路 ,并且 能够很好地应 用于实 器 ,尤其是伴 随着微 电子 技术 的发展 ,空间定 向测试 仪在 际 测 量 当 中 。
车辆 、舰船 、飞行器等导航 领域 中的应 用 E t 趋成熟 。本文 所研 究的空间定 向测试技术 主要是 以M S P 4 3 0 单片机为基础 的。因为MS P 4 3 0 系列单 片机是 一种 1 口的设计
2 ol 3. | 3
摘要 :伴 随着信息技术和计 算机技 术的快 速发展 ,如今数字信号处理技术 已经成 为现代科学发展的核心技术 。
再加 上不断成 熟的单片机技 术 ,使得 单片机在数字信号处理中有了更为广阔 的应用前景 。本文主要研究 的是 以 MS P 4 3 0 单片机 为主的空间定 向测试技术 。在设计 中实现 了基 于MS P 4 3 0 单片机的空间定 向测试 ,并且能够很好 地应用于 实际测量 当中 。 关键 词 :MS P 4 3 0 ;空间定 向测试仪 ;设计
L u Ya n
( Y a n c h e n g B r a n c h o f M e c h a t r o n i c T e c h n o l o g y ,J i a n g s u U n i o n T e c h n i c a l I n s t i t u t e Y a n c h e n g ,

采用MSP430单片机完成电池电量测量系统开题报告

采用MSP430单片机完成电池电量测量系统开题报告

$ $ 大学毕业设计开题报告学生姓名:学号:学院、系:专业:设计题目:指导教师:2012年3月7日毕业设计开题报告1.结合毕业设计情况,根据所查阅的文献资料,撰写2000字左右的文献综述:文献综述1、本课题研究基础锂离子电池是20世纪70年代以后发展起来的一种新型储能电池。

由于其具有高能量、寿命长、低能耗、无公害、无记忆效应以及自放电小、内阻小、性价比高、污染少等优点,锂离子电池在逐步应用中显示出巨大的优势,广泛应用于移动电话、笔记本电脑、摄像机、数码相机、电动汽车、储能、航天等领域[1]。

目前使用的各类电池中,锂离子电池(也称锂离子二次电池或锂离子蓄电池)是近十几年才发展起来的一种新型电源。

自20世纪90年代初日本索尼能源开发公司和加拿大莫里能源公司研制锂离子电池获得成功以来,一直是世界各国竞相研究开发和应用的热点[2]。

在第215届电化学会议中,新型电极材料仍是锂离子电池的研究热点之一,与传统正极材料LiMn204、LiCoO2、LiMnPO4相比,LiFePO4正极材料所特有的安全性能引起了人们的重视。

其中粘结剂作为非导电的活性材料在锂离子电池中的重要性开始逐渐被认识和接受。

美国劳伦斯伯克利国家实验室研究了电极循环性能与电极片机械能的关系,发现电极的机械能与长期循环性能的关系密切,电极的损坏,特别是碳负极的损坏主要源于极片力学性能的下降,指出电极材料并不是决定电极性能的唯一因素,粘结剂的性能和极片的制备方法、工艺也是必须考虑的[3]。

近年来,许多研究者不再局限于对某一材料的制备与优化,开始着眼于整个系统的匹配,优化电极片和制备方法,瞄准动力汽车的需求设计高能量电池和高功率电池,分析电池衰退的原因,开发满足动力电池需要的3000至5000次循环寿命的长寿命锂离子电池[4]。

涉及锂离子电池的研究内容和手段不断的丰富,对于锂离子电池制备工艺的提高也有很大的促进与提高。

以上所述介绍了锂电池的发展现状,进一步研究和开发锂离子电池对发展与能源密切相关的的各项产业具有非常意义,而且通过本课题的研究为我增加了很多聚合物锂电池的知识。

基于MSP430F6638的直流调速系统设计

基于MSP430F6638的直流调速系统设计

南 京 理 工 大 学毕业设计说明书(论文)作 者:姜泽飞 学 号: 1010190425 学院(系):自 动 化 学 院 专 业:电气工程及其自动化 题 目:基于MSP430F6638的直流调速系统设计指导者:评阅者:2014年5月徐志良 教授 讲师 朱建良毕业设计说明书(论文)中文摘要毕业设计说明书(论文)外文摘要本科毕业设计说明书(论文)第Ⅰ页共Ⅰ页目次1 绪论 (1)1.1 引言 (1)1.2 MSP430F6638直流调速系统的应用及意义 (1)1.3 课题目的 (2)1.4 MSP430F6638直流调速系统的国内外研究现状和发展趋势 (2)1.5 课题要求 (3)2 MSP430F6638直流调速系统的设计 (4)2.1 段式液晶显示器 (6)2.2 拨盘电位器 (9)2.3 直流电机 (11)2.4 光耦测速模块 (13)3 系统软件设计 (14)3.1 段式液晶显示器关键程序设计与实现 (15)3.2 直流电机关键程序设计与实现 (15)3.3 ADC12与电位器关键程序设计与实现 (16)3.4 直流电机调速主程序设计与实现 (17)4 系统调试 (19)总结和展望 (22)致谢 (24)参考文献 (25)附录 (26)1 绪论1.1 引言当今社会[1],随着科技的创新与进步,以及人们对电的更多依赖,电机控制系统人们的日常生活与工作起着举足轻重的作用,上至航空航天,下至工业农业,无处不见电机控制系统。

因此,就目前看来,人们对电机控制系统的不断完善和开发,有着十分重要的作用。

自从19世纪以来,直流电动机调速系统就已经被广泛的应用到各个角落,而且在电机调速领域中占据着半壁江山,它不仅方便可靠,而且在磁场恒定不变的情况下,转速和电压成正比,相对而言更容易控制转矩;他的启动性能相比较而言非常好,可以更平缓和经济的调整转速。

因此,在大多数情况下,我们如果想得到更好的动态特性的话,就可以用直流电机调速。

MSP430数字电压表0-20V资料

MSP430数字电压表0-20V资料
_NOP();
H_CLK;
_NOP();
L_CLK;
_NOP();
H_CLK;
_NOP();
L_CLK;
_NOP();
H_Conv;
_NOP();
ADCdata &= 0x0fff;
return (ADCdata);
}
While(1)函数部分
while(1)
{
//LCD_write_hanzi(1,1,0);
IrDA 编码器和解码器
同步 SPI
I2C™
Nokia5110
5110液晶显示屏(PCD8544芯片),是通过发送指令和写入数据RAM来控制和显示数据的。
指令格式分为两种模式:
1、如果D/C(模式选择)置为低(为0),即位变量 dc = 0,为发送指令模式,那么接下来发送的8位字节解释为命令字节。
2、如果D/C置为高,即dc = 1; 为写入数据RAM模式,接下来的字节将存储到显示数据RAM。
L_CLK;
_NOP();
H_CLK;
_NOP();
for(i=0; i<12; i++)
{
L_CLK;
_NOP();
H_CLK;
_NOP();
ADCdata <<= 1;
if(P2IN & 0x02)
{
ADCdata |= 0x0001;
}
else
{
ADCdata &= 0xfffe;
}
}
L_CLK;
01risc架构625ns指令周期时间高达16mhz的内部频率具有4种校准频率内部超低功耗低频lf振荡器32khz晶体个捕获比较寄存器的两个16多达24个支持触摸感测的增强型uart可支持自动波特率检测linirda编码器和解码器同步spii2cnokia51105110液晶显示屏pcd8544芯片是通过发送指令和写入数据ram来控制和显示数据的

基于MSP430单片机的交流电压测量设计

基于MSP430单片机的交流电压测量设计

基于MSP430单片机的交流电压测量设计东南大学仪器科学与工程学院许欢摘要:在单片机的一些测量中,有时候需要我们直接测量交流信号,现介绍一种基于msp430 单片机实现的交流电压的测量方法。

关键字:MSP430单片机,交流电压,测量,中断日常生活及学习中,我们一般需要之间测量交流信号,测量交流信号的方法有很多,而在应用单片机的测量中,我们常常用来测量直流电压,现在将介绍一种基于msp430单片机实现的交流电压的测量方法。

系统的构成主要分硬件设计和软件设计两块来介绍。

硬件设计:为了保证硬件电路设计的通用性,采用单级性电压测量的方法,将输入的双极性电压转换成单级性电压进行测量。

整个电路主要包括极性转换电路和输入处理电路。

其中,极性转换电路主要由放大电路实现,在此我采用MCP601放大芯片。

MCP601芯片:(Microchip公司的一款高性能的放大芯片)如图所示,该芯片共有8个管脚,Vcc管脚:电源管脚GND管脚:接地管脚VIN-管脚:负输入端管脚VIN+管脚:正输入端管脚OUT管脚:输出管脚极性转换电路设计:在进行A/D转换时,我们一般会采用芯片的工作电压作为A/D转换的参考电压。

由于一般芯片的工作电压都为正电压,而我们在这里要测量交流电压,所以要对输入的交流信号进行极性转换,将双极性变成单级性。

下图为极性转换电路:在极性转换电路中,ADOUT为输出信号。

输出信号是在输入信号ADIN的基础上叠加了一个直流分量,调节上面的V ref的值就可以改变直流分量的值。

如果调节V ref使直流分量的值为1.5V,并且此时输入信号是幅值为1.5V的交流正弦信号,那么输出信号就为最大值为3V,最小值为0V的单级性正弦信号。

在极性转换电路基础上我们将很容易设计出我们要的输入电路。

输入处理电路:在极性转换电路基础上,输入处理电路需要将220V的交流电压信号变为幅值为1.5V左右的交流信号,此外,还需要为MCP601提供适当的参考电压信号。

基于MSP430单片机的温度测控装置的设计与开发

基于MSP430单片机的温度测控装置的设计与开发

基于MSP430单片机的温度测控装置的设计与开发设计与开发基于MSP430单片机的温度测控装置一、引言随着科技的不断进步,温度测控装置在生活和工业中扮演着重要的角色。

本文将介绍基于MSP430单片机的温度测控装置的设计与开发。

该装置可以用于实时监测环境温度,并根据设定的阈值控制温度。

二、硬件设计1.传感器选择:本设计采用温度传感器DS18B20。

它是一种数字式温度传感器,通过一根串行线来与单片机通信。

2.电路连接:将传感器与MSP430单片机连接。

传感器的VCC引脚接单片机的3.3V电源,GND引脚接地,DQ引脚接到单片机的GPIO引脚。

3.LCD模块:为了显示当前温度和控制参数,我们需要一个LCD模块。

将LCD模块的数据引脚接到单片机的GPIO引脚。

4.电源:设计一个适当的电源电路,以提供所需的电压和电流。

三、软件设计1.硬件初始化:在程序开始时,初始化MSP430单片机的GPIO引脚,配置传感器引脚为输入模式和LCD数据引脚为输出模式。

2.温度采集:通过传感器的引脚与单片机通信,获取当前温度数据。

传感器采用一线式通信协议,在读取温度数据之前,先向传感器发送读取命令,然后从传感器接收数据。

单片机通过GPIO引脚进行数据的收发。

3.温度显示:将获取到的当前温度数据通过LCD模块显示出来。

4.温度控制:设定一个温度阈值,当实际温度超过阈值时,单片机控制继电器等设备进行温度调节。

可以采用PID控制算法,根据当前温度与设定温度的差异,调整控制设备的输出。

5.程序循环:通过一个无限循环来保持程序运行。

四、测试与验证1.硬件测试:对硬件电路进行测试,确保传感器和LCD模块的接线正确,电源电压稳定。

2.软件测试:通过模拟不同温度值,确认温度采集、显示和控制功能正常。

3.综合测试:将温度测控装置放置在实际环境中,观察温度采集和控制性能,根据需要进行调整。

五、结论本文设计与开发了基于MSP430单片机的温度测控装置。

5V工频数字式电压表

5V工频数字式电压表

“城院杯”电子设计竞赛题目:《5V工频数字式电压表》参赛学生:李伟龙李艳梅钟伟指导老师:谢檬院系:电信系摘要本系统以TI公司的超低功耗MSP430F5438为核心,利用其内部集成12位A/D进行采样,实现对峰峰值为5V工频电压有效值的测量,采用3位数码管显示,精度可达到0.01V。

关键词:交流电压测量数码管显示1 系统方案选择与论证根据题目要求本系统主要对5V 的工频电压有效值进行测量,要求精度0.01V 采用3位数码管显示1.1结构框图利用信号源产生一个峰峰值为5V 的工频交流信号,通过电压抬高电路再将电压抬高电路的输出通过电压跟随器送入MSP430的P6.0口(A/D 转换接口),在MSP430开发板的J2口接上数码管显示模块1.2调理电路方案由于MSP430内部集成A/D 只能接收单极性电压信号,因此必须对被测信号进行处理,以下为三种方案的比较方案一:整流桥利用整流桥将5V 交流信号的负半周翻转,再将整流后的信号送入放大器进行比例运算后送入430内部A/D方案二:抬高电路整流将被测电压信号通过差分电路进行抬高后,再送入A/D 进行采样。

通过抬高电路后波形为:通过抬高电路后很好的解决了MSP430内部A/D 对电压的要求,并将被测电压最大值降至3.3V 从而避免了烧毁MSP430单片机方案三:峰值检波电路利用该峰值检波电路输出端的电压值即为被测电压的峰值,然后再利用峰值与有效值之间的关系便可得到有效值电压方案论证与选择:方案一中用到了二极管,二极管存在管压降而被测信号只有5V 因此管压降会很大程度上影响精度,采用方案二只要选用合适的运算大器放则不存在此问题,方案三中采用了峰值检波电路,可以得到峰值电压,但是,如果被测信号不是标准正弦波则峰值电压与有效值之间的关系无法得到综上所述在此我们选择方案二,运放选择TI 公司的TLV24632.软件算法抬高电路后x U =由于题目要求将被测电压的有效值显示在数码管上,因此要对采集到的数据进行运算2.1采样频率的选择430内部AD 为12位,参考电压可设为3.3V ,最大采样频率为200KHz工频电压频率为50Hz 即一个周期为0.02s ,将采样频率设为1KHz ,因此当采样点数为:1KHz/50Hz=200,即一次性采200个点时刚好为一个周期。

基于MSP430单片机的低功耗数字式直流电压表设计

基于MSP430单片机的低功耗数字式直流电压表设计

课程设计(论文)说明书题目:基于MSP430单片机的低功耗数字式直流电压表设计院(系):信息与通信学院专业:电子信息工程学生姓名:学号:指导教师:***职称:副教授2012年12月 6 日摘要随着电子信息产业智能化的不断发展,单片机微控制器在工作领域等到了广泛的应用。

在电子产品实现智能化的同时,人们对绿色环保的要求也越来越高。

本设计从功耗的角度出发,采用TI公司的MSP430G2553混合信号微控制器作为系统核心设计的直流电压变,使用OLED液晶显示,结合简单的外围电路实现电压的采集,量程选择,数值显示等功能。

经实验证明,该电压表具有设计方法合理,简单易行,功耗低,测量精度高及携带方便等特点,适合很多电压直流电路电压的测量。

关键词:混合信号微控制器、电压表、低功耗Abstract:With the continuous development of the electronic information industry intelligent, single-chip microcontroller until the wide range of applications in the areas of work. Realize intelligent electronic products at the same time, people are increasingly high requirements for green. The design from the perspective of power consumption, using TI the company's MSP430G2553 mixed signal microcontroller as the core of the system design variable DC voltage, OLED LCD display, combined with simple peripheral circuit voltage acquisition, range selection, numerical display .The experiment proved that the voltmeter has reasonable design method is simple, low power consumption, measurement of high precision and easy to carry, suitable for many voltage DC circuit voltage measurements.Key words:Mixed-signal microcontroller, voltmeter, low power consumption目录引言 (1)1 设计方案 (1)1.1 设计要求 (1)1.2 数字式直流电压表设计分析 (1)2 硬件电路设计 (2)2.1 主要器件介绍 (2)2.1.1 MSP430G2553 (2)2.1.2 OLED显示屏 (3)2.2硬件电路原理分析 (4)2.2.1整体硬件原理图 (4)2.2.2电源电路设计分析 (4)2.2.3 单片机最小系统设计分析 (5)2.2.4 OLED显示接口电路分析 (5)2.2.5 量程选择电路接口分析 (6)3 程序设计 (6)3.1主函数 (6)3.2 系统初始化函数 (7)3.2 ADC初始化函数 (7)3.3OLED屏初始化 (7)4 数据测量 (8)4.1电源稳压电路输出电压 (8)4.2电压检测测试 (8)5 心得体会 (9)谢辞 (10)参考文献 (11)附录 (12)引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

基于MSP430单片机的多功能数字万用表设计

基于MSP430单片机的多功能数字万用表设计

基于MSP430单片机的多功能数字万用表设计摘要:本文全面、深入、系统地介绍了数字万用表的系统设计与研究。

设计中采用了美国TI公司生产的高性能单片机芯片MSP430F149。

整个系统结构由MSP430F149外加一些外围元件构成,驱动LCD液晶显示,然后再与参数转换电路相连。

文章主要介绍了MSP430F149的性能特点、内部结构、输入输出数据及一些功能和原理。

整个设计包括硬件电路设计及软件设计。

硬件电路设计包括处理器、外部设备元件的选择、参数转换电路设计及电源设计,而软件设计则主要是实现仪表的各功能的控制。

关键词:数字万用表MSP430F149 单片机1 数字万用表的工作原理数字万用表的最基本功能是测量直流电压、直流电流、交流电压、电阻、温度、电容及频率,其基本组成见图1。

通过功能量程的选择把被测物理量连接到相应的参数转换电路上,经过电路转换成电压或频率使单片机能够直接测量,单片机通过拨位开关得到被测物理量的类型,再通过cpu计算出被测物理量的大小,然后控制液晶显示测量结果。

2 MSP430F149芯片简介MSP430F149单片机是美国TI公司推出的16位高性能单片机,具有丰富的片内资源,包括时钟模块、捕获/比较模块、Flash模块、看门狗定时器模块、定时器模块、以及通用I/O口模块等。

3 参数转换电路3.1 直流电压测量电路直流电压电路如图2所示,可选择3个档位0~3v,0~30v,0~300v。

通过电阻分压把被测电压调整到AD的量程(0~3.3v)内。

本设计AD转换使用单片机片内集成AD,AD参考电压为3.3v。

图中1M电阻和104电容组成低通滤波器可以滤除表笔与被测物体接触时产生的高频信号和空间的电磁干扰使得测量结果更加稳定[1]。

电阻计算:由于电压表要求接到电路上时对电路的电压影响要下,所以输入阻抗越大越好,本设计选择输入阻抗Ro=10M。

3.4 交流电压测量电路交流电压测量是通过二极管1N4007把被测电压进行半波整流,再通过分压电阻把电压降低,再通过电阻和电容组成低通滤波器滤成直流,再经过AD转化成数字值,再经过cpu计算出电压有效值,由于1N4007是普通整流二极管,反向恢复速度较慢所以不能测量高频交流电压[3]。

基于MSP430单片机的数控直流电流源的设计

基于MSP430单片机的数控直流电流源的设计

基于MSP430单片机的数控直流电流源的设计摘要本系统是一个基于单片机的数控直流电流源系统。

采用单片机作为核心,辅以带反馈自稳定的串调恒压源,可以连续设定电流值。

由D/A转换器TLC5615、ZLG7289、中文字库液晶显示块、放大电路和大功率调整电路组成。

通过独立键盘输入给定值,由D/A转换器将数字信号转换成模拟信号,经D/A输出电压作为恒流源的参考电压,利用晶体管平坦的输出特性得到恒定的电流输出,最后用中文液晶显示输出。

其中单片机选用美国TI公司的MSP430F2274作为控制核心,利用闭环控制原理,加上反馈电路,使整个电路构成一个闭环。

软件方面主要利用PID算法来实现对输出电流的精确控制。

系统可靠性高,体积小,操作简单方便,人机界面友好。

关键字:数控 MSP430 PID算法反馈电路单片机Digital Controlled DC Current Source Design BasedOn MSP430 MCUABSTRACTThis system is a based on SCM numerical control dc current source system. Using single chip microcomputer as the core, with the strings with feedback from stability constant pressure source, can tone set by continuous. By D/A converter ZLG7289, Chinese word stock TLC5615, liquid crystal display (LCD) block, amplifying circuit and high-power regulating circuit component. The given value through independent keyboard input by D/A converter, converts digital signals into analog signals, the D/A constant current source voltage output as A reference voltage, using the plain output characteristic get the transistor constant current output, finallyuse Chinese LCD display output. One of the American TI company microcontroller choose MSP430F2274 as control core, using the closed-loop control principle, plus feedback circuit, make whole circuit constitute a closed-loop. Mainly using PID algorithm software to achieve output current the precise control. The system reliability high, small volume, easy to operate, friendly man-machine interface.Key Words:Numerical Control MSP430 PID Algorithm Feedback Circuit SCM目录前言 (1)第一章绪论 (2)1.1 课题背景 (2)1.2数控直流电流源概述 (2)1.2.1 电流源简介 (2)1.2.2 数控直流电流源的必要性 (2)1.2.3 数控直流电流源简介 (3)1.3课题进展 (3)1.4后话 (3)第二章芯片简介 (4)2.1单片机芯片MSP430F2274 (4)2.2D/A芯片TLC5615 (5)2.2.1 TLC5615功能简介 (6)2.2.2 TLC5615工作原理 (7)2.3ZLG7289A芯片介绍 (8)2.3.1 芯片简介 (8)2.3.2 引脚说明 (8)第三章系统硬件设计 (10)3.1 总体方案设计与比较 (10)3.2 单元电路设计 (11)3.2.1 电源电路 (11)3.2.2 D/A电路 (12)3.2.3 恒流源电路 (12)3.2.4 数码管显示电路 (14)3.3 PROTEL 99SE介绍 (15)第四章系统软件设计 (17)4.1程序语言介绍 (17)4.1.1机器语言 (17)4.1.2汇编语言 (17)4.1.3高级语言 (17)4.2PID算法介绍 (18)4.2.1 PID增量式算法 (18)4.2.2 PID位置算法 (19)4.2.3 微分先行PID算法 (20)4.3C语言程序设计流程 (20)4.4MSP430F2274编程基础简介 (21)4.4.1数据存储器和程序存储器地址空间 (21)4.4.2 MSP430F2274寄存器介绍 (21)4.4.3单片机的工作模式 (23)4.5程序流程图 (23)4.5.1 主程序流程图 (24)4.5.2 中文液晶显示 (24)4.5.3 键盘程序流程图 (25)4.5.4 A/D转换流程图 (26)4.5.5 D/A转换流程图 (26)4.6本章小结 (27)第五章系统仿真调试 (28)5.1仿真软件介绍 (28)5.1.1 功能特点 (28)5.1.2 功能模块 (28)5.2仿真步骤 (30)结论 (31)参考文献 (32)致谢 (33)前言直流电流源是电子技术常用的设备之一,广泛应用于教学、科研等领域。

一种简易功率测量装置的设计

一种简易功率测量装置的设计

一种简易功率测量装置的设计作者:王玲来源:《卷宗》2018年第30期摘要:本设计以MSP430F5529芯片为核心,设计并制作一种简易功率测量装置,用于测量交流或直流电源负载上的功率,并实时数字显示该功率值。

该装置能自动识别交流和直流供电,并自动选择量程。

当采用直流供电时,误差小于1%。

当采用交流供电时,误差小于5%。

该装置的功耗约为0.6W。

系统主要由5V电源供电,分别采样电压或电流值,将电压或电流通过ADS1255进行模数转换,并使用SPI总线传输到MSP430F5529单片机上进行处理,并通过SPI总线显示在OLED12864液晶屏上。

关键词:MSP430F5529最小系统;ADS1255模块;OLE128641 系统总体方案设计由于功率=电压*电流,通过检测电压和电流来计算功率。

由于电流=电压/电阻,通过精密电阻,将电流转换成电压。

因此电流检测就转换为电压检测。

系统由AC电源和DC电源进入采集电路,采样电路将电压值传给ADS1255模块进行模拟信号转换成数字信号,并将转换后的电压和电流进行计算功耗,并通过SPI总线将计算后的数据发送给MSP430F5529单片机,单片机读取计算后的数据,进行显示。

系统总体框图如图1所示。

2 采样电路设计直流电压范围为0~30V。

由于ADS1255的参考电压是2.5V,因此需要进行分压。

直流电压分为两个档,当0-5V时,进行档位切换,保证输入运算放大器的电压不超过2.5V。

运算放大器是一个同相加法电路,将电压提升2.5V,保证在1~5V交流电时也是正电压。

由于参考电压是2.5V,而电压档为0~5V和5~30V。

所以至少分压倍数1/2倍和1/12倍。

具体电路图如图2所示。

3 比较电路交流电压是50Hz的正弦波。

输入电压与2.5V直流电压进行比较,当in_V小于2.5V时,证明是交流电压的下降沿,比较器就产生一个下降沿,输入给P20引脚,触发单片机IO口中断。

基于msp430单片机的交流电压测量

基于msp430单片机的交流电压测量

摘要描述了一种简易的交流数字电压表的系统设计。

系统以MSP430F448为核心,该单片机内部集成了12位的A/D转换器,转换器带有内部参考源、采样保持、自动扫描特性,极大地简化了硬件设计。

因为单片机内部中断资源丰富,电压转换、定时等都采用中断触发,减少了系统响应时间,提高了软件执行效率。

此外该单片机的液晶驱动能力可达160段,可以直接将A/D转化数据显示在LCD上。

MSP430F44x系列是TI公司推出的一款超低功耗的16位单片机,其运算速度快而且体积小。

片内集成了8路12位A/D、串行通信接口、看门狗定时器、比较器、硬件乘法器等外围设备模块,从而降低了应用电路的复杂程度,提高了系统的可靠性。

该芯片可以工作于2.5 V和3.3 V两种电压下,并且可以处于休眠状态,此时的频率只有32768 Hz,功耗非常低,环境温度范围为-40~+125℃。

这些优点非常适合设计便携式,且要求长时间连续工作,环境温度变化宽的智能仪器仪表设备。

MSP430F44x系列单片机具有其他单片机无法比拟的优点,用其来实现交流电压的测量是一种很好的设计方案。

关键词:MSP430单片机;交流电压测量;模数转换;中断触发目录绪论 (3)1设计背景 (4)1.1本课题背景 (4)1.2设计内容 (4)2交流电压测量系统简介 (4)2.1设计方案 (5)2.2电压极性转换电路 (5)2.3电源电路 (6)2.4输出显示电路 (6)2.5晶振及复位电路 (7)2.6系统总硬件电路图 (8)3 系统软件设计 (9)3.1 概述 (9)3.2 系统程序设计模块 (9)3.3 调试及仿真 (14)结论 (16)参考文献 (17)绪论随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于MSP430单片机的交流电压测量系统,详细描述了利用单片机和简单模拟电路实现交流电压的测量过程,重点对模拟电路与单片机的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现交流电压的测量与显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,以MSP430单片机为主,模拟电路为辅,该系统结构简单,抗干扰能力强,有超低功耗等特点。

数字电压表,基于MSP430单片机的简易数字电压表论文

数字电压表,基于MSP430单片机的简易数字电压表论文

课程设计基于MSP430单片机的简易数字电压表论文学院:电气自动化与电子信息工程学院班级:指导老师:小组人员:摘要单片计算机即单片微型计算机。

(Single-Chip Microcomputer),是集CPU ,RAM ,ROM 定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

而16位MSP430系列单片机正成为单片机的主流。

这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

简易电压表是利用模拟量转换成数字量经MSP430内部自带的12位数模转换器采样处理后,经过计算反映在显示器上,它可以分析0-2.5V的电压。

一、设计要求:1、输入范围::0~+2.5V;2、精度:高于0.2%;3、通道数:1路4、采样频率:100HZ5、显示器:1602LCD液晶显示器。

二、核心芯片介绍:1、MSP430F247它是一种超低功耗、具有强大的处理能力,单周期指令周期、并且带硬件乘法起、具有温度适应范围广,抗干扰能力强,小巧灵活,性价比高的芯片。

下面是MSP430F247芯片所有的硬件资源:基本时钟系统(片内DCO、16MHZ或32KHZ可选);Timer_A3(带3个比较/捕获寄存器和PWM输出的16位定时器);在线比较器/斜边A/D转换;看门狗定时器/通用定时器;4个I/O端口,其中1、2端口有中断功能;USI、USCI;16位A/D转换器;1~32Kbde Flash存储容量;程序代码保护;2个配置放大器。

2、LCD1602现在字符型液晶模块已经是单片机应用中最常见的显示器件了,它具有体积小、功耗低、显示内容丰富等特点。

MSP430单片机实验报告

MSP430单片机实验报告

MSP430单片机实验报告--段式LCD显示1.实验介绍:实验演示了将ADC结果用段式LCD显示,并且还原输入电压也采用段式LCD显示。

ADC的结果可以通过ADC12MEM0的值来显示。

当程序运行时,LCD屏幕采用10进制显示出ADC12MEM0的值。

2.实验目的:a.熟悉IAR5.0软件开发环境的使用b.了解MSP430段式LCD的工作方式c.掌握MSP430段式LCD的编程方法3.实验原理:驱动LCD需要在段电极和公共电极上施加交流电压。

若只在电极上施加直流电压,液晶本身发生劣化。

解决这个问题的一般方法是使用短时也就驱动器,如MSP430F4xx系列单片机就集成有段式液晶驱动。

如果要在没有液晶驱动器的情况下使用段式液晶显示器,就要用到如图1所示电路。

图1中,A为电极信号输入端,控制该段液晶是否被点亮;B为交流方波信号输入端,将有一个固定频率的方波信号从此端输入;com为公共背极信号。

工作原理为;固定的方波信号被直接加载到液晶公共背极,同时该信号通过一个异或门加载到液晶段极。

当A端为低电平时,液晶的段极与公共背极将得到一个同相、同频率、同幅度的方波信号,液晶的两端始终保持没有电压差;当A端为高电平时,液晶的段极也公共背极将得到一个反相、同幅度、同频率的方波信号,液晶两端将保持一个交流的电压差。

这样既能使液晶保持点亮状态,又不会发生劣化而损坏液晶显示器。

图一.段式液晶驱动电路4.实验步骤:(1)将PC 和板载仿真器通过USB 线相连;5.实验现象:段式LCD显示屏显示的数字为002031,ADC12MEM0的值为07EF,其值为16进制,将其转换后值为2031与屏幕显示一致。

6.关键代码分析:#include <msp430x26x.h>#include "General_File.h"#include "I2C_Define.h"void I2C_Start(void){DIR_OUT;SDA_1;I2C_Delay();SCL_1;I2C_Delay();SDA_0;I2C_Delay();SCL_0;}//End I2C_Start/*函数名:I2C_Stop 功能:遵循I2C总线协议定义的停止*/void I2C_Stop(void){DIR_OUT;SDA_0;I2C_Delay();SCL_1;I2C_Delay();SDA_1;}//End I2C_Stop/* 函数名:I2C_ReceiveACK 功能:待接受ACK 信号,完成一次操作*/void I2C_Write_ACK( void ){SDA_1;DIR_IN;SCL_1;I2C_Delay();while(SDA_IN );SCL_0;I2C_Delay();DIR_OUT;return;}//End I2C_ReceiveACK/* 函数名:2C_Read_Ack 功能:接受数据后发送一个ACK信号*/void I2C_Read_Ack(void){DIR_OUT;SCL_0;SDA_0;I2C_Delay();SCL_1;I2C_Delay();SCL_0;SDA_1;}//End I2C_Read_Ack/* 函数名:I2C_Read_NoAck 功能:最后接受数据后发送NoACK信号*/void I2C_Read_NoAck( void ){DIR_OUT;SCL_0;SDA_1;I2C_Delay();SCL_1;I2C_Delay();SCL_0;}//End I2C_Read_Ack/* 函数名:I2C_Receiveuchar 功能:接受一个字节的数据*/uchar I2C_Receiveuchar(void){uchar Read_Data = 0x00; //返回值uchar DataBit = 0x00; //每一个clk 接受到的数据SCL_0;I2C_Delay();SDA_1;DIR_IN;for( uchar i = 0;i < 8;i++ ){SCL_1;I2C_Delay();DataBit = SDA_IN;SCL_0;I2C_Delay();I2C_Delay();Read_Data = ( ( Read_Data << 1 ) | DataBit ); //将数据依次存入Read_Data }return( Read_Data );}//End I2C_Receiveuchar/* 函数名:I2C_Senduchar 功能:遵循I2C总线协议定义发送一字节数据*/void I2C_Senduchar( uchar Wr_Data ){DIR_OUT;SCL_0;SDA_1;for( uchar i = 0;i < 8;i++ ){if( Wr_Data & 0x80 ){SDA_1; //最高位是否为1,为1则SDA= 1 }else{SDA_0; //否则SDA=0}I2C_Delay();SCL_1;I2C_Delay();SCL_0;I2C_Delay();Wr_Data <<= 1; //数据左移一位,进入下一轮送数}SDA_1;return;}//End I2C_Senduchar/************ BU9796FS相关指令定义**********/#define Write_Com 0x80#define Write_Data 0x00#define Display_ON 0x48#define Half_Bias 0x44#define Set_Reset 0x6A#define Ext_Clock 0x69#define Blink_Mode0 0x70#define Blink_Mode1 0x71#define Blink_Mode2 0x72#define Blink_Mode3 0x73#define Pixel_ON 0x7E#define Pixel_OFF 0x7D#define BU9796_Addr 0x7C#define Base_Add 0x00/************** 引用的外部函数*********************/extern void I2C_Start(void);extern void I2C_Stop(void);extern void I2C_Write_ACK(void);extern void I2C_Senduchar( uchar Wr_Data );/************** 定义段式LCD的阿拉伯数字码*********************/const uchar Num_Code[] ={0xAF, // 00x06, // 10x6D, // 20x4F, // 30xC6, // 40xCB, // 50xEB, // 60x0E, // 70xEF, // 80xCF, // 90x10, //. 如果要显示小数点,必须要将此值与下一位值相加0x88 //: ,包括LCD上的两个":"};uchar Disp_Data[]={ 5,5,7,3,1,5 };/* 函数名:Segment_Display 功能:段式LCD数据包写入服务程序,负责将一串字符送到段式LCD 上去显示*/void Segment_Display( const uchar Addr,const uchar *P_Data, uchar Length ){uchar User_Addr = Addr;I2C_Start(); //启动BU9796I2C_Senduchar( BU9796_Addr ); //写BU9796的物理地址I2C_Write_ACK();I2C_Senduchar( Base_Add + User_Addr * 2 ); //发送起始地址,下一个紧跟的是数据I2C_Write_ACK();for( uchar i = Length ;i > 0;i-- ){if( *P_Data != 0x0A ) // 显存中是否有小数点?如果有,就将小数点码值与下一位码值相加{I2C_Senduchar( Num_Code[ *P_Data++ ] );}else{uchar Temp_Disp_Data = Num_Code[ *P_Data++ ];I2C_Senduchar( Temp_Disp_Data + Num_Code[ *P_Data++ ]);i--;}I2C_Write_ACK();}I2C_Stop(); //访问结束}/* 函数名:Init_BU9796FS 功能:初始化驱动芯片BU9796的相关参数*/void Init_BU9796FS( void ){I2C_Start(); //启动BU9796I2C_Senduchar( BU9796_Addr ); //写BU9796的物理地址I2C_Write_ACK(); //等待ackI2C_Senduchar( Write_Com + Set_Reset); //启动软复位I2C_Write_ACK(); //等待ackI2C_Senduchar( Write_Com + Blink_Mode2 );I2C_Write_ACK();I2C_Senduchar( Write_Com + Display_ON ); //开显示I2C_Write_ACK();I2C_Senduchar( Write_Data + Base_Add ); //发送起始地址,下一个紧跟的是数据I2C_Write_ACK();for( uchar i = 0;i<10;i++ ) //清LCD显示屏{I2C_Senduchar( 0x00 );I2C_Write_ACK();}I2C_Stop(); //访问结束}/* 函数名:Init_MCU 功能:初始化MSP430的相关参数*/void Init_MCU( void ){/* WDTCTL = WDTPW + WDTHOLD; */ // 关看门狗BCSCTL3 |= XT2S_2; // XT2频率范围设置BCSCTL1 &= ~XT2OFF; // 打开XT2振荡器do{IFG1 &= ~OFIFG; // 清振荡器失效标志BCSCTL3 &= ~XT2OF; // 清XT2失效标志for( uint i = 0x47FF; i > 0; i-- ); // 等待XT2频率稳定}while (IFG1 & OFIFG); // 外部时钟源正常起动了吗?BCSCTL2 |= SELM_2 + SELS ; // 设置MCLK、SMCLK为XT2P4OUT &= ~BIT4;P4DIR |= BIT4; // 打开LCD显示部分的电源//P8REN |= BIT3 + BIT4;P8DIR |= BIT3 + BIT4; // 配置MSP430与BU9796的数据数P8OUT |= BIT3 + BIT4;P5OUT &= ~BIT7; // 点亮外部LEDP5DIR |= BIT7;}/* 函数名:main 功能:系统入口主函数*/void main( void ){WDTCTL = WDTPW + WDTHOLD; // 停看门狗ADC12CTL0 = SHT0_2 + ADC12ON; // 设置采样时间,开ADC12,Vref = V ACC ADC12CTL1 = SHP; // 使用定时器采样ADC12MCTL0 = INCH_1; // 选用A1通道ADC12IE = 0x01; // 开ADC12MCTL0中断ADC12CTL0 |= ENC; // 启动转换ADC12MCTL0 = INCH_1;P5DIR |= BIT7; // P5.7输出-LED/*for (;;){ADC12CTL0 |= ADC12SC; // 软件启动转换_BIS_SR(CPUOFF + GIE); // LPM0模式,由ADC12中断唤醒}*//* 功能:将16进制转化为10进制*/int a,b;a=ADC12MEM0;Disp_Data[5]=a%10;b=a/10;Disp_Data[4]=b%10;a=b/10;Disp_Data[3]=a%10;b=a/10;Disp_Data[2]=b%10;a=b/10;Disp_Data[1]=a%10;b=a/10;Disp_Data[0]=b%10;Init_MCU();Init_BU9796FS();P5OUT |= BIT7;Segment_Display( 0,Disp_Data,6 );_BIS_SR( CPUOFF );}#pragma vector=ADC12_VECTOR__interrupt void ADC12_ISR (void){ _BIC_SR_IRQ(CPUOFF); }。

基于MSP430的三相电压电流表

基于MSP430的三相电压电流表
信 号采 用 直接 交流 采样 真 有效 值 算法 , 计 了一 款 高精 度 , 设 实时 性快 的 三相 电压 电流 表 。 文 对真 有 效值 算 法进 行 了讨 论 , 出了 工程 实现 的 本 给 方 法 , 给 出 了仪 表 的 软 硬 件 设 计 方 法 。 并 关键 词 : 三相 电压 电流 真 有效值 算法 MS 4 0 P 3 中图 分类 号 : P 1 T 26 文献标识码 : A 文章编 号 :0 79 1 (0 l0 —2 20 10 .4 62 1170 3 —2
按 I 键 / O
系统 初 始 化
I O 一 /

图 1 三 相 电 压 电 流 表 硬 件 结 构 框 图
始相位 有关 。 现在仪表上则会 出现周 期性 跳字的现像 , 表 以及仪 表校准完毕后 , 校准输出源初始相位发生变化 而造成显示结果偏差
的现象 。 分析 可知 , 如果基频 满足 () , 4 式 则其它各 次谐波均能满足 ( ) 4 式。 即可知按照 ( ) 2 式可计算 出含有M次谐波分量 的交流 电压信 号 的真有效值 。 将 () 2 式进行离散 处理可得 ( ) 。 5式
学术论坛
鲫 。 与应 用 l Nhomakorabea#
基于 MS 4 0 P 3 的三相电压电流表
张 昌民 罗佳 芳 梅晓云 ( 西安 电子 科技大学 理 学院 陕 西西安 7 0 1 71) 0 摘要: 针对传统的平均值法测量信号的有效值在谐波严重畸变的场舍下所带来较大失真的问题 ,, P 3 F 4 5 vMS 4 0 E 2  ̄主控芯片, 电压 电流 T 对
C相 — AD2 ——
M SP 0 43 FE4 5 PW M 2 一
() 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MSP430单片机的交流电压测量设计 东南大学仪器科学与工程学院许欢 摘要:在单片机的一些测量中,有时候需要我们直接测量交流信号,现介绍一种基于msp430单片机实现的交流电压的测量方法。

关键字:MSP430单片机,交流电压,测量,中断日常生活及学习中, 我们一般需要之间测量交流信号, 测量交流信号的方法有很多, 而在 应用单片机的测量中,我们常常用来测量直流电压,现在将介绍一种基于 msp430单片机实 现的交流电压的测量方法。

系统的构成主要分硬件设计和软件设计两块来介绍。

硬件设计:为了保证硬件电路设计的通用性, 采用单级性电压测量的方法,将输入的双极性电压转换成单级性电压进行测量。

整个电路主要包括极性转换电路和输入处理电路。

其中,极性转换电路主要由放大电路实现,在此我采用MCP 601放大芯片。

MCP601芯片:(Microchip 公司的一款高性能的放大芯片)Vcc 管脚:电源管脚 GND 管脚:接地管脚 VIN-管脚:负输入端管脚 VIN+管脚:正输入端管脚 OUT 管脚:输出管脚 极性转换电路设计:在进行A/D 转换时,我们一般会采用芯片的工作电压作为 A/D 转换的参考电压。

由于一般 芯片的工作电压都为正电压, 而我们在这里要测量交流电压, 所以要对输入的交流信号进行 极性转换,将双极性变成单级性。

下图为极性转换电路:如图所示,该芯片共有 8个管脚,在极性转换电路中,ADOUT 为输出信号。

输出信号是在输入信号 ADIN 的基础上叠加了一个直流分量,调节上面的Vref 的值就可以改变直流分量的值。

如果调节Vref 使直流分量的值为1.5V ,并且此时输入信号是幅值为 1.5V 的交流正弦信号,那么输出信号就为最大值为3V ,最小值为0V 的单级性正弦信号。

在极性转换电路基础上我们将很容易设计出我们要的 输入电路。

输入处理电路:在极性转换电路基础上,输入处理电路需要将 220V 的交流电压信号变为幅值为1.5V 左右的交流信号,此外,还需要为MCP 601提供适当的参考电压信号。

电路如下图所示:从所设计的电路中我们可以得到, 首先通过变压器将 220V 的交流电压降成 8V 的交流电压,再经过极性转换电路将双极性的交流电压转换为单级性的交流电压。

电路中的 R405电位器主要用于调节参考电压, R404电位器用于调节交流输入电压的幅度。

经过上面电路的处理,可以将输入的交流电压转换成0〜3V 的单级性交流电压,这样很容易使用MSP430单片机自带的A/D 转换通道进行模拟量采集,从而实现交流电压的测量。

在上面的电路中,电压采用3V 供电,电源芯片采用 TPS76030,实现电路如下图所示:R403 0.0 4.19K 厂C4M二R401 4 721tC404O.O47nfticNC _S O.lnf ^C4C2 V1H-Vcc7 J■ ・ rriTTT —sUU 1GHD HC_52kDOUT琴曲3MOI~ —斗I 01肚vcczz^ClO?0.1 Ilf单片机电路如下图所示:flIN OUTEHGHD NC542CI03 aapf —^cioQ0.1 nfcini-一啓1*1取述■T—C10J (I(if JJD1.—盛11-■4i M nfl—1「■1n3-fcnAOl BO SI富£K14L;PitPi.” 叫Pi 7 '血好:aMOPIICUL g余讣用.F屈Pl»nl m?PIS Pl *MS国巳ZEES&SSS国国国国因平FPPPPFPF皆n:?整个电路如下图:+J1o_■«■■**iJ«■«1c-■>■*+S 矿JJMH 71+*TJ414i1?爲TT3*374软件设计:对于交流采集,需要在1个工频周期内采集 40个点,即时间间隔为 500US ,时间间隔采用定时器实现。

整个程序主要包括初始化程序和采集程序。

初始化程序主要是设置 每间隔500US 采集1次。

采集程序使用定时器中断服务程序实现, 当采集完40个点的数据后,设置一个标志通知主程序已经采集完 过全局的数据缓冲区与定时器中断服务程序实现数据的交互。

单片机程序设计:(根据TI 公司所给软件的例程改编得到)#include vmsp430x14x.h>char nADC_Flag; int nADC_Count; int ADC_BUF[40];void lnit_CLK(void); void Init_ADC(void); void Init_TimerA(void);void Init_ADC(void) {〃设置P6.0为模拟输入通道P 6SEL = 0X01;〃设置ENC 为0,从而修改 ADC12寄存器的值4l f d I亡 lAlpT.=,,1■: (>*T•■wliclhE卜和 r*l Jj + Ir ITI IUEH11 北 I ±-^Z±j r.JM-|川川I 川山川U.Li-*|I l-ll-lipnT r1 ■.I l szf_n.J■■ -1-1 . _■丄W3iOOill1 "g 怦s> iH. _Lwton:|r ' J .I--if — =1MJJUCTwiF4一13■i|~iZ^IfrlRCA/D 采集通道和定时器 A ,采集程序主要是通过定时器来实现 在定时器中断里读出数据, 40个点的数据,主程序通ADC12CTL0 &= ~(ENC);II设置参考电压分别为AVSS和AVCC,输入通道为A0ADC12MCTL0 = INCH_0 + EOS;II转换的起始地址为:ADCMEMOADC12CTL1 = 0X00;ADC12CTL1 += CSTARTADD_0;〃采样脉冲由采用定时器产生ADC12CTL1 += SHP;II转换模式为:多通道、多次转换ADC12CTL1 += CONSEQ_1;〃内部时钟源ADC12CTL1 += ADC12SSEL_0;〃时钟分频为1ADC12CTL1 += ADC12DIV_0;ADC12CTL0 += 8 * 0x100;ADC12CTL0 += MSC;ADC12CTL0 += ADC12ON;ADC12IE = 0;II关闭各个通道的转换中断ADC12IE |= 0X00;〃使能ADC转换ADC12CTL0 |= ENC;return;}void Init_TimerA(void){II 选择SMCLK ,清除TAR TACTL = TASSEL1 + TACLR;II 1I8 SMCLKTACTL += ID1;TACTL += ID0;II CCR0 中断允许CCTL0 = CCIE;II 时间间隔为500usCCR0 = 500;II 增记数模式TACTL |= MC0; return;}void Init_CLK(void){unsigned int i;BCSCTL1 = 0X00; //将寄存器的内容清零//XT2 震荡器开启//LFTX1 工作在低频模式//ACLK 的分频因子为1do{IFG1 &= ~OFIFG;for (i = 0x20; i > 0; i--);}while ((IFG1 & OFIFG) == OFIFG);// 清除OSCFault 标志// 如果OSCFault =1BCSCTL2 = 0X00; BCSCTL2 += SELM1;BCSCTL2 += SELS; }//将寄存器的内容清零//MCLK 的时钟源为TX2CLK ,分频因子为1 //SMCLK 的时钟源为TX2CLK ,分频因子为1interrupt [TIMERA0_VECTOR] void TimerA_ISR(void) {int results;// 关闭转换ADC12CTL0 &= ~ENC;// 读出转换结果results = ADC12MEM0;ADC_BUF[nADC_Count] = results;// 计数器加 1 nADC_Count += 1;// 采集完40 个点if(nADC_Count == 40){// 设置标志nADC_Flag = 1;// 计数器清0nADC_Count = 0;}//ADC12CTL0 |= ENC + ADC12SC;开启转换void main(void){int ADC_BUF_Temp[40];int i;//关闭看门狗WDTCTL = WDT PW + WDTHOLD; //关闭中断 _DINT();//初始化 lnit_CLK(); lnit_ADC(); Init_TimerA();//打开中断 _EINT(); //循环处理 for(;;) {if(nADC_Flag == 1) {nADC_Flag = 0; for(i = 0;i < 40;i++) {ADC_BUF_Tem p[i] = ADC_BUF[i]; }小结: 极性转换电路、输入处理电路以及采用定时器中断服务程序进行交流电压数据的采集。

本人水平有限,此方法比较简单,不过具有一定的实用性。

本设计想法采用 MSP430单片机实现交流电压得采集测量。

主要通过介绍交流电压的 由于参考文献: 1《msp430系列16位超低功耗单片机原理与应用》 2. 《现代检测技术》周杏鹏仇国富王寿荣操家顺 3. 《msp430单片机技术白皮书》 TI 公司 4. 交流电压测试方法介绍 利尔达公司 5. 《msp430单片机c 语言应用程序设计》秦龙 编著利尔达策划清华大学出版社 编著高等教育出版社电子工业出版社两汉:诸葛亮出师表先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。

然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。

诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

宫中府中,俱为一体;陟罚臧否,不宜异同。

若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。

侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰愚以为营中之能”,是以众议举宠为督: 事,悉以咨之,必能使行阵和睦,优劣得所。

亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。

先帝在时, 每与臣论此事,未尝不叹息痛恨于桓、灵也。

侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也U。

相关文档
最新文档