Arduino Power Supply Controlled: 12 Steps (with Pictures)

Arduino Power Supply Controlled: 12 Steps (with Pictures)

Isi kandungan:

Anonim

Pengajaran ini menerangkan bagaimana untuk merancang sumber bekalan kuasa terkawal Arduino.

Video pendek yang menyampaikan karyanya dapat dilihat di saluran Youtube saya

Bekalan:

Langkah 1: Idea Reka Bentuk, Pendekatan yang Digunakan …

Tujuan projek ini adalah untuk mewujudkan blok bekalan kuasa kecil dengan fungsi lanjutan:

  • Untuk dapat berkomunikasi dengan komputer, yang boleh menetapkan voltan keluaran dan dapat mengawal peranti untuk menghasilkan voltan keluaran dengan beberapa prestasi tertentu (bentuk istimewa, mempunyai nilai yang berbeza pada tempoh waktu tertentu.
  • Untuk dapat menyimpan nilai voltan yang diingini dan pada daya yang terhasil untuk menyelesaikannya
  • Untuk dapat menukar output bergantung pada pembacaan sensor analog yang berbeza

… Berdasarkan keperluan ini saya memutuskan untuk menggunakan Arduino sebagai pengawal utama untuk blok bekalan kuasa.

Saya juga ingin melaksanakan peranti ini menggunakan sebanyak mungkin modul yang sedia ada, tetapi mereka bentuk PCB saya sendiri. Berikutan dengan arahan ini saya mendapati bahawa penggunaan Arduino Nano harus menjadi pilihan terbaik. Anda boleh dengannya untuk ~ 2 USD di ebay. Di sana saya dapati juga kit bekalan kuasa DIY yang bagus berdasarkan LM317. (LM317 mungkin bukan bahagian yang paling sesuai untuk reka bentuk ini. Kenapa, saya akan menjelaskan lebih lanjut, tetapi mempunyai kit bagus ini, saya memutuskan untuk menggunakannya:-)) Untuk dapat mengawal voltan keluaran saya memutuskan untuk menggunakan potensiometer digital dalam gelung maklum balasnya. Saya telah memilih untuk menggunakan bahagian Microchop I2C 8 bit MCP4562. (lembaran data dilampirkan). Ia adalah 10K (Tidak suka memilih LM317 - mengapa? Akan dijelaskan kemudian). Sudah tentu satu lagi jenis potensiometer digital boleh digunakan juga - contohnya SPI dikawal, atau 7 bit …. Untuk memasang cip potentiometer digital saya telah menggunakan SOI8 untuk papan penyesuai DIP8.

Langkah 2: Reka Bentuk Langkah 1

Sebagai langkah pertama saya telah menyeberang LM317 KIT. Potentiometri mekanikal dari KIT dimasukkan ke dalam koleksi bahagian saya untuk beberapa projek masa depan.

Langkah 3: Reka Bentuk Langkah 2

Saya telah memasangkan header pin Perempuan ke papan Arduino, yang harus berfungsi sebagai antara muka kepada dunia luar.

Langkah 4: Reka Bentuk Langkah 3

Saya telah menyepuh cip potentiometr digital pada SOI8 ke papan penyesuai DIP8. Di sana saya telah meletakkan dua 20KOhm resistor antara SDA, SCL pin dan Vcc yang diperlukan untuk komunikasi I2C.

Langkah 5: Merekabentuk Langkah 4

Saya telah menyeberang papan digipot di tempat mekanikal. Untuk membekalkannya sementara saya telah menggunakan pengawal selia tambahan 7805 (Selepas itu terputus). Pada permulaan, potentiometer digital menetapkan pengelapnya pada nilai tengah. Voltan keluaran bagus ditakrifkan.

Langkah 6: Reka Bentuk Langkah 5

Untuk mengawal voltan keluaran saya memutuskan untuk menggunakan pengekod putar yang disambungkan ke arduino. Ia juga mempunyai butang tolak.

Saya telah menyeberang pin tanah butang bersama-sama dengan pin pertengahan rotator encoder - wayar biru.

Langkah 7: Schemaitic Penuh Peranti

Di sini anda dapat melihat skema penuh blok bekalan kuasa.

