Isi kandungan:

Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: 12 Langkah (dengan Gambar)
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: 12 Langkah (dengan Gambar)

Video: Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: 12 Langkah (dengan Gambar)

Video: Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri: 12 Langkah (dengan Gambar)
Video: Fuh ingat adik ni Joki ysuku rupanya basikal dar 2024, November
Anonim
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri
Papan Pemuka Basikal Elektrik (EBike) dan Monitor Bateri

Projek ini adalah litar Arduino yang memantau voltan dan arus bateri dengan modul ACS 712. Pengukuran disampaikan melalui Bluetooth dengan modul HC-05 ke peranti Android. Pada dasarnya anda menyambung semula hubungan negatif antara pengawal dan bateri anda untuk melalui modul ACS712.

Aplikasi Android memaparkan status bateri serta kelajuan dan jarak semasa dari GPS Android

Android dapat dipasang ke basikal dengan beg tahan cuaca. Litar Arduino dipasang secara kekal dalam kotak kalis cuaca pada basikal berhampiran bateri.

Kod Android dan Arduino tersedia di github. (https://github.com/edj2001/BikeDashArduino dan

github.com/edj2001/BikeDashAndroid. Anda juga memerlukan perpustakaan https://github.com/edj2001/AndroidBluetoothLibrar… dan

Terdapat versi komersial produk serupa yang tersedia jika ini lebih banyak daripada yang mungkin anda kendalikan. Anda boleh mencarinya dengan mudah dengan menggunakan "bluetooth 36v watt meter". Sekiranya anda melihat beberapa gambar, anda akan melihat Arduino Pro Mini, bekalan kuasa DC-DC, dan modul HC-05 (atau -06) di bahagian belakang.

Sekiranya anda tertanya-tanya berapa banyak bateri yang tersisa, atau seberapa jauh anda boleh menggunakan bateri, atau jika anda perlu mengayuh atau mengurangkan pendikit untuk menuju ke mana anda pergi, inilah yang anda perlukan.

Kelebihan lain yang berpotensi adalah anda boleh memutuskan untuk mengeluarkan komputer basikal dari setang anda, membebaskan ruang, walaupun sekarang telefon anda akan dipasang pada basikal anda.

Seperti biasa, maklumat ini diberikan sebagaimana adanya tanpa sebarang jaminan, tersurat atau tersirat. Anda bertanggungjawab untuk apa sahaja yang anda lakukan dengan maklumat ini. Saya tidak akan bertanggungjawab atau bertanggungjawab atas apa-apa kerosakan. Lihat bahagian penafian dalam Syarat Perkhidmatan.

Langkah 1: Kemas kini yang boleh diajar

PeterB476 menunjukkan kepada saya bahawa saya telah mengabaikan untuk memasukkan langkah untuk menginisialisasi Arduino EPROM, jadi saya telah menambahkannya ke instruksional.

Saya juga telah menambahkan 2 versi baru aplikasi untuk langkah seterusnya. Mereka belum diuji secara menyeluruh tetapi anda boleh mencubanya.

Langkah 2: Pasang Aplikasi Android

Tidak ada gunanya meneruskan projek ini sekiranya aplikasi android tidak berfungsi pada peranti anda. Pelepasan dari github mempunyai apk android yang dilampirkan. Fail apk juga dilampirkan di sini. Pastikan sekurang-kurangnya bahagian GPS aplikasi berfungsi, dan anda boleh cuba menyambung ke peranti bluetooth.

Sekiranya anda ingin membina aplikasinya sendiri, saya sarankan anda memulakan dengan titik "pelepasan" kerana mungkin berfungsi pada suatu ketika, sedangkan cawangan "induk" terbaru mungkin mempunyai kemas kini yang belum diuji.

Salin fail apk ke peranti anda. Anda harus membenarkan "Sumber Tidak Dikenal" dalam tetapan Keselamatan pada peranti anda kerana apk tidak berasal dari Google Play. Kemudian ketik fail apk pada peranti anda untuk memasangnya.

Jelas aplikasi ini memerlukan kebenaran bluetooth untuk berkomunikasi dengan Arduino, dan kebenaran GPS untuk menentukan kelajuan dan jarak perjalanan anda.

Tekan butang "jarak jauh" untuk cuba menyambung ke peranti bluetooth. Tekan "reset" untuk menetapkan semula jarak yang ditempuh ke 0. Pegang medan yang digunakan Ah untuk menetapkannya semula setelah anda mengecas bateri anda. Nilai Ah yang digunakan akan dijimatkan jika anda mematikan dan menghidupkan bateri tanpa mengecasnya.

Langkah 3: Kumpulkan Bahagian

Kumpulkan Bahagian
Kumpulkan Bahagian
Kumpulkan Bahagian
Kumpulkan Bahagian
Kumpulkan Bahagian
Kumpulkan Bahagian

Perhatikan bahagian ini adalah untuk bateri 36V. Sekiranya anda mempunyai bateri 48V, anda perlu menukar perintang 10K menjadi 11K atau 12 K, dan anda memerlukan penukar DC-DC yang berbeza.

1 kandang yang tahan cuaca. Saya menggunakan kotak elektrik PVC 4x4x2 inci.

1 helai Papan Pelekat atau Protoboard kegemaran anda

1 Arduino Pro Mini, 5V 16 MHZ. Anda juga dapat membina arduino papan tulis dengan mudah kerana anda tidak memerlukan pengatur voltan atau antara muka usb. Yang anda perlukan ialah ATMEGA328P, kristal 16MHZ dan beberapa kapasitor. Anda juga boleh menggunakan Arduino Nano jika anda mempunyai ruang di kandang anda. Nano lebih besar daripada dua pilihan pertama, tetapi mempunyai antara muka USB yang terpasang jika anda tidak mempunyai penukar bersiri.

1 modul ACS712 yang sesuai dengan julat bateri semasa. Saya menggunakan modul 20A untuk bateri 8A saya.

1 modul bluetooth HC-05. Saya suka variasi ZS-040, jenis 6 pin dengan butang tekan. Ia akan dilabel ZS-040 di bahagian belakang.

1 Bekalan kuasa DC-DC 50V hingga 5V jika basikal anda mempunyai bateri 36V, yang akan dicas sepenuhnya sekitar 42V. Sekiranya anda mempunyai bateri 48V, ia akan dicas sepenuhnya 56 atau 57V, jadi anda mungkin memerlukan bekalan kuasa yang berbeza. Tolong beritahu kami apa yang anda gunakan sekiranya anda menjumpai sesuatu dengan harga 60V. Sebilangan orang mengatakan bahawa kebanyakan ketuat dinding usb berfungsi pada 48VDC (dan lebih tinggi), tetapi saya belum mencubanya.

Perintang 1 / 4W: 1 x 2K, 1 x 10K, 2 x 1K (tingkatkan 10K jika bateri anda melebihi 36V).

Pemegang fius selari dan fius 2A.

Jalur Header sudut lurus dan kanan

Blok terminal 5.08 mm, 2 x 2

Kawat terdampar 16AWG untuk menghubungkan modul.

Kawat pepejal 22AWG untuk litar arduino

Jalur Blok Terminal untuk sambungan bateri dan basikal

Besi pematerian

pateri

Cara memasang peranti android anda ke basikal anda.

Untuk memprogram modul Arduino dan HC-05, anda juga memerlukan 3.3V usb to ttl serial converter (atau sekurang-kurangnya programmer isp) dan idea Arduino dari https://www.arduino.cc/en/Main/Software. Projek ini dilakukan dengan versi 1.6.13, versi yang berbeza mungkin atau mungkin tidak berfungsi tanpa pengubahsuaian.

Langkah 4: Permulaan Arduino EPROM

Saya tidak mahu memasukkan langkah ini dalam arahan yang asal. Kawasan EPROM yang digunakan oleh lakaran perlu diinisialisasi agar lakaran dapat berfungsi dengan baik. Sketsa boleh ditulis untuk melakukannya secara automatik, tetapi pada masa ini tidak.

Sekiranya anda tidak menggunakan kod sumber arduino, anda boleh memuat turun fail hex yang dilampirkan pada langkah ini ke arduino anda untuk memulakan EPROM.

Sekiranya anda menggunakan kod sumber arduino, terdapat dua baris di bahagian persediaan () yang kelihatan seperti ini:

// mulakan EEPROM pada kali pertama program dijalankan.

// kemas kiniEPROM ();

Sekiranya anda melepaskan baris kedua sehingga kelihatan seperti ini:

// mulakan EEPROM pada kali pertama program dijalankan.

kemas kiniEPROM ();

Muat turun lakaran itu ke arduino dan biarkan ia berjalan. EPROM akan dimulakan. Kemudian beri cadangan untuk langkah seterusnya.

EPROM digunakan untuk mengingat berapa banyak bateri yang telah digunakan sehingga anda dapat menunggang basikal anda, berhenti dan mematikan bateri, dan apabila anda menghidupkannya semula, ia akan bermula dari tempat anda berhenti.

Langkah 5: Konfigurasikan Arduino

Muat turun kod Arduino (fail hex dilampirkan) ke Pro Mini menggunakan Arduino IDE atau avrdude dengan sendirinya. Biasanya anda akan menggunakan penukar siri usb untuk ini, tetapi anda juga boleh menggunakan programmer isp.

Sekali lagi, jika anda ingin menyusunnya sendiri, mulakan dengan "pelepasan". Cawangan "master" terbaru mungkin mempunyai perubahan yang belum diuji.

Sekiranya anda menukar perintang 10K ke sesuatu yang lebih tinggi, anda juga perlu menukar pemalar pembahagi voltan bateri dalam lakaran. Tukar 11.0 dalam baris "double VBmultiplier = 11.0;" untuk memadankan apa sahaja yang anda pasang.

Langkah 6: Konfigurasikan Modul HC-05

Konfigurasikan Modul HC-05
Konfigurasikan Modul HC-05
Konfigurasikan Modul HC-05
Konfigurasikan Modul HC-05

Anda perlu mengkonfigurasi kadar baud pada modul HC-05. Senang juga memberikannya nama yang mudah anda kenali kemudian (seperti "BIKE").

Anda juga menggunakan modul penukar siri usb to ttl untuk ini. Sekiranya anda tidak mempunyai penukar siri, anda boleh menulis sketsa untuk arduino untuk mengkonfigurasinya, atau saya rasa jika anda mempunyai 2 modul HC-05, anda boleh menyatukannya dan menggunakannya untuk memprogram yang lain (mungkin).

Terdapat penulisan yang sangat baik pada modul ini di

Anda perlu mengkonfigurasi baud rate ke 4800 agar sesuai dengan sketsa Arduino, dan menukar namanya menjadi "BIKE" atau sesuatu yang akan anda kenali.

Setelah modul dikonfigurasikan, anda dapat memasangkannya dengan peranti android anda dalam tetapan bluetooth anda.

Langkah 7: Litar Pemasangan

Saya telah melampirkan imbasan rajah pendawaian yang dilukis dengan tangan saya untuk rujukan, jika seseorang cukup bercita-cita tinggi untuk melukisnya semula dengan baik, sila beritahu saya:)

