GRBL Kontrol Kartı, Arduino UNO, chilipeppr

gochisar

Üye
Katılım
16 Eki 2017
Mesajlar
39
Puanları
1
Site adresi : http://chilipeppr.com/

Sitenin düzenli çalışabilmesi için chrome kullanmanızı tavsiye ederim.

Gkode çizimlerini takip edebilmek için chrome içinde WebGL aktif olmalıdır.

https://get.webgl.org/ sitesinden chromun WebGL inizin aktif olup olmadığını kontrol edin.

Eğer aktif değilse:

chrome://settings yazıp girin. Gelişmiş ayrları açmak için Gelişmiş bölümünü bulun ve açın. "Kullanılabilir olduğunda donanım hızlandırmayı kullan" bölümünü bulun ve aktifleştirin.

Webgl.org sitesinden aktifliği tekrar deneyin. Eğer halen aktif değilse Ekran kartı sürücünüzü güncelleyin. Tekrar kontrollerinizi yapın.

http://chilipeppr.com/ sitesine girip TinyG Workspace e tıklayın. Farklı kartlar da yükleyecek olsanızda bu çalışma alanın programı düzenli çalışıyor. Kartınızı ilk defa programlamak için bu kısmı kullanın.

Resim 1 program.png


Sağ alttaki Serial Port JSON Server kısmından Your Servers bölümünden sunucu dosyasını indireceğiniz github linkine tıklayın.

Burada 6 farklı sistem yapısı için sunucu dosyası bulacaksınız, Linux, Windows ve MacOS için 386 32 bitlik işletim sistemleri için, 64 ler ise 64 bit işletim sistemleri içindir. Ayrıca ARM tabanlı dosya da raspberry gibi ARM tabanlı işlemci çalıştıran sistemler içindir.

Uygun sisteminizi seçin ve indirin.

Sıkıştırılmış dosyayı uygun bir yere açın.

Arduino UNO kartınızı bilgisayarınıza bağlayın.

Windows ve MacOS için çalıştırılabilir dosyayı tıklayıp açın, Linux için komut satırında (terminal) ./serial-port-json-server yazarak sunucuyu çalıştırın.

Sitede yine Serial Port JSON Server kısmından Your Servers bölümünden localhost seçmeniz yeterlidir.

Programlama butonuna basın, açılan pencerede resimdeki gibi seçimleri yapın. Device Type Grbl Firmware for Uno olacak, hemen altında son sürüm url sine tıklayın. Program butonuna basın ve kontrol programınız yüklenmiş olsun. (3)

Resim 2 program 2.png



Kartınız programatik olarak hazır fakat bağlantıların yapılması gerekiyor. Bağlantıların sağlam olması için vidalı yada yaylı konnektör tercih ediyorum. Kendinize uygun bir pcb hazırlayın yahut delikli hazır pcb kullanın. Çift taraflı, çin unolar ile eşleşen, kalay kaplanmış prototip pcb ler çinde 3-5 lira. Yaylı 0,1 inç 8'li pcb deliklerine uygun konnektörler 1 lira civarında. Tel konnektörlerle de uno ya bağlantı yaparsınız. Çin Uno nun arkasından pinleri sabitleyebilirsiniz. Üst tarafı boş kalır.

Resim 3 Grbl_Pin_Layout.png


Bağlantı noktaları aynen resimdeki gibi. DIR, STEP pinleri ile motor sürücülerinizi bağlayın, butonların birer ucu şaseye gelecek. Spindle kontrolü için hız kontrol ünitenize bağlantıyı yapın. Limit switch ler şase tetiklemeli.

Kontrol için sadece DIR, STEP bağlamanız yeterli, diğer sistemler zorunlu değil.

Kartınızı bilgisayarınıza bağlayın, indirdiğiniz SPJS server programını çalıştırın. Siteye giriş yapın ve GRBL Workspace bölümünü açın. Şimdi sunucu olarak localhost a bağlandığınız emin olun, kartınızın bağlı olduğu portu seçin. GRBL penceresinden ayarlara basın. (5)

Resim 4 Ayar.png


Ayarlar ekranında en önemli kısımlar motor kontrol bölümleri. Başlangıç değeri olarak hızlar 500mm/dakika olarak ayarlıdır. Sisteminizi tam test etmeden önce düşük hızda kalsın.

Resim 5 Ayar.png


İlk etapta $0 değerini ayarını yapın. Motor sürücü kartınızın desteklediği minimum pulse zamanını kataloğundan bulun. Bu değeri girin. Genelde 2 mikro saniye civarındadır. Sonra motor ayarlarına geçin.

