Merhaba
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
   Ana Sayfa   Yardım Takvim Üyeler Giriş Yap Kayıt  
Sayfa: 1   Asagi git
  Yazdır  
Gönderen Konu: Proje: (3) üc eksenli plaket deLici  (Okunma Sayısı 32 defa)
 
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Admin
*
Rep Puanı : 6900
Offline Offline
Takımınız: Konyaspor
Öğrenim durumu: Üniversite
Mesaj Sayısı: 5697
9998812.99 YTL
admin@forumin.net
Üyelik Bilgileri WWW E-Posta
« : 01 Temmuz 2008, 00:11:18 »


Sinif arkadaşlarimiz ile hazirladigimiz projede emegi geçen arkadaşlarıma teşekkürlerimle

Sistemin Blok Diagramı

Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap

Not: Proje kapsamında yapılan kısımlar mavi renkte gösterilmiştir.

Sistemin Genel Açıklaması

Excellon Delgi Dosyası: Baskı devre delgi makinaları Excellon adı verilen bir standart ile çalışırlar. Excellon dosyalarında kart üzerindeki tüm deliklerin belirli bir ofset noktasına göre uzaklıkları belirlidir. Bunun dışında delik çapı, matkap dönüş hızı, makina hareket hızı, metrik/inch ölçü seçimi vb. farklı parametreler Excellon dosyasında ye alır. CAD programları Excellon standardında dosya üretir.

Bilgisayar Yazılımı: PC yazılımının asıl görevi makine ile haberleşmeyi sağlamaktır. Bu iş için bilgisayarın RS-232 seri portu kullanılmıştır. Makineyi kontrol eden komutlar belirli bir protokol yapısı içinde seri port üzerinden kontrol kartına iletilmektedir. Bunun dışında Excellon delgi dosyaları programla açılıp makinaya otomatik olarak gönderilebilmektedir. Tasarlanan GUI (Graphical User Interface - Grafiksel Kullanıcı Arabirimi) kullanıcının makineye kolaylıkla komuta etmesini sağlamaktadır.

Kontrol Kartı: Kontrol kartındaki tüm işlemler Microchip firmasının PIC16F877 mikrodenetleyicisi tarafından kontrol edilmektedir. Mikrodenetleyici seri port üstünden bilgisayarla haberleşmekte, I/O portları üstünden step motor sürücülerini kontrol etmekte ve limit switch durumlarını gözlemlemektedir.

Motor Sürücüleri: Step motorlara gerekli akımı basabilmek için oluşturulan sürücü kartlarıdır. Sürücüler "chopper (PWM)" yöntemine göre çalışmaktadır. Bu sayede step motorlar ulaşabilecekleri maksimum hızda çalıştırılmaktadır.

Mekanik düzenek: Mekanik sistem, step motorlara bağlanan sonsuz vida millerinin dönmesi sonucu, eksenlere tutturulan somunların eksen doğrultusunda hareket etmesi esasına göre çalışmaktadır. Ayrıca eksenlerin hareketini sağlamak için çelik miller kullanılmıştır. Düzenekte kullanılan malzemeler, civa çeliği, inox paslanmaz çelik, polietilen, delrin, kestamid ve alüminyumdur.

Burada genel açıklaması yapılan bölümler ilgili sayfalarda detaylı olarak ele alınmıştır.




Mekanik Tasarım

Maximus 3 eksenli çalışmak üzere dizayn edilmiştir. Her eksende hareket üretici bir motor, motor hareketini sonsuz vida miline ileten bir kaplin, sonsuz vida mili, mil uçlarında iki rulman ve mil hareketini eksene aktaran bir somun bulunmaktadır. Ayrıca eksenleri desteklemek için sonsuz vida milinin her iki tarafında birer adet civa çeliği mil bulunmaktadır. Eksenler bu millerin çevresinde kayan delrin parçalar üstünde hareket etmektedir.
Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap

Endüstriyel CNC sistemlerinde yukarıda görülen her parça yerine özel komponentler kullanılmaktadır. Bunlardan en önemlisi dairesel hareketin doğrusal harekete çevrildiği somun ve sonsuz vida mili kısmıdır. Burada kullanılan basit M12 somun ve mil yerine endüstride "ballscrew" adı verilen bilyalı somunlar kullanılmaktadır. Mil ile temasın bilyalar üstünden yapıldığı bu somunlar %90 verim ve çok düşük sürtünme katsayıları ile yüksek dönüş hızlarında çalışabilmektedir.

Bir diğer endüstriyel parça ise kayma parçaları yerine kullanılan linear rulmanlar yada bilyalı arabalardır. Temas noktalarında bilyalar kullanıldığı için bu ürünlerde de sürtünme oranları oldukça düşüktür.

Endüstriyel ürünler oldukça pahalı oldukları için bu tasarımda kullanılmamıştır. Sonuçta, kullanılan amatör parçalar mekanik sistem üstünde sürtünmeler, kasılmalar ve boşluklar oluşturmuştur. Kasılma ve sürtünmeler el ile yapılan ayarlamalar sonucunda minimum düzeye indirilmiştir. Somunlardan kaynaklanan boşluklar (backlash) ise fazla hata oluşturmadığı için gözardı edilmiştir.

