Speedometer digital universal sederhana di PIC16F628A. Skema dan Bahan Speedometer Odometer Watch di PIC16F628A


Speedometer dirancang untuk mengukur kecepatan mobil (motor), fitur instrumen adalah kisaran kalibrasi yang sangat luas, yang memungkinkannya bekerja di hampir semua mobil dengan sensor kecepatan apa pun. Awalnya, kalibrasi dibuat untuk sensor kecepatan yang memiliki 6 pulsa oleh 1 omset dan dengan rasio jarak tempuh ke omset sensor 1 meter run \u003d 1 omset. Rentang kecepatan ukur 0 ... 255 km per jam. Langkah pengukuran - 1 km per jam. Program ini memiliki pengukuran histeresis, yang menghilangkan "jitter" dari pelepasan junior indikasi.

Setelah menyalakan daya, speedometer secara singkat mencakup semua segmen (diagnosis diri) dan mulai mengukur kecepatan. Bendera Nol Kecepatan diatur (transistor terbuka) - ketika kecepatan nol, dan diatur ulang ketika kecepatannya tidak nol. Bendera ini dapat digunakan untuk apa pun, misalnya, untuk menyoroti pegangan pintu sehingga mereka bersinar hijau ketika mobil berhenti. Bagian dari skema ini tidak dapat digunakan sama sekali.

Speedometer dirakit pada papan sirkuit 2-dicetak yang terhubung pada sudut 90 derajat. Di papan pertama ada indikator, pada yang kedua lainnya. Solusi semacam itu memungkinkan Anda untuk menempatkan speedometer yang sangat kompak di cluster panel biasa, atau dalam kasus terpisah.

Kalibrasi dilakukan seperti ini: Anda perlu segera tutup (Anda bisa dan obeng) salah satu jumper. Konstanta kalibrasi muncul di layar, pada kasus pertama itu sama dengan 150. Ini adalah semacam nilai bersyarat yang tidak memiliki unit pengukuran. Selanjutnya, penutupan salah satu jumper dapat dikurangi atau meningkatkan konstanta ini dalam 0 ... 255. Jika Anda tidak menyentuh jumper selama beberapa detik - perangkat akan keluar dari mode kalibrasi kembali ke mode pengukuran kecepatan. Konstanta kalibrasi akan disimpan dalam memori EEPROM non-volatile. Nilai pasti konstanta kalibrasi dipilih secara eksperimental.

Waktu indikasi diagnosis diri disimpan dalam sel EEPROM 1, mengubah nilai ini Anda dapat mengubah waktu screensaver. Apa pun yang mematikan screensaver di EEPROM, Anda perlu menulis nol. Semua ini hanya menyangkut sel 1 EEPROM, bukan nol. Pada sel nol, konstanta kalibrasi speedometer disimpan dan berubah dengan jamparents.



Mengajukan:
Ukuran:
Kandungan:

speed_universal.rar.
32.9 KB.
Gambar PCB (lay) dan file firmware (hex)

Speedometer odometer, idenya bukan baru, tetapi implementasi perangkat semacam itu memiliki opsi yang berbeda, saya membawa perhatian Anda, skema sederhana pada MK ATmega8 yang umum, ada dua jenis firmware untuk indikator; 16x2 dan 16x4. , serta pekerjaan proyek dalam proteus.
Skema speedometer-odometer ini,

Koefisien untuk sensor kecepatan dapat dikonfigurasi langsung dari menu pengguna, untuk sensor kecepatan apa pun (dengan jumlah pulsa dari 1 hingga 9999 ......), dan juga menetapkan dan disesuaikan dari menu pengguna, Jumlah pulsa per kilometer.

Karakteristik skema

:

