Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Tujuan saya adalah untuk meningkatkan printer 3D Anet A8 saya dengan menambahkan kontrol catu daya melalui antarmuka Octoprint. Namun demikian, saya juga ingin dapat memulai "secara manual" printer 3D saya, artinya tidak menggunakan antarmuka web tetapi hanya menekan tombol.
Langkah 1: Pengkabelan
PSU AC-DC terhubung dengan Smart-plug (TP-Link) yang dapat dikontrol melalui smartphone (App Kasa) atau tombol.
PSU ini memberi daya pada Raspberry Pi 3 B+ melalui Modul Konverter Buck DC-DC LM2596 (12V - 5V). Modul 4-Relay 5V dengan Pemicu Tingkat Rendah Optocoupler terhubung langsung ke RPI 3B+ (tidak perlu penyetelan 3.3V).
4 Tombol tekan dihubungkan sebagai "resistor pull-up" ke RPI 3B+.
Untuk pengkabelan, lihat saja sketsanya.
Langkah 2: Perangkat Lunak
Untuk kontrol melalui tombol-tekan, saya telah menggunakan Python untuk menulis program, menginspirasi saya dengan membaca utas berikut:
www.raspberrypi.org/forums/viewtopic.php?t…https://invent.module143.com/daskal_tutorial/raspbe…
invent.module143.com/daskal_tutorial/raspbe…
www.hertaville.com/introduction-to-accessin…
www.hertaville.com/introduction-to-accessin…
Untuk memastikan interaksi dengan kontrol melalui Octoprint, ada tes untuk memeriksa status relai saat ini dan mengubahnya.
Script terlampir.
Komentar: Karena Relay 1 mengontrol motherboard, saya ingin menambahkan keamanan dengan mematikan dengan tombol tekan. Tujuannya adalah untuk mempertahankan tombol yang ditekan selama 5 detik untuk mengkonfirmasi sakelar mati. Sayangnya, skrip berfungsi tetapi tidak andal karena efek rebound. Jika Anda memiliki koreksi untuk menyarankan, jangan ragu untuk membagikannya.
Untuk membuat skrip dapat dieksekusi: Sudo chmod 777 /home/pi/script/Relay_board_control.pyUntuk menguji skrip:./Relay_board_control.py
Untuk menyalin skrip: sudo cp Relay_board_control.py /usr/local/bin
Untuk menjalankan skrip secara otomatis di awal:
sudo nano /etc/rc.local
tambahkan path ke skrip " /home/pi/scripts/Relay_board_control.py & " antara fi dan exit 0
Untuk kontrol melalui Octoprint, didokumentasikan dengan baik di web.
Ada dua langkah:
1- Edit file /etc/init.d/octoprint dengan menambahkan blok "do_start()" tepat setelah RETVAL="$?:
gpio ekspor 6 keluar
gpio -g tulis 6 1
gpio ekspor 13 keluar
gpio -g tulis 13 1
gpio ekspor 19 keluar
gpio -g tulis 19 1
ekspor gpio 26 keluar
gpio -g tulis 26 1
2- Edit file /home/pi/.octoprint/config.yaml dengan menambahkan blok "Sistem":
sistem: tindakan:
- tindakan: Printer_ON
perintah: gpio -g tulis 6 0
konfirmasi: salah
nama: Printer_ON
- tindakan: Printer_OFF
perintah: gpio -g tulis 6 1
konfirmasi: Anda akan mematikan printer.
nama: Printer_OFF
- tindakan: LED-String_ON
perintah: gpio -g tulis 13 0
konfirmasi: salah
nama: LED-String_ON
- tindakan: LED-String_OFF
perintah: gpio -g tulis 13 1
konfirmasi: salah
nama: LED-String_OFF
- tindakan: LED-Cam_ON
perintah: gpio -g tulis 19 0
konfirmasi: salah
nama: LED-Cam_ON
- tindakan: LED-Cam_OFF
perintah: gpio -g tulis 19 1
konfirmasi: salah
nama: LED-Cam_OFF
- aksi: Relay-4_ON
perintah: gpio -g tulis 26 0
konfirmasi: salah
nama: Relay-4_ON
- tindakan: Relay-4_OFF
perintah: gpio -g tulis 26 1
konfirmasi: salah
nama: Relay-4_OFF
Langkah 3: Tes
Berhasil!
Perilaku tombol-tekan agak rumit tetapi setelah beberapa percobaan Anda mendapatkannya.
Langkah 4: Selesaikan Konsepnya
Sekarang saya akan menyolder tombol tekan pada papan perf dan menambahkan konektor 5 pin.
Akhirnya, saya telah merancang dan mencetak 2 kasus:
- satu untuk RPI 3 B+ dan papan relai
- satu untuk menutupi kabel di dasar PSU dan untuk memperbaiki Modul Konverter Buck DC-DC LM2596.
Anda dapat menemukan file *.stl dan *.gcode di www.thingiverse.com
-
-