Mekanik sistemin iskeletinde sert plastik malzemeler ve alüminyum tercih edilmiştir. Plastik malzemeler hafifliği ve kolay işlenebilirliği ile tasarımı kolaylaştırmıştır. Piyasada yaygın olarak bulunan malzemeler kestamid, delrin, polietilen, polyamid, teflon ve fiberdir. Ucuzluğu nedeniyle tasarımın büyük bölümünde polietilen maddesi kullanılmıştır. Bunun dışında sürtünmenin minimum olması gereken kayma parçalarında kayganlığı nedeniyle delrin tercih edilmiştir.

Delrin kayma parçalarının içine 12.2mm çapında delik açılmıştır. M12 civa çeliği miller bu parçalardan geçirilerek eksenlerin bu parçalar üstünde kayması sağlanmıştır. Düzenekteki tolerans hataları nedeniyle düşük sürtünmeli ve kasılmasız eksen hareketi elde etmek için oldukça uğraşılmıştır.

Sonsuz vida milleri, uçlarından 6mm çapa kadar inceltilerek M6 rulman yuvalarına oturtulmuştur. Step motor tarafında kalan kısımlar rulman yuvalarından çıktıktan sonra ayrıca kaplinlere vidalanmıştır.

Step motorlar ise X ve Z ekseninde destek milleri, Y ekseninde ise destek parçası ile sabitlenip kaplinlerin diğer ucuna vidalanmıştır.

Somunlar, kestamid yuvalara sabitlenerek kayma parçaları ile birlikte 2mm'lik alüminyum levhalara vidalanmıştır.

Y ekseni dğer eksenlerden bağımsız çalışmaktadır. Bu sayede mekanik tasarım kolaylaşmıştır. Gelişmiş uygulamalarda bu pek tercih edilen bir yöntem değildir, çünkü iş parçası Y ekseni boyunca hareket etmek zorunda kalmaktadır. İş parçasının ağır olması durumunda eksen motoru bu ağırlığı yenemeyecek ve step kaçırmaları meydana gelecektir. Bunun yerine, Y ekseni iş parçasını değilde matkap motorunu hareket ettirecek şekilde tasarlanmalıdır.

Z ekseni X ekseni üstünde hareket etmektedir. Bu işlem Z ekseninin X eskenindeki alüminyum levha üstüne sabitlenmesi sonucu elde edilmiştir.
Teorik Hassasiyet

M12 sonsuz vida milleri için standart hatve aralığı 1.75mm dir.
Bu durumda mil bir tur attığında eksen 1.75mm ileri yada geri ilerlemektedir.
Step motorlar millere direkt bağlandığı için motor hareketleri birebir millere aktarılmaktadır.
Kullanılan step motorlar 1.8° lik motorlardır. Bir tur 200 adımla kontrol edilmektedir.

Motorlar full-step modda sürülürse bir pulse motoru 1.8° döndürür.
Bu durumda hassasiyet 1.75mm / 200 = 8.75 mikron dur.

Motorlar half-step modda sürülürse bir pulse motoru 0.9° döndürür.
Bu durumda hassasiyet 1.75mm / 400 = 4.375 mikron dur.

Bu değerler makinenin teorik hassasiyetini belirtmektedir. Pratikte bu değerlere ulaşmak mümkün değildir. Somunlardaki boşluklar (backlash) ve malzemelerdeki hata payları bunu engeller. Yapılan denemelerde gözle görülebilen bir çözünürlük hatası yaşanmamaktadır. Ancak kesin bir çözünürlük değeri verebilecek bir ölçüm yapılamamıştır.

ELEKTRONİK
Step Motorlar


Projede, maliyeti minimumda tutmak ve sistem tasarımını basitleştirmek için step motorlar tercih edilmiştir. 3 eksen için 3 step motor kullanılmıştır. Motorların hepsi elden çıkma olup hurdacılardan alınmıştır.
Motor özellikleri:
X ekseni: ORIENTAL MOTOR 1.8° 5.4V 1.8A 6-kablolu
Y ekseni: ORIENTAL MOTOR 1.8° 5.4V 1.8A 6-kablolu
Z ekseni: SHINANO KENSHI 1.8° 12V 0.4A 6-kablolu

CNC işlerinde kullanılacak step motorlarda dikkat edilmesi gereken en önemli özellik motor voltajının 2-5V gibi düşük değerlerde olmasıdır. Bu tip motorlar iç dirençleri düşük olduğu için daha az ısınmakta ve daha yüksek hızlarda sürülebilmektedir.
 
Step motorlar bobin sarımlarından oluştuğu için belirli bir indüktans değerine sahiptir. Bu değer motor bobinine voltaj uygulandığında akımın istenilen değere ulaşma süresini t=5*(L/R) kadar geciktirir. Bu etkiden dolayı yüksek anahtarlama hızlarında bobin akımı istenilen değere ulaşamadan bir sonraki adıma geçilir.

Motorun torku üzerinden geçen akımla doğru orantılıdır. Dolayısıyla yüksek hızlarda motor torku hızlı bir şekilde düşer. Tork düşüşünü minumumda tutmak için bir motor sürücüsü en kısa zamanda bobin üzerinde öngörülen akıma ulaşmalı ve yine en kısa zamanda bobin üzerindeki akımı sıfıra çekebilmelidir.        

Bu bilgilere göre step motor sürücü devrelerini şu şekilde sıralayabiliriz:

1) L/R Sürücüsü: Motor öngörülen voltaj ve akım değerlerinde çalıştırılır. Bu durumda motor bobinlerindeki indüktif etkiden dolayı ufak bir hız artışında motor öngörülen akıma ulaşamayacağı için düşük hızlar dışında motor verimli bir şekilde sürülemeyecektir.

2) L/nR Sürücüsü: Akım artışında geçerli olan zaman sabitini (t=L/R) düşürmek için motor bobinlerine seri direnç bağlanarak yapılır. Bu durumda motor öngörülen voltajın n katı değerde çalıştırılır. Bu sayede motorda belirgin bir hız artışı yaşanır. Ancak bağlanan seri direnç üstünden yüksek akım geçeceği için bu devrelerde gereksiz güç tüketimi yaşanır.

3) Chopper Sürücüsü: Motor öngörülen voltaj değerinden 5-20 kat fazla bir voltajla beslenir. Akımın yükselme hızı diğer sürücülere göre oldukça çabuktur. Ancak yükselen akım belirli bir değerde sınırlanmazsa motor gereğinden fazla akım çekeceği için yanacaktır. Akım sınırlama mekanizması chopper sürücüsünün temelini oluşturur. Motor bobinine seri bağlı küçük bir sense direnci üzerindeki voltaj bir komparatör ile karşılaştırılarak, bobine giden akım ayarlanır. Sürücü PWM (Pulse Width Modulation) mantığında çalışır. Kaynak zaman içinde açılıp kapandığı için güç tüketimi minumum düzeydedir. Yüksek voltajla beslemeden dolayı yüksek hızlarda tam tork ile çalışılabilir.
 
Chooper Sürücüsü Block Diagramı      
        
Step Motor Sürücüleri


Projede kullanılan sürücüler chopper mantığında çalışmaktadır. Bu sayede motorlardan maksimum hızda en iyi verimi almak amaçlanmıştır.

Sürücülerin tasarımda ST firmasınca üretilen L297 ve L298 Entegreleri kullanılmıştır.

L297 step motor kontrol entegresidir, Girişine uygulanan step ve dir sinyalleri ile çıkışında step motor faz sinyallerini üretmektedir. Entegre full-step, half-step ve wave-drive modlarında çalışabilmektedir.

L298 H-bridge sürücü entegresidir. Bipolar step motorların sürülmesi için tasarlanmıştır. Max 2A/phase akım verebilir. Girişine uygulanan faz sinyallerini çıkışa yükseltip vermektedir.

ST firmasının sunduğu "application note" lar incelendikten sonra L297 ve L298 entegreleri birlikte kullanılarak step motor sürücüleri yapılmıştır.

Sürücülerin özellikleri şunlardır.
·   Step ve Dir sinyalleriyle çalışma
·   Max 45V motor voltajı
·   Max 2A faz akımı
·   Full-step, Half-step ve Wave-drive modlarında çalışabilme
·   Ayarlanabilir faz akımı

Devre şemasi
Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap


Kontrol Kartı

Kontrol kartının görevi makine ve PC arasındaki bağlantıyı sağlamaktır. Bu işlem bilgisayardan alınan komutlar yoluyla step motor sürücülerinin indekslenmesi sonucu yapılır. Kontrol kartı, PC ile seri port üstünden haberleşmektedir. PC den gönderilen komutlar kontrol kartında yorumlanmakta ve step motor sürücüleri için yön ve step sinyalleri üretilmektedir. Bu sayede, eksenlerin konumu PC aracılığıyla hassas biçimde kontrol edilmektedir.

Kontrol kartının bir diğer görevi ise eksenler üstünde bulunan limit switch leri kontrol etmek ve mekanik sınırların dışına taşan eksen hareketlerini engellemektir.

Tüm bu işlemleri kontrol eden yapı, kart üstündeki PIC16F877 mikrodenetleyici ünitesidir. Bu entegre 8 kbyte FLASH, Hardware UART ve 33 I/O pini ile projenin gereksinimlerini karşılamaktadır.

Kartta kullanılan Vcc voltajı 5V'tur. Bu potansiyel güç girişinin arkasında kullanılan 7805 linear voltaj regülatörü ile elde edilmektedir. Karta uygulanabilecek giriş voltajı 9-15 VDC arasındadır.

PIC mikrodenetleyici 20Mhz lik bir osilatör ile sürülmektedir. PIC, clock sinyalini 4 e böldüğü için bir komutun PIC te işletilme süresi 1 / 5Mhz = 200ns dir. Bu hızdaki bir clock 115200 bps hızında seri iletişim yapmaya olanak sağlamıştır.

PC ile haberleşmeyi sağlayan RS-232 bağlantısı DSUB9 dişi konnektör üstünden yapılmaktadır. PIC16F877 hardware UART'a sahip olduğu için RC6 ve RC7 pinleri seri port olarak kullanılmaktadır. Bu pinler MAX232 hat sürücü (line driver) entegresi üzerinden DSUB9 konnektöre bağlanmıştır.

Motor sürücüleri 10 telli yassı kablolar vasıtasıyla IDC10 erkek konnektörler üstünden kontrol kartına bağlanmaktadır. Step motor sürücülerine giden sinyaller doğrudan PIC'in I/O bacaklarına ve kontrol kartı üstündeki Vcc, Gnd hatlarına bağlanmıştır. Motor sürücüleri, Vcc voltajlarını kontrol kartı üstünden almaktadır.