Menampilkan kecepatan saat ini (tampilan pada LCD, untuk 16x2 dari 0,1 km / jam, untuk 16x4 dari 0,001 km / jam)
Milometer umum, (ditampilkan pada LCD, untuk 16x2 dari 0,1 km / jam, untuk 16x4 dari 0,001 km)
Milometer setiap hari (tahan ... ..20 !!! Meter harian, nomor seleksi dari menu),
Menampilkan waktu aktivitas setiap meter (umum dan untuk setiap hari) hanya berbicara waktu di jalan.
Kemampuan untuk menyesuaikan sinyal kecepatan.
Menu pengguna memungkinkan Anda untuk mengatur semua koefisien (kecepatan dan akuntansi kilometer) langsung dari keyboard instrumen.
Semua data disimpan dalam memori controller.


Di sini saya memberikan deskripsi operasi pembacaan menu dan output untuk tampilan 16x2 (di bawah layar 16x4, deskripsi pekerjaan ini juga sepenuhnya cocok, hanya output informasi pada layar 16x4 lebih lengkap tanpa singkatan).


Deskripsi menu.
1) Pilihan konter harian pribadi, dengan mempertimbangkan waktu periode aktivitas sel
2) Mencari meteran harian pribadi Km (yang ditampilkan di baris pertama, ketika tombol ditekan ke kanan Enter reset.)
3) mengatur ulang total (total) km, (untuk meter harian tidak mempengaruhi)
4) Atur ulang akun CM saat ini, (di EEPROM tidak dilestarikan)
5) Pengaturan
5.1) frekuensi kuarsa menetapkan koreksi jam resonator kuarsa ATmega8 selama 1 detik (hanya mempengaruhi perhitungan kecepatan km / jam)
5.2) Jumlah pulsa sensor kecepatan (imp default 6 imp.)
5.3) Pulsa pada KM, ini adalah jumlah pulsa dari meter dengan 1 kilometer (secara default 600 imp.)
5.4) Pelacak per detik - variabel internal jam tangan internal pada output PB1, itu memberikan pulsa pendek 0,5Hz jika jam terburu-buru - jumlahnya harus ditingkatkan jika jumlahnya tertinggal - jumlahnya perlu dikurangi .
5.4) Pengaturan kecepatan maksimum - maks. Kecepatan (zoom).
5.5) vost. Default - Kembalikan pengaturan default.
5.6) Simpan pengaturan - sampai Anda menekan item ini - semuanya valid sampai mati.

Disimpan dalam data EEPROM;
a) Pengaturan umum,
b) Total kesaksian (jumlah total semua meter) dengan fiksasi dan tampilan jam, periode pengoperasian keadaan aktif speedometer adalah odometer.
c) 20 pembacaan pribadi km, dengan tampilan fiksasi dan jam, periode pengoperasian keadaan aktif sel yang ditampilkan.
Untuk data total dan pribadi untuk menabung ke dalam memori saat sirkuit de-duduk, output dari int 0 terhubung, terhubung melalui pembagi resistor, yang terhubung dengan 2 ke tanah dan 4,7k. Pada + 12 v Renk.

Menambahkan deskripsi, diagram, penyegelan, layar fijuz untuk pemahaman, disesuaikan dalam sumber prasasti informasi dan menu, di bawah tujuan langsung perangkat speedometer odometer, dan pada prinsipnya program ini cukup universal dan bisa menjadi speedometer, dan meter frekuensi, dan tachometer, dan secara umum hanya jiwa tolong .... ini percaya bahwa itu dianggap sangat akurat, frekuensinya dikalikan dengan koefisien, dan mempertimbangkan jumlah total impuls dengan membagikannya pada koefisien, Pada prinsipnya, pilih koefisien, itu bisa berhasil ......

Skema dalam proteus.

Ditawarkan di bawah otomotif speedometer digital. Dirancang untuk pemasangan di mobil dengan speedometer analog standar, dikendalikan oleh pulsa listrik yang berasal dari sensor kecepatan yang dipasang. Dimungkinkan juga untuk menggunakan perangkat seperti itu jika terjadi instalasi independen pada sensor mobil seperti itu.