Buat sambungan berikut:

(+) Bateri Basikal ke satu sisi fius dan pengawal basikal.

Bahagian lain fius ke DC converter (+) terminal IN dan perintang 10K untuk input voltan bateri pada Arduino.

(-) Bateri Basikal ke (-) IN pada penukar dan satu terminal kuasa ACS712.

Pada ketika ini pastikan bahawa anda mempunyai 5V dari penukar DC anda semasa menghidupkan bateri jika anda belum melakukannya.

Matikan bateri dan selesaikan sambungannya:

(+) KELUAR dari penukar Arduino 5V, HC05 VCC, ACS712 VCC.

(-) KELUAR dari penukar ke Arduino GND, HC05 GND, ACS712 GND, Arduino pin A2.

HC05 TXD ke Arduino pin 7

HC05 RXD dari pembahagi perintang bluetooth.

Arduino pin 8 ke pembahagi perintang bluetooth.

ACS712 OUT ke pin Arduino A3

Pembahagi Voltan Bateri ke pin Arduino A1

(-) dari Bike Controller ke terminal kuasa kedua pada ACS712.

Butang reset tambahan tidak benar-benar diperlukan, mungkin lebih senang apabila ingin memuat turun ke arduino setelah dipasang di basikal anda. Anda mungkin dapat mencapai butang reset pada arduino, atau anda boleh menetapkannya semula dari antara muka bersiri jika pro mini anda menyokongnya.

