Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Linuxcnc HAL

Başlatan furkanyilmaz11, 27 Mayıs 2015, 22:37:05

furkanyilmaz11

Herkese merhaba,

Eski bir mach3 kullanıcısıyım. Mach3 de girmediğim delik kalmadıktan sonra bazı şeyleri mach3 ile yapamayacağımı anlayıp arayış içerisine girdim ve yıllar sonra linuxcnc yi tekrar indirdim.

Kinematic bazı hesaplamalar yaptırmak istiyorum. Elimde bunun için hazır bir C kodu var. Fakat C kodunu yüklemeyi başaramadım bir türlü. Linux çok yabancı olduğum bi sistem. Basic configuration ile ilgili sorun yok ama konu HAL denen şeye ve integrators manuale gelince kilitlendim. Bayadır forumlarla, manuallerle boğuşuyorum ama bir türlü çözemedim. En son 15 dakika önce klavyeyi parçalıyordum.

Linuxcnc yi daha önce kullanmış birisi var ise yardımcı olabilir mi? Kinematic hesaplamaları linuxcncde yapması için tasarlanmış bir C kodu var elimde bunu nasıl entegre edeceğim sisteme?

Uslubumu mazur görün lütfen normal düşünemiyorum şuan inattan ve sinirden dolayı. Herkese şimdiden teşekkürler, saygılar...

z

Belki çok farklı alternatifler sunabilirim.

Ne yapmak istiyorsun?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

esensoy

Hocam ne gibi alternatifler var, benim de ilgi alanımda bu konu,
En tehlikeli an "zafer" anıdır.

z

Bir DLL ve bir  motion processor verebilirim. Koordinatları hesaplarsınız DLL fonksiyonları sizin adınıza motorlara hükmeder.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

esensoy

En tehlikeli an "zafer" anıdır.

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

esensoy

Kurda sormuşlar kızarmış tavuk yer misin diye,
Gülmekten cevap verememiş,
Ben de aynı durumdayım, denemek isterim,
En tehlikeli an "zafer" anıdır.

z

#7
2008 ya da 2009 da üretmiştim. Ticari anlamda başarılı olup olamayacağını tam göremeden yurtdışına gittim geldim. Kartları unutup gitmiştim. Geçenlerde bir kutu içinde firmware yüklenecek 100 kadar kart olduğunu gördüm.

Şu anda bildiğim kadarıyla bu kart ile cnc pcb matkap cihazı yapıp kullanan bir arkadaş var. Memnuniyetini ondan sorabilirsiniz. Facebook adresini isterseniz verebilirim.

Kartın kısaca özelliklerinden bahsedeyim. USART üzerinden haberleşiyor.

G00, G01, G02, G03 kodlarını işleyebiliyor. Pek çok detayı unuttum.  5..10 gün üzerinde uğraşmam gerekebilir. Zira çipleri programlamak vs gerekiyor.
G02 ve G03 de IJ parametrelerini destekliyor. Fakat lazımsa R parametresini eklemek için sadece DLL'e fonksiyon yazmam yeterli.

G00-G01 de 3 eksen fakat G02-G03 de herhangi 2 eksen üzerinde (xy - xz - yz) interpolasyon yapabiliyor. (Yani sipiral hareket yapamazsın)

Eğer sipiral (DNA sarmalı gibi) hareket yaptırman gerekirse G01 ile çalışmak ve koordinatları bizzat sen hesaplamak zorundasın.



Bu hareket kontrol işlemcisinin bir başka türevi ile yaptığım iki uygulama videosu var.

https://video-fra3-1.xx.fbcdn.net/hvideo-xap1/v/t42.1790-2/1616070_862310720460567_189791520_n.mp4?oh=4d0163cda8bb75b29c77d8f9731dff99&oe=556701BC

https://video-fra3-1.xx.fbcdn.net/hvideo-xtf1/v/t42.1790-2/1050474_862310623793910_70397172_n.mp4?oh=576a7469d9c017596a4a49844d243413&oe=5566FFCB
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

engerex

Linkler bende çalışmadı.

z

Facebook girişi istiyordur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

furkanyilmaz11

Alıntı yapılan: z - 28 Mayıs 2015, 11:13:15
Bir DLL ve bir  motion processor verebilirim. Koordinatları hesaplarsınız DLL fonksiyonları sizin adınıza motorlara hükmeder.

Merhabalar,

Geç cevap verdiğim için kusura bakmayın. Hala linuxle cebelleşiyordum :)

Motion processor ve dll dosyası derken sanırım motion processordan kastınız resimlerdeki karttı?

