안녕하세요 저희팀은 Bamocar d3 400-400 컨트롤러를 사용하고 있습니다
현재 monolith 파일을 통해 stm32보드에 코드를 넣고 데이터 로거를 만들어 테스트 중에 있습니다. 현재 gps 가속도 센서를 wifi모듈을 통해 정상적으로 웹에서 데이터를 수신하고 있지만 CAN 부분이 작동을 하지 않고 있어 원인을 알수없어 질문드립니다.
추가적으로 bamocar can통신관련된 자료를 첨부하겠습니다
CAN-Complete_English.pdf (722.5 KB)
CAN 통신이 안 되는 원인은 너무 많습니다. 적어도 구성하신 환경이나 테스트해보신 것에 대해 더 설명해주셔야 문제를 해결하는데 도움을 드릴 수 있습니다.
컨트롤러에서 CAN 데이터가 나오고 있다는 걸 다른 방법으로 확인한 적이 있나요? 있다면 모노리스의 CAN 기능을 켜고 baud rate를 컨트롤러에 맞게 설정하셨나요?
여기까지 해보셨다면 모노리스의 출력 로그 파일을 올려주세요.
답변해주셔서 감사합니다
Bamocar d3와 데이터로거를 연결만 했는데 bamocar에서 can데이터가 나오는 것을 확인하는 법을 찾지못하고 있습니다. 매뉴얼에는 CAN ID값에 대한 설명은 있는데 이를 연결하고 확인하는 방법이 어떤지를 잘모르겠습니다. 이에 대한 조언을 얻을 수 있을까요?
제일 눈으로 확인하기 편한 건 USB to CAN 어댑터를 하나 사서 컴퓨터로 열어보는 건데요, 설정하고 배선만 잘 했다면 데이터로거로도 확인할 수 있어야 합니다. 로그 파일 CSV로 변환해서 열어봤을 때 CAN 데이터가 있으면 적어도 수신은 되고 있다는 뜻입니다.
아예 CAN 연결이 처음이신 것 같은데 말씀드렸다시피 CANH과 CANL 배선, 종단 저항, baud rate 어떻게 설정하셨는지를 좀 더 설명하셔야 합니다. 이 세 개만 잘 해도 웬만하면 다 수신됩니다.
bamocar의 can 포트에 H와L사이에 종단저항을 연결했고 데이터 로거의 SN65HVD230로 서로 연결했고 baud rate는 500k로 설정했습니다. can 어댑터 구매후 확인해보겠습니다.
감사합니다
안녕하세요 우선 orion bms2의 can어댑터는 이미 있어 컴퓨터로 확인후 데이터로거의 로그파일을 확인하였는데 Can데이터가 전달되고있는 것을 확인하였습니다. 근데 can 연결을 하면 wifi를 통한 웹 연결이 끊키게 되는게 이유를 몰라 질문드립니다. bms연결은 500k로 연결하였고 로그 파일을 첨부하겠습니다.
2025-03-18 19-01-37.zip (116.4 KB)
올려주신 로그를 보면 CAN 데이터가 한 번도 변하지 않고 계속 동일한 값으로 기록되어 있고 그 간격이 너무 짧네요. 데이터가 정상인 것처럼 보이지는 않습니다.
BMS CANdapter로 확인하셨을 때도 로그에 기록된 것과 같은 데이터가 보였는지, 몇 ms 간격으로 데이터가 들어오는지 확인해보셔야 할 것 같습니다.
텔레메트리가 끊기는 현상은 CAN 로그가 너무 많이 발생하고 있어서 대역폭을 감당하지 못하는 것 같네요. 100 ms 동안 거의 400개에 달하는 CAN 로그가 찍혔는데, CAN 메시지 주기가 250 us라는건 뭔가 이상해 보입니다.
데이터를 천천히 들어가게하기위해서 1000ms로 설정후 데이터 로깅을 진행해보았는데도 동일한 문제가 발생하고 있습니다. 원인을 알수없는데 원인분석을 어떻게 해야할까요?
데이터로깅파일을 첨부하겠습니다
2025-03-19 21-26-56.zip (108.1 KB)
본문에 올리신 데이터시트는 컨트롤러라 버스에 컨트롤러만 있는 줄 알았는데 이건 오리온BMS 설정 툴이네요. 지금 CAN 버스에 물려있는 장비가 어떤 것들이 있는 건가요?
문제 원인을 좁히려면
- candapter 툴중에 live bus traffic 보는게 있을 텐데요. 거기서 수신되고 있는 데이터와 주기를 확인해 보시고 캡쳐해서 올려주세요.
- 버스에 로거와 컨트롤러만 남기고 기록한 로그, 로거와 BMS만 남기고 기록한 로그를 각각 만들어서 어느 쪽에서 문제가 나타나는지 확인해 보세요. 이 경우엔 종단저항을 신경쓰셔야겠죠.
현재 데이터로거는 bms만 가지고 can통신 테스트를 진행하고있습니다. candapter를 통해 cantraffic을 통해서 값이 송신하고있는지 확인하고 데이터로거랑 연결해서 can통신 기록을 확인하는 방식으로 현재 테스트중입니다. 제가 orion bms를 처음 다뤄보다보니 미숙한 부분이 많은거같습니다.
항상 친절하게 답변해주셔서 감사합니다
영상 보니 CAN 메시지 자체는 정상적으로 보내지고 있는 것 같네요. 올려주신 영상 녹화할 때 모노리스도 CAN 버스에 연결되어 있고 켜진 상황이었던 거죠?
모노리스 설정 툴에서도 CAN baud rate 500kbit/s 로 설정되어 있는 거라면 하드웨어나 배선을 의심해봐야 할 것 같은데요… 오리온 bms와 함께 사용하는걸 많이 봤는데 이런 케이스는 처음이네요.
일단 질문만으로는 문제의 원인을 파악하기는 어려우나, 우선 하드웨어 디버깅을 해서 캔 프레임이 정상적으로 버스로 브로드캐스팅 되고있는지 확인하는 것이 좋을 것 같습니다.
버스의 종단저항을 먼저 확실히 확인해보시고, 오실로스코프로 버스의 파형을 확인해보시기 바랍니다.