Pengecas Arduino. Peranti belanjawan berdasarkan Arduino untuk buta (perkakasan terbuka)



Aruhan magnet ialah teknologi yang mungkin anda ingat dari kelas fizik sekolah menengah. Untuk penghantaran tanpa wayar tenaga anda perlukan dua gegelung: gegelung pemancar dan gegelung penerima. Arus ulang alik dalam gegelung pemancar menghasilkan medan magnet, yang mendorong voltan dalam gegelung penerima. Voltan ini boleh digunakan untuk kuasa peranti mudah alih atau untuk mengecas bateri.


Tidak kurang juga elemen penting Akan ada induktor yang boleh anda buat sendiri. Ini gegelung mudah digulung daripada wayar kuprum dan dipanggil gegelung teras udara. Mencipta penggulungan sedemikian untuk tujuan kami adalah sangat mudah. Cari silinder bulat dengan diameter kira-kira 5 sentimeter, dan putar wayar di sekelilingnya supaya setiap pusingan tidak bertindih dengan pusingan lain, tetapi pada masa yang sama adalah sedekat mungkin dengan pusingan lain. Silinder bulat boleh, sebagai contoh, tiub PVC. Anda mungkin perlu menggunakan pita pelekat atau pita di 2-3 tempat untuk memastikan struktur stabil.


Sebagai tambahan kepada Arduino dan induktor, kami memerlukan: satu transistor NPN jenis 2N3055, satu jambatan diod 1A (pemasangan diod, mereka mempunyai empat terminal), satu LED, satu perintang 100-ohm, dua kapasitor 47 nF, bateri 9 V ke kuasakan Arduino, dan juga sebaik-baiknya dua papan untuk prototaip. Gambar rajah untuk menyambungkan komponen untuk mencipta peranti penghantaran data wayarles ditunjukkan dalam rajah di bawah.



Litar boleh diuji menggunakan kod mudah untuk Arduino yang diberikan di bawah.


persediaan void() ( pinMode(13,OUTPUT); ) void loop() ( digitalWrite(13,HIGH); delay(0.5); digitalWrite(13,LOW); delay(0.5); )

Walau bagaimanapun, peranti pemindahan kuasa wayarles mudah boleh dibuat tanpa Arduino. Pada asasnya, kita hanya boleh menggunakan satu transistor 2N2222. Sambungkan terminal asasnya ke hujung pertama gegelung dan pengumpulnya ke hujung gegelung yang lain. Pin pemancar disambungkan ke bateri. Akibatnya, reka bentuk yang mudah mungkin kelihatan seperti ini:




   Terima kasih kerana berminat dengan projek maklumat tapak web.
   Jika anda mahu menarik dan bahan yang berguna keluar lebih kerap dan iklan kurang,
   Anda boleh menyokong projek kami dengan menderma sebarang jumlah untuk pembangunannya.

Pasukan Electro-Labs membentangkan projek untuk Arduino yang bukan sahaja menarik, tetapi juga berguna dalam kehidupan seharian, di blognya. Dalam projek ini, perisai boleh atur cara untuk Arduino telah dibangunkan yang berfungsi sebagai pengecas untuk bateri litium. Perisai termasuk paparan LCD dan antara muka butang tekan yang membolehkan pengguna melaraskan voltan daripada 2V kepada 10V dan arus daripada 50mA kepada 1.1A. Peranti ini juga menyediakan keupayaan untuk mengawal proses pengecasan.

Perisai adalah berdasarkan cip LT1510 dan dikawal oleh Arduino Uno. Paparan yang digunakan ialah LCD Nokia 5110 yang ringkas dan mampu milik. Ia disambungkan melalui antara muka SPI dan dikuasakan oleh voltan 3.3V. Memandangkan pin I/O arduino beroperasi pada 5V, adalah disyorkan untuk menyambungkan modul LCD melalui perintang yang disambungkan secara bersiri kepada garis isyarat. Untuk menyambung Bateri Li-Ion Dua penyambung tersedia. Empat butang kawalan disambungkan ke pin A2-A5 Arduino. Voltan bateri dan arus pengecasan dikawal melalui pin analog A0 dan A1. Butiran penukaran analog-ke-digital dijelaskan dalam kod sumber projek. Dua LED SMD digunakan untuk menunjukkan operasi peranti.