Step motor sürücüleri için gerekli olan 20kHz lik chopper clock'u sadece bir sürücü içinde üretilip SYNC pinleri üstünde diğer motor sürücülerine aktarılmaktadır. (Bu nedenle, tüm eksenlerin yassı kablo bağlantısı yapılmadan diğer eksenler çalıştırılmamalıdır.)

Eksen limit switch'leri iki AND gate üstünden geçerek PIC'ın RB0/INT pinine ulaşmaktadır. Bu pin mikrodenetleyiciye harici kesme (interrupt) oluşturmak için kullanılmaktadır. Tüm switchler NO (Normally Open) olarak çalışmaktadır. Herhangi bir switch'te oluşacak kapanma sinyali AND gate'ler üstünden geçip mikrodenetleyiciyi uyaracaktır. Her eksende 2 adet olmak üzere toplam 6 adet limit switch girişi karta konulmuştur. Limit switchler Normally Open şeklinde çalıştığı için, kullanılmayan switchler kartın çalışmasında sorun teşgil etmemektedir.

Son olarak, ileride yapılabilecek matkap motoru (spindle) hız kontrolü uygulamaları için PIC'in PWM (Pulse Width Modulation) pininden çıkış alınmıştır.
Devre Şeması

 
Devre Kartı

 
Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap



Giris Türkçe
MAXIMUS - CNC BASKI DEVRE DELME MAKİNESİ

Bu sayfalar Hacettepe Üniversitesi Elektrik Elektronik Mühendisliği bölümünde bitirme projesi olarak gerçekleştirdiğim baskı devre delme makinesini tanıtmak amacıyla hazırlanmıştır.
Giris İngilizce
MAXIMUS - CNC PCB DRILLING MACHINE

This web page is designed to present my graduation thesis; printed circuit board drilling machine which was done for Hacettepe University, Electrical and Electronics Engineering Department in TURKEY. Currently English pages are not available but, because of the official education language in my university, all the reports, source codes and PC software are written in English. So you can take valuable information by just examining them. Also the pictures and videos will give you a good sight about the construction of the machine. English pages will be prepared soon, until that time you can browse the following pages:


PC Yazılımı

Yazılımı oluşturan yapılar şunladır:
·   Kullanıcıyla etkileşecek grafik arabirimi (GUI - Graphical User Interface)
·   Excellon delgi dosyasın açılması
·   Dosyadan alınan delik koordinatlarının uygun değişkenlere atanması
·   Seri port haberleşme rutinleri
·   Makine ayarlarının yapılabileceği ayar penceresi
·   Offset noktasının belirlenebilmesi için manuel makine hareketi (JOG)
·   Tüm deliklerin delinebilmesi için otomatik makine hareketi (DRILL)
·   Delik çaplarını gösteren "tool index" penceresi
·   Makine hareketinin ani olarak durdurulmasını sağlayan "Emergency Stop" düğmesi
Yazılım Borland C++ Builder 5.0 altında hazırlanıp derlenmiştir.
Grafiksel Kullanıcı Arabirimi

 
    Yandaki resimde programın ekran görüntüsü görülmektedir. Arabirimi güzelleştirmek için araç çubuğu butonlarında "TMS Software" firmasının "Advanced Tool Button Component" paketi kullanılmıştır. Pencerenin sol tarafındaki "String Grid" içinde delik koordinatları listelenmektedir. Ortadaki beyaz alan delik yerleşimlerinin görüntülendiği "Image Canvas" kısmıdır. Sağ alttaki "Memo Box" ise kullanıcıyı yönlendirmek ve bilgi vermek amacıyla kullanılmaktadır.   

Excellon Delgi Formatı

Baskı devre endüstrisinde kart delim işlemleri Excellon delgi dosyaları üstünden yapılır. Bu nedenle, tüm CAD programları Excellon formatında delgi dosyası üretebilir. Excellon dosyası, bir baskı devre kartı üstündeki tüm delik koordinatlarının belirlenen offset noktasına göre listelendiği bir ASCII text dosyasıdır. Delik koordinatlarının dışında çeşitli makine ayarları da bu dosya içinde yer alır. Aşağıda OrCAD 9.0 Layout Plus programında üretilen bir delgi dosyası görülmektedir.
 
Satır   Açıklama      
%   Başlık bölümü sonu (Bu dosyada başlık bölümü yok)      
T1C0.034F200S100   Tool No = 1, Diameter = 34 mils, Feedrate = 200 IPM, Spindle = 100000 RPM      
X003000Y003000   X = 300 mil, Y = 300 mil (Offset noktasına göre)      
X004000Y003000   X = 400 mil, Y = 300 mil (Offset noktasına göre)      
...   ...      
...   ...      
...   ...      
X009000Y003000   X = 900 mil, Y = 300 mil (Offset noktasına göre)      
X009000Y006000   X = 900 mil, Y = 600 mil (Offset noktasına göre)      
M30   Drill dosyası sonu   

Delgi Dosyasının İşlenmesi

