发新帖本帖赏金 50.00元(功能说明)我要提问
返回列表
打印

【MCU方案】+采用MSP430F425实现电容传感器的数据信息处理

[复制链接]
936|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lark100|  楼主 | 2015-6-27 00:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lark100 于 2015-6-27 00:42 编辑

电容传感器以各种类型的电容器作为传感原件,将被测物理量的变化转换为电容量的变化。通过相应的外接检测电路可将这种电容的变化转换成电压、频率等便于测量的电信号变化,根据输出电信号的变化来获得被测物的信息。
该项目设计了一个通用的传感器数据处理采集显示系统。电容传感器输出模拟电压,通过信号处理电路处理后,满足MCUA/D模块输入条件,再通过软件滤波补偿处理后,LCD显示输出。
硬件部分:
1MCU
本项目选用了TI公司生产的具有16A/D转换器的MSP430F425单片机,不再需要专用AD转换芯片,而采用MSP430F425单片机的优点是不仅可以实现16AD转换,而且可以实现数据处理,特别适合批量生产且性价比较高。
MSP430F425的特点:
1)低电源电压范围:1.8~3.6V
2)超低功耗:工作模式400uA@IMHz2.2V;待机模式1.67uA
3)从等待方式唤醒的时间不超过6微秒。
4)片内频率锁相环,可使系统工作在稳定的频率上。
516RISC结构, 125ns指令周期。
63个独立的16位差分输入Σ-Δ A/D转换器,内置可编程增益放大器和内部参考源。
7116位定时器Timer-A,带3个捕获/比较模块。
8)片内集成液晶驱动器,驱动能力可达128段,可直接驱动段码式液晶板。
9)掉电检测器,可编程电压监视器。
10)可在线系统串行编程。
介绍一下MSP430F425单片机内置的A/D转换模块。它具有16位的高分辨率,且采用了Sigma-Delta调制技术,简称为 SD16 模块。SD16 模块包含了3个独立的16ADC,它们公用一个基准电压源和时钟源,且每个 ADC都有独立的控制寄存器组,并有8组差分输入通道。
1)模拟输入范围
每个模拟输入通道的最大输入电压范围(±Vfsr)由每个通道的可编程增益放大器设
定的增益APGA和参考电压Vref决定。其中,Vfsr=Vref/2/APGA。如果参考电压是1.2V,增益是1时的最大输入电压范围为±0.6V
2)转换参考电压
要将模拟量转换为数字量,必须有参考电压,参考电压有内部与外部两种。具体设置如下:采用外部参考源:SD16REFON=0SD16VMIDON=0;采用内部参考源:SD16REFON=1SD16VMIDON=0;内部参考源带缓冲器输出:SD16REFON=1SD16VMIDON=l。为了简化设计,采用MSP430F425单片机处理器内壁提供了的片内参考电压1.2V
3SD16的寄存器
SD16使用起来相当灵活方便,对它的操作使用相关的控制寄存器实现。该模块的寄存器可分为转换控制类:SD16CTL;中断控制类:SD16IFGSD16IVSD16IESD16OVIFG;转换结果存储控制类:SD16CCTL0SD16CCTL1SD16CCTL2;预装载寄存器:SD16PPE0SD16PPE1SD16PPE2;通道输入控制寄存器:SD16INCTL0SD16INCTL0SD16INCTL2;转换结果存储器类:SD16MEM0SD16MEM1SD16MEM2。输出数据格式通过SD16DF来设置选择,有2的补码(双极性)或者偏移二进制(单极性)两种格式可选。
4SD16的转换模式
SD16SNGL位和SD16GRP位选择转换模式,共提供四种转换模式,即单通道单次转换、序列通道单次转换、单通道多次转换、序列通道多次转换。本项目选择单通道单次转换。
5)转换计算
       在参考电压为1.2V,输入电压为VIN时,MSP430F425单片机的AD转换输出的结果为:N=65535*VIN/1.2V