Speedometer dibuat berdasarkan mikrokontroler yang murah dan terjangkau. PIC16F628A.. Indikator LED digunakan sebagai perangkat tampilan informasi SC10-21YWA. (Tanda ketinggian 25,4 mm, cahaya kuning, katoda umum) "Kingbrijhgt".

Perangkat terhubung ke kontak sinyal speedometer analog standar. Dengan menekan tombol (duplikat dengan suara), Anda dapat mengubah kecerahan cahaya indikator "dalam lingkaran". Jika Anda mau, Anda juga dapat mengatur tombol dengan fiksasi untuk mematikan daya speedometer (tidak ditampilkan dalam diagram).

Dengan pintu mobil longgar (sinyal level rendah Mengenai perumahan) dan kecepatan gerakan lebih dari 9 km per jam, sinyal pemutusan didistribusikan, dan indikator kecepatan pada indikator diganti oleh kecerahan "dor 'yang disingkat (disingkat dari bahasa Inggris" - pintu) .

Didukung oleh speedometer diambil dari kunci pengapian (kontak - "pengapian"). Setiap kali Anda mengaktifkan kecerahan pencahayaan indikator ditetapkan seperti yang ditampilkan sebelumnya. Semua nol tidak signifikan pada indikator selain debit yang lebih muda terputus. Saat menggunakan indikator serupa lainnya, mungkin perlu membuat pilihan resistor yang membatasi saat ini dalam rantai anoda segmen mereka. Suara lebih pengosong dengan generator HA1 bawaan, dapat diganti dengan generator suara buatan sendiri dengan frekuensi 1000-1500 Hz, mampu bekerja pada tegangan catu daya 5 volt.

Program yang perlu diterapkan pada MK menggunakan programmer akan memungkinkan pengguna untuk memilih salah satu dari lima opsi untuk pengoperasian speedometer tergantung pada jumlah pulsa kendaraan yang berasal dari sensor kecepatan. Sensor digital yang diusulkan "memahami" sensor, luar biasa: 2500 Imp / Km, 4000 Imp / Km, 6000 Imp / Km, 8000 Imp / Km dan 10.000 penarik. Daftar ini dapat diperluas dengan membuat perubahan yang sesuai dengan program. Hingga saat ini, penulis baris ini hanya muncul dengan sensor di atas.

Untuk memilih opsi yang diinginkan, Anda harus memasukkan mode LayananUntuk yang Anda perlu menginstal Jumper S1 dan kemudian oleskan daya ke perangkat. Sekarang menekan tombol SB1 "kecerahan" (1-2 S, dengan jeda antara tekanan 1-2 c) Opsi yang diinginkan dipilih:

1 menekan - 2500 Imp / Km;
2 Klik - 4000 Imp / Km;
3 Menekan - 6000 Imp / Km;
4 Menekan - 8000 Imp / Km;
5 Klik - 10000 Penarik.

Setelah 3 detik setelah pers terakhir, jumlah pendek yang sesuai sinyal suara B1, mengkonfirmasikan entri di mikrokontroler EEPROM dari opsi yang diinginkan. Jika mode layanan pertama kali dihidupkan, Anda akan secara otomatis dipasang untuk sensor kecepatan 2500 penarik. Dengan jumlah klik lebih dari 5, standar Jepang juga akan diinstal (2500). Untuk memilih mode operasi lain, sudah cukup untuk mengulangi prosedur layanan dari awal.

Setelah memilih mode operasi yang diinginkan, jumper S1 harus dihapus. Perangkat siap bekerja.

Keakuratan kesaksian adalah untuk:

1 Opsi (2500) +0.2 Km;
2 opsi (4000) kurang dari 0,1 km;
3 Opsi (6000) +0.2 Km;
4 Opsi (8000) - 0,4 km;
5 opsi (10.000) kurang dari 0,1 km;

Jika jumlah pulsa dari sensor kecepatan tidak diketahui, Anda harus melakukan prosedur berikut. Di bagian datar jalan dari roda mobil, ukur 10 meter. Hubungkan panah voltmeter (tester) ke kontak sinyal speedometer analog dan perlahan-lahan bergerak, hitung jumlah "jogging" dari panah voltmeter. Lipat gandakan hasil yang diperoleh 100.