Saya ingin membuat penjelasan berikut:

  • Potemtiometer digital adalah jenis I2C - ia berkomunikasi dengan arduino melaluinya SDA, pin SCL (pin Arduino A4 dan A5)
  • Arduino dibekalkan oleh voltan input yang diperbetulkan tetapi tidak dikawal oleh kit bekalan kuasa. - Ini menghadkan input, juga voltan keluaran yang boleh diterima untuk voltan arduino ~ 12V DC. Jika voltan masukan yang lebih tinggi diperlukan, arduino mesti dibekalkan oleh beberapa cip pengawal perantara (contohnya 7808,7809,7812)
  • Yang dihasilkan oleh papan arduino 5V digunakan sebagai voltan bekalan untuk potensiometer digital.
  • Butang disambungkan ke pin Arduino digital 4. Ia menggunakan perpustakaan "Button", dilampirkan di sini. Menekan butang menimbulkan arduino untuk menyimpan nilai voltan semasa. Penunjuk LEE berkedip 5 kali untuk pengesahan.
  • The A0, A1 pin dari digipot didasarkan. Ini menentukan alamat perantinya kepada 0101100 (44 DEC). Untuk mendapatkan maklumat tambahan, lihat datasheet.
  • Di sini saya akan menjelaskan masalah dengan LM317. Voltan keluarannya ditentukan oleh formula:

VO = VREF (1 + R2 / R1) + (IADJ × R2);

di mana R1 adalah 240 Ohm.

R2 adalah nilai potensiometer digital, Vref ~ 1.25V

Iadj ~ 50uA

Terdapat had voltan maksimum ke atas set potensiometer digital kepada 5.5V. Kejatuhan voltan melebihi R1 ialah 1.25V.

Ini mengehadkan jumlah voltan keluaran pada 6.75V dan menghalang penggunaan cip pengatur LM317 untuk voltan yang diperlukan.

Sekiranya diperlukan - pengatur lain hendaklah digunakan. Terdapat pelbagai jenis, di mana voltan rujukan muncul antara nod tanah dan pin pelarasan dan menghubungkan ke sana potensiometer digital akan menjadi masalah yang kurang. Untuk memastikan potensiometer saya selamat, saya juga terhad nilainya kepada kurang daripada 1 KOhm, menyambungkan tambahan 1 KOhm perintang selari dengannya. Menggunakan rumus di atas, ia memberikan voltan keluaran maksimum ~ 6 V. Menambah perintang selari ini mengubah linearity pergantungan voltan keluaran pada kod digital. (lihat graf). Dalam sesetengah kes ini boleh berguna - penyelesaian untuk tegasan yang lebih tinggi adalah lebih baik, maka untuk lebih rendah, yang jarang digunakan. Tetapi, jika anda ingin menggunakan LM317, lebih baik menggunakan 1 KOhm digipot dan menghilangkan perintang selari.

  • Di arduino pin 5 Saya telah menyambungkan LED. Dalam versi program saya keamatannya bergantung kepada voltan keluaran - saya menggunakan isyarat PWM yang dikawal oleh perkataan digital yang sama yang digunakan untuk digipot.
  • Pengekod putaran dihubungkan dengan pin arduino 2 dan 3 - Saya menggunakan gangguan perkakasan 0 dan 1 untuk membaca keadaan pengekod berputar.

Langkah 8: Reka Bentuk Langkah 6

Saya telah mengeluarkan pengubah dari penyesuai AC / DC lama.

Langkah 9: Memasang ….

Untuk memasang peranti ini, saya telah menggunakan kotak plastik yang dibeli dari kedai tempatan.

Saya menggerudi semua lubang yang diperlukan di dalamnya menggunakan alat seperti dremel dan buasir kecil.

Pengubah saya menetapkan dengan menggunakan gam epoksi.

Langkah 10: Memasang Bergerak …

Papan arduino telah ditetapkan juga dengan gam epoksi.

Lembaga pengatur dipasang di bahagian bawah kotak oleh skru dan spacer.

Untuk penetapan voltmeter LED saya gunakan lagi gam epoksi.

Langkah 11: Perubahan Perkakasan Tambahan ….

Seperti yang dinyatakan sebelum ini, peranti ini dapat menyimpan voltan semasa dan pada kuasa seterusnya sehingga menyelesaikannya.

