arkadaşlar cnc için 3 yada iki adet step motorun aynı anda çalışması gerekiyor. tecrübesi olan arkadaşlar dan yardım bekleniyor.
Evet cnc lerde birden fazla step motorun aynı anda çalıştırılması gerekebilir. Bunun 2 yöntemi vardır. 1.si tek 2X gücünde sürücüye paralel bağlı 2 adet 1X gücünde step motoru bağlamak. 2.si ise 2 adet 1X gücünde sürücünün girişlerini paralel bağlayarak 2 adet 1X gücünde step motoru ayrı ayrı sürmek.Uygulamalar arasında maliyet dışında pek bir şey değişmez.
Kontrol karti kullanilarsaniz eksen sayisi yeterli ise istediginiz ekseni coklayabilirsiniz.
Ornegin 4 eksen kartiniz var 3 eksen cnc'nizde x eksenini 2 motorlu yapacaksiniz. Bu durumda 4.eksene bu motoru takacaksiniz. Mach3 icinde slave olarak ayarlayinca ayni ekseni birden fazla motorla kullanabileceksiniz.
arkadaşlar teşekkürler ama ögrenmek istedigim step motor çoklama degil. iki step motorun aynı anda çalışmasından kastım. biri 200 adım aterken digeri de 50 adım atacak.
@bulutay ,
bahsettiğin şeyin adı interpolasyon
en basitinden bir interpolasyon x ve y eksenlerinin
freze bıçağını bir derece açıyla hareket ettirmesidir örneğin
bu durumda x ve y eksenlerinin hızları şöyle bulunur
diyelim X ve Y ilgili eksende gitmesi gereken yol
FEEDAUTO ise trajectory üzerindeki yani gidilen yoldaki hız
bu durumda FEEDX FEEDY X ve Y eksenlerinin hızları
hip = X*X + Y*Y
hipo = karekök ( hip)
FEEDX= ((FEEDAUTO*X) / hipo);
FEEDY= ((FEEDAUTO*Y) / hipo);
bu arada yaptığın hardware'in resmini koyarsan memnun olurum
bende aynı konuda uğraşıyorum
4 x 200 KHz puls üreten bir kart da ben tasarladım
bu kartla 4 eksen sürebiliyorum
ama vakit bulup sistem software 'ini bitiremedim henüz
Alıntı yapılan: bulutay - 25 Temmuz 2014, 15:36:10
arkadaşlar teşekkürler ama ögrenmek istedigim step motor çoklama değil. iki step motorun aynı anda çalışmasından kastım. biri 200 adım aterken digeri de 50 adım atacak.
O zaman iki motor için iki ayrı sürücü kartın olacak.
İki sürücüye uygulayacağın palsleri aynı anda başlatacaksın.
benim yazdıgım sistemde nerdeyse pic de hiç bir şey yok. 3 adet ileri 3 adet de geri metodu var. o kadar. diger her şey pc de olup bitiyor. sizin dediginiz gibi her motor için bir pic , picleride kontrol eden bir pic yani 4 adet pic ile 3 adet motor dairesel ve dogrusal interpolasyon yaptırılarak rahatça sürülebilir.
teşekkürler.
O zaman şöyle hazır CNC kontrol kartı alıp kullanacaksın.
Bazı örnek kartlar.
http://www.robosan.com.tr/motion/usbcnc.htm (http://www.robosan.com.tr/motion/usbcnc.htm)
http://www.sanalpazar.com/3-Eksen-Tb6560-Toshiba-Cnc-Step-Motor-Surucu-Karti__isp14635579 (http://www.sanalpazar.com/3-Eksen-Tb6560-Toshiba-Cnc-Step-Motor-Surucu-Karti__isp14635579)
kartı kendim yapabiliyorum. yaptıgım kart da interpolasyon yoktu. önce x ekseni hareket ediyor. daha y ekseni hareket ediyor. daha sonra z ekseni hareket ediyor. bu da tek bir pic le çalışıyor. ama dairesel yada dogrsal interpolasyon yaptırabilmek için 4 pic gerekiyor. yeni fark ettim bu olayı. tek bir pic le olmuyor. aynı anda degil ama aynı zamanda hareket saglanabiliyor. zaten iki eksen yeterli interpolasyon için
Tek pic le yapabilirsin. Önemli olan pals üretme algoritman. Bu algoritma da palsleri aynı anda
üretmeye başlarsan problem çözülür.
pals üretme algoritmasını pic de yapıp diger iki sinyal göndermek üzerine yogunlaştım. şu anda bana kolay gelen bu. verdiginiz linkteki sürücülere baktım. evet. teşekkürler. ama benim ihtiyacımı karşılamıyor ikisi de . pic de algoritma çalıştıktan sonra mesela b1 ve b2 high oldugunda diger pic deki metotlar çalışacak gibi
Alıntı yapılan: bulutay - 25 Temmuz 2014, 16:44:13
kartı kendim yapabiliyorum. yaptıgım kart da interpolasyon yoktu. önce x ekseni hareket ediyor. daha y ekseni hareket ediyor. daha sonra z ekseni hareket ediyor. bu da tek bir pic le çalışıyor. ama dairesel yada dogrsal interpolasyon yaptırabilmek için 4 pic gerekiyor. yeni fark ettim bu olayı. tek bir pic le olmuyor. aynı anda değil ama aynı zamanda hareket saglanabiliyor. zaten iki eksen yeterli interpolasyon için
Motor sürücüleri ni de kendiniz yapmak isteseniz dahi 4 ayrı PIC kullanmak bana pek mantıklı gelmedi. Uygun mcu seçimi ile hem motor kontrolünü hem de puls-dır konusunu tek mcu içerisinde halletmek mümkün.
Özellikle de motor sürücülerini hazır kullandığınız durumda, PIC ile sadece motor sürücüler için puls-dir sinyalleri ürettiğiniz durumda tek bir PIC içerisinde olayı çözümlemek daha iyidir. Gereksiz iletişim rutinlerinden ve gecikmelerden de kaçınmış olursunuz.
İnterpolasyon konusunda daha önce de dediğim gibi genellikle Bresenham gibi algoritmalar kullanılır. Doğrusal interpolasyon için her bir eksen için bir timer kullanmak gibi çözümler olsada, özellikle akselerasyon kısmında senkronizasyonu sağlamak sıkıntı oluşturur. Ki dairesel interpolasyon da düşünüldüğünde Bresenham kullanmak en basit, en iyi yoldur..
Stl dosyalarını işlemek gibi şeylerden bahsetmişsiniz.
Amaç bu ise cam proses denen işlemleri PC de işleyip G-code u PC de ürettikten sonra oluşan g-code u mcu da işlemek en sağlıklı çözüm bana göre. Sadece mcu üzerinde hiç olmazsa bir kaç yüz ms lik bir buffer oluşturusanız gayet güzel çalışır.
G-code işlemede asıl olan g0-g1-d2-g3 gibi kodları işlemek, g40-41-42 gibi kodların dışında ki her komutu bu komutların ardışık olarak işletilmesi ile karşılayabilirsiniz.
İşlemci olarak da önerim en azından 16 bitlik PIC ler veya 32 bit ARM-PIC olur..
S.A.
g0-g1-d2-g3 bu kodları pc tarafında işledigimiz zaman çok kolay oluyor. interpolasyonda ara deger bulma metodu ile yapıldıgı zaman çok basit bir şekilde oluyor. takıldıgım nokta for döngüsünde . for döngüsünün serial port.write dan gönderilen veri kadar dönmesi gerekiyor. pic tarafında bir türlü olmadı. konu açtım bakalım. c# ile yazıyorum. pc tarafı tamam gibi. ama pic tarafı biraz zorluyor.
bu linkte g kod işleme programı yazılmış
GCode Interpreter using C# (http://www.youtube.com/watch?v=kiM0h6oSIdk#)
PC'den PIC'e nasıl veri gönderiyorsun?
serial port ile
Alıntı yapılan: bulutay - 08 Ağustos 2014, 19:30:46
serial port ile
PIC e G kodlarını mı yolluyorsun yoksa başka veriler mi?
başka veriler. g kodlarının oldugu text dosyası işleniyor. step motor vs. hareket bilgileri pic e gönderiliyor.