Isi kandungan:

Bekalan Kuasa Bluetooth Digital USB C: 8 Langkah (dengan Gambar)
Bekalan Kuasa Bluetooth Digital USB C: 8 Langkah (dengan Gambar)

Video: Bekalan Kuasa Bluetooth Digital USB C: 8 Langkah (dengan Gambar)

Video: Bekalan Kuasa Bluetooth Digital USB C: 8 Langkah (dengan Gambar)
Video: Fast checkout with Scan and Pay at Lotus 2024, Julai
Anonim
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C
Bekalan Kuasa Bluetooth Digital USB C

Pernah mahukan bekalan elektrik yang boleh anda gunakan semasa dalam perjalanan, walaupun tanpa stopkontak berdekatan? Dan bukankah lebih keren jika juga tepat, digital, dan terkawal melalui PC dan telefon anda?

Dalam instruksional ini saya akan menunjukkan kepada anda bagaimana membangunnya dengan tepat: bekalan kuasa digital, yang dikuasakan melalui USB C. Ia serasi dengan arduino dan dapat dikendalikan melalui PC melalui USB atau melalui telefon anda melalui Bluetooth.

Projek ini merupakan evolusi dari bekalan kuasa sebelumnya, yang dikendalikan oleh bateri dan mempunyai paparan dan tombol. Lihat di sini! Walau bagaimanapun, saya mahu menjadi lebih kecil, jadi itulah sebabnya saya membuat ini!

Bekalan kuasa boleh dikuasakan dari bank bateri USB C atau pengecas telefon. Ini membolehkan kuasa sehingga 15W, yang cukup untuk menggerakkan kebanyakan elektronik kuasa rendah! Untuk mempunyai UI yang bagus pada peranti kecil seperti itu, saya memasukkan Bluetooth dan aplikasi Android untuk kawalan. Ini menjadikan bekalan kuasa ini sangat mudah alih!

Saya akan menunjukkan keseluruhan proses reka bentuk, dan semua fail projek boleh didapati di halaman GitHub saya:

Mari kita mulakan!

Langkah 1: Ciri & Kos

Ciri & Kos
Ciri & Kos

ciri-ciri

  • Dikuasakan oleh USB C
  • Dikendalikan melalui aplikasi Android melalui Bluetooth
  • Dikendalikan melalui Java melalui USB C
  • Mod voltan dan arus berterusan
  • Menggunakan pengatur linier kebisingan rendah, didahului oleh preregulator pelacakan untuk meminimumkan pelesapan daya
  • Dikuasakan oleh ATMEGA32U4, diprogramkan dengan Arduino IDE
  • Boleh dikuasakan oleh bank bateri USB C untuk menjadikannya mudah alih
  • Pengesanan pengecas USB C dan Apple
  • Palam pisang jarak 18 mm untuk keserasian dengan penyesuai BNC

Spesifikasi

  • 0 - 1A, langkah 1 mA (10 bit DAC)
  • 0 - 25V, langkah 25 mV (10 bit DAC) (operasi 0V benar)
  • Pengukuran voltan: Resolusi 25 mV (10 bit ADC)
  • Pengukuran semasa: <40mA: Resolusi 10uA (ina219) <80mA: 20uA resolusi (ina219) <160mA: 40uA resolusi (ina219) <320mA: 80uA resolusi (ina219)> 320mA: 1mA resolusi (10 bit ADC)

Kos

Pembekalan kuasa yang lengkap berharga saya sekitar $ 100, dengan semua komponen sekali sahaja. Walaupun ini kelihatan mahal, bekalan kuasa dengan prestasi dan ciri yang jauh lebih rendah selalunya lebih mahal daripada ini. Sekiranya anda tidak keberatan memesan komponen anda dari ebay atau aliexpress, harganya akan turun menjadi sekitar $ 70. Memerlukan bahagian yang lebih lama untuk masuk, tetapi ia adalah pilihan yang sesuai.

Langkah 2: Skematik & Teori Operasi

Skematik & Teori Operasi
Skematik & Teori Operasi

