'Serial-FND'에 해당되는 글 3건

  1. 2010.08.17 [TMP275] 정밀 온도센서 테스트 (1)
  2. 2010.03.27 [LM3S101 EVM] Serial FND모듈 제어
  3. 2009.12.15 Serial FND Module
[SENSOR]/Sensor2010. 8. 17. 15:31

[TMP275] 정밀 온도센서 테스트

[TMP275] 정밀 온도센서 테스트



TI사의 12비트 0.2(0.5)도 오차율을 가진 정밀 온도 센서 TMP275를 테스트 했다. 보드는 예전에 제작했던 가속도 센서를 활용해서 제작 했는데... I2C핀맵이 호환되므로 동일한 확장 보드에 테스트 가능하다.

TMP275 핀맵



TMP275 온도센서 출력 포멧





정밀도



주요 레지스터



TPM275 테스트 예제 소스코드
// TMP275 온도 센서 데이터 읽기함수
short TMP275Read(unsigned char reg)

 unsigned char h, l; 
 
 TMP275_I2C_START(TMP275_I2C_ADDR+I2C_WRITE);     // device address 및 write mode 설정
 TMP275_I2C_WRITE(reg);                                            // 레지스터 설정
 TMP275_I2C_START(TMP275_I2C_ADDR+I2C_READ);     // device address 및 read mode 설정

 h = TMP275_I2C_ACK();                                 // MSB Data Read
 l = (TMP275_I2C_NAK()>>4)&0x0F;                 // LSB Data Read

 TMP275_I2C_STOP(); 

 return (h<<8)|l;
}


int main(void)
{
    short data;
 float val;
 
 //System Init
 SystemInit();
 
    //LED Init
 Led1Init();
 Led1On();
 
 //Serial Init
 DebugInit(BAUD_115200);
 DebugPrint("I2C TMP275 Test Program.\r\n");
 DebugPrint("C");

 TMP275Init();

 while (1)
 {
   data = TMP275Read(0);
   val = ((float)(data&0x0F))*0.625*10.0;
   
   DebugPrint("%02d%02d\r\n", (data>>8), val);
   Delay(100);
 }
}


TMP275 정밀 온도센서 테스트
TMP275 테스트를 위해 MCU는 STM32 Sensor Interface Board를 이용하였고, 출력은 Serial FND 모듈 을 이용하여 온도값을 출력했다.


Posted by nexp

댓글을 달아 주세요

  1. 박기성

    관리자의 승인을 기다리고 있는 댓글입니다

    2012.05.23 16:52 [ ADDR : EDIT/ DEL : REPLY ]

[TI]/LM3S1xx2010. 3. 27. 13:56

[LM3S101 EVM] Serial FND모듈 제어

[LM3S101 EVM] Serial FND모듈 제어




LM3S101 EVM 보드를 이용하여 Serial FND 모듈 을 테스트 했다. UART포트로 4자리 아스키코드를 전송하면 쉽게 FND를 출력할 수 있다.
특히 소형 마이컴에서 CPU의 부하 없이 디버깅 데이터를 표기할때 유용하게 사용할 수 있다.

LM3S101 Serial FND모듈 출력 예제 소스코드
#include "system.h"
#include "serial.h"

int main()
{
 unsigned int cnt = 0;
 unsigned int flag = 0;
 SystemInit(); 

 Led1Init();
 Led1On();
 
 Led2Init();
 Led2Off(); 

 //Serial Init
 DebugInit(BAUD_57600);
 DebugPrint("Serial FND Test Program.\r\n");

 while(1)
 {
  if(cnt>3000)cnt=0;
  if((cnt%20) ==0)
  {
   flag ^= 1;
   if(flag)DebugPrint("C");
   else DebugPrint("c");
  }
  
  DebugPrint("%04d\n", cnt++);
  Delay(20);
 }
 
 return 0;
}
Posted by nexp

댓글을 달아 주세요

[MODULE]/FND2009. 12. 15. 13:56

Serial FND Module

Serial FND Module


0~9999까지 출력하는 4자리 Serial FND 모듈  모듈을 제작했다. 시리얼 포트로 입력되는 4자리 아스키 데이터를 출력하도록 했다.
시리얼 포트로(default 57600bps) 4자리 아스키코드와 리터 '\n'을 입력 받으면 데이터가 출력된다.
FND의 도트는 'a'(dot 0 Off), 'A'(dot 0 On), 'b'(dot 1 Off), 'B'(dot 1 On), 'c'(dot 1 Off), 'C'(dot 1 On), 'c'(dot 1 Off), 'D'(dot 1 On) 로 제어할 수 있다.




회로도






Posted by nexp

댓글을 달아 주세요