Gambarajah skematik projek telah dibangunkan di SoloCapture daripada pakej SoloPCBtools. Perisai boleh berfungsi tanpa kawalan mikropengawal. Apabila Arduino tidak dipancarkan dengan program, Pengecas, secara lalai, mempunyai voltan potong 4.2V dan arus maksimum mengecas 1.1A. PCB direka dalam SoloPSB. Projek papan litar bercetak dan program SoloPSB itu sendiri boleh dimuat turun dari electro-labs.com. Dimensi perisai dipilih untuk lokasinya pada Arduino Uno. LED, antara muka butang tekan, paparan LCD dan penyambung bateri terletak di atas untuk kemudahan. Semua elemen lain terletak dengan sisi terbalik perisai.

Paparan LCD diprogramkan untuk menunjukkan empat halaman yang membolehkan pengguna memasukkan parameter pengecasan dan mengawal proses pengecasan. Pada halaman pertama, pengguna boleh menetapkan voltan potong dan arus cas maksimum, pergi ke halaman status bateri dan mula mengecas. Butang atas dan bawah digunakan untuk bergerak antara pilihan, dan butang kanan dan kiri digunakan untuk menukar parameter dan memilih pilihan. Halaman kedua menunjukkan status bateri. Di dalamnya anda boleh melihat voltan semasa pada bateri. Halaman ketiga menunjukkan voltan dan arus pengecasan. Kiri atau Klik kanan Dalam halaman ini anda boleh menghentikan proses pengecasan dan kembali ke halaman tetapan parameter. Apabila voltan bateri mencapai tetapkan nilai, pengecas berhenti dan menunjukkan mesej "Caj Selesai". Untuk keluar, tekan kekunci kiri.

Arduino dan litar pengecasan tambahannya boleh digunakan untuk memantau dan mengawal pengecasan bateri NiMH, seperti ini:

Peranti siap

Bateri boleh dicas semula adalah dengan cara yang hebat untuk menghidupkan elektronik mudah alih anda. Mereka boleh menjimatkan banyak wang apabila pengecasan yang betul. Supaya anda boleh menerima pulangan maksimum daripada bateri anda, ia mesti dicas dengan betul. Ini bermakna anda memerlukan pengecas yang baik. Anda boleh membelanjakan banyak wang untuk membeli pengecas siap, atau anda boleh berseronok membuatnya sendiri. Dalam artikel ini kita akan melihat bagaimana anda boleh membuat pengecas yang dikawal oleh Arduino.

Pertama, adalah penting untuk diperhatikan bahawa tidak ada kaedah sejagat pengecas yang sesuai untuk semua bateri. Jenis bateri yang berbeza menggunakan proses kimia yang berbeza untuk menjadikannya berfungsi. Akibatnya, jenis yang berbeza Bateri perlu dicas secara berbeza. Kami tidak boleh merangkumi semua jenis bateri dan kaedah pengecasan dalam artikel ini. Jadi demi kesederhanaan, kami akan menumpukan pada jenis bateri AA yang paling biasa, bateri Nickel Metal Hydride (NiMH).

Aksesori

Senarai komponen dari kiri ke kanan:

  • perintang 10 Ohm berkuasa (minimum 5 watt);
  • perintang 1 MOhm;
  • kapasitor 1 µF;
  • transistor MOSFET IRF510;
  • sensor suhu TMP36;
  • bekalan kuasa 5 volt;

Cara mengecas bateri NiMH AA

Meningkatkan kadar pengecasan meningkatkan risiko kerosakan bateri.

Terdapat banyak cara untuk mengecas bateri NiMH. Kaedah yang anda gunakan terutamanya bergantung pada seberapa cepat anda ingin mengecas bateri anda. Kadar pengecasan diukur berhubung dengan kapasiti bateri. Jika bateri anda mempunyai kapasiti 2500 mAh dan anda mengecasnya pada 2500 mA, maka anda mengecasnya pada kadar 1C. Jika anda mengecas bateri yang sama pada 250 mA, maka anda mengecasnya pada kadar C/10.