MSP430F425内置液晶驱动模块,其特点: 1)具有显示缓存器,可作为一般存储器;2)段输出端口可以作为通常输出端口使用;3)所需的SEGCOM信号自动产生;4)具有4种驱动方法(静态、2MUX3MUX4MUX)。
MSP430F425最小系统原理图
2、信号处理电路
由于MSP430F425单片机的A/D转换器采用差分信号输入,而一般电容传感器采集来的信号经过前端处理电路,输出的是单端信号,且输出电压范围与A/D输入电压范围不匹配,因此需要通过一个处理电路来实现电压范围的变化和单端信号转差分信号。
信号处理电路由三部分组成,即电压转换电路、滤波电路和单端转差分电路。选用具有低功耗、较低的输入失调电流和输入失调电压的双运算放大器LM358完成功能。
电压转换电路对输入电压进行增益调整,转换电压范围,把电容传感器通用输出电压0~5V,转换为0~1.2V
滤波电路一般采用一阶无源低通滤波或二阶有源低通滤波。
单端转差分电路选用差分放大器LTC1992
3、液晶显示模块
液晶显示模块主要是用来显示电容传感器输出采集处理补偿后数据值。选用LCD048液晶板作为显示器,驱动器利用MSP430F425自带的驱动模块,采用4MUX驱动方式,4MUX方式要用到4个公共端COM0COM1COM2COM3,每4段需要另一个引脚驱动(每个字的全部8段在同一个字节显示)。4MUX方式是最简单方便的显示形式。


相关帖子

沙发
lark100|  楼主 | 2015-6-27 00:28 | 只看该作者
部分软件源码
1A/D转换软件
#include <msp430x42x.h>
Void  SD16init(void)
{
Volatile unsigned  int i;
SD16CTL=SD16REFON+SD16SSEL0;
//SD16REFONl,选择1.2V内部参考电压
//SD16SSEL001,选择子系统时钟SMCLK为时钟源
SD16CCTL0=SD16SNGL+SD16IE+SD16OSRx+SD16SC;
//SD16SNGL0,选择序列转换模式
//SD16IE1,表示使能中断
//SD16OSRx00,表示选择256过采样率
//SD16SCl,表示使能ADC
SD16INCTL0|=SD16INTDLY_0; //SD16INTDLY_000,表示第四个采样中断
for(i=0;i<0x3600;i++);
}
2、液晶显示程序
#inelude  <msP430x42x.h>
#define   Num_of_Results  8
Static unsigned int  ADC_result;
Const unsigned char NUM_LCD[16]={
0x7B,  //”0”  LCD seglllents  a+b+e+d+e+f lcd=lsd048
0x12,  //”1”
0x4F,  //”2”
0xlF,  //”3”
0x36,  //”4”
0x3D,  //”5”
0x7D,  //”6”
0x13,  //”7”
0x7F,  //”8”
0x3F,  //”9”
0x77,  //”A”
0x7c,  //”B”
0x69,  //”C”
0xse,  //”D”
0x6d,  //”E”
0x65,  //”F”
};
#define  LCD_IN_USE   8
Unsigned char LCD_Buf[LCD_IN_USE];  //自定义显示缓冲区,用于外部设定要显示的数据
Interrupt  void  SD16ISR(void);
Unsigned int index;
Void  init_LCD(void)     //初始化LCD048
{
int  i;
  char  tmPv;
  FLL_CTL0|=XCAP18PF;    //Configure  load  caps
for(i=O;i<10000;i++);     //Delay for 32kHz crystal  to
  BTCTL=BTFRFQ1;  //Set freqLCD=ACLK/128
LCDCTL=0x03d;  //4-Mux LCD segnlents S0-S15
for(tmPv=0;tmpv<8;tmPv++)
{
LCDMEM[tmPv]=0x00:  // clear LCD
}
  
}
Void  LCD_DisPlay()
{
ADCresult=ADC_result-0x8000;
ADCresult=ADC_result/1000;
ADCresull=ADC_result*170;
Char tmpvtmP;
for(tmP=0;tmP<7;tmP++)
{
Lcd_Buf[tmp=ADCresult%10;   //结果转换成十进制,并存放在LCD缓冲区中
ADCresult=ADCresult/10;
}
for(tmpv=0;tmpv<LCD_IN_USE-4;tmpv++)
{
LCDMEM[tmpv]=NUM_LCD[lcd_Buf[tmpv]]; //更新LCDMEM中的内容
}
LCDMEM[tmpv]=0xfb;
}

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 50.00 元 2015-08-25

评论
21小跑堂 2015-8-25 11:18 回复TA
秀出我的TI MCU方案奖金已发. 
板凳
dirtwillfly| | 2015-6-27 21:26 | 只看该作者

使用特权

评论回复
发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:有阳光就灿烂,有知识就高兴!!

114

主题

4402

帖子

10

粉丝