Yukarıda görülen delgi dosyası program içinde açıldıktan sonra her satırın ilk karakteri program tarafından incelenir. Satırın ilk karakterinin "T" , "X" yada "M" olup olmadığı kontrol edilir. Bu 3 harf dışındaki karakterlerle başlayan satırlar es geçilir.

"T" karakteri gelmesi durumunda tool index değişkeni uygun delik numarası ile atanır. Bir sonraki satıra geçilir.
"X" karakteri gelmesi durumunda 6 haneli X ve Y eksenlerinin offset noktasına olan uzaklıkları uygun değişkenlere atanır. Bir sonraki satıra geçilir.
"M" karakteri gelmesi durumunda deişkenlere atama işlemi sonlandırılır. Delgi dosyası kapatılır.

Değişkenlere atama işlemi aşağıdaki şekilde tanımlanan holes[] yapısı (structure) altında gerçekleşir.

struct holeFile
{
char T[3];
char X[7];
char Y[7];
};
holeFile holes[1000];

Burada, 3 bitlik T dizisi delik çapı numarasını, 7 bitlik X dizisi deliğin x ekseninden offset noktasına olan uzaklığını, 7 bitlik Y dizisi de deliğin y ekseninden offset noktasına olan uzaklığını tutmaktadır.

Program makisimum 1000 delik işleyebilecek şekilde derlenmiştir ancak kaynak kodunda holes[1000] tanımlaması değiştirilerek daha fazla delikli kartların işlenmesi sağlanabilir.
Seri Port Haberleşmesi

Seri port haberleşmesi için "Dejan Crnila" tarafından yazılan "ComPort Component" paketi kullanılmıştır. Kullanılan bu paket sayesinde, seri port haberleşmesi oldukça basite indirgenmiştir. Paket, C++ Builder ortamına yüklendikten sonra normal componentler gibi (button, editbox vs) form üstüne taşınıp kod içinde kullanılmıştır.

Paket içinden kullanılan fonkisyonlar:
 

ComPort1->ShowSetupDialog()   Seri port ayar penceresini aç      
ComPort1->Open()   Seri portu aç      
ComPort1->Close()   Seri portu kapat      
ComPort1->Read()   Seri porttan oku (zaman aşımı olana kadar)      
ComPort1->Write()    Seri porta yaz   
Paket içinden kullanılan event'ler:
 
TFormMain::ComPort1RxChar()    Seri porta veri gelince çalışan event   

Makine Ayar Penceresi

Makine ayarlarının yapıldığı ve saklı tutulduğu penceredir.

 
Full steps per unit   Step motorun 1 full-step hareketinin oluşturduğu yerdeğiştirme miktarı (Hareketlerin oluşturacağı step miktarı bu alanlara girilen değerler ile belirlenir.)      
Driving Modes   Eksenlerin Half-step/Full-step sürüleceği      
Invert Direction   Step motor sürücülerindeki DIR pinlerinin polaritesi (Kullanımı: Jog Modunda sağa basınca eksenin sola hareket etmesi durumunda "Invert DirX Pin" seçilmelidir.)      
PCB Drill Mode   Offset noktasının belirlenme şekli ("Drill Using Placement Matrix" özelliği henüz tamamlanmamıştır, bu nedenle seçim inaktif durumdadır.)      
Axis Speeds   Eksen hızları (Girilen değerler step periyodunun yarısını belirtiği için düşük değerler daha hızlı hareket manasına gelmektedir.)      
Head Movement from Z Offset   Delgi işlemi sırasında, matkap kafasının JOG penceresinde belirlenen offset noktasına göre hareket ve delgi konumu (Normalde bu alanların el ile girilmesine gerek yoktur. Jog penceresi içinden yapılan ayarlamalar, bu alanlara otomatik olarak etki etmektedir.)      
Tool Changing   Delik çapının değişmesi durumunda, programın matkap ucunun değiştirilmesi için uyarı verip vermeyeceği   

Bu menülerde yapılan ayarlardan "Full steps per unit", "Invert Direction" ve "Tool Changing" kısımları sadece program içinde kullanılır. Geriye kalan "Driving Modes", "Axis Speeds" ve "Head Movement from Z Offset" ayarları ise gereken zamanlarda seri port üstünden kontrol kartına gönderilir.

Yapılan ayarların program her açıldığında tekrar girilmemesi için bir dosyaya kaydedilmesi gerekmektedir. Bunun için INI dosya yapısı kullanılmıştır. Programın her açılışında tüm ayarlar INI dosyasından yüklenmektedir. INI dosyasının bulunamaması durumunda program varsayılan ayarları kullanmaktadır. Ayar penceresi kapatıldığında değişen alanlar INI dosyasına kayıt edilmektedir.

INI dosyasından okuma örneği:

TIniFile *ini;
ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
MaskEditOneStepX->Text = ini->ReadString( "Steps per Unit", "OneStepX", "008.7500" );
delete ini;

INI dosyasına yazma örneği:

TIniFile *ini;
ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
ini->WriteString("Steps per Unit","OneStepX",MaskEditOneStepX->Text);
delete ini;

JOG Modu

Jog penceresi açılarak makine jog modunda manuel olarak çalıştırılabilir. Bu sayede eksenler ayrı ayrı çalıştırılıp denemeler yapılabilir. Ayrıca, Jog penceresi Offset noktasının ve Z ekseni hareket konumlarının belirlenmesinde kullanılır. (Detaylar için dosyalar bölümündeki "kullanım adımları" dökümanını inceleyiniz.)
DRILL Modu