Untuk memahami operasi litar, kita perlu melihat skema. Saya membahagikannya kepada blok berfungsi, supaya lebih mudah difahami; Oleh itu, saya juga akan menerangkan operasi langkah demi langkah. Bahagian ini cukup mendalam dan memerlukan pengetahuan elektronik yang baik. Sekiranya anda hanya ingin mengetahui cara membina litar, anda boleh melangkah ke langkah seterusnya.

Blok utama

Operasi ini dibuat berdasarkan cip LT3080: ini adalah pengatur voltan linier, yang dapat menurunkan voltan, berdasarkan isyarat kawalan. Isyarat kawalan ini akan dihasilkan oleh pengawal mikro; bagaimana ini dilakukan, akan dijelaskan secara terperinci kemudian.

Tetapan voltan

Litar di sekitar LT3080 menghasilkan isyarat kawalan yang sesuai. Pertama, kita akan melihat bagaimana voltan ditetapkan. Pengaturan voltan dari mikrokontroler adalah isyarat PWM (PWM_Vset), yang ditapis oleh penapis lowpass (C23 & R32). Ini menghasilkan voltan analog - antara 0 dan 5 V - sebanding dengan voltan keluaran yang dikehendaki. Oleh kerana julat keluaran kami adalah 0 - 25 V, kami harus memperkuat isyarat ini dengan faktor 5. Ini dilakukan oleh konfigurasi opamp yang tidak terbalik dari U7C. Keuntungan pada pin set ditentukan oleh R31 dan R36. Perintang ini bertoleransi 0.1%, untuk mengurangkan ralat. R39 dan R41 tidak penting di sini, kerana mereka adalah sebahagian daripada gelung maklum balas.

Tetapan semasa

Pin set ini juga dapat digunakan untuk pengaturan kedua: mode saat ini. Kami ingin mengukur undian semasa, dan mematikan output apabila ini melebihi arus yang diinginkan. Oleh itu, kita mulakan sekali lagi dengan isyarat PWM (PWM_Iset), yang dihasilkan oleh mikrokontroler, yang kini ditapis rendah dan dilemahkan untuk pergi dari julat 0 - 5 V ke julat 0 - 2.5 V. Voltan ini sekarang dibandingkan dengan penurunan voltan merintangi perintang rasa semasa (ADC_Iout, lihat di bawah) oleh konfigurasi pembanding opamp U1B. Sekiranya arus terlalu tinggi, ini akan menyalakan led, dan juga menarik garis set LT3080 ke tanah (melalui Q1), sehingga mematikan output. Pengukuran arus, dan penjanaan isyarat ADC_Iout dilakukan seperti berikut. Arus keluaran mengalir melalui perintang R22. Apabila arus mengalir melalui perintang ini, ia membuat penurunan voltan, yang dapat kita ukur, dan ia diletakkan sebelum LT3080, kerana penurunan voltan di atasnya tidak boleh mempengaruhi voltan keluaran. Penurunan voltan diukur dengan penguat pembezaan (U7B) dengan keuntungan 5. Ini menghasilkan julat voltan 0 - 2.5 V (lebih banyak kemudian), oleh itu pembahagi voltan pada isyarat PWM arus. Penyangga (U7A) ada untuk memastikan bahawa arus yang mengalir ke perintang R27, R34 dan R35 tidak melalui perintang rasa semasa, yang akan mempengaruhi pembacaannya. Perhatikan juga bahawa ini harus menjadi rel-to-rail opamp, kerana voltan input pada input positif sama dengan voltan bekalan. Penguat bukan pembalik hanya untuk pengukuran kursus walaupun, untuk pengukuran yang sangat tepat, kami mempunyai cip INA219. Cip ini membolehkan kita mengukur arus yang sangat kecil, dan ditangani melalui I2C.

Perkara tambahan