semasa pengecasan pantas bateri (pada kelajuan melebihi C/10), anda perlu memantau dengan teliti voltan dan suhu bateri untuk mengelakkan pengecasan berlebihan. Ini boleh merosakkan bateri dengan serius. Walau bagaimanapun, apabila anda mengecas bateri anda dengan perlahan (pada kadar di bawah C/10), anda berkemungkinan lebih kecil untuk merosakkan bateri jika anda mengecasnya secara berlebihan. Oleh itu, kaedah pengecasan perlahan biasanya dianggap lebih selamat dan akan membantu anda meningkatkan hayat bateri. Oleh itu, dalam pengecas buatan sendiri kami akan menggunakan kadar caj C/10.

Litar cas

Untuk pengecas ini, asasnya ialah litar untuk mengawal bekalan kuasa dengan menggunakan Arduino. Litar dikuasakan daripada sumber 5 volt, contohnya, daripada penyesuai arus ulang alik atau unit komputer pemakanan. Kebanyakan port USB tidak sesuai untuk projek ini kerana batasan semasa. Sumber 5V mengecas bateri melalui perintang 10 Ohm yang berkuasa dan MOSFET berkuasa transistor. Transistor MOSFET menetapkan jumlah arus yang mengalir melalui bateri. Perintang ditambah sebagai cara mudah untuk mengawal arus. Memantau jumlah arus dilakukan dengan menyambungkan setiap pin perintang ke pin input analog Arduino dan mengukur voltan pada setiap sisi. Transistor MOSFET dikawal oleh pin output PWM Arduino. Denyutan isyarat modulasi lebar nadi dilicinkan ke voltan DC penapis pada perintang 1 MΩ dan kapasitor 1 μF. Skim ini membolehkan Arduino memantau dan mengawal arus yang mengalir melalui bateri.


Pengesan suhu

Penderia suhu digunakan untuk mengelakkan pengecasan berlebihan bateri dan memastikan keselamatan.

Sebagai langkah berjaga-jaga tambahan, penderia suhu TMP36 telah ditambahkan pada pengecas untuk memantau suhu bateri. Sensor ini menghasilkan voltan yang berubah secara linear dengan suhu. Oleh itu, tidak seperti termistor, ia tidak memerlukan penentukuran atau pengimbangan. Penderia dipasang di dalam lubang yang digerudi dalam badan pemegang bateri dan dilekatkan ke dalam lubang supaya ia menekan bateri apabila ia dipasang di dalam pemegang. Pin sensor disambungkan ke bas 5V, ke kes dan ke pin input analog Arduino.

Pemegang bateri AA sebelum dan selepas pemasangan dihidupkan papan roti

Kod


Kod untuk projek ini agak mudah. Pembolehubah pada permulaan kod sumber membolehkan anda mengkonfigurasi pengecas dengan memasukkan nilai untuk kapasiti bateri dan rintangan tepat perintang kuasa. Pembolehubah ambang selamat juga telah ditambah. maksimum voltan yang dibenarkan pada bateri ditetapkan kepada 1.6 volt. Suhu bateri maksimum ditetapkan kepada 35 darjah Celsius. Masa pengecasan maksimum ditetapkan kepada 13 jam. Jika mana-mana ambang keselamatan ini melebihi, pengecas akan dimatikan.

Dalam badan program anda dapat melihat bahawa sistem sentiasa mengukur voltan pada terminal perintang yang kuat. Ini digunakan untuk mengira voltan merentasi bateri dan arus yang mengalir melaluinya. Arus dibandingkan dengan nilai sasaran, iaitu C/10. Jika arus yang dikira berbeza daripada nilai sasaran lebih daripada 10 mA, sistem secara automatik melaraskan nilai output untuk membetulkannya.

Arduino menggunakan antara muka bersiri untuk memaparkan semua data semasa. Jika anda ingin memantau operasi pengecas anda, anda boleh menyambungkan Arduino ke Port USB komputer, tetapi ini tidak perlu kerana Arduino dikuasakan oleh sumber voltan 5V daripada pengecas.

