회원가입 ID/PW 찾기
AA

msp430f1611을 사용하고 있는데 ADC에서 읽어들인 값하고 직접 테스터기로 찍은 값이 달라요.

왜 그런가요?

그리고 책에 Nadc = 4095 * Vin - Vr-/Vr+  - Vr-  이게 무엇을 의미하는 지 궁금합니다..

 

P6SEL = 0x01;

 

void adc_init()
{
 ADC12CTL0 = ADC12CTL1 = 0;

 /** must be ENC = 0 **/
 ADC12CTL0 |= ADC12ON;         //ADC core enable. (consumes power)
 //ADC12CTL0 |= REFON;         // internal reference voltage on
 //ADC12CTL0 |= REF2_5V;         // reference generator voltage 2.5V (or 1.5V). REFON must be set.
 //ADC12CTL1 |= CSTARTADD0;      // conversion memory register start adress[0~3] (ADC12MEM0~ADC12MEM15)
 
 ADC12CTL1 |= ADC12SSEL0; // ADC12CLK = ACLK. ADC12 clock source - 00:ADC12OSC (consumes power), 01:ACLK, 10:MCLK, 11:SMCLK
 //ADC12CTL1 |= ADC12DIV0; // ADC12 clock divider[0~2]  - divide by 1~8
 
 ADC12CTL1 |= SHP;         //ADC12 Pulse Sample Mode (or Extended Sample mode)
 ADC12CTL0 |= SHT01 | SHT00; // 32 ADC12CLK cycles sampling. SHT1x, SHT0x - sample and hold time. only for when SHP =1. 
 //ADC12CTL0 |= MSC;         // Multiple sample and conversion. only for sequence or repeated modes.(ref. CONSEQx)

 //ADC12CTL1 |= SHS0 | SHS1; // Sample-and-hold source - 00:ADC12SC bit, 01:TA1, 10:TB0
 /*******************/

 //ADC12CTL1 |= CONSEQ0 | CONSEQ1; // ADC12 conversion sequence select (00:single channel and conversion, 01:sequence channel, 10:repeat single channel, 11:repeat sequence of channels)
 //ADC12CTL0 |= ENC;         // ADC12 Enable Conversion
 //ADC12CTL0 |= ADC12SC;         // ADC12 start conversion
}


u16 adc_convert(u08 adc_channel)
{
 u16 adc_result;
       

 /** must be ENC = 0 **/
 ADC12CTL0 &= ~ENC;
 switch (adc_channel)
 {
  case 0 :
   ADC12MCTL0 = INCH_0; break;
  case 1 :
   ADC12MCTL0 = INCH_1; break;
  case 2 :
   ADC12MCTL0 = INCH_2; break;
  case 3 : 
   ADC12MCTL0 = INCH_3; break;
  case 4 :
   ADC12MCTL0 = INCH_4; break;
  case 5 :
   ADC12MCTL0 = INCH_5; break;
  case 6 :
   ADC12MCTL0 = INCH_6; break;
  case 7 :
   ADC12MCTL0 = INCH_7; break;
  case 10 :
   ADC12MCTL0 = INCH_10; break; // temperature diode
 }
 /*******************/

 ADC12CTL0 |= ADC12SC + ENC; // SHI = 1
 ADC12CTL0 &= ~ADC12SC; // SHI = 0
 // wait until the conversion completes; ADC12BUSY?
 while (ADC12CTL1 & ADC12BUSY);
 ADC12CTL0 &= ~ENC;
 
 // 12 bit data mode
 adc_result = ADC12MEM0;
  
        
 return(adc_result);
}

                                      이렇게 해서 값을 읽어 들인값하고 테스터기로 찍어보면 나온값하고 어떻게 비교를 해야 하나요..위에 공식으로 적용을 해야하는지..   

전압은 0.6V가 나오는데 위에 대로 읽어 들인값은 744 값이 나옵니다.. 

