 adc .

â   
   ȸ 1225   õ 0    

쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 

안녕하세요. 이창준 입니다. 어디 가서 물어볼 데가 없어 회로를 가져오게 되었습니다. 

라즈베리파이 피코에 압력계를 붙여 제어할 목적으로 ADC를 테스트하고 있습니다. 이제껏 가변저항으로 ADC에 입력하고 가변저항의 작동에 의해 "음...잘 되네..." 하고 있던 것을 실제 입력 전압과 코드에 의해 읽어지는 데이터 비교는 처음하게 되었는데, 제가 생각했던 것과 너무 달라 고수 분들의 조언을 얻고자 합니다. 

아래의 적용 과정을 참고하시어, 원하는 근사 1.65V(32768)를 ADC에서 얻을 수 있도록 고수분들의 고견을 구합니다.

======== 과정========

1. 라즈베리파이 피코의 ADC는 0 - 65535 16비트 데이터로 변환이 됩니다.

2. USB를 통해 라즈베리파이 피코에 전원을 인가 하였습니다. (현재 외부 전원은 연결하지 않았습니다. 차후 5V 적용예정)

3. 전압 분배로 3.3V의 절반 1.65V를 얻기 위해 아래의 스키매틱과 같이 220옴 두 개를 사용하였습니다. ( 멀티미터로 측정시 완전한 1/2인 1.65V는 아니지만, 1.58V로 근사한 절반이 측정 되었습니다. 저렴이 알리산 저항이라 그러려니 합니다.)

4. 분배된 전압을 라즈베리파이 피코 ADC 채널0번 26번핀에 연결하였습니다.

5. 하단의 마이크로 파이썬 코드로 ADC 데이터를 읽었습니다.

======== 결과========

1. 파이썬 코드에 의해 읽어지는 데이터는 1.65와 전혀 근사하지 않은 2.48V로 계산이 됩니다. 읽어지는 ADC 값이 49164로 전압 변환의 목적으로 * (3.3 / 65535) 가 적용되었습니다.

2. 저항의 오차를 감안하더라도 너무 오차가 커서 어디가 문제일까 삽질 중입니다.

3. 메뉴얼을 참고하여 ADC_VREF에 3.3V를 연결하니, ADC 측정값은 최대치인, 3.3V(65535)가 나타납니다. (일단 측정이 되지 않는다고 판단하여 적용하지 않았습니다.)



========마이크로파이썬코드============

from machine import ADC, Pin

import time


# ADC 객체 생성 (GPIO 26 사용)

adc_pin = ADC(Pin(26))

conversion_factor = 3.3 / 65535  # 16비트 ADC 값을 전압으로 변환하는 계수


while True:

    # ADC 값 읽기

    reading = adc_pin.read_u16()

    # ADC 값을 전압으로 변환

    voltage = reading * conversion_factor

    print("ADC Value: {}, Voltage: {:.2f} V".format(reading, voltage))

    # 1초 대기

    time.sleep(1)


========마이크로파이썬 REPL 결과 값=========





ª ϼ ϰ.
SOGm 07-15
̰ Դϴٸ, Agnd GND Ʈ ѳ̴µ
 ׷?
ش κп  Ż ɽ...

׸ ׽ͱ AGNDɰ A0  ʿ䵵 Ͱϴ.
     
â 07-15
亯մϴ.
޴ 󿡴 AGND ADC Ͱ Ǿ ִٰ ϳ׿. ADC 䱸 е ũ ʴٸ, ADC GND GND(AGND ƴ GND) ϴٰ ߽ϴ. ׸Ͽ Ͽϴ. ׽Ʈ GND AGND /ܶ õϿ,  ũ ʾҽϴ.
AGND A0 ѰͰ 1.58V ˴ϴ.
07-15
غ 2.2V range 2.2V * 49164 / 65535 ε
AREF ΰǴ ƴұ ˴ϴ.

+
AGND / GND μ̴µ  AGND ΰǴ п Ǵ ٸ ϴ.
Ȥ 𸣴 AGND 3.3V ° GND ϰ ٽ غø  մϴ.
     
â 07-15
亯 մϴ.
ADC_VREF ǽɽ մϴ. ٷδ AGND ADC , ADC_VREF ְ Դϴ. AGND ADC_VREF ̿ 3.3V ; ϴµ, 1.186V ֽϴ. ׷ ó ADC_VREF 3.3V , ADC Ǵ 3.3V(65535) ɴϴ. GND AGND̿ ˴ϴ. ׽Ʈ GND AGND /ܶ õϿ,  ũ ʾҽϴ.
          
07-15
۸ ϴ 3.0V max ADC_VREF ϴ 3.3 ȵǴ° ϴ.
ƹư VREF ADC ϴ°ɷ ϰ ߴµ..
AGND - ADC_VREF ̰ 1.186V
1.186V * 49164 / 65535 ؾ ʳ ˴ϴ.

ȸδ ƴ϶.. ٸ п ~~ ϰڽϴ
̶ 07-15
̴  ߸𸣰
Ǿٴ 49164..
65536-49164 = 16397
16397 / 32767 x 3.3 = 1.65 ׿.
+- Է¹޴ ΰ? ·, ̶ adc κ ޴ оø ǰڽϴ.
-----------------------------------
о ׿.. ũ ̽ʵ ,
Vref ΰÿ ADC0 Ʈ ̻ ߰ڳ׿.
     
