Sabtu, 26 Februari 2022

Membuat USBASP Keren (Perbaikan)

 Pada artikel sebelumnya saya telah membuat sebuah alat yang bernama USBASP yaitu sebuah alat yang dapat membantu kita memasukkan program kedalam mikrokontroller atmega, baik atmega8, atmega168, atmega328 maupun atmega lainnya. Sudah beberapa versi layout usbasp yang telah saya desain mulai dari PCB Amatir hingga PCB Profesional, mulai dari cetak pcb sendiri, cetak di pabrik pcb lokal hingga cetak pcb profesional sudah saya lakukan. Layout usbasp versi terakhir adalah layout usbasp yang telah dilengkapi dengan zif socket agar mudah dalam melepas pasang mikrokontroller yang akan diprogram.


USBASP versi sebelum dan sesudahnya
USBASP versi sebelum dan sesudahnya

Pada versi terakhir yang menyertakan zif socket setelah beberapa lama dipakai untuk memprogram mikrokontroller melalui zif socket yang ada pada usbasp rancangan terakhir ternyata muncul kendala saat memprogramnya, kendala yang dialami adalah tidak adanya respon pada mikrokontroller target namun saat memprogram lewat minimum sistem tidak menemui kendala ini terjadi pada mikrokontroller yang sudah diatur fusebit nya menjadi eksternal clock jadi yang ada masalah adalah jalur-jalur yang ada pada zif socket yaitu dalam perancangan skematiknya saya lupa menambahkan kristal eksternal untuk mikrokontroler target jadi selain mikrokontroller yang masih default parameternya maka akan kesulitan dalam memprogramnya.


Untuk itu pada kesempatan ini saya berupaya memperbaikinya dengan menambahkan eksternal kristal untuk mikrokontroler target yang terpasang pada zif socket, penyempurnaan ini dilakukan atas mudahnya dalam mencetak pcb kualitas istimewa yang bisa dilakukan di pabrik percetakan pcb profesional yaitu situs PCBWay.com 


Pcbway.com
PCBWay.com

Karena hanya dengan biaya cetak $5 saja saya bisa mendapatkan hingga 10 keping pcb dengan berbagi pilihan warna menarik dan pelayanan terbaik disamping itu jika baru pertama kali daftar akun di PCBWay maka akan mendapatkan saldo welcome bonus sebesar $5 untuk biaya cetaknya, menarik bukan? Ayo daftar akun PCBWay sekarang juga pada tautan ini.


Welcome bonus dari PCBWay
Welcome bonus dari PCBWay 

Baik skema, firmware maupun driver dari usbasp ini bersumber dari situs Thomas Fischl https://www.fischl.de/usbasp/ kemudian saya buat layoutnya pada versi ini seperti yang disebutkan di atas saya lengkapi dengan zif socket namun sudah dengan perbaikan, jadi layout ini merupakan versi perbaikan dari versi sebelumnya atau versi final dan inilah layoutnya.


Layout USBASP AVR Programmer
Layout USBASP AVR Programmer

Setelah layout tersebut saya cetak di PCBWay.com maka hasilnya seperti dibawah ini.

PCB USBASP by Fareed Read
PCB USBASP by Fareed Read


USBASP Layout by Fareed Read
USBASP Layout by Fareed Read

Jika kamu ingin mendownload file gerber usbasp ini atau langsung mencetak pcb nya di PCBWay silakan kunjungi tautan ini. 


Untuk mendukung dokumentasi dari pembuatan hingga tes rangkaiannya dibawah ini sudah saya siapkan video nya, marilah kita simak sama-sama. 



Senin, 21 Februari 2022

Membuat Controller Arduino CNC Berbasis GRBL V1.1 Tanpa Board Arduino

 

Controller CNC GRBL V1.1 Arduino
Controller CNC GRBL V1.1 Arduino 