Periksa semula sambungan anda.

Langkah 8: Pengesahan Awal

Pada ketika ini anda boleh menghidupkan litar dan mengesahkan bahawa anda mendapat bacaan dalam aplikasi android.

Anda seharusnya dapat menyambungkan bluetooth ke basikal dan melihat voltan bateri dan semestinya hampir dengan arus bateri sifar. Sekiranya anda dapat memutar basikal dan melihat perubahan bacaan semasa, maka semuanya berjalan lancar.

Aplikasi ini menganggap arus positif menghabiskan bateri, jadi jika bacaan menunjukkan arus negatif semasa anda memutar basikal, tukar kedua wayar semasa pada modul ACS712.

Sekiranya anda tidak melihat pembacaan dalam aplikasi, anda dapat melihat lampu pada modul bluetooth untuk memastikannya terhubung dan menghantar data. Anda boleh memasang aplikasi terminal bluetooth pada peranti anda untuk melihat data yang dikirim dari rangkaian. Anda mesti melihat kira-kira 10 baris sesaat dari bacaan semasa, dan satu baris sesaat voltan bateri dan jumlah bateri yang digunakan. Sekiranya anda tidak melihat apa-apa, periksa semula konfigurasi modul HC05 dan sambungan antara arduino, pembahagi perintang, dan terminal HC05 TXD.

