Isi kandungan:
- Langkah 1: Mengurangkan Voltan Bekalan dengan Menggunakan Bateri LiPo
- Langkah 2: Kurangkan Jam CPU
- Langkah 3: Tanggalkan LED Power Board dan Power Regulator
- Langkah 4: Memutuskan Perintang Pullup USB D (ditandakan 152) Dari 5 Volt (VCC) dan Sambungkannya ke USB V +
- Langkah 5: Gunakan Tidur Bukan Kelewatan ()
- Langkah 6: Ubah Sekering
- Langkah 7: Maklumat Lanjut
Video: Mengurangkan Penggunaan Tenaga Bateri untuk Digispark ATtiny85: 7 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
atau: Menjalankan Arduino dengan sel duit syiling 2032 selama 2 tahun.
Menggunakan Digispark Arduino Board anda di luar kotak dengan program Arduino, ia menarik 20 mA pada 5 volt.
Dengan bank kuasa 5 volt 2000 mAh ia hanya akan beroperasi selama 4 hari.
Langkah 1: Mengurangkan Voltan Bekalan dengan Menggunakan Bateri LiPo
Menggunakan bateri LiPo dengan 3.7 volt sebagai bekalan papan Digispark anda hanya menarik 13 mA.
Dengan bateri 2000 mAh ia akan berfungsi selama 6 hari.
Langkah 2: Kurangkan Jam CPU
Sekiranya anda tidak menggunakan sambungan USB, matematik berat atau undian pantas dalam program anda, kurangkan kelajuan jam. Cth. Pustaka penerima inframerah pengundian berat IRMP berjalan dengan baik pada 8 MHz.
Pada 1 MHz Digispark anda menarik 6 mA. Dengan bateri 2000 mAh ia akan berfungsi selama 14 hari.
Langkah 3: Tanggalkan LED Power Board dan Power Regulator
Matikan LED kuasa dengan memutuskan wayar tembaga yang menghubungkan LED kuasa ke diod dengan pisau atau lepaskan / lumpuhkan perintang 102.
Oleh kerana anda menggunakan bateri LiPo sekarang, anda juga boleh mengeluarkan IC pengatur kuasa di atas kapal. Pertama angkat pin luar dengan bantuan besi pateri dan pin. Kemudian pateri penyambung besar dan lepaskan pengatur. Untuk pengatur kecil, gunakan banyak pateri dan panaskan semua 3 pin bersama, kemudian keluarkan.
Pada 1 MHz dan 3,8 volt Digispark anda kini menarik 4,3 mA. Dengan bateri 2000 mAh ia akan berfungsi selama 19 hari.
Langkah 4: Memutuskan Perintang Pullup USB D (ditandakan 152) Dari 5 Volt (VCC) dan Sambungkannya ke USB V +
Pengubahsuaian ini serasi dengan versi boot1 mikro nukleus all1.x. Sekiranya anda sudah mempunyai bootloader 2.x baru di papan anda, anda mesti menaikkan ke versi 2.5 dengan "activePullup" namanya. Cara termudah untuk melakukannya, adalah memasang pakej papan digispark baru dan membakar pemuat but dengan versi yang disyorkan (!!! bukan lalai atau agresif !!!).
Putus wayar tembaga di sisi perintang yang menunjuk ke ATtiny. Ini melumpuhkan antara muka USB dan seterusnya kemungkinan memprogram papan Digispark melalui USB. Untuk mengaktifkannya sekali lagi, tetapi masih menjimatkan kuasa, sambungkan perintang (ditandakan 152) terus ke USB V + yang mudah didapati di bahagian luar dioda pendek. Diod dan sisi yang betul dapat dijumpai dengan menggunakan penguji kesinambungan. Satu sisi diod ini disambungkan ke pin 8 dari ATtiny (VCC) dan Digispark 5V. Bahagian lain disambungkan ke USB V +. Sekarang perintang tarik USB hanya diaktifkan jika papan Digispark disambungkan ke USB mis. semasa pengaturcaraan.
2 langkah terakhir juga didokumentasikan di sini.
Pada 1 MHz dan 3,8 volt Digispark anda kini memperoleh 3 mA. Dengan bateri 2000 mAh ia akan berjalan selama 28 hari.
Langkah 5: Gunakan Tidur Bukan Kelewatan ()
Daripada kelewatan yang lama, anda boleh menggunakan tidur CPU penjimatan kuasa. Tidur boleh berlangsung dari 15 milisaat hingga 8 saat dalam langkah 15, 30, 60, 120, 250, 500 milisaat dan 1, 2, 4, 8 saat.
Oleh kerana masa permulaan dari tidur adalah 65 milisaat dengan tetapan fius digispark kilang, hanya kelewatan lebih besar daripada 80 ms yang dapat diganti dengan tidur.
Semasa tidur Digispark anda menarik 27 µA. Dengan sel butang 200 mAh 2032 ia akan tidur selama 10 bulan.
Untuk betul, Digispark sekurang-kurangnya bangun setiap 8 saat, berjalan sekurang-kurangnya 65 milisaat dan menarik arus sekitar 2 mA. Ini membawa kepada arus purata 42 µA dan 6 bulan. Dalam senario ini hampir tidak ada perbezaan jika program anda berjalan selama 10 milisaat (setiap 8 saat).
Kod untuk menggunakan tidur adalah:
#include #include volatile uint16_t sNumberOfSleeps = 0; millis_timer_millis panjang tidak stabil yang tidak menentu; batal persediaan () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // mod tidur paling dalam…} gelung kosong () {… sleepWithWatchdog (WDTO_250MS, true); // tidur selama 250 ms… sleepWithWatchdog (WDTO_2S, benar); // tidur selama 2 detik…} / * * aWatchdogPrescaler dapat 0 (15 ms) hingga 3 (120 ms), 4 (250 ms) hingga 9 (8000 ms) * / uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; untuk (uint8_t i = 0; saya menjimatkan 200 uA // gunakan wdt_enable () kerana menangani bahawa bit WDP3 berada di bit 5 dari daftar WDTCR wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Watchdog interrupt enabled + reset interrupt flag -> memerlukan ISR (WDT_vect) sei (); // Aktifkan gangguan sleep_cpu (); // Selang pengawas akan membangunkan kita dari tidur wdt_disable (); // Kerana gangguan seterusnya akan berlaku menuju ke reset, kerana wdt_enable () menetapkan WDE / Watchdog System Reset Enable ADCSRA | = ADEN; / * * Oleh kerana jam pemasa mungkin dilumpuhkan, sesuaikan milis hanya jika tidak tidur dalam mod IDLE (SM2… 0 bit adalah 000) * / jika (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis + = computeSleepMillis (aWatchdogPrescaler);}} / * * Gangguan ini membangunkan cpu dari tidur * / ISR (WDT_vect) {sNumberOfSleeps ++;}
Langkah 6: Ubah Sekering
22 mA dari 27 mA diambil oleh BOD (pengesanan BrownOutDetection / undervoltage). BOD hanya dapat dilumpuhkan dengan memprogramkan semula sekering, yang hanya dapat dilakukan dengan programmer ISP. Dengan menggunakan skrip ini, anda dapat mengurangkan arus hingga 5.5 µA dan juga mengurangkan masa permulaan dari tidur hingga 4 milisaat.
5 baki 5.5 µA diambil oleh kaunter pengawas aktif. Sekiranya anda dapat menggunakan set semula luaran untuk bangun, penggunaan saat ini dapat turun ke 0,3 µA seperti yang dinyatakan dalam lembar data.
Sekiranya anda tidak dapat mencapai nilai ini, alasannya adalah, bahawa arus balik dioda schottky antara VCC dan penarikan terlalu tinggi. Perlu diingat bahawa perintang 12 MOhm juga menarik 0.3 µA pada 3.7 volt.
Ini menghasilkan penggunaan arus rata-rata 9 µA (2.5 tahun dengan sel butang 200 mAh 2032) jika anda mis. memproses data setiap 8 saat selama 3 milisaat seperti di sini.
Langkah 7: Maklumat Lanjut
Lukisan papan Digispark semasa.
Projek menggunakan arahan ini.
Disyorkan:
DIY Arduino Solar Tracker (Untuk Mengurangkan Pemanasan Global): 3 Langkah
DIY Arduino Solar Tracker (Untuk Mengurangkan Pemanasan Global): Halo semua, dalam tutorial ini saya akan menunjukkan kepada anda bagaimana membuat solar tracker menggunakan mikrokontroler arduino. Di dunia sekarang ini kita mengalami banyak masalah. Salah satunya ialah perubahan iklim dan pemanasan global. Keperluan untuk
Penjimat Bateri, Suis Pemotong Pelindung Pelepasan Dengan ATtiny85 untuk Kereta Asid Lead atau Bateri Lipo: 6 Langkah
Penjimatan Bateri, Suis Pemutus Pelindung Pelepasan Dengan ATtiny85 untuk Kereta Asid Lead atau Bateri Lipo: Oleh kerana saya memerlukan beberapa pelindung bateri untuk kereta dan sistem solar saya, harga komersil saya berharga terlalu mahal $ 49. Mereka juga menggunakan terlalu banyak kuasa dengan 6 mA. Saya tidak menemui arahan mengenai perkara ini. Jadi saya buat sendiri yang menarik 2mA. Bagaimana
Isyarat Penggera Penggunaan Tenaga Shelly: 8 Langkah
Isyarat Penggeraaan Tenaga Shelly: PERINGATANInstruksi ini mesti dilakukan oleh seseorang yang mempunyai kemahiran yang baik sebagai juruelektrik. Saya tidak bertanggungjawab mengenai bahaya kepada orang atau benda. INTRO: Di Itali kontrak kuasa biasa adalah untuk 3KW, dan jika kuasa anda penggunaan melebihi t
Mengurangkan Penggunaan Kuasa Relay - Memegang Arus Pickup Versus: 3 Langkah
Mengurangkan Penggunaan Daya Relay - Memegang Arus Pickup Versus: Kebanyakan geganti memerlukan lebih banyak arus untuk bergerak pada mulanya daripada yang diperlukan untuk menahan geganti setelah kenalan ditutup. Arus yang diperlukan untuk menahan relay (Holding current) jauh lebih kecil daripada arus awal yang diperlukan untuk menggerakkan
Bagaimana Mengukur Penggunaan Modul Komunikasi Tanpa Wayar dengan Betul di Era Penggunaan Daya Rendah ?: 6 Langkah
Bagaimana Mengukur Penggunaan Tenaga Modul Komunikasi Tanpa Wayar dengan Betul di Era Penggunaan Daya Rendah?: Penggunaan tenaga yang rendah adalah konsep yang sangat penting dalam Internet Perkara. Sebilangan besar nod IoT perlu dikuasakan oleh bateri. Hanya dengan mengukur penggunaan kuasa modul wayarles dengan tepat, kita dapat mengira dengan tepat berapa bateri saya