Kapasiti bateri int = 2500; // nilai kapasiti bateri dalam rintangan apungan mAh = 10.0; // diukur rintangan perintang berkuasa int cutoffVoltage = 1600; // voltan maksimum pada bateri (dalam mV), yang tidak boleh melebihi potongan apunganSuhuC = 35; // Suhu maksimum bateri yang tidak boleh melebihi (dalam darjah C) //potongan terapungTemperatureF = 95; // suhu bateri maksimum yang tidak boleh melebihi (dalam darjah F) masa potong panjang = 46800000; // masa maksimum caj pada 13 jam, yang tidak boleh melebihi int outputPin = 9; // wayar isyarat output disambungkan ke pin digital 9 int outputValue = 150; // nilai isyarat PWM keluaran int analogPinOne = 0; // sensor voltan pertama disambungkan ke pin analog 0 float valueProbeOne = 0; // pembolehubah untuk menyimpan nilai pada voltan apungan analogPinOneProbeOne = 0; // voltan dikira pada analogPinOne int analogPinTwo = 1; // sensor voltan kedua disambungkan ke pin analog 1 float valueProbeTwo = 0; // pembolehubah untuk menyimpan nilai pada analogPinTwo float voltageProbeTwo = 0; // voltan dikira pada analogPinTwo int analogPinThree = 2; // sensor voltan ketiga disambungkan ke pin analog 2 float valueProbeThree = 0; // pembolehubah untuk menyimpan nilai pada analogPinThree float tmp36Voltage = 0; // voltan dikira pada suhu apungan analogPinThreeC = 0; //suhu penderia dikira dalam darjah C //suhu apunganF = 0; // dikira suhu sensor dalam darjah F voltan apunganPerbezaan = 0; // perbezaan antara voltan pada analogPinOne dan analogPinTwo float batteryVoltage = 0; // arus apungan voltan bateri yang dikira = 0; // dikira arus yang mengalir melalui beban dalam (mA) float targetCurrent = batteryCapacity / 10; // arus keluaran sasaran (dalam mA) ditetapkan kepada // C/10 atau 1/10 daripada arus apungan kapasiti bateriError = 0; // perbezaan antara sasaran dan arus sebenar (dalam mA) void setup() ( Serial.begin(9600); // setup antara muka bersiri pinMode(outputPin, OUTPUT); // tetapkan pin sebagai output ) void loop() ( analogWrite(outputPin, outputValue); // tulis nilai output pada pin output Serial.print("Output: "); // tunjukkan nilai output untuk pemantauan pada komputer Serial.println (outputValue); valueProbeOne = analogRead(analogPinOne); // baca nilai input pada voltan probe pertamaProbeOne = (valueProbeOne*5000)/1023; // hitung voltan pada probe pertama dalam Serial milivolt. print("Voltage Probe One (mV): "); // tunjukkan voltan pada probe pertama Serial.println(voltageProbeOne); valueProbeTwo = analogRead(analogPinTwo); // baca nilai input pada probe voltan keduaProbeTwo = (valueProbeTwo *5000)/1023; // hitung voltan pada probe kedua dalam milivolt Serial.print("Voltage Probe Two (mV): "); // tunjukkan voltan pada probe kedua Serial.println(voltageProbeTwo); batteryVoltage = 5000 - voltageProbeTwo; // hitung voltan pada bateri Serial.print("Bateri Voltan ( mV): "); // tunjukkan voltan bateri Serial.println(bateriVoltage); semasa = (voltageProbeTwo - voltageProbeOne) / rintangan; // hitung arus cas Serial.print("Sasaran Arus (mA): "); // tunjukkan sasaran semasa Serial.println(targetCurrent); Serial.print("Arus Bateri (mA): "); // tunjukkan Serial.println semasa sebenar (semasa); currentError = targetCurrent - semasa; // perbezaan antara sasaran dan arus yang diukur Serial.print("Ralat Semasa (mA): "); // tunjukkan ralat tetapan semasa Serial.println(currentError); valueProbeThree = analogRead(analogPinThree); // baca nilai input probe ketiga, tmp36Voltage = valueProbeThree * 5.0; // menukarkannya kepada voltan tmp36Voltage /= 1024.0; suhuC = (tmp36Voltage - 0.5) * 100 ; // penukaran berdasarkan pergantungan 10 mV setiap darjah dengan anjakan 500 mV // ((voltan - 500 mV) didarab dengan 100) Serial.print("Suhu (darjah C) "); // tunjukkan suhu dalam darjah Celsius Serial.println(temperatureC); /* suhuF = (suhuC * 9.0 / 5.0) + 32.0; //tukar kepada darjah Fahrenheit Serial.print("Suhu (darjah F) "); Serial.println(suhuF); */ Serial.println(); // tambahan baris kosong untuk memudahkan membaca data semasa menyahpepijat Serial.println(); if(abs(currentError) > 10) // jika ralat tetapan semasa cukup besar, kemudian laraskan voltan keluaran( outputValue = outputValue + currentError / 10; if(outputValue< 1) // выходное значение никогда не может быть ниже 0 { outputValue = 0; } if(outputValue >254) // nilai output tidak boleh lebih tinggi daripada 255 ( outputValue = 255; ) analogWrite(outputPin, outputValue); // tulis nilai keluaran baharu ) if(temperatureC > cutoffTemperatureC) // hentikan pengecasan jika suhu bateri melebihi ambang selamat ( outputValue = 0; Serial.print("Max Temperature Melebihi"); ) /* if(temperatureF > cutoffTemperatureF ) // hentikan pengecasan jika suhu bateri melebihi ambang selamat ( outputValue = 0; ) */ if(bateriVoltage > cutoffVoltage) // hentikan pengecasan jika voltan bateri melebihi ambang selamat ( outputValue = 0; Serial.print("Max Voltan Melebihi" ); ) if(millis() > cutoffTime) // hentikan pengecasan jika masa pengecasan telah melebihi ambang ( outputValue = 0; Serial.print("Masa Caj Maks Melebihi"); ) kelewatan(10000); // kelewatan 10 saat sebelum lelaran gelung seterusnya)

