제어 모듈 전압과 배터리 전압이 동일합니까?


8

제어 모듈 전압 (OBD 모드 01 PID 42에서)과 배터리 전압이 동일합니까? 그렇지 않다면, 그들 사이의 관계는 무엇입니까? 배터리 전압이 자동차에서 최대 14V 일 수있는 경우 제어 모듈 전압의 최대 값 (OBD 모드 01 PID 42에서)이 65.535V 인 이유는 무엇입니까?


설명을 위해 : 실제로 판독 값으로 65.535V를 거나 가능한 최대 판독 값이 왜 특정 숫자 인지 궁금 하십니까?
user253751

1
최대 값이 99.999 인 경우 추론은 매우 분명합니다 (두 번째 뒤에 소수점이있는 5 자리). 65535는 이진수로 99999는 10 진수입니다.
user253751

답변:


9

들어오는 신호에 문제가있는 것 같습니다.

차량에 플럭스 커패시터 가 장착되어 있지 않으면 배터리 양단의 65V가 너무 많습니다. 대형 트럭조차도 내 지식에 그 전압을 공급하지 않습니다.

65535는 최대 부호없는 16 비트 정수입니다.

상기 찾고 OBD-II의 는 SAE J1979은 당으로 OBD-II PID가 사용하는 공식처럼 보이는 위키 페이지 :

( A * 256 + B ) / 1000

A가 처음 두 바이트 인 경우 B는 다음 두 바이트입니다. A와 B가 모두 255 (이진수로 11111111) 인 경우 가능한 최대 전압 인 65.535V를 얻습니다.


이 결과가 시뮬레이터에서 나온 것이라면 나는 그 책임을 고정시킬 것입니다. 이것이 실제 차량에서 나오는 신호 인 경우 ECU 단락을 확인합니다 (확실하지는 않음). 비정상적인 전압의 가능성을 배제하기 위해 올바른 주소를 폴링하고 있는지 확인하십시오.

제어 모듈 전압은 ECU에 공급되는 전압입니다. 배터리 전압은 아니지만 일반적으로 차량이 주행 중일 때는 충분히 가깝습니다.


1
자동차 소프트웨어와는 달리 시작하는 것이 좋습니다. 그건 그렇고 환상적인 반응입니다. :)
경주 열이

6

당신이보고있는 것은 단지 컴퓨터가 작동하는 방식의 인공물이라고 생각합니다. 당신이주는 숫자는 65535에 소수점이 삽입되어 있습니다. 이는 컴퓨터에 특별한 숫자입니다. 16 비트 (2 바이트) 정수로 보유 할 수있는 가장 큰 값입니다. 간단히 말해, 사용하기로 결정한 컴퓨터 변수로 인해 특정 측정에 대해 반환 될 수있는 가장 큰 값입니다. 그것은 프로그래밍의 비유입니다. 그들은 65 볼트를 측정 할 것으로 기대하지 않습니다. 이 값이 양수이거나 음수 일 수 있으면 최대 값은 32,767입니다.

많이 볼 수있는 다른 숫자는 255입니다. 이것은 8 비트 (1 바이트) 부호없는 숫자의 최대 값입니다. 값이 양수 또는 음수 일 수있는 경우 최대 값은 127입니다.


내 대답을 참조하십시오. 내가 뭔가에 생각합니다 ...
Zaid

일반적으로 12 7 은 부호있는 8 비트 정수의 최대 값입니다.
user253751

@immibis, 당신은 저를 얻었습니다-나는 내 머리에 "서명"했고 -128을 생각하고있었습니다. 감사.
JPhi1618

1

엔진이 작동 중일 때 전압 발전기 / 전압 조정기 출력 (배터리 충전 전압이기도 함)을 추적 해야 합니다. 엔진이 작동하지 않으면 배터리 전압을 추적합니다.

넓은 전압 범위의 이유에 대해서만 추측 할 수 있습니다. 조정되지 않은 교류기 출력은 48V를 초과 할 수 있으므로 유용한 진단 데이텀이 될 수 있습니다. 또는 값 범위가 필요한 값을 초과하는 것은 디지털 인코딩의 인공물 일 수 있습니다.


1
CMV가 65 + vdc에 도달하면 발전기 전압을 어떻게 추적합니까? 그것은 곧 배터리를 완전히 튀길 것입니다. 대부분의 실행중인 차량 해야 발전기에서 읽을 수는 ~ 14VDC입니다. 너무 지나간 것은 배터리가 없어요.
Pᴀᴜʟsᴛᴇʀ2

@ Paulster2 질문에 답하기 위해 답변을 업데이트했습니다.
kmarsh

1

제어 모듈 전압은 배터리 전압에서 배터리와 ECU 사이의 배선에서 볼트가 떨어진 값입니다. 65535는 전체 16 비트 레지스터입니다. ECU는 아마도 정수 (더 빠른 계산)로 작동하지만 OBD 계산의 최종 출력을 '부동 소수점'또는 '실제'형식 (소수점을 사용할 수있는 숫자)으로 변환합니다.

최대 값이 65535, 6553.5 또는 655.35가 아닌 이유는 소수점이 왼쪽에서 두 자리에있을 때 모든 계산 가능한 값을 표시 할 수 있도록 소수점 왼쪽에 충분한 자리를 제공하는 동시에 정수 계산 단계에서 최고의 정확도를 허용하기 때문입니다. 본질적으로 ECU는 정수로 소수점 이하 3 자리까지 작업 할 수 있습니다. 아마도 배터리 전압에는 그다지 중요하지 않지만 그것이 원칙이라고 생각합니다.

인위적으로 65535 미만의 최대 값을 적용 할 수있는 기능이 없었을 수도 있지만 이점이 없었더라도 그렇게 할 수는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.