KOMPETISI

Artikel ini menampilkan perangkat yang dipasang di dashboard mobil dan sebagian mengganti komputer on-board.

Mari kita mulai dengan latar belakang.
Saya entah bagaimana mengenakan torpedo mobil dari mobil asing dan menyadari bahwa speedometer sangat bertepatan dengan kecepatan aktual. Diputuskan untuk meletakkan komputer di papan tulis. Tidak lama kemudian dikatakan daripada dilakukan. Banyak fungsi, dll., Dengan waktu dia menolak, dan harus melakukan dirinya sendiri.

Dari semua fungsi, saya menyadari bahwa saya benar-benar membutuhkan beberapa jurusan, jadi saya lakukan.

Di Internet, saya memata-matai sesuatu secara terpisah dan menggambar semuanya ke perangkat jadi di bawah ini.
Dari pembacaan yang diperlukan, saya memilih: voltmeter jaringan onboard, speedometer dan odometer (jarak tempuh total tidak habis, dan setiap hari, habis).
Juga, di panel saya, saya tidak menunjukkan indikator tingkat bahan bakar reguler di dalam tangki, saya menempatkan sakelar membaca voltmeter, ada menunjukkan tegangan jaringan on-board, atau penurunan tegangan pada sensor tangki. Kesaksian tentu saja tidak dalam liter, tetapi dalam beberapa angka, untuk ini, saya ingat bacaan tangki kosong, seperempat, setengah, 0,75 tank, dan penuh. Dan menurut kesaksian, saya dapat fokus pada jumlah bahan bakar di tangki.

Sekarang tentang skema.

Voltmeter berkumpul pada mikrokontroler PIC16F676, transistor saya menerapkan pnp
Indikator dengan anoda umum, dengan indikasi dinamis oleh tiga pelepasan.
Dalam speedometer odometer, pic16f873a mikroprosesor diterapkan, transistor bekerja pada anoda, membalikkan konduktivitas, indikator pada speedometer untuk tiga pelepasan dengan tampilan dinamis dengan anoda umum, saya mengambil dua indikator dari OA dengan dinamika.

Deskripsi Sensor :

Algoritma pekerjaan adalah:
Tegangan 12 volt dari baterai pada skema selalu diberikan, tetapi dari kaki kunci pengapian 15/1, juga dipasok ke skema sebagai daya, dan di lantai 21 mk, dan ketika pengapian diputar Mati, skema ini tidak segera diberi energi, tetapi data pada data jarak tempuh dicatat dalam pengontrol EEPROM ketika catatan berhasil berlalu, mikrokontroler memberikan perintah ke tombol yang menghapus tegangan suplai seluruh sirkuit. Selama merekam pada indikator odometer, tulisan "Rekam" menyala
DI pCB. Sakelar disediakan yang ditenagai oleh speedometer anoda dipasok secara langsung, atau diizinkan melalui resistor, yang pada gilirannya, pada malam hari, "meredam" kecerahan cahaya sehingga tidak buta, tetapi siapa yang tidak perlu meletakkannya jumper di papan tulis. (Apa yang saya lakukan dan lakukan)
Saat memutar kunci kontak, kesaksian voltmeter, speedometer dan total jarak tempuh membaca, untuk pergi ke jarak tempuh harian, harus secara singkat menekan tombol reset, dan untuk mengatur ulang hari menjalankan harian, tombol yang sama harus disimpan Untuk waktu yang lama, dan kata "reset" akan muncul pada indikator
Skema ini bekerja di mobil saya, dan sudah di mobil mobil. Jadi skema ini sepenuhnya operasional dan bekerja di lapangan
Dan juga, dalam voltmeter, bukan resistor yang cepat, saya menempatkan 13 com permanen (dalam kasus saya) sehingga kesaksian di bawah pengaruh getaran tidak ditembak jatuh.
Namun, foto tersebut menunjukkan biaya dari pengalaman pertama, tidak ada jalan setapak di sana, tetapi Anda sudah selesai, dengan semua perubahan.