Anda boleh mendapatkan versi kod sumber yang boleh dimuat turun di pautan di bawah.

Beberapa tahun yang lalu, saya menetapkan sendiri tugas untuk membangunkan satu set peranti murah yang membolehkan orang buta menyesuaikan diri dengan lebih baik dengan dunia di sekeliling kita. Sehingga kini, saya, bersama-sama dengan sekumpulan orang yang berfikiran sama, telah berjaya melaksanakan beberapa projek.

Dalam artikel ini saya ingin bercakap tentang lampiran ultrasonik pada tongkat dan rantai kunci ultrasonik - peranti lengkap, yang dipasang daripada modul yang murah dan tersedia.

Lampiran rotan ultrasonik dan fob kunci ultrasonik ialah peranti untuk orang buta yang memberi amaran tentang halangan yang terletak di atas paras yang boleh dikesan menggunakan rotan biasa. Halangan sedemikian boleh menjadi kereta menunggang tinggi, halangan, pagar tinggi. Lampiran ultrasonik dilekatkan pada tongkat biasa, dan rantai kunci ultrasonik digantung di leher atau dibawa di tangan seperti lampu suluh.

Operasi peranti adalah berdasarkan pantulan gelombang ultrasonik daripada halangan. Dengan mengukur perbezaan masa antara saat nadi dijana dan saat isyarat gema yang dipantulkan diterima, jarak ke halangan boleh ditentukan.

Untuk membangunkan peranti, adalah perlu untuk memilih penderia untuk mengukur jarak, papan kawalan dan peranti isyarat, pilih bateri, kaedah untuk mengecasnya, dan perumah yang sesuai.

Penderia ultrasonik

Untuk mengukur jarak ke halangan, dua peranti telah diuji:
  • Modul Ultrasonik Serasi Arduino HC-SR04
  • Penderia tempat letak kereta HO 3800
Kedua-dua peranti berfungsi pada prinsip yang sama. Perbezaannya terletak pada corak arah penderia, julat pengesanan halangan maksimum dan reka bentuk.
Perbandingan parameter sensor:

Semasa ujian, ternyata modul HC-SR04 mempunyai keupayaan yang lebih teruk untuk mengesan halangan dan berfungsi dalam keadaan yang sukar. keadaan iklim(sejuk).