Delgi dosyası açıldıktan ve Jog penceresi içinde offset noktası belirlendikten sonra "Drill" butonu aktifleşir. Drill butonuna basılarak Drill modu çalıştırılır. Bu aşamadan sonra gerçekleşen işlemler sırasıyla şöyledir:
1.   gotoOffsetPosition() fonksiyonu çağrılarak OPENDRILLMODE1 byte'ı PIC'e gönderilir. Timeout olana kadar DRILLMODE1ON byte'ının alınması beklenir. Bu byte alındıktan sonra o anki eksen konumlarına göre "Offset Positioning Packet" oluşturulur ve PIC'e gönderilir. PIC bu paketi aldıktan sonra eksenleri offset noktasına taşıyıp PC'ye ATOFFSETPOS byte'ını gönderir.
2.   ATOFFSETPOS byte'ı alındıktan sonra initializeDrillMode() fonksiyonu ile "Initialize Drill Mode Packet" oluşturulup PIC'e gönderilir. PIC bu paketi aldıktan sonra gerekli makine ayarlarını yapıp PC'ye DRILLMODE1INITIALIZED byte'ını gönderir.
3.   DRILLMODE1INITIALIZED byte'ı alındıktan sonra boş bir "Drill Data Packet" oluşturulup PIC'e gönderilir. (Bu boş paketin gönderilme amacı offset noktası delinmeden delgi işlemine başlamaktır.) PIC bu paketi aldıktan sonra delgi işlemi yapılmış gibi PC'ye ONEHOLEDRILLED byte'ını gönderir.
4.   ONEHOLEDRILLED byte'ı alındıktan sonra sırasıyla eksen konumları güncellenir, en son delinen nokta kırmızı daire içine alınır ve tool change durumu kontrol edilir. Bundan sonra holeFile[] yapısındaki ilk deliğin koordinatları "Drill Data Packet" ile PIC'e gönderilir. PIC paketi çözüp delgi işlemini gerçekleştirir. Bu sırada PC üstünde yapı indisi bir arttırılarak delik sayısı ile karşılaştırılır. Tüm delikler delinene kadar PIC'e "Drill Data Packet" X ve Y koordinatları ile gönderilir. Delikler delindikten sonra son paket, config byte'ı içindeki "Continue Drilling Flag" biti 0 yapılarak PIC'e gönderilir ve delgi rutininden çıkılır. (Paket yapısı için MCU Yazılımı sayfasını inceleyiniz.)
PIC CDF=0 bitini aldıktan sonra PC'ye DRILLMODE1DONE byte'ını gönderir.
5.   DRILLMODE1DONE byte'ı alındıktan eksenler X-Y-Z sırasında offset noktasına çekilir. (Bu işlem kullanıcıya belli edilmeden Jog modu içinde gerçekleşir.) Bu sayede mekanik sistem delgi sonrasında başlangıç konumuna dönmüş olur. Drill modu tamamlandıktan sonra makine kontrolü tekrar kullanıcıya geçer.









 
MCU Yazılımı Akış Diyagramı


 

MCU Yazılımı

MCU yazılımı, kontrol kartını yöneten yazılımdır. Tüm PC haberleşmesi ve step motor sürücülerinin kontrolü PIC16F877 içinde çalışan firmware ile yapılmaktadır.

Karta enerji verildiğinde PIC resetlenir ve kodun başından itibaren çalışmaya başlar. Öncelikle sürücü kartlarına giden I/O pinleri high konumuna getirilir. Daha sonra PIC seri port üstünden data gelene kadar bekleme durumundadır.

PC yazılımından ISMACHINEREADY byte'ı gönderildiği taktirde PIC buna MACHINEREADY byte'ı ile cevap verir. Bu sayede PC yazılımı ve mikrodenetleyicinin senkronize çalışması sağlanmıştır.

Burada adı geçen ISMACHINEREADY ve MACHINEREADY byte'ları, PIC ve PC yazılımında aynı olacak şekilde tanımlanmış sabitlerdir. 8 bitlik sayılar yerine bu tanımlamalar kullanılarak kodun okunabilirliği arttırılmıştır.

Programda "Jog Mode" ve "Drill Mode" olmak üzere iki çalışma modu vardır. Jog modu makinenin PC programından girilen değerlerle manual olarak kontrol edilmesi için kullanılmaktadır. Drill modu ise PC programında açılan delgi dosyasındaki tüm delik koordinatlarının otomatik olarak makineye gönderilmesi ve kart üstündeki tüm deliklerin sırayla delinmesi için tasarlanmıştır.

MACHINEREADY byte'ı PC'ye gönderildikten sonra PC tarafından mod seçim işlemi yapılır. Genellikle, offset noktasının belirlenmesi işlemi için ilk açılan mod Jog modudur, ancak direkt olarak Drill moduna girmek de mümkündür.

JOG Modu

Jog moduna girmek için, PC seri port üstünden OPENJOGMODE byte'ını PIC'e gönderir. PIC bu byte'ı alınca akış şemasında görülen sağ kısma geçer, PC'ye JOGMODEON byte'ını gönderir ve PC'den gelecek "Jog Data Packet" ini beklemeye başlar.

