2014-02-05 5 views
0

우리는 데이터 로깅을 위해 Arduino Mega 2560을 사용하는 프로젝트를 가지고 있습니다. arduino는 을 주기적으로 (2s주기) 다른 센서 값을 포함하는 문자열을 보냅니다. PC (Windows 7 및 Windows XP)에서는 logview 을 시각화에 사용합니다 (www.logview.info/). 이는 우리의 목적에 부합합니다. LogView의에 대한 있는 StringFormat 는 여기에 설명되어 있습니다 : http://www.logview.info/cms/d_formatbeschreibung.phtml통신 Arduino 메가 2560을 PC에 연결/끊기

우리의 문제는 LogView의 수시로 전화를 끊입니다. 직렬 로깅이 중지되고 logview는 더 이상 COM 포트를 열 수 없습니다. 유일한 해결책은 USB 케이블을 분리했다가 다시 연결하는 것입니다. 유감스럽게도이 은 우리에게 적합한 해결책이 아닙니다.

우리는 지금까지 시도하는 것 :

  • 우리는/USB를 통해 아두 이노 메가 2560에서 배우와 전송에만 더미 문자열 모든 센서를 제거 -> LogView의가 여전히 중단
  • 우리는 전송 속도를 감소 - > 장치가 너무 자주 끊지 않는 것 같습니다 (그러나 여전히 끊어지는 것 같습니다)
  • 더 짧은 USB 케이블을 사용했습니다.> 장치가 너무 자주 끊어지지는 않지만 (여전히 끊어지는 것 같습니다)
  • 우리는 PC에서 로그 데이터 대신 직렬 데이터를 파일에 쓰는 간단한 PC 프로그램을 사용했다.) -> 또한 전화를 끊습니다
  • Arduino에서 두 번째 USART에 추가 arduino USART/USB 변환기를 연결하고 두 개의 UART를 통해 같은 문자열을 보냈습니다. PC에서 우리는 두 포트 모두 logview와 putty를 보았습니다 -> 둘 다 끊었습니다

당신은 어떤 생각이 있습니까? 우리는 지상에

  • 문제가 될 수 있다고 생각
  • 창문이 문제

안부

시스템, PC와 아두 이노 모두에 전송 속도에 차이 오류를 계산하기

답변

0

시도 . 어쩌면 오류가 높고 통합 된 제어 기능이 오류 상태를 반환하고 프로그램을 닫을 수 있습니다.

+0

어떻게 오류를 측정 할 수 있습니까? 오실로스코프로 UART 신호 ?? – user250984

+0

측정 할 수 없으므로 계산해야합니다. 다음과 같이 시도하십시오 : BAUD = F_CPU/(16 * (UBBRn + 1)) 차이가 5 % 이상이면 다른 전송 속도를 선택해야합니다 –