Kedua-dua sensor, walaupun perbezaannya, boleh digunakan dalam lampiran tongkat ultrasonik sebagai cara untuk mengukur jarak ke halangan, jadi parameter utama untuk kami apabila memilih sensor ialah harga. Kami memilih sensor HC-SR04 yang lebih murah.

Papan kawalan

Platform Arduino dipilih sebagai papan kawalan. Dalam kes kami, papan yang paling sesuai ialah versi mini: Arduino Mini, Arduino Nano atau Arduino Pro Mini. Secara umum, mana-mana pengawal lain yang menyediakan keupayaan serupa boleh digunakan.

Bateri

Untuk membekalkan kuasa kepada peranti, dinasihatkan untuk menggunakan sel bateri lithium-ion (Li-ion) atau nickel-metal hydride (Ni-Mh).

Apabila beroperasi dalam keadaan iklim biasa, masuk akal untuk menggunakan bateri Li-ion, yang mempunyai kelebihan berikut berbanding dengan Ni-Mh:

  • kemudahan pelaksanaan litar pengecasan
  • ketersediaan modul caj siap sedia
  • voltan keluaran yang lebih tinggi
  • manifold dimensi keseluruhan dan bekas
Pada suhu rendah Adalah lebih baik untuk menggunakan bateri Ni-Mh.

Voltan pada output satu bateri Ni-Mh (1.0 -1.4 V) tidak mencukupi untuk mengendalikan peranti. Untuk mendapatkan voltan 5 V (diperlukan untuk operasi kedua-dua Arduino dan sensor letak kereta), sebagai tambahan kepada bateri, kami akan menggunakan penukar DC-DC rangsangan.

Untuk mengendalikan penukar DC-DC yang telah kami pilih, adalah perlu untuk menyediakan voltan input 0.9-6.0 V. Untuk mendapatkan voltan keluaran yang diperlukan, seseorang boleh menggunakan satu elemen Ni-Mh dengan voltan 1.2 volt. Walau bagaimanapun, apabila voltan masukan berkurangan, kapasiti beban penukar juga berkurangan, jadi untuk operasi yang stabil Adalah dinasihatkan untuk membekalkan peranti dengan sekurang-kurangnya 2 V kepada input penukar (dua elemen Ni-Mh 1.2 V setiap satu atau satu elemen Li-ion dengan voltan 3.7 V). Ambil perhatian bahawa terdapat penukar DC-DC yang mana voltan input 1.2 V tidak mencukupi.

Mengecas bateri

Untuk Bateri li-ion Terdapat banyak modul murah siap pakai dengan petunjuk pengecasan akhir.

Dalam kes bateri Ni-Mh, semuanya lebih rumit. Penyelesaian terbenam sedia dibuat di pasaran di masa ini Kami belum jumpa. Untuk mengecas bateri Ni-Mh, anda boleh menggunakan pengecas luaran khusus atau mencipta litar pengecasan anda sendiri.

Satu cara untuk mengecas sel Ni-Mh ialah sambungan bersiri dengan bateri dua penstabil linear LM317 (atau serupa): yang pertama - dalam mod pengehad semasa, yang kedua - dalam mod pengehadan voltan.

Voltan masukan litar sedemikian ialah 7.0-7.5 V. Sekiranya tiada penyejukan penstabil, tidak disyorkan untuk melebihi voltan ini. Voltan pada setiap satu Bateri Ni-MH Semasa pengecasan perlu ada kira-kira 1.45 V (voltan sel Ni-Mh yang dicas penuh). Untuk mengelakkan terlalu panas dan kegagalan litar mikro, arus pengecasan bateri tidak boleh melebihi 100 mA dan boleh ditingkatkan kepada 200 mA apabila menggunakan radiator yang sesuai.

Kelebihan skim pengecasan ini ialah tidak perlu mengawal keadaan pengecasan: apabila voltan yang diperlukan pada elemen dicapai, arus secara automatik akan turun ke minimum yang selamat.

Penggera

Bergantung pada pilihan saluran amaran (auditori atau sentuhan), pilih penggerak– buzzer atau motor getaran. Di samping itu, anda boleh menggabungkan kedua-dua kaedah pemberitahuan, memberikan pengguna keupayaan untuk bertukar antara mereka.

