Motor Stepper Cetak 3D Kustom: Buat Drive Presisi Sendiri
Komponen dan Perlengkapan
- Arduino UNO — 1
- Magnet neodymium 1/4 inci — 6
- Paku 8d 2-3/8 inci — 8
- Transistor — 4
- Bearing 608zz — 1
Tentang Proyek Ini
Saya recently menemukan instructable tentang Motor DC Cetak 3D dan saya pikir saya bisa melangkah lebih jauh; Secara harfiah. Saya merancang motor stepper ini dengan delapan elektromagnet, enam magnet neodymium, dengan rotor dan penangkap stator yang dicetak 3D. Ini secara khusus adalah motor stepper magnet permanen yang mampu langkah penuh 15 derajat dan langkah setengah 7,5 derajat. Ada banyak jenis motor stepper, tetapi sebagian besar bekerja sangat mirip dengan yang saya rancang di sini. Ini adalah tampilan edukasi untuk menunjukkan kepada orang lain bagaimana motor stepper bekerja. Saya merancang ini untuk berjalan pada supply 5-12VDC sehingga akan bekerja dengan sebagian besar supply USB.
Saya juga mengadakan hadiah di channel YouTube saya. Saya akan memberikan arduino, transistor yang digunakan dalam proyek ini, dan beberapa switch. Detail lebih lanjut di langkah terakhir.
Langkah 1: Apa yang Anda Perlukan
- Enam magnet neodymium 1/4 inci
- Bearing 608ZZ
- Delapan paku 8d 2-3/8 inci - Tidak penting paku apa yang Anda gunakan selama pas.
- Kawat Magnet - Saya menggunakan kawat magnet 0.315mm tetapi ini tidak penting.
- Arduino Uno
- Empat Transistor - Saya menggunakan transistor PNP yang tersedia, tetapi Anda dapat menggunakan transistor apa pun atau MOSFET selama Anda memastikan mereka dapat menangani arus yang akan ditarik motor Anda. Baca datasheet dengan hati-hati untuk rekomendasi spesifik. Pada 5v motor saya menarik sekitar 1 amp dan pada 12v membutuhkan sekitar 3 amps.
- Rotor dan Stator Cetak 3D
- Lem
- Tape Listrik
- Busur
Langkah 2: Cetak Rotor Dodekagon dan Stator Oktagon
Cetak dengan 3D Hubs!
Langkah 3:
Gunakan busur untuk menentukan kutub magnet Anda dan lem magnet dengan kutub utara menghadap ke luar. Jika magnet Anda cukup kuat, busur pada beberapa smartphone akan menunjukkan polaritas magnet.
Langkah 4:
Pasang bearing ke dalam stator dan kemudian tekan rotor ke dalam bearing. Saya sangat terkesan betapa baik bearing pas di dalam stator. Saat mencetak 3D, lubang cenderung menyusut ke dalam dan akhirnya lebih kecil dari yang diharapkan, jadi saya biasanya membuatnya sedikit lebih besar.
Langkah 5:
Potong 9 potongan kawat panjang 25 kaki dan gulung dengan bor. Gunakan busur dan baterai untuk menentukan konfigurasi yang diperlukan untuk memberi Anda kutub selatan di ujung pakai. Gunakan pensil atau tabung heat shrink untuk menandai kawat negatif elektromagnet Anda. Bungkus bagian elektromagnet dengan tape listrik di mana akan bersentuhan dengan penangkap stator. Hal ini berfungsi untuk dua tujuan. Ini dengan kokoh mengamankan elektromagnet di tempatnya dan juga mengisolasi penangkap dari panas yang mungkin dihasilkan kuil. Pasangan kuil menarik sekitar 1 amp dengan supply 5V yang saya gunakan. Transistor yang saya pilih dapat menangani penggunaan supply 12V yang kuil tarik sekitar 3 amps darinya. Masalah dengan supply tegangan lebih tinggi adalah jika saya membiarkannya berjalan untuk beberapa saat, kuil mulai menjadi hangat.
Peringatan:
Saya merancang ini untuk berjalan pada supply 5-12VDC. Jika Anda memutuskan untuk menyimpang dari jalur yang umum, gunakan Hukum Ohm untuk menentukan ukuran kuil yang Anda inginkan. V = I*R
Ingat, semakin sedikit gulungan pada kuil Anda, semakin rendah resistensinya. Jika Anda tidak hati-hati, kuil Anda akan menarik arus lebih banyak dari yang dapat ditangani supply atau transistor Anda dan hal buruk akan terjadi.
Langkah 6:
Masukkan elektromagnet ke dalam stator sampai sekitar 1/4 inci dari magnet neodymium. Anda dapat memindahkan elektromagnet masuk dan keluar sesuai keinginan, tetapi saya tidak ingin mereka terlalu dekat karena pakai akan terionisasi lebih cepat. Itu adalah kekurangan menggunakan pakai. Motor akan tetap bekerja setelah mereka terionisasi, tetapi akan kurang efisien. Batang las adalah alternatif yang baik untuk pakai jika Anda punya beberapa.
Langkah 7: Solder Semuanya Bersama-sama
Hubungkan pasangan kuil Anda secara seri dan hubungkan sehingga semua kutub selatan elektromagnet menghadap ke dalam. Resistor yang saya gunakan dalam skematika adalah resistor 1k. Tujuannya adalah untuk mencegah pin digital "mengambang" tinggi saat dalam posisi mati. Lagi, pastikan untuk menggunakan transistor yang mampu menahan arus yang akan ditarik kuil Anda.
Muat kode sumber ke arduino Anda dan Anda siap!
Langkah 8: Bayar ke Depan!
Saya akan memberikan arduino, transistor yang digunakan dalam proyek ini, bersama dengan beberapa switch dan kawat jumper.
Aturan hadiah:
Langgan channel YouTube saya, suka video ini dan tinggalkan komentar di video tentang apa yang ingin Anda lihat saya buat selanjutnya. Pada 1 September saya akan secara acak memilih komentar pelanggan dan mengirimkannya secara gratis! Terima kasih kasih atas komunitas yang ramah!
Code
- Printed_Stepper_Motor.ino
Printed_Stepper_Motor.inoPlain text
/* 01010000011100100110111101110100011011110010000001000111 3D Printed Stepper Motor Created August 15, 2015 Modified August 15, 2015 by Anthony Garofalo (Proto G) Visit my YouTube channel here: https://www.youtube.com/channel/UCpTuKJrXFwybnpOG7HpTpZw Visit my Instructables page here: https://www.instructables.com/member/Proto+G/ _____ ______ _____ _______ _____ ______ |_____] |_____/ | | | | | | ____ | | \_ |_____| | |_____| |_____| 01010000011100100110111101110100011011110010000001000111 */ int Delay; int reverseSwitch; void setup() { // initialize digital pin 13 as an output. pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); //led pin for visual pinMode(6, INPUT); //toggle switch is connected to digital pin 6 for reversing direction } void loop() { reverseSwitch = digitalRead(6); if(reverseSwitch == HIGH){//if the reverse switch is high, spin the rotor counter clockwise Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(12, HIGH); digitalWrite(13, HIGH); delay(Delay); digitalWrite(12, LOW); digitalWrite(13, LOW); delay(5); Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(11, HIGH); delay(Delay); digitalWrite(11, LOW); delay(5); Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(10, HIGH); digitalWrite(13, HIGH); delay(Delay); digitalWrite(10, LOW); digitalWrite(13, LOW); delay(5); Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(9, HIGH); delay(Delay); digitalWrite(9, LOW); delay(5); } else{//if the reverse switch is not high, spin the rotor clockwise Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(9, HIGH); digitalWrite(13, HIGH); delay(Delay); digitalWrite(9, LOW); digitalWrite(13, LOW); delay(5); Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(10, HIGH); delay(Delay); digitalWrite(10, LOW); delay(5); Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(11, HIGH); digitalWrite(13, HIGH); delay(Delay); digitalWrite(11, LOW); digitalWrite(13, LOW); delay(5); Delay = analogRead(0); Delay = map(Delay, 0, 1023, 60, 2000); digitalWrite(12, HIGH); delay(Delay); digitalWrite(12, LOW); delay(5); } } Bagian dan Enclosure Kustom
Skematika