전압인가는 5V를 넣어주었고..  

댓글 1
  • No Profile

    Nadc = 4095 * (Vin - Vr- ) / (Vr+ - Vr- ) 공식을 적용하여 값을 환산해야 입력된 전압 값을 알 수 있습니다. 

    4095 는 ADC가 12BIT로 2^12 의 Resolution을 갖기 때문에 변환 가능한 값의 범위가 0 ~ 4095 이고 , 그 최대 값을 나타내는 것 입니다.

    Vr- 는 마이너스 기준 전압 (보통 0v) , Vr+는 플러스 기준 전압 ( 보통 CPU 전원 3.3V ) 입니다.

    따라서 공식을 다시 쓰면 Nadc = 4095 * Vin / 3.3V 이 됩니다.

    Nadc = 4095 * 0.6V / 3.3V = 744

    더 예를 들어 보면

    입력 전압이 0V 이면 AD 값은 0 ,

    입력 전압이 1.65V 이면 AD 값은 2047

    입력 전압이 3.3V 면 AD값은 4095 가 됩니다.

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
103 드론/로봇/라인트레이서 드론을 하고 싶은데10 아크마 213 2017.10.01
102 드론/로봇/라인트레이서 가감속 질문 드립니다.1 짱광 269 2015.10.08
101 드론/로봇/라인트레이서 HOT라인트레이서 모듈 연결을 잘못하겠습니다.1 TOP3378 405 2013.06.04
100 드론/로봇/라인트레이서 MB LineMouse 전원 쪽 질문있습니다~1 윤건 343 2012.11.20
99 드론/로봇/라인트레이서 HOT라인트레이서 소스 질문이요!1 졸작.. 758 2012.09.24
98 드론/로봇/라인트레이서 HOT센서부 소스코드 입니다. 잘안되네요... JHJ 670 2012.09.02
97 드론/로봇/라인트레이서 HOTCORTEX M3 에서 STM32에서 UART통신에서 WAV파일재생하는법 풀발라라 851 2012.06.18
96 드론/로봇/라인트레이서 HOT라인트레이서 프로그램 질문 입니다. 마이크로0001 1021 2011.11.25
95 드론/로봇/라인트레이서 HOT아크마님.. 라인트레이서 구동 질문입니다1 호롤로로로로 952 2011.11.16
94 드론/로봇/라인트레이서 HOT아크마님 질문있습니다!!2 호롤로로로로 960 2011.11.02
93 드론/로봇/라인트레이서 HOT아크마님 라인트레이서 lcd부분입니다1 호롤로로로로 1452 2011.09.22
92 드론/로봇/라인트레이서 HOTADC 하이패스에 관하여 질문드립니다.2 mystyle_me 2227 2011.07.09
91 드론/로봇/라인트레이서 HOT라인트레이서 질문 잇습니당! 문성욱 1520 2011.04.29
90 드론/로봇/라인트레이서 HOTMB라인트레이서 모터부 회로 질문입니다.1 문성욱 2204 2011.03.25
89 드론/로봇/라인트레이서 HOTv2.0 mb라인마우스 받아서 구성중인데요 문성욱 1604 2011.03.21
88 드론/로봇/라인트레이서 HOTmb라인트레이서 부품 질문입니다1 문성욱 1962 2011.03.18
87 드론/로봇/라인트레이서 HOT라이트레이서 모터부 회로도 에서 질문점 드릴게요..!3 라인걸어서 2330 2010.12.27
86 드론/로봇/라인트레이서 HOT라인트레이서를 준비중입니다 .2 차차창 1220 2010.12.11
85 드론/로봇/라인트레이서 HOT아크마 라인트레이서 동작 질문.. 천년동안 1310 2010.11.17
84 드론/로봇/라인트레이서 HOT라인트레이서 소스 조의련 3316 2010.11.07
  • 만물의 원소는 물이다.
    - 탈레스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.