Semasa ujian prototaip, kami mendapati bahawa adalah paling mudah untuk menghantar maklumat tentang kedekatan halangan melalui getaran, kerana dalam kes ini, saluran audio, yang sangat penting untuk orang buta, tidak diduduki. Itulah sebabnya semua produk kami yang direka dan dipasang menggunakan getaran untuk memberi amaran tentang halangan. Keamatan getaran adalah berkadar dengan jarak ke halangan.

Bingkai

Kami tidak dapat mencari perumahan yang mudah untuk lampiran tebu ultrasonik di antara perumahan yang dihasilkan secara besar-besaran. Untuk menguji peranti, kami menggunakan sarung plastik ABS bercetak 3D. Untuk mencetak sarung pada pencetak 3D, kami membangunkan model 3D berikut:

Keputusan ujian prototaip

Semasa proses pembangunan, lebih daripada 12 pilihan produk telah dikumpulkan. Setiap produk baru menghapuskan kekurangan yang sebelumnya: semasa proses pembangunan, kami mengurangkan dimensi dan berat produk, memilih sensor ultrasonik yang memuaskan kami dari segi harga dan spesifikasi teknikal, meninggalkan penggunaan saluran audio dan mengoptimumkan algoritma pengendalian peranti. Bersama-sama dengan orang buta (Bortnikov P.V., Shalintsev V.A.), ujian semua produk yang dipasang telah dijalankan. Hasilnya, kami memperoleh sampel akhir.

Di bawah adalah asas gambarajah elektrik peranti yang dibangunkan:

Apabila dibongkar, rantai kunci leher ultrasonik kelihatan seperti ini:

Semua komponen yang digunakan dalam pemasangan, kecuali untuk perumah bercetak 3D untuk lampiran rotan, telah dibeli melalui AliExpress:

  1. Penderia ultrasonik HC-SR04.
  2. Papan kawalan Adruino Pro Mini.
  3. Bateri boleh dicas semula 3.7 V 300 mAh.
  4. Penukar voltan 0.9V ~ 5V kepada 5V 600 mA.
  5. Modul pengecasan AC/DC 220V hingga 5 V 1 A.
  6. Pengecas LA-520W.
  7. Penggera: motor getaran untuk telefon bimbit 4x10mm DC 3V.
  8. Butang PB-22E60.
  9. Perumahan Gainta G1906 (untuk fob kunci).
  10. Transistor: bss138/bcr108 atau optocoupler CPC1230N.
Penampilan dan harga (termasuk penghantaran dari China) komponen yang digunakan untuk memasang kepala ultrasonik pada tongkat ditunjukkan dalam rajah:

Daripada komponen yang digunakan semasa pemasangan, sumbangan terbesar kepada kos peranti adalah daripada perumahan bercetak 3D.

Penampilan dan harga (termasuk penghantaran dari China) komponen yang digunakan untuk memasang fob kunci ultrasonik ditunjukkan dalam rajah:

Pada masa hadapan, anda boleh membangunkan pelekap untuk badan Gainta G1906 dan menggunakan peranti dengan badan sedemikian sebagai lampiran untuk tongkat.

Salah satu cara untuk mengurangkan kos peranti ialah menjimatkan kos buruh dan kos penghantaran komponen peranti ke Rusia dengan menggunakan pengeluaran terus di China.

Peranti yang kami bangunkan mempunyai ciri-ciri berikut:

Selepas menjalankan ujian awal peranti, kami terpaksa mengehadkan julat pengesanan halangan kepada 1.5 meter untuk mengelakkan pencetus yang tidak perlu apabila menggunakan peranti dalam persekitaran yang sesak. Dengan perubahan berterusan dalam tahap getaran, adalah lebih sukar untuk menentukan pendekatan halangan, jadi berdasarkan keputusan ujian awal, kami menyelesaikan tiga tahap getaran.
Penampilan lampiran ultrasonik pada tongkat:

Penampilan rantai kunci leher:

Model 3D lampiran ultrasonik untuk rotan dan sumber Perisian tegar untuk Adruino tersedia untuk dimuat turun di