Pada keluaran LT3080, kami mempunyai lebih banyak barang. Pertama sekali, terdapat sink semasa (LM334). Ini menarik arus berterusan 677 uA (ditetapkan oleh perintang R46), untuk menstabilkan LT3080. Walau bagaimanapun, ia tidak disambungkan ke tanah, tetapi ke VEE, voltan negatif. Ini diperlukan untuk membolehkan LT3080 beroperasi hingga 0 V. Apabila disambungkan ke tanah, voltan terendah adalah sekitar 0.7 V. Ini nampaknya cukup rendah, tetapi perlu diingat bahawa ini menghalang kita daripada mematikan bekalan kuasa sepenuhnya. Malangnya, litar ini berada pada output dari LT3080, yang bermaksud arus akan menyumbang kepada arus keluaran yang ingin kita ukur. Nasib baik, ia tetap sehingga kita dapat menentukur arus ini. Diod zener D7 digunakan untuk menjepit voltan keluaran jika melebihi 25 V, dan pembahagi perintang menurunkan julat voltan keluaran dari 0 - 25 V hingga 0 - 2,5 V (ADC_Vout). Penyangga (U7D) memastikan perintang tidak menarik arus dari output.

Pam cas

Voltan negatif yang kami sebutkan sebelumnya dihasilkan oleh litar kecil yang ingin tahu: pam pengecas. Ia diberi makan oleh 50% PWM mikrokontroler (PWM).

Penukar Boost

Sekarang mari kita lihat voltan input blok utama kami: VCC. Kami melihat bahawa ia adalah 5 - 27V, tetapi tunggu, USB memberikan maksimum 5 V? Memang, dan itulah sebabnya kita perlu meningkatkan voltan, dengan konverter rangsangan yang disebut. Kami sentiasa dapat meningkatkan voltan hingga 27 V, tidak kira apa output yang kami mahukan; namun, ini akan membuang banyak tenaga di LT3080 dan keadaan akan menjadi panas! Oleh itu, daripada melakukan itu, kita akan meningkatkan voltan sedikit lebih tinggi daripada voltan keluaran. Lebih kurang 2.5 V lebih tinggi adalah wajar, untuk menjelaskan penurunan voltan pada perintang pancaran arus dan voltan putus LT3080. Voltan ditetapkan oleh perintang pada isyarat output penukar rangsangan. Untuk menukar voltan ini dengan cepat, kami menggunakan potensiometer digital, MCP41010, yang dikendalikan melalui SPI.

USB C

Ini membawa kita ke voltan input sebenar: port USB! Sebab untuk menggunakan USB C (jenis USB 3.1 tepat, USB C hanyalah jenis penyambung) adalah kerana ia membenarkan arus 3A pada 5V, itu sudah cukup kuat. Tetapi ada tangkapan, peranti perlu patuh untuk menarik arus ini dan 'berunding' dengan peranti host. Dalam praktiknya, ini dilakukan dengan menghubungkan dua resistor pulldown 5.1k (R12 dan R13) ke garis CC1 dan CC2. Untuk keserasian USB 2, dokumentasi kurang jelas. Ringkasnya: anda menarik arus yang anda mahukan, selagi tuan rumah dapat menyediakannya. Ini dapat diperiksa dengan memantau voltan bus USB: voltan turun di bawah 4.25V, peranti terlalu banyak arus. Ini dikesan oleh pembanding U1A dan akan mematikan output. Ia juga menghantar isyarat ke mikrokontroler untuk menetapkan arus maksimum. Sebagai bonus, perintang telah ditambahkan untuk menyokong pengesanan ID pengecas pengecas epal dan samsung.

Pengatur 5V

Voltan bekalan 5 V arduino biasanya datang langsung dari USB. Tetapi kerana voltan USB boleh berbeza antara 4.5 dan 5.5 V mengikut spesifikasi USB, ini tidak cukup tepat. Oleh itu, pengatur 5V digunakan, yang dapat menghasilkan 5V dari voltan yang lebih rendah dan lebih tinggi. Namun, voltan ini tidak begitu tepat, tetapi ini diselesaikan dengan langkah penentukuran di mana kitaran tugas isyarat PWM disesuaikan dengan sewajarnya. Voltan e ini diukur oleh pembahagi voltan yang dibentuk oleh R42 dan R43. Tetapi kerana saya tidak mempunyai input percuma lagi, saya harus membuat tugas tarik pin. Ketika powerupply boot, pin ini pertama kali ditetapkan sebagai input: ia mengukur rel bekalan dan menentukurnya sendiri. Seterusnya, ia ditetapkan sebagai output dan dapat mendorong garis pilih potensiometer cip.

