Bagaimana cara membuat sirkuit untuk menaikkan / menurunkan meja yang dapat disesuaikan ketinggiannya secara otomatis?

Aug 16 2020

Latar Belakang

Halo semuanya, saya sedang mengerjakan proyek kecil di mana saya dapat mengontrol ketinggian meja yang dapat disesuaikan ketinggiannya menggunakan mikrokontroler, transistor MOSFET, dan sensor ultrasonik. Pada dasarnya saya ingin pengguna memasukkan ketinggian dan meja secara otomatis menyesuaikan dengan ketinggian itu.

Detail teknis

Ini adalah meja yang saya gunakan. Ini hanya memiliki tombol atas / bawah dan tidak memiliki fitur "memori".

Saya mencoba menggunakan tutorial ini , tetapi karena saya tidak memiliki akses yang mudah ke motor itu sendiri, saya memutuskan untuk "mengganti" tombol naik / turun dengan transistor MOSFET.

Ini adalah MOSFET yang saya gunakan. Ini memiliki tegangan ambang Vgs antara 2-4 volt, yang akan bekerja untuk mikrokontroler 5v saya.

Saya membuka kotak kancingnya dan inilah tampilannya.

Ada empat kabel di konektor JST.

  • Merah: 30V
  • Hitam: GND
  • Hijau: Bawah
  • Putih: Atas

Ini adalah sakelar aktif-tinggi di mana menghubungkan Hijau atau Putih ke Merah akan menggerakkan meja ke bawah dan atas, masing-masing. Lihat diagram di bawah untuk mengetahui cara kerja sakelar ( Omron SS-5 ) dalam skema.

Apa yang saya lakukan sejauh ini

Saya mencabut konektor JST dan menghubungkan kabel jumper langsung ke pin wanita untuk membuat sirkuit berikut untuk menaikkan meja.

Sumber tegangan di sisi kiri adalah pin keluaran digital mikrokontroler. Saya berhasil mengangkat meja saat pin tinggi dan berhenti menaikkan meja saat pin rendah.

Sunting (16 Agustus 2020): Saya mengukur arus dari sumber transistor ke kabel putih, dan itu melonjak ke ~ 3A untuk sesaat, dan ketika meja naik (yaitu ketika motor beroperasi), itu dikeluarkan ~ 300mA.

Saya juga dapat melakukan hal yang sama untuk menurunkan meja, kecuali bahwa sumber MOSFET dihubungkan ke kabel Hijau sebagai gantinya.

Masalah saya adalah:

Saya menempatkan transistor lain seperti itu untuk menaikkan dan menurunkan:

Edit (15 Agustus 2020): Maaf tentang diagram yang membingungkan. Diagram ini TIDAK menggunakan dua pin keluaran digital. Sumber tegangan di sebelah kiri adalah D2 dari MCU dan yang di sebelah kanan adalah D3 dari MCU. Pin memiliki kesamaan, yang bertanggung jawab atas masalah berikut.

Hal ini jelas menimbulkan masalah karena sumber kedua transistor tersebut terhubung dengan kabel Putih dan Hijau, artinya setiap kali satu transistor menyala, kedua kabel Putih / Hijau adalah TINGGI. Ini sama dengan menekan kedua tombol secara bersamaan, yang sama sekali tidak menggerakkan meja. Saya mencoba menempatkan resistor 10k di antara dua sumber transistor, tetapi itu tidak menyelesaikan masalah.

Pertanyaan saya

  • Bagaimana saya harus mengedit sirkuit saya untuk memenuhi apa yang saya coba lakukan?
  • Apakah ini sesuatu yang bisa saya buat hanya dengan menggunakan transistor? atau
  • Apakah saya perlu membuka motor untuk mengikuti contoh penggunaan transistor-as-switch?

Saya akan sangat menghargai jika ada yang bisa memberikan saran tentang situasi saya :)

Saya sangat senang untuk menjelaskan kebingungan apa pun.

Terima kasih!

Jawaban

1 Neil_UK Aug 16 2020 at 10:22

Arus singkat 3 A saat motor hidup berarti kabel putih dan hijau membawa arus motor. FET Anda harus memadai untuk arus ini, dan dilindungi dari lonjakan tegangan saat motor mati.

Diagram sakelar asli Anda menunjukkan konfigurasi H-bridge. Dengan kedua sakelar mati, tidak ada arus ke motor. Ketika salah satu sakelar naik, keduanya mengalirkan arus ke motor, satu sumber dari 30 V, yang lainnya tenggelam ke 0 V. Saran FET Anda hanya menunjukkan pull-up, tidak ada pull-down, sehingga motor Anda tidak akan berjalan.

Anda memerlukan driver H-bridge dengan satu driver nonaktif, atau dua driver half-bridge, untuk mereplikasi fungsionalitas ini. Mengingat peralihan level dll yang diperlukan dan pengetahuan Anda tentang elektronik, akan paling masuk akal untuk mencoba membeli modul input level logika, dengan output yang diberi nilai setidaknya 30 V dan 3 A.