Öncelikle motor hareket ayarını yapalım. En önemli kısmı burası. x, y, z step/mm değerlerine bakın. Açılır pencerenizi kapatın. İlk ayar $3, yön ayarıdır.

Resim 6 Ayar.png


Resimdeki kontrol butonları ile eksenleri hareket ettirerek yönlerinin doğru olduğundan emin olmanız gerekiyor. Bir tezgahın köprü kısmının arkasına geçtiğinizde X ekseni sağa doğru pozitif, Y ekseni ileri doğru pozitif, Z eksenide yukarı doğru pozitif yönde hareket eder. X için sağ tuşa basın, yön doğru değilse 1 rakamını bir kenara yazın, Y eksenini hareket ettirmek için yukarı tuşuna basın, yön doğru değilse 2 rakamını bir kenara yazın, Z eksenini hareket ettirmek için + tuşuna basın, yön doğru değilse 4 rkamını bir kenara yazın ve elinizdeki rakamları toplayıp ayarlardaki $3 kutusuna yazın, kaydedin. Mesela X ters elde var 1, Y düz rakam yok elde var 1, Z ters 4, topladık 5 etti. Kutuya 5 yazılır.

Elinize kumpas, metre artık ne varsa alın. X eksenini 1mm hareket ettirmek için resimdeki X ekseni hareket tuşu ile hareketi yapın. Hareket miktarını ölçün. Eğer çok aşırı hareket etiyse eksenin step/mm ayarını düşürüp saklayın. Hareketi tekrar ettirip ekrandaki değişimle hareketin yaklaşık aynı olduğunu teyit edin. İnce ayara geçmek için ise metre kullanın.

Spindle a ince uçlu bir kesici takın. X eksenini mümkün olduğunca başlangıç konumuna hareket ettirin. Z eksenini indirerek kesici ucu metreye hafif değecek konuma getirin. Metrede bir çizgiye ucun sivri yerini hizalayın. Ekranda yaklaşık 100mm kadar ekseni ileri götürmesini sağlayın. Ucun metre üzerinde katettiği yol eğer 10cm çizgisinde ise ayar tamamdır değilse ayarlar girip değerleri değiştirmeniz gereklidir. Eğer fazla yol aldı ise, mesela 12cm yol aldı, değeri düşüreceksiniz. Eğer az yol aldı ise, mesela 9cm değeri artırcaksınız. Bu işlemi tamamladıktan sonra ekseni başlangıç konumuna tekrar alıp eksenin toplam uzunluğu kadar ileri taşıyarak yine metre ile aynı kontrolü yapacaksınız. Mesela ekseniniz 600mm, eksni sıfırdan 550mm ye kadar götürtüp tam çizgiyi buluyor mu kontrol edip ayar kısmında değerle oynayacaksınız. Bu kısımda özellikle metre ile kontrol şart. Sebebi basit, 10mm de görünecek hata 500mm de 50 katı olur. 500mm de 1mm hata görüyorsanız 10mm de bu hata 0,02mm olur ki çoğu ölçüm cihazı bu kadar hatayı göremez. Metre ile 500mm de yaklaşık 0,2mm hata ile ayar yaparsınız ki buda 10mm de 0,004mm hata eder.

Aynı işlemi tüm eksenler için yapın. Z ekseninde bir yol gösterici referansa metreyi dayayın, dik bir cetvel daha iyi olur. Ayrıca uzun uzadıya hareket tuşuna basarak işlem yapmak istemiyorsanız sol altta komut bölümü var. O kısma mesela X eksenini 500mm ye göndermek istiyorsanız X500 yazıp enter lamanız yeterlidir.

İkinci ayar aşaması hızlanmalar, En ağır eksen Y eksenidir, uzun tutulur, kesimlerde az hareket ettirilir. Sistemdeki tüm hareketli parçaları masaya bağlayan eksendir. Y ekseninden başlayıp sıfır noktasından eksen boyu boyunca hareket yaptırarak motor hızlarını test etmek en iyisidir. Motor hızını artırın, kaydedin ve sıfırdan maksimum konumuna gönderin. Eğer motorlarınız sistemi taşıyamıyacak hıza ulaşırsa duracaktır. Hızı biraz azaltın ve tekrar deneyin. Maksimum hızı bulduğunuzda bu hızın en fazla %80 ini kullanın. Aynı prosedürü sonra X, sonra Z ekseni için tekrar edin.

Üçüncü ayar aşaması hızlanma (accel mm/sec^2) aşamasıdır. Hızlanma değerini artırarak motorun cevap veremeyeceği değere kadar zorlayın. Biraz altına inip tekrar test edin. Maksimum hızlanma değerinin de maksimum %80 ini kullanın. Hatta daha aşağı çekmeniz de gerekebilir. Çünkü parça kesimi sırasında kesim ucundan gelen kuvvetler motor kuvvetini aşabilir.