Rujukan voltan 2.56 V

Cip kecil ini memberikan rujukan voltan 2.56 V yang sangat tepat. Ini digunakan sebagai rujukan untuk isyarat analog ADC_Vout, ADC_Iout, ADC_Vbatt. Itulah sebabnya kami memerlukan pembahagi voltan untuk menurunkan isyarat ini kepada 2.5 V.

FTDI

Bahagian terakhir dari bekalan kuasa ini adalah hubungan dengan dunia luar yang kejam. Untuk ini, kita perlu menukar isyarat bersiri menjadi isyarat USB. Nasib baik, ini dilakukan oleh ATMEGA32U4, ini adalah cip yang sama yang digunakan dalam Arduino Micro.

Bluetooth

Bahagian Bluetooth sangat mudah: modul Bluetooth di luar rak ditambahkan dan mengurus segala-galanya untuk kita. Oleh kerana tahap logiknya adalah 3.3V (VS 5V untuk mikrokontroler) pembahagi voltan digunakan untuk meratakan isyarat.

Dan hanya itu sahaja!

Langkah 3: PCB & Elektronik

PCB & Elektronik
PCB & Elektronik
PCB & Elektronik
PCB & Elektronik
PCB & Elektronik
PCB & Elektronik

Setelah kita memahami bagaimana rangkaian berfungsi, kita boleh mula membuatnya! Anda hanya boleh memesan PCB secara dalam talian dari pengeluar kegemaran anda (harga saya sekitar $ 10), fail gerber boleh didapati di GitHub saya, bersama dengan bil bahan. Pemasangan PCB pada dasarnya adalah soal pematerian komponen di tempatnya mengikut silkscreen dan bil bahan.

Walaupun bekalan kuasa sebelumnya hanya mempunyai komponen lubang, kekangan ukuran untuk yang baru menjadikannya mustahil. Sebilangan besar komponen masih mudah disolder, jadi jangan takut. Sebagai gambaran: seorang rakan saya yang tidak pernah menyolder sebelum berjaya mengisi peranti ini!

Paling mudah untuk melakukan komponen di bahagian depan terlebih dahulu, kemudian bahagian belakang dan menyelesaikan dengan komponen lubang walaupun. Semasa melakukan ini, PCB tidak akan goyah ketika menyolder komponen yang paling sukar. Komponen terakhir yang akan disolder adalah modul Bluetooth.

Semua komponen boleh disolder, kecuali 2 bicu pisang, yang akan kami pasangkan pada langkah seterusnya!

Langkah 4: Kes & Perhimpunan

Kes & Perhimpunan
Kes & Perhimpunan
Kes & Perhimpunan
Kes & Perhimpunan
Kes & Perhimpunan
Kes & Perhimpunan