JOG Data Packet
4
3
2
1

Axis
Delay
 Axis Step
(High|Low)
Config.



"Jog Data" paketinin uzunluğu 4 byte'tır. Paket içinde hangi eksenin, hangi yönde, hangi hızda ne kadar hareket edeceği bilgisi PC'den PIC'e gitmektedir.

Configuration (1 Byte):
Bit0-Spindle: Matkap motorunun açılıp kapatılması [0-Matkap OFF | 1-Matkap ON]
Bit4-Yön: Motorun hangi yönde döneceği [0-CW | 1-CCW]
Bit5-Mod: Motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]
Bit6,7-Axis: Eksen seçimi ve Jog modundan çıkılması [00-Jog Modundan Çık | 01-X | 10-Y | 11-Z]

Axis Step (2 byte): Seçilen eksenin full-step cinsinden dönme miktarı

Axis Delay (1 Byte): Seçilen eksenin dönme hızı

[ Step frekansı = 1 / (2 * Delay * 100 us) ]


"Jog Data" paketi alındıktan sonra PIC tarafından paket çözümlenir, gerekli değişkenler atanır ve step motor sürücülerine step ve yön sinyalleri çıkılır. Eksen hareketinin tamamlanmasının ardından PC'ye JOGMODEDONE byte'ı gönderilir ve PIC tekrar Jog data paketini beklemeye başlar. Yinelenen eksen hareketleri için bu işlemler tekrarlanır.

Jog penceresi PC programında kapatılırsa, PC'den PIC'e |00|00|00|00| paketi gönderilir. (Configuration byte'ının 6. ve 7. bitlerine sıfır gönderilir.) Bu sayede PIC programı Jog modundan çıkıp mod seçim rutinine geri döner.

Drill Modu

Drill moduna girmek için, PC seri port üstünden OPENDRILLMODE1 byte'ını PIC'e gönderir. PIC bu byte'ı alınca akış şemasında görülen sol kısma geçer, PC'ye DRILLMODE1ON byte'ını gönderir ve PC'den gelecek "Offset Positioning Packet" ini beklemeye başlar.

Offset Positioning Packet
10
9
8
7
6
5
4
3
2
1

Delay Z
Delay Y
Delay X
Step Z
(High|Low)
Step Y
(High|Low)
Step X
(High|Low)
Config.



"Offset Positioning" paketinin uzunluğu 10 byte'tır. Bu paket ile, eksenlerin offset noktasına olan uzaklıkları PIC'e iletilmektedir.

Configuration (1 Byte):
Bit0-Yön X: X ekseninin step motorunun hangi yönde döneceği [0-CW | 1-CCW]
Bit1-Yön Y: Y ekseninin step motorunun hangi yönde döneceği [0-CW | 1-CCW]
Bit2-Yön Z: Z ekseninin step motorunun hangi yönde döneceği [0-CW | 1-CCW]
Bit3-Mod X: X eksenindeki step motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]
Bit4-Mod Y: Y eksenindeki step motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]
Bit5-Mod Z: Y eksenindeki step motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]

Step X (2 Byte): X ekseninin full-step cinsinden offset noktasına olan uzaklığı

Step Y (2 Byte): Y ekseninin full-step cinsinden offset noktasına olan uzaklığı

Step Z (2 Byte): Z ekseninin full-step cinsinden offset noktasına olan uzaklığı

Delay X (1 Byte): X ekseninin step motorunun dönme hızı

Delay Y (1 Byte): Y ekseninin step motorunun dönme hızı

Delay Z (1 Byte): Z ekseninin step motorunun dönme hızı

[ Step frekansı = 1 / (2 * Delay * 100 us) ]


"Offset Positioning" paketi alındıktan sonra PIC tarafından paket çözümlenir, gerekli değişkenler atanır ve step motor sürücülerine step ve yön sinyalleri çıkılır. Bu sayede eksenler PC yazılımda belirlenen offset noktasına ulaşmış olur. Eğer eksenlerin ilk konumu offset noktası ise bu paket es geçilir. Eksen hareketinin tamamlanmasının ardından PC'ye ATOFFSETPOS byte'ı gönderilir ve PIC "Initialize Drill Mode" paketini beklemeye başlar.

Initialize Drill Mode Packet
9
8
7
6
5
4
3
2
1

Delay
Zdown
Delay
Zup
Delay Y
Delay X
DrillStepZdown
(High|Low)
DrillStepZup
(High|Low)
Config.



"Initialize Drill Mode" paketinin uzunluğu 9 byte'tır. Bu paket ile, Drill modu sırasında kullanılacak genel ayarlar PIC'e iletilmektedir.

Configuration (1 Byte):
Bit0-Mod X: X eksenindeki step motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]
Bit1-Mod Y: Y eksenindeki step motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]
Bit2-Mod Z: Z eksenindeki step motorun half-step/full-step sürülmesi [0-Full Step | 1-Half Step]

DrillStepZup (2 Byte): Z ekseninin matkap delik üstünde iken full-step cinsinden offset noktasına göre konumu

DrillStepZdown (2 Byte): Z ekseninin matkap delik içinde iken full-step cinsinden offset noktasına göre konumu

Delay X (1 Byte): X ekseninin dönme hızı

Delay Y (1 Byte): Y ekseninin dönme hızı

