Apakah tegangan modul kontrol dan tegangan baterai sama?

8

Apakah Voltase Modul Kontrol (dari Mode OBD 01 PID 42) dan tegangan baterai sama? Jika tidak, apa hubungan keduanya? Mengapa nilai maksimum Tegangan Modul Kontrol (dari Mode OBD 01 PID 42) adalah 65,535 V, ketika tegangan baterai dapat mencapai 14 V di dalam mobil?

Soumya Sen
sumber
Untuk klarifikasi: apakah Anda benar-benar mendapatkan 65,535V sebagai bacaan, atau hanya ingin tahu mengapa bacaan maksimum yang mungkin adalah angka tertentu?
user253751
1
Jika nilai maksimum 99,999, alasannya akan cukup jelas (5 digit, dengan titik desimal setelah yang kedua). 65535 dalam biner, angka 99999 dalam desimal.
user253751

Jawaban:

9

Sepertinya masalahnya adalah dengan sinyal yang masuk.

Kecuali jika kendaraan Anda dilengkapi dengan kapasitor fluks , baterai sepanjang 65 V agak terlalu banyak. Bahkan truk-truk besar tidak menjalankan tegangan setahu saya.

65535 adalah integer 16-bit maks unsigned.

Melihat halaman wiki OBD-II sepertinya rumus yang digunakan oleh OBD-II PID sesuai SAE J1979 adalah:

( A * 256 + B ) / 1000

Di mana A adalah dua byte pertama, B adalah dua byte berikutnya. Jika A dan B keduanya 255 (jadi 11111111 dalam biner), Anda akan mendapatkan voltase maksimum yang mungkin, 65.535 V


Jika hasil ini dari simulator, saya akan menyalahkannya. Jika ini adalah sinyal yang berasal dari kendaraan sungguhan, saya akan mengecek ECU pendek (meskipun tidak yakin). Pastikan Anda memilih alamat yang benar untuk mengesampingkannya sebagai kemungkinan untuk tegangan yang tidak biasa.

Tegangan modul kontrol adalah tegangan yang dipasok ke ECU. Ini bukan tegangan baterai tetapi biasanya cukup dekat ketika kendaraan berjalan.

Zaid
sumber
1
Tidak seperti perangkat lunak otomotif yang baik untuk memulai. Omong-omong, ini tanggapan yang fantastis. :)
demam ras
6

Saya pikir apa yang Anda lihat hanyalah artefak dari cara komputer bekerja. Angka yang Anda berikan hanya 65535 dengan desimal yang dimasukkan ke dalamnya. Itu adalah nomor khusus untuk komputer - ini adalah nilai terbesar yang dapat disimpan dalam bilangan bulat 16-bit (2 byte). Jadi, sederhananya, itu adalah nilai terbesar yang dapat dikembalikan untuk pengukuran tertentu karena variabel komputer yang mereka putuskan untuk digunakan. Ini isapan jempol dari pemrograman - mereka tidak berharap untuk pernah mengukur 65 volt. Jika ini adalah nilai yang bisa positif atau negatif, Anda mungkin melihat nilai maksimum 32.767.

Nomor lain yang mungkin Anda lihat banyak adalah 255. Ini adalah nilai maksimum dari nomor yang tidak ditandatangani 8-bit (byte tunggal). Jika nilainya bisa positif atau negatif, nilai maksimalnya adalah 127.

JPhi1618
sumber
Lihat jawaban saya. Saya pikir saya ke sesuatu ...
Zaid
Biasanya 12 7 akan menjadi nilai maksimum integer 8-bit yang ditandatangani.
user253751
@immibis, Anda mendapatkan saya - saya telah "menandatangani" di kepala saya dan berpikir -128. Terima kasih.
JPhi1618
1

Ketika mesin menyala, tegangan harus melacak keluaran alternator / regulator tegangan (yang juga merupakan tegangan pengisian baterai). Ketika mesin tidak bekerja, itu akan melacak tegangan baterai.

Saya hanya bisa berspekulasi tentang alasan kisaran tegangan lebar. Output alternator yang tidak diregulasi dapat melebihi 48V, sehingga ini bisa menjadi datum diagnostik yang berguna. Atau, itu mungkin hanya artefak dari pengkodean digital, bahwa rentang nilai melebihi apa yang diperlukan.

kmarsh
sumber
1
Jika CMV mencapai 65 + vdc, bagaimana melacak tegangan alternator? Itu akan benar-benar menggoreng baterai dalam waktu singkat. Kebanyakan kendaraan yang berjalan harus membaca di alternator ~ 14vdc. Apa pun yang melewati itu dan itu bye-bye-battery.
Pᴀᴜʟsᴛᴇʀ2
@ Paulster2 Saya memperbarui jawaban saya untuk menjawab pertanyaan Anda.
kmarsh
1

Modul Kontrol Tegangan adalah tegangan baterai, minus setiap volt yang jatuh pada kabel antara baterai dan ECU. 65535 adalah register 16 bit penuh. ECU mungkin akan bekerja dengan angka integer (menghitung lebih cepat) tetapi mengkonversi hasil akhir dari perhitungannya untuk OBD menjadi bentuk 'titik mengambang' atau 'nyata' (angka yang dapat menggunakan titik desimal).

Alasan maksimum tidak 65535, 6553,5 atau 655,35 adalah bahwa dengan titik desimal yang ditempatkan dua dari kiri itu memungkinkan akurasi terbesar dalam tahap perhitungan bilangan bulat sambil memberikan tempat yang cukup di sebelah kiri desimal untuk menampilkan semua nilai yang mungkin. Ini pada dasarnya memungkinkan ECU untuk bekerja ke 3 tempat desimal dalam bilangan bulat. Mungkin tidak terlalu penting untuk tegangan baterai tetapi saya menganggap itu prinsipnya.

Mungkin tidak ada fasilitas untuk secara artifisial menerapkan nilai maksimum kurang dari 65535 tetapi bahkan jika ada saya melihat tidak ada keuntungan melakukannya.

Sam
sumber