Saat dulu pernah coba buat mini cnc plotter sederhana dengan menggunakan motor stepper bekas disk drive komputer jaman dulu dan menggunakan aplikasi Processing sebagai pengirim g-code nya rasanya senang sekali ketika berhasil dijalankan dan membuat sebuah gambar sederhana berukuran 25x25mm karena menyesuaikan dengan ukuran panjangnya ulir(lead screw) motor stepper yang digunakan saat itu.

Mekanik mini CNC
Mekanik mini CNC

Simak hasilnya atau demo videonya berikut ini. 
 

Sejak saat itulah mulai tertarik ingin merakit mesin cnc meskipun part yang dibutuhkan harganya lumayan cukup menguras isi kantong.


Saya mulai perlahan mencari informasi cara membuat cnc yang cocok untuk pemula atau merakit secara DIY dan ternyata memang diluar sana sudah tersedia program open source yang bernama GRBL untuk membuat mesin cnc hanya menggunakan Arduino, bahkan sudah sejak lama ada shield Arduino GRBL dan sudah tersedia dipasaran namun saya lebih tertarik membuat sendiri kontroler cnc GRBL agar lebih ringkas tanpa board Arduino, apalagi firmware GRBL saat ini sudah diupdate ke GRBL V1.1 untuk beberapa pin terutama untuk kontrol spindel agar bisa diatur kecepatannya melalui sinyal PWM, jadi ada pin yang berubah fungsinya pada cnc shield yang tersedia saat ini (versi 3.0) untuk itu saya membuat sendiri kontroler cnc GRBL menyesuaikan dengan update firmware saat ini.


Kontroler yang saya buat bukan merupakan sebuah shield Arduino jadi sudah tidak memerlukan board Arduino lagi, saya menggunakan mikrokontroller atmega328 yang diisi firmware GRBL Arduino lalu ditambahkan driver motor stepper dan beberapa komponen pendukungnya. Karena tidak menggunakan board Arduino jadi untuk jembatan penghubung menuju komputer saya menggunakan USBTTL CP2102 atau bisa menggunakan USBTTL lainnya seperti FT232, CH340 maupun PL2303. Jalur-jalur layout kontroler GRBL ini menyesuaikan dengan fungsi yang diberikan oleh firmware sehingga untuk membuat layoutnya diperlukan jalur atas bawah pada pcbnya atau pcb dual layer agar komponen bisa tersusun rapi dan layoutnya bisa seringkas mungkin untuk itu pembuatan PCB nya saya tidak khawatir karena pcb akan saya cetak di situs PCBWay.com


Pcbway.com
PCBWay.com

Sebab di PCBWay.com saya bisa cetak pcb dual layer dengan biaya yang cukup hemat yakni hanya sebesar $5 sudah bisa mendapatkan pcb hingga 10 keping dengan berbagai pilihan warna menarik dan proses pembuatan yang singkat sekitar 24 jam saja, disamping itu untuk yang belum pernah melakukan order pcb di PCBWay maka akan diberikan saldo welcome bonus sebesar $5 untuk biaya cetak saat mendaftar akun PCBWay. 


Daftar akun PCBWay
Daftar akun PCBWay

Untuk mendaftarkan akun PCBWay silakan kunjungi tautan ini. 


Dibawah ini merupakan skema dari cnc shield versi 3.0 yang kompatibel dengan GBRL Versi 0.9


Skema CNC Shield V3.0
Skema CNC Shield V3.0

Nah dari skema CNC shield Versi 3.0 diatas apabila menggunakan firmware GRBL Versi 1.1 maka pin 11 yang awalnya Z-EndStop menjadi SpinPWM mengingat pin 11 Arduino mempunyai kemampuan sebagai PWM sedangkan pin Z-EndStop menjadi pada pin 12 Arduino. Untuk keterangan lainnya terkait update GRBL V1.1 silakan bisa dibaca dihalaman github GRBL. 