Dengan pcb yang dibuat, kita dapat meneruskan kes ini. Saya secara khusus merancang PCB di sekitar casing aluminium 20x50x80mm (https://www.aliexpress.com/item/Aluminium-PCB-Instr…), jadi penggunaan kes lain tidak digalakkan. Walau bagaimanapun, anda selalu dapat mencetak casing 3D dengan dimensi yang sama.

Langkah pertama adalah menyiapkan panel akhir. Kita perlu menggerudi beberapa lubang untuk jack pisang. Saya melakukan ini dengan tangan, tetapi jika anda mempunyai akses ke CNC, itu akan menjadi pilihan yang lebih tepat. Masukkan bicu pisang ke dalam lubang ini dan pateri pada PCB.

Sebaiknya tambahkan beberapa alas sutera sekarang, dan letakkan di tempatnya dengan setetes lem super kecil. Ini akan memungkinkan pemindahan haba antara LT3080 dan LT1370 dan sarungnya. Jangan lupakan mereka!

Kita sekarang boleh fokus pada panel depan, yang hanya memasang skru di tempatnya. Dengan kedua panel di tempatnya sekarang kita dapat memasukkan pemasangan ke dalam casing dan menutup semuanya. Pada ketika ini perkakasan sudah selesai, sekarang yang tinggal hanyalah membuang masa dengan perisian!

Langkah 5: Kod Arduino

Kod Arduino
Kod Arduino

Otak projek ini adalah ATMEGA32U4, yang akan kami atur dengan Arduino IDE. Pada bahagian ini, saya akan menjalani operasi asas kod, perinciannya boleh didapati sebagai komen di dalam kod tersebut.

Kod pada dasarnya melengkung melalui langkah-langkah berikut:

  1. Hantar data ke aplikasi
  2. Baca data dari aplikasi
  3. Ukur voltan
  4. Ukur arus
  5. Butang undian

Overcurrent USB ditangani oleh rutin servis gangguan untuk menjadikannya responsif mungkin.

Sebelum cip dapat diprogramkan melalui USB, bootloader harus dibakar. Ini dilakukan melalui port ISP / ICSP (tajuk lelaki 3x2) melalui pengaturcara ISP. Pilihannya ialah AVRISPMK2, USBTINY ISP atau arduino sebagai ISP. Pastikan papan menerima kuasa dan tekan butang 'burn bootloader'.

Kodnya kini boleh dimuat ke papan melalui port USB C (kerana cip tersebut mempunyai bootloader). Board: Arduino Micro Programmer: AVR ISP / AVRISP MKII Sekarang kita dapat melihat interaksi antara Arduino dan PC.

Langkah 6: Aplikasi Android

Aplikasi Android
Aplikasi Android

Kami kini mempunyai bekalan kuasa yang berfungsi sepenuhnya, tetapi belum ada cara untuk mengawalnya. Sangat menjengkelkan. Oleh itu, kami akan membuat aplikasi Android untuk mengawal bekalan kuasa melalui Bluetooth.

Aplikasi ini telah dibuat dengan program penemu aplikasi MIT. Semua fail boleh disertakan untuk mengklon dan mengubahsuai projek. Pertama, muat turun aplikasi pendamping MIT AI2 ke telefon anda. Seterusnya, import fail.aia di laman web AI. Ini juga membolehkan anda memuat turun aplikasi di telefon anda sendiri dengan memilih "Build> App (berikan kod QR untuk.apk)"

Untuk menggunakan aplikasi, pilih peranti Bluetooth dari senarai: ia akan muncul sebagai modul HC-05. Apabila disambungkan, semua tetapan dapat diubah dan output bekalan kuasa dapat dibaca.

Langkah 7: Kod Java

Kod Java
Kod Java

Untuk log data dan mengawal bekalan kuasa melalui PC, saya membuat aplikasi java. Ini membolehkan kita mengawal papan dengan mudah melalui GUI. Seperti dengan kod Arduino, saya tidak akan membahas semua butiran, tetapi memberikan gambaran keseluruhan.

Kita mulakan dengan membuat tetingkap dengan butang, medan teks dan lain-lain; perkara asas GUI.

Sekarang datang bahagian yang menyeronokkan: menambah port USB, yang mana saya menggunakan perpustakaan jSerialComm. Setelah port dipilih, java akan mendengar data yang masuk. Kami juga boleh menghantar data ke peranti.

Selanjutnya, semua data masuk disimpan ke fail csv, untuk rawatan data kemudian.

Semasa menjalankan fail.jar, pertama-tama kita harus memilih port yang betul dari menu dropdown. Setelah menyambungkan data akan mula masuk, dan kami dapat mengirim tetapan kami ke bekalan kuasa.

Walaupun program ini cukup asas, sangat berguna untuk mengendalikannya melalui PC dan mencatat datanya.

Langkah 8:

Imej
Imej
Imej
Imej
Imej
Imej

Selepas semua kerja ini, kita kini mempunyai bekalan kuasa berfungsi sepenuhnya!

Kita sekarang dapat menikmati bekalan elektrik buatan sendiri, yang akan sangat berguna semasa mengerjakan projek hebat lain! Dan yang paling penting: kami telah mempelajari banyak perkara di sepanjang perjalanan.

Sekiranya anda menyukai projek ini, sila pilih saya dalam pertandingan berukuran poket dan mikrokontroler, saya sangat menghargainya!

Disyorkan: