일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- soildworks
- solidwors
- 아두이노
- 주파수분석
- Grafana
- FFT
- 활성단자
- Arduino
- RevPi Core3
- 출력신호
- bme280
- Raspberry Pi
- Rasrpberry Pi
- 누설전류센서
- mf2200
- 전기공사사
- Node-RED
- 중성단자
- raspbeey pi
- 침수감지
- 일본 자격증
- 상태진단
- 온습도
- sensor
- ubuntu
- 기계설계
- 실용영어능력검정
- InfluxDB
- mptt
- 공유폴더
- Today
- Total
라즈베리팡팡
실험|I2C통신의 장거리 전송 본문
I2C 통신으로 100m 정도 떨어져 있는 장치의 센서부터 데이터를 받아 올 수 있을까?
지금까지는 센서와 1m 정도의 케이블로 측정했고, 케이블의 거리를 100m 이상으로
연장하는 방법에 대해서는 지식이 전무했으므로, 방법에 대해서 조사한 내용을 정리해둔다.
1. I2C 통신 케이블의 최대 거리?
"I2C는 애초에 장거리를 위해 설계되지 않았고, 일반적으로 연장해서 사용하지 않는다.
케이블의 길이가 길어지면 자체 저항이 높아지게 되며, 따라서 그만큼 노이즈의 영향을 받기 쉽게 된다."
라고 하는데 최대 거리가 명확하게 나와 있는 곳은 없었다. i2c의 속도, 사용한 케이블, 풀업 저항 등 조건에 따라 달라지겠지만 대체로 I2C는 HDMI와 같은 케이블을 사용하므로 10m정도의 거리라면 올바르게 작동한다고 한다. 그 이상 케이블을 연장하여 사용하기 위해선 i2c버퍼를 이용하거나 다른 통신방법을 사용하는 것이 일반적. 구글링 결과 2~3m, 5m의 케이블에서도 버퍼를 사용하는 경우가 있어서, 혹시 10m 거리에서 버퍼를 사용하지 않고 통신이 가능한지 테스트해 보기로 했다.
라즈베리파이와 BME280 센서의 거리를 늘려서 데이터를 확인해 보았다. 처음 2m 정도의 길이에서 별 다른 문제가 없었기에, 남은 케이블을 이용해서 총 8.2m의 거리에서 측정했는데 눈에 띄는 오차나 노이즈는 볼 수 없었다. 버퍼의 도움 없이도 10m 이내의 통신이라면 가능할 것으로 보인다.
2. 10m 이상의 장거리에서의 통신 방법은?
I2C버퍼 - 풀업 전압을 높게, 풀업 저항값은 낮춰서 I2C 버스의 전류를 앞당기는 방법. 이러한 방법은 버스의 임피던스도내려가기 때문에, 노이즈에 대한 내성도 당연히 향상된다. 케이블의 양 끝에 버퍼를 연결한다. >>> P82 B96, PCA9600 모델번호. 연장 가능 거리는 20m 정도.
이외에 다른 통신방법으로는 500 kbits/1s, 최대 거리 100m까지 가능한 can버스 통신이나 rs485 등이 있다.
대체로 20m 이상 장거리 통신에 I2C방식은 어울리지 않는 것 같다.
참고 링크
http://www.fec.co.jp/product/i2c/PCA9600D.htm
https://lab.fujiele.co.jp/forums/topic/4331/
https://qastack.kr/electronics/461010/can-i-use-i2c-over-2m-cables
https://electronics.stackexchange.com/questions/106265/maximum-i2c-bus-length
http://japan.renesasrulz.com/cafe_rene/f/forum19/3619/i2c#pi4368=1
https://raspberrypi.stackexchange.com/questions/68244/analog-sensors-at-long-distances/68896
https://www.switch-science.com/catalog/3904/
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P7ikSAC&l=ja-JP
'엔지니어 > 실험' 카테고리의 다른 글
실험|밀폐공간에서의 온도와 습도의 관계 #2 (0) | 2022.09.29 |
---|---|
실험|밀폐공간에서의 온도와 습도의 관계 #1 (0) | 2022.09.15 |
실험|베어링 이상 감지 (주파수 특성) (0) | 2022.05.26 |
실험|수중환경에서 온습도 값에 의한 침수감지 (0) | 2022.04.06 |