Bu aşamaya geldikten sonra sistem çalışabilir halde demektir. Spindle kontrolü her sistemde farklı olduğu için bu yazıyı 3-4 misline çıkartır. Farklı bir konu başlığı olur. Hatta her kontrolör için kullanıcıların paylaşımda bulunması daha mantıklı. Limit switch ayarlarını anlatmaya gerek duymuyorum.

Artık tek yapmanız gereken hazırladığınız bir Gcode dosyasını ekrana srükleyip bırakmak. Başlat tuşuna dokunduğunuz anda kesime hazırsınız.

Ek: SPJS sunucusu çalıştırdığınız ağa bağlı herhangi bir bilgisayarı yine ağ üzerinden farklı bir bilgisayardan, tabletten yada cep telefonundan web sayfasını açarak kontrol edebilirsiniz. Benim sistemimde her makinede birer raspberry pi bağlı. Kartlar panoda, bilgisayar panoda kapalı. Tabletle makinelere bağlanıp yapılan işi kontrol ediyorum. işlerin kodları ana bilgisayarımdaki sayfadan gönderiliyor. Kendi kontrol arayüzünüzü oluşturabilme esnekliğini site size sunuyor, isterseniz sitenin kaynak kodlarını alarak kendi bilgisayarınıza yada kendi sunucunuza yükleyebilirsiniz. Web sayfası üzerinden camera görüntüsü aktarılan bir pencereyi sayfaya gömebilmenizi sağlayabilmesi özelliği çok güzel. Kesim durumunu kameradan izlemek kolaylık oluyor.
 
Son düzenleme:
Güzel paylaşım.

Teşekkürler..

Birde uygulama yapmak lazım.Benim hoby amaçlı küçük bir pcb cnc projem vardı.Herşeyim hazır ,frame hariç.Arduino uno + cnc shield+drv8825 sürücüm+12Volt switch mode psu+nema17 motorlarım hazır.Ben bir deneme yapayım bakayım.
 
Benim bunu taktığım en büyük tezgah 2,10 x 3,20 lik tezgah. 3KW Y, 1,5KW X, 0,75KW Z, 6KW spindle ile. 40m/dk lık bir yapı. Gönül rahatlığıyla kullanıyorum. Tezgahın hakkı değil ama hatasız çalışması beni daha fazla alakadar ediyor. Kartla hassasiyetimi bozmadan maksimum 14m/dk hıza çıkıyor. Zaten ebattan dolayı ahşap işleme tezgahım.
 
Hocam böyle bir kaynak için teşekkür ederim.Hem kendi adıma hemde faydalanacak diğer arkadaşlar adına.Malum bu tür paylaşımlar hazine değerinde.

Emekleriniz için Tekrar Teşekkkürler.
 
Evet gerçekten güzel paylaşım .
Fakat biz hobyciler olarakta uygulamaya geçirerek sindirmemiz lazım bu öğretileri.

Benim bunu taktığım en büyük tezgah 2,10 x 3,20 lik tezgah. 3KW Y, 1,5KW X, 0,75KW Z, 6KW spindle ile. 40m/dk lık bir yapı. Gönül rahatlığıyla kullanıyorum. Tezgahın hakkı değil ama hatasız çalışması beni daha fazla alakadar ediyor. Kartla hassasiyetimi bozmadan maksimum 14m/dk hıza çıkıyor. Zaten ebattan dolayı ahşap işleme tezgahım.
Bu kw değerlerine göre eksenlerde servo mu var?
 
Moderatör tarafında düzenlendi:
Çok iyi ..
Step ve dir sinyalleri ile servo sürmeyide farklı bir konuda işleyelim bir ara...
 
ASDA-B2 kontrolörleri var. RS ile bağlanıp programından ayarı çok kolay. Programda ayarların açıklamaları ve yardımcı ayar hesaplama ekranları ile işi basitleştirmişler. Vakit bulunca farklı metodlarla bağlantı yapıları için bir yazı daha gönderebilirim.
 
Kendi adıma dur bir şunu hallaedyim.
bu arada şu an uğraşıyorum port ayarı tamam kartımı (arduino uno) seçiyorum fakat url kısmında frimware çıkmıyor.

Adsız.jpg
 
Moderatör tarafında düzenlendi:

Forum istatistikleri

Konular
130,047
Mesajlar
932,498
Kullanıcılar
453,017
Son üye
cnturkmenoglu00

Yeni konular

Çevrimiçi üyeler

Geri
Üst