Delay Zup (1 Byte): Z ekseninin yukarı hareketindeki dönme hızı

Delay Zdown (1 Byte): Z ekseninin aşağı hareketindeki dönme hızı

[ Step frekansı = 1 / (2 * Delay * 100 us) ]


"Initialize Drill Mode" paketi alındıktan sonra PIC tarafından paket çözümlenir ve gerekli değişkenler atanır. Z ekseni step motoru DrillStepZdown kadar aşağı indirilerek matkap ucunun kart üstünde gezeceği konumu alması sağlanır. Bu işlemden sonra PC'ye DRILLMODE1INITIALIZED byte'ı gönderilir ve PIC "Drill Data" paketini beklemeye başlar.

Drill Data Packet
5
4
3
2
1

 Step Y
(High|Low)
 Step X
(High|Low)
Config.

 

"Drill Data" paketinin uzunluğu 5 byte'tır. Bu paket ile, X ve Y eksenlerinin hareket bilgisi PC'den PIC'e gitmektedir.

Configuration (1 Byte):
Bit0-Yön X: X eksenindeki step motorun hangi yönde döneceği [0-CW | 1-CCW]
Bit1-Yön Y: Y eksenindeki step motorun hangi yönde döneceği [0-CW | 1-CCW]
Bit6-SDF(Start Drilling Flag): Delme işlemine başlama biti [0-Reset | 1-Set]
Bit7-CDF(Continue Drilling Flag): Delme işlemine devam biti [0-Reset | 1-Set]

Step X (2 byte): X ekseninin step motorunun full-step cinsinden şu an bulunduğu konuma göre hareket (dönme) miktarı

Step Y (2 Byte): Y ekseninin step motorunun full-step cinsinden şu an bulunduğu konuma göre hareket (dönme) miktarı


"Drill Data " paketi alındıktan sonra PIC tarafından Configuration byte'ının 6. (SDF) ve 7. (CDF) bitleri kontrol edilir.

CDF bitinin 1 olması delgi işleminin devam ettiğini, 0 olması işe delgi işleminin sona erdiğini gösterir. Delgi işlemi devam ediyorsa paketle bilikte gelen koordinatlarda delme yapılır ve tekrar "Drill Data" paketi beklenir. Delgi işlemi sona ermiş ise PC'ye DRILLMODE1DONE byte'ı gönderilir ve PIC mod seçiminin yapıldığı akış diyagramındaki mode selection kısmına geri döner.

SDF bitinin 1 olması delgi işleminin yeni başladığını, 0 olması ise delgi işleminin devam ettiğini gösterir. Bu bit sadece delgi işleminin başlangıcında yani matkap offset noktasının üstünde iken 1 durumundadır. SDF biti 1 olduğunda o anki X ve Y koordinatları atlanıp PC'ye ONEHOLEDRILLED byte'ı gönderilmektedir. Bu sayede offset noktasının delinme zorunluluğu ortadan kalkmıştır.

CDF ve SDF bitlerinin kontrol edildikten sonra PIC tarafından "Drill Data" paketi çözümlenir ve gerekli değişkenler atanır. X ve Y eksenleri paketten alınan bilgiler sayesinde delik koordinatlarına hareket ettirilir. Matkap delik üstüne geldikten sonra Z ekseninde aşağı-yukarı hareketi yapılır. Bu işlem sonucunda 1 delik delinmiş olur. Delgi yapıldıktan sonra PC'ye ONEHOLEDRILLED byte'ı gönderilir ve PIC bir sonraki "Drill Data" paketini beklemeye başlar.

Bu rutin kart üstündeki tüm delikler delinene kadar tekrarlanır. Tüm deliklerin delinmesi tamamlandığında CDF biti 0 yapılarak Drill modundan çıkılıp mod seçimine geri dönülür.


   
« Son Düzenleme: 01 Temmuz 2008, 00:13:45 Gönderen: NEFRET » Logged

Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap
Nefret OnLine Msn/MaiL: Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap

Resimlerin Görüntülenmesine Izin Verilmiyor
Resimleri Görebilmek Için Üye Ol veya Giris Yap

Sesimdeki titremelerde nelerin saklı olduğunu hiç anlayamadım.Kendimi sana cömertçe sunmakla,adresi olmayan yerlere kaçırmak arasında çatışmalar yaşarken , artık ezbere bildiğim bir sahnede tek başımaydım... .
Sayfa: 1   Yukari git
  Yazdır  
 
Gitmek istediğiniz yer:  

||| Etiketler |||
Proje: (3) üc eksenli plaket deLici   ödev proje   pic pro basic program proje 
Powered by SMF 1.1.5 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks

eXTReMe Tracker

Hayat Theme v2 Theme edit : ELv!S

RSS Yayin akisi - XML - Esra eroL - arsiv - Arsiv 2 - Board Yönetimi - Sitemap - Sitemap 2 - Sitemap home - Konya - Forum
Yermiyiz.biz

Sitemiz Tamamen Legal içerikLi bir forum sitedir. fakat kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir, bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir, yine de sitemizde yasalara aykırı unsurlar bulursanız admin@forumin.net email adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.

Report Abuse, Harassment, Scamming, Hacking, Warez, Crack, Divx, Mp3 or any Illegal Activity to admin@forumin.net