Dibawah ini merupakan layout dari kontroler CNC GRBL V1.1 Arduino yang telah saya buat dalam dual layer yang tentunya saya cetak pcbnya di situs PCBWay.com 

kontroler CNC GRBL V1.1 Arduino
kontroler CNC GRBL V1.1 Arduino

Setelah layout dicetak di PCBWay, akhirnya pcb kontroler CNC GRBL V1.1 Arduino pun kini saya dapatkan dengan warna hitam glossy dan langsung saya isi dengan komponen tambahan yang diperlukan. 


PCB kontroler CNC GRBL V1.1 Arduino
PCB Controller CNC GRBL V1.1 Arduino

Controller CNC GRBL V1.1 Arduino
Controller CNC GRBL V1.1 Arduino 


Jika kamu tertarik dan ingin mendownload file gerber nya atau langsung mencetak pcbnya di PCBWay seperti pcb saya diatas, silakan download atau add to chart pada tautan ini. 


Sementara kontroler CNC GRBL V1.1 Arduino sudah siap selanjutnya tinggal pasangkan pada frame atau mesin CNC, namun untuk sementara karena saat ini belum tersedia frame atau mesin CNC-nya maka akan saya coba dulu kontroler nya dengan memasang motor stepper bipolar pada ketiga axisnya, mari kita simak videonya berikut ini.



Kamis, 20 Januari 2022

Cara menggunakan ESP32 CAM tanpa terhubung ke Internet

ESP32 CAM board
ESP32 CAM board 

Varian lain dari modul keluaran produsen Espressif selain ESP8266 dan ESP32 DevKit adalah ESP32 CAM yaitu sebuah modul dengan chip ESP32 yang didesain khusus untuk bisa digunakan bersama modul kamera OV2460 yang juga telah disertai slot microSD untuk keperluan penyimpanan file hasil foto. Saya telah diberi kesempatan untuk mencicipi modul ESP32 CAM ini karena ketersediaan di gift shop nya PCBWay.com 


Situs PCBWay.com
Situs PCBWay.com

Yaitu sebuah situs yang menyediakan jasa percetakan PCB profesional dengan kualitas pcb premium, pelayanan yang cepat dan tentunya dengan harga yang cukup terjangkau yakni hanya $5 untuk biaya cetak 10 keping pcb prototipe dan juga untuk kamu yang baru pertama kali memesan pcb dan mendaftar akun PCBWay maka akan diberikan saldo welcome bonus sebesar $5 jadi pesanan pertama kamu adalah gratis, so tunggu apalagi buruan daftar akun PCBWay sekarang disini.


Dapatkan welcome bonus $5 untuk pendaftar akun PCBWay
Dapatkan welcome bonus $5 untuk pendaftar akun PCBWay 

Kembali ke pembahasan ESP32 CAM, untuk bisa menggunakankannya maka ada beberapa langkah yang bisa dilakukan agar ESP32 CAM ini bisa digunakan sebagai mana mestinya dan kabar baiknya adalah semua modul keluaran Espressif baik ESP8266 maupun ESP32 bisa diprogram melalui Arduino IDE dengan beberapa langkah mudah diantaranya adalah perlu menambahkan url pada kolom Additional boards manager url


URL tambahan untuk ESP32 board
URL tambahan untuk ESP32 board 

Caranya klik menu File > Preferences lalu isi dengan url :

"http://arduino.esp8266.com/stable/package_esp8266com_index.json"

Itu untuk ESP8266 sedangkan untuk ESP32 url nya adalah

"https://dl.espressif.com/dl/package_esp32_index.json"

Setelah itu Klik menu Tools > Board: > Pilih Boards Manager

Pada kolom pencarian tulis ESP32 kemudian install dan tunggu sampai selesai. Maka sekarang ketika kita klik menu Tools > Board : > ESP32 Arduino maka sudah ada banyak pilihan berbagai macam board ESP32.


Board ESP32 Arduino
Board ESP32 Arduino 