Alih-alih FET, akan masuk akal untuk menggunakan sepasang relai c / o untuk melakukan apa yang dilakukan oleh sakelar. Pergi ke situs e-commerce online favorit Anda dan cari 'modul relay Arduino', dan pilih 2 saluran. Mereka dapat digerakkan dari 5 V, semurah chip, tidak meledak seperti FET (meskipun kontak pada akhirnya akan aus), dan memiliki kapasitas penanganan DC yang cukup untuk motor 30 V Anda.

2 TonyStewartSunnyskyguyEE75 Aug 16 2020 at 08:29

masalah dengan asumsi untuk desain

  • gagal mengenali tujuan SPDT.
  • tidak mengerti Vgs (th)
  • motor akan melonjak dengan arus pengenal 10x atau lebih dari arus beban sebenarnya karena mungkin tidak menggunakan beban beban maksimum.

Misalnya katakanlah motor diberi nilai 1A tetapi hanya menggunakan 0,3A kecuali 10x1 = 10A saat startup.

  • Saat dimatikan, ada busur dan EMF belakang motor yang bertindak sebagai generator dan sakelar sebagai rem dan roda gigi sebagai rem gesekan dengan korsleting kumparan untuk beban tambahan.
  • Oleh karena itu Anda membutuhkan POWER Half Bridge yang bekerja dengan level Logic menggunakan output 30V dengan dioda daya untuk menangani lonjakan 10A atau lonjakan 20A jika dibalik dengan cepat saat bergerak.

Masalah dengan desain FET

  • Anda berasumsi 2 ~ 4V adalah Vgs yang beroperasi tetapi itu hanya ambang batas dan Anda memerlukan setidaknya ambang batas 2,5 hingga 3x 100uA untuk mendekati RdsOn untuk menangani> 10A, yang sering ditentukan pada Vgs = 5, 10 atau 12V.

  • “Logic Level FETs“ menggunakan Vgs (th) dekat 1V untuk beroperasi pada 3V untuk kinerja terbaik, jika tidak maka akan panas.

  • Alih-alih driver sisi tinggi, Anda memerlukan SPDT atau FET daya setengah Bridge

Diperlukan jembatan setengah daya yang menggunakan input dan output level logika yang mungkin diberi nilai 30A untuk memiliki Rdson yang cukup kecil agar tetap dingin selama start. Dioda daya dibalik ke setiap rel untuk penjepit Flyback sama-sama diperlukan untuk 10A.

  • half bridge harus memiliki deadtime kecil antara Fwd dan Rev untuk mencegah korsleting atau efek Shoot through. Ini normal. Tapi Anda harus memastikannya.

Rekomendasi

Tentukan resistansi koil motor dan pilih IC Logic Level Half Bridge untuk menggerakkan margin 30V / DCR +

Pastikan ia memiliki perlindungan waktu mati dengan kontrol input dengan penundaan dioda RC atau penundaan MCU dan verifikasi status penyetelan ulang daya dalam keadaan Mati.
bagaimana dengan perlindungan penghentian akhir? Jika terjadi kegagalan pada driver atau kesalahan MCU? Pertimbangkan Polyfuse.

Lakukan penghitungan tahanan panas untuk heatsink dan isolator isolasi listrik dengan gemuk.

Ini umum pada desain sakelar jendela daya mobil kecuali massa yang lebih banyak, kecepatan lebih rendah tetapi mungkin sisa arus (?) Yang sama dari kuburan mobil! Atau DIY atau beli? ini adalah keputusan membuat / membeli harian dari setiap desainer.

Terakhir, bagaimana dengan sensor posisi atau? Sensor posisi untuk perjalanan jauh mungkin mahal kecuali Anda ahli mekanik untuk menggunakan Pot dengan CNC 8mm atau sabuk roda gigi yang lebih kecil dari gerakan linier ke pengurangan katrol ke pot, lalu baca tegangan pot sebagai posisi linier, kalibrasi dan gunakan untuk umpan balik servo. Kemudian izinkan sakelar input MCU untuk mengingat status yang Anda masukkan untuk posisi dan beralih ke atas dan ke bawah berikutnya atau 1,2,3 +, -. Tapi batalkan sakelar. Ada lagi yang hilang? Akhiri sakelar penghenti? Praktek STD untuk mesin CNC.

1 vu2nan Aug 16 2020 at 06:09

Pilihan lainnya adalah menggunakan dua relai SPDT, memiliki peringkat kontak yang identik dengan yang ada pada saklar mikro SS - 5.

HandyHowie Aug 17 2020 at 07:51

Jika meja hanyalah sakelar, motor, dan relai, yang tidak mengandung komponen sensitif polaritas, Anda dapat dengan mudah membalik polaritas catu daya. Anda kemudian akan memiliki rel 0v yang umum daripada rel 30v yang umum.

Anda kemudian dapat menggunakan transistor 2 NPN atau mungkin mosfet tipe 2 N untuk mengalihkan 0v ke kabel putih dan hijau. Naik turun jelas akan terbalik juga.

Anda perlu menambahkan beberapa dioda roda bebas untuk melindungi transistor Anda dari ggl belakang dari kumparan dan motor relai yang ada.