회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
434 Allegro & OrCAD orcad layout 과정부터 동영상으로 된 강의를 보고싶습니다. 로보짜짱 320 2013.09.04
433 ECAD 아무거나 HOT도움을 구합니다. pads 9.5 크랙시 문제가 있어서요1 이바람76 1740 2013.08.26
432 PADS HOTpads 9.5 크랙버젼3 캐드쟁이 4326 2013.08.22
431 Allegro & OrCAD HOT전자캐드기능사 실기 시험준비 질문합니다 찬울92 627 2013.08.21
430 ECAD 아무거나 HOTOrCAD 16.x(16버젼 아무거나)버전 크랙버전좀 보내주세요. 부탁드립니다. 벼락이 602 2013.08.12
429 PADS HOTPADS PART에서 핀 이름이 삐져나오는 문제 초보에염ㅠㅠㅠ 429 2013.08.06
428 ECAD 아무거나 HOTpads9.3 win7에서 설치시 멈춤....2 맑은하늘 1341 2013.06.30
427 PADS HOTPADS 프로그램 어디서 다운하나여?1 bitbyte 617 2013.06.13
426 PADS pads 단축키 질문입니다.1 finics 360 2013.06.13
425 Allegro & OrCAD 프로그램 부탁합니다 리베 350 2013.05.22
424 PADS HOTPads9.2 설치 후 문제2 꼭지단 1018 2013.05.18
423 Allegro & OrCAD HOTallegro 16.5 버전에 via arrays명령이 안보입니다.1 비비비 461 2013.05.16
422 PADS HOTPADS 9.3 과 PADS 4.0 호환 질문입니다.1 스카이즈리밋 1185 2013.05.09
421 Allegro & OrCAD HOTOrcad 라이브러리 제작에 관한 질문입니다.1 웨라러브 1042 2013.04.18
420 PADS Edit decal 에서 Dimension 관련 질문2 야누스1세 369 2013.04.16
419 Allegro & OrCAD 부품배치 할때 파트넘버 위치 변경은 어떻게 하나요.1 곤곤 350 2013.04.12
418 Allegro & OrCAD HOTOrcad 라이브러리 생성후 오류 질문1 웨라러브 537 2013.04.03
417 PADS PADS2007을 사용중인데요...1 단순한바보 363 2013.03.28
416 PADS HOTpads 로직 메뉴 툴 설명1 탱구 613 2013.03.12
415 ECAD 아무거나 HOTorcad로 회로설계. pads로 pcb작업하는 동영상 자료없나요?1 jaemi2010 811 2013.02.28
Prev 1 ... 6 7 8 9 10 11 12 13 14 15 ... 32 Next
  • 사람들의 사사로운 말도 하늘이 들으심은 우뢰와 같다. 캄캄한 방에서 마음을 속이더라도 귀신의 눈은 번개와 같다.
    - 현제
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.