qinkaiabc 发表于 2014-1-15 22:33:18

【Energia开发环境】MSP430 LAUNCHPAD学习笔记6--角位移传感器-...

【Energia开发环境】MSP430 LAUNCHPAD学习笔记6--角位移传感器-角度测量

材料:
MSP-EXP430G2 553LaunchPad
WDD35D4角位移传感器
角度测量原理
      WDD35D4 角位移传感器的功能在于把角度机械位移量转换成电信号,通过电刷在电阻基体上的位移来测量不同的阻值。传感器滑轨连接稳态直流电压,电刷和输出端之间的电压,与电刷在电阻基体上滑过的角度成正比。其实质就是个电位器,如下面接线图:

WDD35D4角位移传感器 实物图:

  我们将脚1 和脚3 分别接至MSP430 LAUNCHPAD 的VCC和GND 两个引脚上,脚2接P1.1,如下图连接图:





  我们用P1_1端口即A1作为模拟输入的接口,接在角位移传感器脚2,这个口的电压随着电阻值的不同而相应改变,正比于电阻变化。旋转多少度,电阻值就会改变,电压也就会改变,我们只要测量P1_1的电压变化,就能计算出旋转了多少角度。


源程序:
/***********************************************************************
角位移传感器
【Energia开发环境】MSP430 LAUNCHPAD学习笔记6--角位移传感器
   Autor: qinkaiabc
**********************************************************************/
const int analogInPin = A1;// 模拟输入引脚为A1
int sensorValue = 0;      // P1_1(A1)得到的数据
float angle = 0;      // 角度
void setup()
{
analogReference(DEFAULT);    //使用VCC(3.3V)电压作为基准源
Serial.begin(9600);         //使用9600速率进行串口通讯
}

void loop()
{
sensorValue = analogRead(analogInPin);    //读取A0口的电压值

float vol = sensorValue * (3.3 / 1023.0);   //由采样得到的数据换算为实际的电压值
angle = 109.09 * vol;            //0°-> 0V360°->3.3V

Serial.print("Voltage:");
Serial.print(vol );   //串口输出电压数据
Serial.print("");//空格
Serial.print("Angle:");
Serial.println(angle);   //角度
delay(1000);                           //等待1秒,控制刷新速度
}
电压计算公式:

(Vr- =Vr+ = 0, Vr+ = 3.3V)
Vin =(Nadc * 3.3)/1023;

注意事项:连接板载仿真器的TXD/RXD的两个短路帽需要横向连接,如下图




实际电路连接图:


数据显示图:

  By qinkaiabc






hfjydq 发表于 2014-5-8 16:01:27

顶一下,要能计算线位移就好了
页: [1]
查看完整版本: 【Energia开发环境】MSP430 LAUNCHPAD学习笔记6--角位移传感器-...