标题: 地磁监测系统控制作 ardunio下位机+LabVIEW上位机程序 [打印本页]

作者: jialinx    时间: 2015-9-14 12:06
标题: 地磁监测系统控制作 ardunio下位机+LabVIEW上位机程序
本帖最后由 jialinx 于 2015-9-14 12:07 编辑

      
地磁监测系统控制中心平台
一实验要求
1、利用Labview控制前端地磁监测仪(利用单片机模拟)进行地磁总场F,分量(X、Y、Z)的采集与串口传输。
2、根据采集数据计算地磁场磁偏角和磁倾角、分量的校正(总场数据校正分量数据)。
3、能够实时显示当前地磁要素(总场、分量、磁偏角和磁倾角)曲线,并能进行数据的本地txt文件存储。
二实验分析
1利用ardunio串口发送功能向电脑发送地磁总场F,分量(X、Y、Z)数据,并可以接受上位机控制,每发送一组数据,ardunio开发板上led灯闪亮一次。
2写LabVIEW上位机程序,上位机既可以发送命令,又可以接受ardunio上传的数据。根据采集数据计算地磁场磁偏角和磁倾角、分量的校正(总场数据校正分量数据)。并用示波器显示出来。
3将当前地磁要素(总场、分量、磁偏角和磁倾角)和当前时间存储在txt文件中。
三实验步骤1下位机部分
因为ardunio集成串口发送功能,故可以用简单程序完成串口接受发的功能。程序如下所示:
char led = 13;    //定义LED灯为引脚13
uint8_t i=0;
static uint16_t cichang[10][4]=    //定义十组数据
{48107,27903,28103,27905,
48018,25120,30502,28126,
47980,28146,25167,29846,
48048,27103,26480,29892,
48012,25109,28045,31023,
48023,27203,29892,27735,
48045,28103,26309,30204,
48092,28023,27012,29103,
48108,27974,28123,28133,
47977,28034,27988,2789,
};
void setup()
{
  Serial.begin(9600);          //打开串口
  pinMode(led, OUTPUT);    //LED引脚定义为输出
}
void loop()
{
  
  if(Serial.read()=='#')     //当单片机接收到“#”后,开始发送一组数据
  {
   digitalWrite(led, HIGH);   //LED闪亮一次表示一组数据发送完成
  for(uint8_t j=0;j<4;j++)
  Serial.print(cichang[ i][j]);
  digitalWrite(led, LOW);
  ++i;
  if(i>=10)                //依次发送十组数据
  i=0;
}
}
2上位机部分
2.1串口配置:配置串口文件写入区域和波特率。
2.2数据采集开始:用一个条件语句表示是否启动串口发送程序,既数据采集是否开始。
2.3启动开关:启动是否接受串口的数据


2.4包头包尾判断:只有LabVIEW检测到包头包尾才处理数据,否则丢失数据

2.45提取串口信息:将下位机发送的数据经过处理得到地磁总场F,分量(X、Y、Z)数据。
2.6数据处理:运用数学公式,将得到的数据整理加工,得到实际需要的地磁要素(总场、分量、磁偏角和磁倾角)。
2.7数据显示:将处理后的数据格式化后放入虚拟式示波器显示。
2.8数据储存:将得到的地磁要素(总场、分量、磁偏角和磁倾角)和当前时间储存在txt文件中。
2.9前面板





   



作者: 山东索亚敏    时间: 2015-10-11 06:43
精采,找了好半天了
作者: 51hei电控2112311    时间: 2016-5-1 15:51
This is my project!
作者: cr8526    时间: 2018-10-21 00:19
ardunio下位机的硬件和程序呢?????




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1