본문 바로가기

ADC3

ESP32 ADC ESP32의 경우 12bit 18개의 ADC를 가지고 있습니다. 또한 ESP32의 경우 ADC값이 완전히 리니어하지는 않습니다. 위 그래프처럼 조금 울퉁불퉁한 면이 있어서 주위해야하며, 0.00v~0.10v와 3.10v~3.30v 사이는 거의 변화가 없는걸 유의 하셔야 합니다. 물론 adc를 calibration하는 방법이 여러가지가 있는데 크게 영향을 미치지 않는 영역의 adc를 사용한다면 그대로 사용하셔도 됩니다. 크게 ADC1 8채널과 ADC2 10채널로 나뉘어져 있으며 ADC1과 ADC2는 차이가 조금 있는데 ADC2의 경우 WiFi나 BT를 사용하면 ADC기능을 사용할 수 없습니다. 이런경우 ADC1을 사용해야 합니다. 가변저항을 이용하여 간단하게 테스트를 해보겠습니다. 우선 가변저항의 한쪽엔 .. 2020. 3. 12.
arduino에서 CT로 전류값 읽기 예제소스코드 이번 프로젝트에서 CT로 전류값을 읽어 제어를 해야 하는 부분이 있어서 검색해보니 아두이노를 이용하여 전류값을 측정하는 방법은 많이 나와있습니다. 그래서 해봤는데 CT측정 값이 정형파로 나와 정확한 값을 측정하기는 어려웠습니다. 대충 비슷한 값을 넣어주고 해서 비슷하게는 되지만 정확한 값을 알기는... 제가 사용한 CT센서는 화인트랜스텍의 FS9L10입니다. 개폐형이라 사용하기 쉽습니다. 회로구성은 CT에 저항을 연결하여 나오는 전압값을 ADC로 받아서 처리하면 됩니다. 테스트 그래프입니다. 일단 저는 100옴짜리 저항을 사용하였습니다. 그리고 ADC값을 출력해봅니다. 시리얼 플로터로 보면 위와같은 그래프가 출력됩니다. 최고 값이 240정도 나오는데 전압으로 환산을 해보면 240/1024*5.. 2019. 3. 6.
ADS1115 16bit ADC Module 예제소스코드 다운로드 ADS1115는 ADS를 좀 더 정밀하게 해주는 모듈입니다. 샘플링을 16bit로 합니다. 즉 65535개입니다. 스펙을 보시면 ADC의 Input Range를 설정할 수 있습니다. 그리고 자세히 보시면 -부터 +까지 되어있습니다. 그말인 즉 16bit이지만 15bit로 나눠준다는뜻이됩니다. 왜냐하면 -영역까지 있으니~ 핀을 보시면 ADC채널은 4개가 있고, I2C로 전송되므로 통신핀과 전원핀이 있습니다. Arduino Uno는 제일 끝쪽에 SCL과 SDA가 있습니다. 이곳에 서로 연결해 주시고, 전원을 연결해 줍니다. 그리고 I2C는 병렬통신이라 고유 주소가 있어야하는데 ADDR의 연결위치에 따라 주소가 달라집니다. 즉 ADDR을 GND에 연결하면 I2C주소가 0x48 ADDR을 .. 2018. 6. 8.

인기글