Idea pertama saya adalah untuk menggunakan EEPROM dalaman potensiometer digital - nilai yang disimpan dimuatkan sangat cepat pada kuasa sehingga voltan ditetapkan dengan cepat. Tetapi, malangnya saya tidak dapat menulis di EEPROM digipot. Sebabnya sedikit:

  • WP (menulis perlindungan sedikit) ditetapkan secara lalai dan memerlukan penulisan voltan tinggi. Saya kehilangan banyak masa cuba untuk menetapkan semula, tetapi tanpa kejayaan
  • Potensiometer digital ini adalah 8 bit (257 langkah). Ia memerlukan 10 bit data untuk dihantar. Perpustakaan "kawat" arduino biasanya berfungsi dengan bait keseluruhan. Saya tidak mahu kehilangan masa tambahan untuk menukar seluruh perpustakaan untuk berkomunikasi dengan betul dengan potensi digital. Sekarang dua langkah perintang hilang, tetapi ini tidak menjadi masalah bagi saya - Saya menulis dalam digipot hanya satu byte, yang menentukan 255 langkah-langkah bukan mungkin 257. Menggunakan digipot 7 bit dapat menyelesaikan masalah itu. Dalam semua kes, saya tidak dapat membuat tulisan dalam kerja EEPROM peranti.

Saya memutuskan untuk menggunakan EEPROM dalaman cip ATmega328 arduino untuk menyimpan nilai voltan digital.

Menggunakan arduino untuk tujuan itu mencipta masalah tambahan - arduino memerlukan kedua ~ dua untuk boot, untuk memulakan program dan untuk berkomunikasi dengan potensiometer digital. Kelewatan ini menyebabkan voltan keluaran ditetapkan pada permulaan oleh nilai dalaman yang disimpan dalam nilai potensiometer digital (secara lalai nilai periuk tengah), dan selepas beberapa lama, ia akan diselesaikan kepada yang diprogramkan oleh nilai arduino. Ini mungkin berbahaya dalam sesetengah kes - peranti voltan rendah yang dibekalkan oleh sumber ini boleh rosak, sehingga voltan yang betul ditetapkan. Untuk mengelakkan ini dan menjadikan perkara lebih selamat, saya telah menambahkan blok permulaan yang lembut. Ia adalah berdasarkan pada transistor NMOS BS123. Apabila voltan yang diperbetulkan muncul, gerbangnya ditarik oleh kapasitor elektrolitik. Ini menutup transistor MOS, yang disambung selari dengan perintang digipot, dan seluar pendek ke tanah, menjaga voltan keluaran rendah untuk beberapa waktu, sehingga arduino bangun. Kapasitor elektrolisis adalah selepas beberapa masa yang dibuang melemparkan perintang ke tanah dan potensi pintu MOS menjadi rendah, apa yang membuka transistor dan voltan keluaran menghasilkan nilai lalainya.

Pada gambar-gambar boleh dilihat papan kecil ini dipateri berhampiran papan digipot.

Langkah 12: Masa Pengkodan

Kod arduino dilampirkan.

Ia boleh diubah suai mengikut keperluan anda.

Ia adalah kod ringkas. Boleh difahami dengan mudah.

Mungkin yang paling rumit terdapat pengiraan terbalik - apabila anda menaip nilai voltan sasaran dalam monitor siri, dan ia mengira perkataan digital, yang mesti ditulis dalam daftar potensiometer digital. Pengiraan ini berdasarkan formula yang diberikan sebelum ini untuk voltan keluaran pengatur LM317. Dalam kes saya, ia menjadi lebih rumit kerana perintang yang terhubung 1 KOhm perintang. Jika anda tidak menggunakannya - kod itu akan menjadi lebih mudah.

Saya akan mencadangkan anda untuk mengukur dengan tepat oleh DMM nilai sebenar R2, perintang selari (jika digunakan), perintang digipot (pada kuasa sehingga ia menetapkan separuh nilai - mengukur dan berganda dengan 2), voltan rujukan - voltan jatuh ke atas R2. Memiliki nilai-nilai yang betul, pengiraan songsang akan lebih tepat. Perlu diingat bahawa meter voltan yang dimasukkan ke dalam kit tidak begitu tepat - terutamanya untuk voltan rendah.

Fungsi blok ini dapat dikembangkan lebih lanjut dengan menambah pilihan Ethernet, modul wifi … dan lain-lain. Voltan keluaran dapat dikendalikan melalui Internet, dapat dilakukan bergantung pada pengukuran sensor analog yang berbeda …

Saya meninggalkan idea-idea baru ini mengenai imaginasi dan fantasi anda.