â 07-15
亯 մϴ.
űմϴ.
"16397 / 32767 x 3.3 = 1.65 ׿" ̺κ  ߵǾ ڼϰ Ź ɱ?
3 ִµ, 3 100% ϰ ֽϴ.
          
07-15
unsigned short ƴ϶ singed short -32768 ~ 0 ~ 32767 ϽŰ ϴٸ
65535 ° ذ ȵdz׿ negative ̶ 𸦱
               
̶ 07-15
翬 Է϶ ׷.
ٷ ͵ TI mcu Ϳ ֽϴ. (Ϲ 2 ϲ, 0~max ǥҲ)
#define SD24_DATA_FORMAT_BINARY              (0x00)
#define SD24_DATA_FORMAT_2COMPLEMENT  (SD24DF)

ڸ ʱ⿡ ׽Ʈߴ Է ̶ ؼ ߽ϴ.
ٵ ڴ ׷ ׿.
                    
07-15
cortex-m3 ti µ
򿡴 stm ַ ׿ -_

Ӻ/ ڶ ݰϴ!
                         
â 07-15
Ф rp pico ....(_ _)
                         
̶ 07-15
ݰϴ.
뵵 TI(msp430i),  ܼ AVR(mega/tiny),  stm32..
pic 8051迭 ̻ Ⱦ°ɷ
               
̶ 07-15
ٽú ߸׿.
ϸ鼭 ٺ.. ̻ϴٰ ϽŰ ½ϴ.
49164-32767 Դϴ.
          
̶ 07-15
() 0V~ ø غ.
3 ׷ ũ ̼ ̺귯 ..
               
â 07-15
ֹص׽ϴ. ϸ ٽ ѶѶ غ ڽϴ.
ó ũ̽ ߿ ޾Ƽ ϳ ־ ڽϴ.
մϴ.
          
07-15
pico ־ ... ѹ غ غڽϴ
Ȥ ͼ ȸ翡 غ ο
               
â 07-15
į~մϴ.
â 07-15
ڵ ESP WROOM 32 ׽Ʈ ε, ~~~~ ˴ϴ. ̤ "PICO ???~~~~"
07-16
https://www.fnirsi.com/products/sg-003 ñ׳ ʷ ̿ؼ
AGND common(GND)
GP26 OUT ϰ
3.0V / 3.1V / 3.2V / 3.3V ׽Ʈ ߽ϴ.

>>> adc_pin.read_u16()                                                         
60398                                                                         
>>> adc_pin.read_u16()                                                         
62367                                                                         
>>> adc_pin.read_u16()                                                         
64319                                                                         
>>> adc_pin.read_u16()                                                         
65535                                                                         
>>> adc_pin.read_u16() 

3.3V Vmax ϸ
3.04132753490501
3.14047608148318
3.23876859693294
3.3
ɴϴ. 0.05V ߻ϱ ϴ.

ǵ ʹ 𸣰
 ޴ 󿡴 3.3V RC ȸη Ŷ ܺο AREF ִ° ϰ ְ
ȸδ 220 ٰ ؼ 1:1 𸣰ڽϴ.
     
â 07-16
PICO ̻ϴٴ ֽϴ. ֽ ׽Ʈó AA ͸ ٿ ȵ˴ϴ. ׳ 65535 ִ밪 dz׿. Ǹ 1:1 й谡 մϴ. 220 ׳ ִ ̶... 1K ΰ, 10K ΰ, ΰ ϸ 1:1 й谡 ˴ϴ.
          
07-16
Ȥ 𸣴 AREF ְ غô° ?
޴ (20p)
https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf

4.3. Using the ADC
The RP2040 ADC does not have an on-board reference and therefore uses its own power supply as a reference. On Pico
the ADC_AVDD pin (the ADC supply) is generated from the SMPS 3.3V by using an R-C filter (201 into 2.2F).

忡 ִ RC filter ADC_AVDD ޵Ǵ ִ° ƴұ DZ⵵ մϴ.
               
â 07-16
^^ 3.3V ̹ ־. ִġ ˴ϴ. ο  ƿ.
                    
07-16
ذϽ
̷ ׷ Ž x2 մϴ. ٸ ϳ غ
                         
â 07-16
x3 .... ǰ pico ƴϰ usb c Ÿ ưưؼ ؿ 亸  cŸ Ŭ ŵ. ݵ ر ؼ. ߴ ڸ ϱ ư ۵ մϴ. ̤ װ ǰ  ; ϴµ...
â 07-17


QnA
Page 5573/5687
2015-12   1531742   ް
2014-05   4995823   1
04-03   1226   HEJYS
05-10   1226   ü
2022-03   1226  
2023-02   1226   dateno1
2023-03   1225   ƮϾƺ
08-13   1225   sdlfkjwer
2023-11   1225   llsean
05-08   1224   ູҳ
02-10   1224   9
2023-12   1224   ȭ
2022-10   1224   azchoi
05-17   1224   sasaz
2023-12   1224  
2023-05   1224   ູϼ
2022-10   1224   ̰
2023-06   1224  
01-26   1223   winner712
06-11   1223   dpp0548
2023-08   1223   ܿﳪ
06-23   1223   scn331