Pengawal PWM Arduino pengecasan solar
Cara membuat pengawal pengecas solar PWM yang sangat kecil, ringkas dan murah dengan Arduino Pro Mini untuk persediaan luar grid 12V. PCB adalah saiz yang sama dengan papan mini Pro supaya ia boleh diikat bersama. PCB merancang untuk papan prototaip universal.

Menyambung dan menggunakan ini Pengawal Arduino cas suria sangat mudah - terdapat 2 wayar input dari panel panel solar(+ dan -) dan 2 output membawa kepada bateri asid plumbum. Pangkalan panel solar dan bateri disambungkan bersama. Sebarang beban mesti disambungkan terus ke terminal bateri dan pengawal cas akan mengendalikan selebihnya secara automatik.

Arduino kerap mengukur voltan bateri asid plumbum mengikut nilai tertentu, menukar MOSFET untuk mengecas bateri daripada panel solar dan mematikan MOSFET apabila bateri dicas sepenuhnya. Apabila beban menarik kuasa daripada bateri, pengawal mengesan penurunan voltan dan serta-merta mula mengecas bateri sekali lagi. Pada waktu malam apabila sebuah panel solar berhenti menghasilkan, pengawal menunggu sehingga panel mula mengeluarkan semula.


Wayar positif ke panel solar memerlukan diod Schottky pelindung yang dipasang terus pada kabel (dibalut dengan tiub pengecutan haba). Ini tidak termasuk dalam PCB utama kerana ini menjadikannya lebih mudah untuk menggantikannya dan menyejukkan pada masa yang sama. Anda boleh membuat papan lebih lama sedikit untuk memuatkan jenis diod yang berbeza.

Penerangan Litar dan Fungsi:

Fungsi ini berdasarkan transistor MOSFET saluran N IRF3205 di bahagian atas litar. Ini memerlukan voltan get lebih tinggi daripada 12V untuk menghidupkan MOSFET dengan betul. Untuk menghapuskan keperluan untuk luaran pemacu MOSFET Ia didorong oleh pam cas yang dicipta dengan diod, 2 kapasitor dan dua pin output PWM Arduino (3 dan 11). Pin A1 mengukur voltan bateri dan pin 9 mengawal kitaran MOSFET ON/OFF. LED bersepadu Arduino Pro Mini yang disambungkan ke pin 13 digunakan untuk menunjukkan kitaran semasa isyarat PWM.

Pengatur voltan dan semua kapasitor di sekeliling (C6, C5 dan C4) boleh dihapuskan kerana terdapat pengawal selia yang disertakan dalam Arduino Pro Mini. Walau bagaimanapun, kerana saya menggunakan papan klon yang murah, saya tidak mahu bergantung pada keupayaannya untuk menyokong voltan yang lebih tinggi daripada 12V untuk jangka masa yang lebih lama. LP2950 adalah sangat murah dan cekap sehingga 30 volt, jadi ia tetap berbaloi untuk dimiliki.


Senarai Bahagian: Pengatur Voltan dengan penggunaan kuasa yang rendah LP2950ACZ-5.0 transistor 2N3904 2N3906 x 2 N-channic mop-transistor IRF3205 Perintang 82K (1%) 20K (1%) 220K X3 (0.4W cukup) 4K7 (0.4W sudah memadai) x3CA 506KES3 sebarang jenis serupa diod Schottky 35V minimum 9A) Kapasitor 47N/50V x2 seramik 220P/100V seramik 1M/50V (1000nF) seramik 4M7/10V tantalum 1M/35V tantalum x 2

Litar dan kod untuk pengawal cas ini adalah oleh Julian Ilett, dia adalah dalang di sebalik ini perkara yang bijak. Semua ini hanyalah dokumentasi yang diperhalusi dan reka bentuk PCB yang sesuai untuk dipadankan dengan sempurna dengan papan Arduino Pro Mini. Dia berkongsi video pengawal selia caj MPPT Arduino yang lebih cekap, tetapi pembinaannya jauh lebih kompleks dan projek itu belum selesai. Jika anda boleh menambah baik kod atau reka bentuk dalam apa jua cara, sila kongsikan peningkatan anda dalam ulasan.