두 Arduino 간의 직렬 통신을위한 최대 와이어 길이는 얼마입니까?


9

나는 두 개의 Arduino가 3 개의 전선으로 연결되는 프로젝트를 만들고 있습니다 : 직렬 통신을위한 RX TX와 공통 GND. 통신이 영향을 받기 전에 전선의 최대 길이는 얼마입니까?

한쪽에는 Arduino Mega R3을 사용하고 다른쪽에는 Arduino Mini를 사용하고 있습니다.

나는 Baud rate에 대한 특별한 요구 사항이 없으며 이것이 어떤 식 으로든 도움이된다면 가장 낮은 것을 사용할 수 있습니다.

답변:


4

지정해야합니다

  • 관심있는 범위의 순서는 미터, 수십 미터, 킬로미터 또는 주간? :-) 순입니다. 적절한 타협으로 모든 것이 가능합니다.

  • 회로에 연결하는 방법-직접 Arduino 핀, 고 / 저 버퍼, 차동 드라이버 ...

5V / 0V "단극"을 사용하는 경우 9600 보드에서 적합한 드라이버로 여러 미터를 얻을 수 있습니다. Arduino 핀을 사용하면 저항을 직접 배선하면 범위가 증가함에 따라 인덕턴스가 중요해지기 시작합니다.

300 보드에서 트위스트 페어 케이블로 수백 미터를 달성 할 수 있습니다. 범위가 증가함에 따라 다른 회로의 누화와 같은 측면이 증가하고 외부 노이즈의 중요성이 증가합니다. 각 경우에 신호 + 접지가 함께 꼬인 4 개의 와이어가있는 더 긴 범위에서는 관심이 있지만 관심있는 범위에서 2 와이어 + 접지가 정상적으로 작동 할 가능성이 있습니다.

충분한 전압을 사용하고 신호를 충분히 느리게 준비 할 수 있다면 초기 전신 케이블에서와 같이 수천 마일 이상 신호를 보낼 수 있습니다. 수천 볼트가 필요하며 초당 몇 비트의 신호 속도는 대부분의 경우에 불리합니다.


내가 덮고 싶은 거리는 우리 집 내부에서 외부 문까지 약 40-50 미터입니다. 내 의도는 관련 Arduino 핀을 이전 인터콤 설치에서 찾은 케이블로 직접 연결하는 것이 었습니다.
hobie

2
케이블이 길면 Arduino에 위험이 있습니다. 유도, 누설, 정전기. (전원 고장으로 인한 번개 및 접지 상승 만 가능하지만 ...). 모든 라인의 전원 공급 장치 레일에 클램프 다이오드를 역전시키는 것이 좋습니다. 기본 드라이버 IC는 매우 좋은 아이디어입니다. 각 끝에 xx74xx14 hex Schmitt 인버터 IC조차도 유용 할 것입니다. 여기서 xx는 제품군에 따라 다릅니다. 적절한 라인 드라이버는 훨씬 나아졌지 만 시작입니다. Arduino가 가치가 있다면 버퍼를 사용하십시오.
Russell McMahon

의견과 제안에 감사드립니다. 주어진 거리 (약 40m)를 간단한 연결로 처리 할 수 ​​있는지 알아보기 위해 각각 송신자와 수신자로 설정된 두 개의 Arduino Uno를 사용해 보았습니다. 보드는 TX / RX 라인 (핀 0과 1)을 통해 초당 9600 비트로 직접 연결됩니다. 송신자는 수신자가 들어오는 데이터를 수신하는 동안 매 초마다 테스트 문자열을 보냅니다. 기존 회선을 사용하고 있습니다 (이 케이블의 품질 / 사양에 대한 정보는 없습니다. 어쨌든 발신자 / 수신자 쌍은이 거리와 구성에서 아무런 문제없이 작동하는 것 같습니다.
hobie

감사합니다. IC 또는 드라이버 칩에 대한 특별한 제안 / 링크가 있습니까?
hobie February

@hobie 50 미터 및 9600 보드에서 거의 모든 5V 디지털 드라이버 IC 및 심지어 디지털 출력 IC로도 양호한 결과를 얻을 수 있습니다 (시도해보십시오). 유용한 시작점은 슈미트 트리거 CMOS 인버터이며 일반적으로 74xxx14, CDxxx14, MM ..... 14입니다. Schmitt 트리거 인버터를 찾고 가장 낮은 구동 전력을 피하십시오.
Russell McMahon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.