Foto perangkat jadi

REFERENSI! Speedometer ini adalah odometer tidak ada kesamaan, kecuali untuk prinsip operasi dan beberapa fungsi, dengan speedometer-odometer yang diumumkan. Perangkat ini dibuat pada tahun 2004 dan sedikit berjalan di internet bersama dengan tachometer, dan pada waktu itu mendukung, tampaknya karena kekurangan dan harga mikrokontroler. Kesimpulan Apakah dirimu sendiri!

Perangkat mengukur kecepatan dalam kisaran 0-999 km per jam, dan juga memiliki 2 meter jarak tempuh - ini adalah jarak tempuh umum dan harian. Odometer harian percaya tidak hanya ratusan, tetapi juga puluhan meter, serta ribuan kilometer, yang dapat disebut fitur perangkat. Semua fungsi ditugaskan ke satu tombol tunggal. Indikasi dibuat pada 7 segmen LED indikator: 3 digit tidak ada titik untuk kecepatan, dan dua 3 digit (atau 6 digit) dengan titik untuk meter jarak tempuh. Perangkat dikalibrasi di bawah sensor kecepatan 6-pulsed dan untuk rasio jarak tempuh 6 pulsa per jalur 1 meter.

Untuk detail tentang pengoperasian perangkat: Ketika pengapian dimatikan, indikator dilunasi dan arus konsumsi dapat diabaikan. Jika Anda menghidupkan pengapian, perangkat mencakup semua segmen indikator untuk diagnosis diri (segera akan dilihat jika ada segmen yang rusak). Selanjutnya, setelah beberapa detik, perangkat mulai menunjukkan kecepatan dan jarak tempuh yang dipilih sebelumnya, penekan singkat dari menjalankan sehari-hari atau total dialihkan ke tombol. Ketika tampilan adalah jarak tempuh harian, menekan lama (lebih dari 2 detik) atur ulang penghitung jarak tempuh harian. Setelah mematikan kunci kontak, perangkat selama beberapa detik, menampilkan kata "merekam" dan semua nilai odometer dicatat dalam memori non-volatile dari EEPROM, sehingga bahkan ACB yang menonaktifkan tidak akan menyebabkan odometer reset.

Setiap konter memiliki formatnya sendiri:
Umum ostometer xxxxxxx (junior debit 1 kilometer) 6 karakter, tidak ada titik.
Odometer harian xxxx.hx (low-time debit 10 meter), 6 karakter, titik 4

Perangkat ini dikalibrasi untuk sensor yang memiliki 1 meter dari 6 pulsa, atau 1 meter sama dengan 1 turnover. Formula ini cocok untuk sebagian besar mobil. (Misalnya! Speedometer dibuat untuk mobil Jepang, di mana 0,62 putaran sama dengan 1 meter (atau 1 omset 1 mil), dan agar itu tidak akan mengganggu sensor pulsa formula 10 (0,62 rev. \u003d 1 meter \u003d 6 pulsa, atau 1 turnover \u003d 1 mil \u003d 10 pulsa).
Perangkat ini juga dapat dikalibrasi untuk bekerja dengan hampir semua sensor dan rasio rutin untuk pulsa. Dimungkinkan untuk tampil dengan mengedit teks sumber.
Salin teks sumber di program MPLAB IDE, edit dan kompilasi file hex tetap baru.

PENTING!!!
Kuarsa lebih baik untuk menempatkan, KX-3HT 10,0 MHz. Ini adalah suhu operasi resonator termostable: dari -40 hingga 85 ° C, lebih mahal beberapa kali.
Pada LED p_dsvіdka untuk penerangan seragam prasasti, memotong lensa dan membelai permukaan dengan cara apa pun yang tersedia untuk Anda.