Nah setelah langkah menambahkan url pada Arduino IDE maka kita sudah bisa menggunakan berbagai macam board ESP32 termasuk ESP32 CAM yang kita punya saat ini, untuk tutorial pertama cara menggunakan ESP32 CAM ini kita tinggal mencoba menggunakan sketch example saja caranya yaitu :


Contoh program CameraWebServer
Contoh program CameraWebServer

klik File > Examples > ESP32 > CameraWebServer maka akan terbuka contoh programnya, kita tinggal memasukkan SSID dan Password Wi-Fi yang kita punya saja lalu upload ke ESP32 CAM tadi.


Isian untuk SSID dan Password
Isian untuk SSID dan Password 

Semudah itu kan? Iya kita sudah bisa menggunakan ESP32 CAM yang terhubung ke jaringan Wi-Fi (Router/Access Point) dan kita bisa melihat hasilnya baik melalui browser komputer maupun browser yang ada pada smartphone kita dengan hanya mengakses IP Address yang telah kita dapatkan dari ESP32 CAM tadi tentunya dengan disertai koneksi internet.


Lalu timbul pertanyaan, apakah bisa ESP32 CAM ini diakses sebagai access poin langsung tanpa melibatkan router agar bisa langsung diakses oleh client dalam hal ini adalah browser? Jawabannya adalah tentu saja bisa dan hanya perlu sedikit modifikasi dari contoh program yang ada, untuk mengubahnya perhatikan modifikasi pada gambar berikut ini.

Sedikit modifikasi dari contoh program yang ada
Sedikit modifikasi dari contoh program yang ada 

Setelah itu tinggal ganti nama pada SSID dan Password yang tersedia sesuai keinginan untuk nanti saat pairing didevice client. Untuk upload program ke ESP32 CAM kita membutuhkan USBTTL, saya memakai USBTTL CP2102 dengan koneksi sebagai berikut. 

USBTTL   ->   ESP32 CAM

5V           -           5V
GND       -          GND
TXD        -          UOR
RXD        -          UOT

                           IO0 - GND (Mode Upload)

Setelah itu colokan ke usb komputer pilih port yang sesuai dengan USBTTL yang dicokolan tadi contohnya usbttl yang saya colokan bernama COM5 dan selanjutnya klik Tools lalu sesuaikan seperti gambar berikut ini :

Setingan yang diperlukan
Setingan yang diperlukan 


Tunggu sampai compiling selesai dan mulai upload, saat upload menunggu perintah dengan ditandai titik titik maka tekan tombol reset pada ESP32 CAM nya sampai proses upload selesai. Setelah upload selesai dan sukses cabut jumper IO0 - GND dan buka serial monitor pada Arduino IDE nya pastikan baudrate diset di 115200 lalu tekan tombol reset di ESP32 CAM hingga muncul tulisan seperti berikut ini. 

Tampilan alamat AP IP Address ESP32 CAM pada serial monitor
Tampilan alamat AP IP Address ESP32 CAM pada serial monitor 

Catat AP IP Address nya untuk nanti dimasukkan ke kolom URL Browser. 
Nah selanjutnya aktifkan Wi-Fi laptop ataupun smartphone dan sambungkan dengan access point (WiFi tethering ESP32 CAM) dengan password yang telah diisikan pada password sketch tadi setelah tersambung dengan ESP32 CAM lalu buka browser dan isikan AP IP Address yang didapatkan pada serial monitor tadi, contohnya yang tampil diatas adalah 192.168.4.1 maka akan terbuka tampilan seperti dibawah ini dan setelah tombol start stream ditekan maka tampilan streaming akan muncul.

Tampilan ESP32 CAM pada browser komputer
Tampilan ESP32 CAM pada browser komputer 

Dibawah ini adalah video praktek nya. 



Itulah tutorial cara menggunakan ESP32 CAM tanpa terhubung ke Internet, mudah bukan? Selamat mencoba dan semoga berhasil!