Aynı zamanda elektronik ile de içli dışlıyım. Çok ilgimi çekti açıkcası yazdıklarınız. Biraz daha detay verebilir misiniz? Tam olarak çalışma mantığı nedir? Kullanım ve integration algoritması nedir? Farklı sistemlere nasıl entegre edebiliriz? Yazılımında hangi dilleri kullandınız? Bende soru çok :)

Çok teşekkür ederim...

z

#11
Bu minik kart 115200 Baud ile USART üzerinden haberleşir.

Noktadan noktaya lineer yada dairesel hareket yaparak gider. Bu hareket Hız ve ivme ile tanımlanabilir. Trapezoidal hız yörüngesi izler.

Haberleşme gürültüye dayanıklı bir protokolle desteklendi. DLL i Delphi ile hazırladım. Diğer dillerle kullanmayı hiç denemedim sorun çıkmayacaktır.

Low level hiç bir işle uğraşmıyorsunuz. Mesela 3 eksene birden x1,y1,z1 koordinatına eşzamanlı git diyebiliyorsun.

Ya da Z sabit kalsın. Bulunduğun noktanın merkeze olan mesafesi I ve J. Sen X1,Y1 noktasına sağa yada sola dönerekten git diyebiliyorsun.

Her bir eksen için Clk ve Dir çıkışı var.

Kısacası MAC'e alternatif yazılım yazmak isteyenler için yapmıştım.

5v ile çalışıyor. Üzerinde DSP daha doğrusu DSC var. Elimdeki projeler biterse ARM versiyonu da yapacağım.

Look a Head algoritması malesef yok.

Bir noktadan sıfır hız ile harekete başlar bir sonraki noktaya ulaştığında sıfır hız ile hareket sonlanır ve bir sonraki hareket başlar.

Koordinat verilerini tamponunda biriktirir. Böylece stabil çalışmayan yada %100 yoğunlukta çalışan PC de bile hareketler kesikli hal almaz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

magnetron

@z hocam konuyu dağıtmadan bişey sormak istiyorum

diyelim bir gravür işliyoruz - mesela Artcam ile G kodunu oluşturmuş olalım

bu da mini mini bir sürü hareketten oluşuyor

profesyonel CNC kontrollerde frezenin bıçak hareketindeki geçişler çok yumuşak hiç yavaşlama olmuyor

ama ben kendi yaptığım kontrolde sizin dediğiniz gibi bir hareketi bitiriyor diğerine başlıyor

o zaman da devamlı dur kalk oluyor

bunu nasıl profesyonel CNC kontrol gibi yapabiliriz ?

nedir bunun formülü ?

teşekkür

z

#13
Algoritmaların yavaş işliyordur bir sonraki harekete ait veriler hazırda tutulmuyordur.
Yukarıdaki kart look a head algoritmaları kullanmadığı halde asla kesikli hareketler yapmıyor.
Çünkü bu sorunun üstüne gittim.  O yüzden çok hızlı bir DSP seçtim ve tüm kodlamaları asm ile yaptım.

Fakat aynı performansı şimdi STM32 ile de yakalayabilirim.

Kartımın başarısında bufferın etkisi büyük. Şu anki komut işlenirken en az 6 adım sonraki komuta ait tüm koordinat verileri zaten hazırda bekliyor oluyor.
İki komut arasındaki hazırlık safhası 3..5 mikrosaniyeden fazla değil.

Bu işin profesyonel yolu look ahead kullanmak.

Bir diğer husus da hareket olabildiğince uzun doğru ve yay parçaları ile yapmak.

Örneğin yukarıdaki kart dairesel hareketi kendisi yapar. Eğer bu yeteneği olmayasaydı yay tipi hareketlerde yay doğrusal paçalara bölünecek her bir doğru için G00 hareketleri yaptırılacaktı.
Bu hareketlere ait veriler zamanında hazır edilmezse dur kalk dur kalk çok kötü bir hareket olacaktı.

1 metrelik çaplı bir daireyi belki onbinlerde G01 hareketi ile tanımlaman gerekecekti. Halbuki yukarıdaki kart için dairenin çapı önemli değil tek bir G02 yada G03 yeterli.

ArtCam'in G Code üreten modülüne kontrol kartının komut kümesini tanımlayabiliyorsun. Bu gibi durumlarda hareketleri minik G01 hareketleri ile değil senin eklenmesini istediğin komutlarla tanımlıyor.

Fakat ARTCam'e şimdi komut tanımla desen hiç bir şey hatırlamıyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

iyildirim

Bülent hocam,  arkadaşa destek verip,  öneride bulunuyorsunuz iyi güzel de. 
Arkadaşa Mach3 yetmediği için farklı platform arayışına girmiş. G1-2-3 nereye kadar yetecek. ?   
Bu durumda yapılması gereken DLL'i kullanıp diğer G kodlarını G1-2-3 şeklinde tarif edecek bir yazılım  yazmakmı ?