Akhirnya, jalankan basikal dengan cukup lama untuk menunjukkan nilai bukan sifar pada paparan bateri yang digunakan. Kemudian tekan lama nombor tersebut sehingga roti bakar muncul bahawa penggunaannya telah ditetapkan semula. Nombor itu mesti kembali ke sifar. Jika tidak selepas mencuba beberapa kali, periksa semula sambungan dari terminal HC05 RXD ke Arduino.

Langkah 9: Perhimpunan Akhir

Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir

Pasang semua perkakasan pelekap dan pasangkan litar arduino ke basikal anda. Pasang peranti android anda ke dalam beg atau pemegang lain dan anda sudah bersedia!

Gambar menunjukkan tikaman bateri pada basikal saya, dan beg untuk peranti android saya.

Anda dapat melihat papan kecil untuk sambungan pembahagi voltan bateri dan ACS712 dipasang sehingga saya dapat mencapai skru blok terminal setelah memasang semuanya. Modul bluetooth HC-05 kembali di sudut kanan.

Jalur terminal putih mempunyai semua sambungan pengawal bateri dan basikal ke litar.

Sekiranya saya harus melakukannya sekali lagi, saya pasti akan menggabungkan pembahagi voltan bateri dan ACS712 pada papan anak perempuan yang sama. Saya mungkin juga cuba memasang modul bluetooth pada papan anak di bawah arduino.

Langkah 10: Langkah Masa Depan

Aplikasi Android boleh menggunakan banyak kerja. Saya ingin menambahkan beberapa perubahan warna berdasarkan julat pengukuran. Saya juga ingin menambahkan petunjuk bahawa pengukuran tidak dikemas kini dalam aplikasi. Anda juga boleh menambah beberapa alat pengukur grafik. Malah ikon yang bagus akan menjadi peningkatan yang besar.

Ciri terbaik ialah "anggaran untuk mengosongkan" yang akan memberitahu anda jarak yang boleh anda tempuh dengan baki bateri anda, dan sama ada lebih dari jarak ke destinasi anda. Oleh kerana saya biasanya menumpang sama ada ke tempat kerja atau ke rumah, pemikiran saya adalah menyimpan "waypoint" GPS dalam aplikasi yang mempunyai jarak yang tinggal ke rumah, dan berapa banyak bateri yang digunakan rata-rata di titik itu. Anda mungkin juga boleh melakukan sesuatu dengan sambungan data, tetapi biasanya saya tidak mempunyai satu.

Saya ingin beralih dari perpustakaan bluetooth dalam aplikasi ini ke yang lebih maju yang mempunyai sambungan semula secara automatik misalnya.

Sekiranya anda membina ini, anda boleh mempertimbangkan untuk menambahkan penapis lulus rendah perkakasan pada arus yang diukur dan mengukurnya secara berasingan untuk digunakan untuk pengiraan jumlah caj yang digunakan. Pada beban rendah, kurang dari 4A atau lebih, pengukurannya berbeza-beza, +/- 1A. Saya tidak pasti sama ada masalah pengukuran atau perubahan semasa roda berpusing. Walau bagaimanapun, pengukuran arus rata-rata yang berasingan selama satu atau dua saat mungkin dapat membantu ketepatan. Anda hanya dapat mengambil sampel arus lebih cepat dan melakukannya dalam perisian, tetapi saya tidak tahu seberapa cepat anda perlu mengambil sampel. Saya rasa meletakkan osiloskop pada isyarat mungkin dapat membantu mengetahui seberapa cepat mengambil sampelnya.

Anda boleh menambah sesuatu seperti tiub pitot untuk mengukur kelajuan angin (sudah ada petunjuk untuk itu).

Anda boleh menambahkan kawalan pendikit gelung tertutup dari arduino.

Sekiranya anda selalu mahukan sumber kuasa USB pada basikal anda, anda boleh menggunakan kabel dari penukar DC 5V untuk arduino dengan mudah ke mana sahaja anda memerlukan sambungan kuasa USB.

Langkah 11: Soalan dan Komen

Sekiranya anda mempunyai pertanyaan umum mengenai mana-mana item di sini, lebih baik anda google sahaja daripada bertanya di sini. Tidak ada item yang kritikal, anda pasti dapat menggantikan yang lain dan menyelesaikan tugasnya.

Jangan minta saya menghantar kod, semuanya ada di github. Dapatkannya dari sana. Anda juga tidak memerlukan akaun github.

Jangan tanya saya bagaimana melakukan sesuatu di Android Studio atau di Arduino. Saya mungkin tidak tahu. Sekali lagi, google sahaja.

Sungguh, jangan tanya saya mengenai produk Apple, saya tidak tahu.

Sekiranya aplikasi tidak berfungsi pada peranti anda, saya minta maaf. Tetapi saya mungkin tidak tahu bagaimana membetulkannya. Ia berfungsi di telefon saya, itu sahaja yang saya perlukan.

Walaupun cadangan penambahbaikan dialu-alukan, saya mungkin tidak akan pernah melaksanakannya, saya masih perlu meneruskan perkara lain. Saya mungkin tidak akan melaksanakan cadangan saya sendiri. Pertaruhan terbaik anda ialah mengorek kod di github dan menambah sendiri. Sekiranya anda melakukannya, sila beritahu orang di sini agar mereka dapat menggunakan kod anda dan bukan kod saya.

Sekiranya anda sudah membina versi yang lebih baik, sila hantarkan rujukan di sini supaya orang lain akan mengetahui mengenainya. Saya tidak akan tersinggung. Saya dengan senang hati akan mengambil versi anda dan mula menggunakannya.

Langkah 12: Kemas kini Aplikasi untuk Ujian

Ini adalah versi aplikasi yang dikemas kini.

Jumlahnya jauh lebih besar. Terdapat ikon baru. Tidak ada butang "sambung" lagi. Gunakan pilihan "sambungkan - selamat" dari menu sudut kanan atas.

Versi ini juga harus berfungsi kembali ke Android versi 2.3 roti halia. Ia berfungsi pada lg P500 Optimus One saya.

Versi "app-settings-debug.apk" mempunyai menu tetapan yang memungkinkan untuk menetapkan kapasiti bateri anda sehingga peratusan pengiraan yang tinggal adalah betul. Itu belum diuji sepenuhnya.

Disyorkan: