Professional Documents
Culture Documents
Practical Realization of CNC Machine - Ernest Culaj
Practical Realization of CNC Machine - Ernest Culaj
Punim Diplome
Përmbajtje
Përmbajtje ................................................................................................................................ 2
Abstrakt .................................................................................................................................... 4
Abstract .................................................................................................................................... 5
Hyrje .......................................................................................................................................... 7
Motorët ................................................................................................................................. 8
Elektronika............................................................................................................................. 8
Realizimi .................................................................................................................................... 9
Motorët ................................................................................................................................. 9
Motorët unipolar............................................................................................................. 10
Motorët bipolar............................................................................................................... 11
Mikrokontrolleri.................................................................................................................... 13
Programimi i mikrokontrollerit......................................................................................... 15
Dërgimi i komandave..................................................................................................... 16
2
Punim Diplome
Softueri ................................................................................................................................ 27
Ndërprerësit ........................................................................................................................ 44
Bashkangjitur .......................................................................................................................... 45
Përfundimi .............................................................................................................................. 46
Bibliografia.............................................................................................................................. 47
3
Punim Diplome
Abstrakt
Ky punim ka për qellim që të demonstrojë mundësitë e kontrollimit të makinerive dhe
proceseve përmes rrjetit duke komunikuar në të njëjtën mënyrë siç komunikojnë
kompjuterët PC të lidhura në rrjetë. Punimi demonstron kontrollimin e tre motorëve me
hap (step Motor) që mund të lëvizin një makinë me tre akse. Është përdorur një mënyre
mjaft origjinale e kalkulimit të kohës se kaluar dT duke përdorur numërimin e cikleve të
procesorit në mënyrë asinkrone dhe integrimin e intervaleve të kaluara për ta njësuar
shpejtësinë përmes akselerimit konstant. Kështu janë eliminuar problemet që ka sistemi
operativ MS Windows kur ka nevojë që të punojë në kohë reale si dhe mungesa e
tajmerit të rezolucionit të lartë në Visual Basic.
Formulat e aplikuara janë ato me të thjeshta të raportit diferencial dhe integral ndërmjet
rrugës S shpejtësisë V dhe akselerimit a në ketë formë:
S = Sp + VdT
V = Vp + adT
Lëvizja simultane në tre akse është kalkuluar si segment S = SQRT( Sx^2 + Sy^2 +
Sz^2) dhe pastaj njësuar në çdo aks veç e veç
Programi i realizuar ka një interfejs grafik të thjeshtë dhe intuitiv që lehtëson përdorimin
e tij nga personeli punues. Ai punon në mënyrë automatike dhe manuale sipas nevojës.
Parasheh mundësinë e ndryshimit të shpejtësisë gjatë punës duke e ngritur ose ulur
sipas dëshirës.
4
Punim Diplome
Sot kur rrjeti internet lidhe pikat me të largëta të planetit tonë me dhënie të një IP reale
mund të bëhet kontrolli i pajisjeve , makinerive dhe proceseve përmes internetit ose
rrjetit pa tela. Mundësitë kufizohen vetëm me fantazinë tonë.
Abstract
The main goal of this project is to demonstrate the control of machines and other
processes using the network, to communicate in the same way those computers
communicate in network. This project demonstrates the control of three step motors that
can move a machine with three axes. We used a original manner of calculating the past
time dT using the asynchrony counting of cycles of processor and integrating of past
intervals to be able to calculate the constant acceleration speed. In this way we
eliminated the problems of real time work in MS Windows operating system and lack of
high resolution timer in Visual Basic.
The formulas that we applied are the simplest, to calculate the differential and integral
difference between the road S, velocity V and acceleration a in this manner:
S = Sp + VdT
V = Vp + adT
The motion of thee axis is calculated based on segment S = SQRT( Sx^2 + Sy^2 +
Sz^2) and then each of them for each ax.
The options demonstrated in this project to control the motion of motors and other fast
processes through network are available through the functional schematic of
electronics. The software used is simple and clear, and except calculation of motion
there is option reading the simple commands written in the text file, these commands
are the absolute move, the relative move, and the velocity.
The software has a simple graphical interface and intuitive that makes the use of them
simpler. It works in manual and automatic manner, with the ability to change the speed
during the work.
The communication with the microcontroller is based on UDP protocol, and commands
are based on ASCII packets that store the commands for motors. These motors can
move the axis of machines or be a part of other complex processes. Even if in this
project are excluded, there is ability to extend the project to be able to read limit
switches, or make other measurements through TTL inputs or measure analog signals
through A/D converters.
5
Punim Diplome
Today that the internet connects the places all over the world, using the public IP
address we can control the equipments, machines and processes through internet. The
abilities are limited in our imagination.
6
Punim Diplome
Hyrje
Teknologjia në ditët e sotme ka arritur një zhvillim shumë të madh, dhe pothuajse të
paparashikueshëm.
7
Punim Diplome
Ky projekt përfshinë pjesën elektronike dhe softuerike të një makine CNC (Computer
Numeric Control).
Ideja është që të realizohet një sistem shumë i thjeshtë që mund të përdoret nga
çdokush. Ky sistem si tërësi përfshinë:
Motorët
Motorët dirigjohen nga një pjesë elektronike e cila merr komanda nga kompjuteri me
ane të rrjetit (LAN). Në këtë punim kemi përdorur motorë Step Unipolar me 200 hapa të
plotë ( ose 400 gjysmë hapa ).
Elektronika
Elektronika përbëhet nga një mikrokontroller që lidhet në rrjet, ku nga kompjuteri
dërgojmë komanda te ip-ja e këtij mikrokontrolleri duke përdorur UDP protokollin. Ky
mikrokontrolleri i lexon komandat e dërguara nga kompjuteri dhe gjeneron impulset step
dhe direction që komandojnë drajvat ku lidhen motorët. Ky mikrokontroller ka 24 pina që
mund të programohen si hyrje ose si dalje.
Drajvat janë pjesët ku lidhen motorët. Këto pjesë funksionojnë në atë mënyrë që marrin
sinjalet hyrëse Step dhe Direction dhe në dalje e furnizojnë motorin me rrymë aq sa të
arrije hapat e caktuara në hyrje dhe po ashtu në drejtimin e caktuar.
8
Punim Diplome
Realizimi
Motorët
Motor elektrik quhet ajo pajisje që përdor energjinë elektrike për të prodhuar energji
mekanike. Procesi i kundërt, pajisja që nga energjia mekanike prodhojmë energji
elektrike quhet gjenerator ose dinamë.1
Ekzistojnë dy lloje të motorëve të rrymës alternative të cilët dallojnë së çfarë rotori është
përdorur. I pari është motori asinkron, i cili rrotullohet saktësisht sa është frekuenca. I
dyti është motori induktiv, I cili rrotullohet pak më ngadalë se sa është frekuenca. 2
Në makinën tonë kemi përdorur motorët më hap (Step Motor). Këta motorë janë motorë
elektrik, pa brusha, të cilët mund të ndajnë rrotullimin e plotë në një numër të madh të
hapave. Pozita e këtyre motorëve mund të kontrollohet në mënyrë precize, por pa
ndonjë informatë kthyese (feedback). Këta motorë punojnë më rrymë njëkahore.
1 http://en.wikipedia.org/wiki/Electric_motor
2 http://en.wikipedia.org/wiki/AC_motor
9
Punim Diplome
Motorët unipolar
Motorët step unipolar kanë logjikisht dy bobina për një fazë, nga një për secilin drejtim.
Në ketë mënyrë të renditjeve polet magnetike mund të ndryshojnë pa e ndryshuar
kahjen e rrymës.
Komanda Pozita
10
Punim Diplome
Komanda Pozita
Motorët bipolar
Motorët step bipolar kanë logjikisht një bobine për një fazë. Në ketë rast duhet ta
ndryshojmë kahjen e rrymës për të arritur polaritetin e kundërt, kështu që qarku
komplikohet, zakonisht përdorët ura H (H-bridge).
11
Punim Diplome
Këta motorë punojnë në një sistem të mbyllur përsëritës (closed loop system), në të cilin
puna është ndryshore e kontrollueshme.
Shembull:
Kontrollori digjital i servo motorit e drejton operacionin e servo motorit duke dërguar
komanda në formë të sinjaleve për shpejtësinë në amplifikatorin (përforcuesin), i cili e
drejton motorin servo. Një rezultat kthyes (feedback) i dërgohet kontrollorit dhe
12
Punim Diplome
Mikrokontrolleri
Mikrokontrolleri (MCU) është një sistem kompjuterik i vendosur në një chip. Përmban
procesorin, memorien dhe njësit hyrëse/dalëse që programohen. 3
Mikrokontrolleri është pajisje e vogël dhe mund të përdoret për kontroll të objekteve,
proceseve apo ngjarjeve.
Sot ekzistojnë një numër shumë i madh i mikrokontrollereve të ndryshëm. Për projektin
tonë në kemi zgjedhur një mikrokontroller nga kompania Elexol, që quhet Ether I/O 24.
IP adresa mund ti caktohet fikse, ose mund te jete dinamike që të caktohet nga DHCP.
Kur komunikojmë nga kompjuteri duhet të kemi qasje në soketin UDP/IP. Kontrolla
3 http://en.wikipedia.org/wiki/Microcontroller
13
Punim Diplome
Për të komunikuar nga ndonjë gjuhë programuese duhet të dimë dy gjera, IP adresën
dhe portin e mikrokontrollerit. Porti që do të përdorët për komunikim dhe programim të
mikrokontrollerit është 2424.
Specifikacioni i mikrokontrollerit:
Koha e përgjigjes kur dërgon vetëm një komandë për lexim në paketë është zakonisht
100 mili sekonda, kurse minimumi është 80 mili sekonda dhe maksimumi është 200 mili
sekonda.
Koha për të shkruar në port brenda një pakete është 1.5 mili sekënd.
Shpejtësia kur shkruan 250 shkrime për paketë është 500000 shkrime për sekënd.
Koha kur shkruajmë 1 shkrim në një paketë është 100 mili sekonda.
Shpejtësia kur lexojmë një hyrje në një paketë është 16500 lexime ne sekënd.
Memorja e këtij mikrokontrolleri është 1024 bit, është e ndarë ne 64 fjalë nga 16 bit. 5
fjalët e para si adresa 0 deri 4 janë pjesë të pandryshueshme për programuesin. Fjalët
5 deri 24 përdoren për të rregulluar konfigurimin e IP, portin, etj. Fjalët 25 deri 47 janë të
rezervuara për përdorim në të ardhmen dhe fjalët 48 deri 63 janë të lira për çfarëdo
përdorimi.
14
Punim Diplome
Programimi i mikrokontrollerit
Ekzistojnë dy mënyra se si mund të lexojmë të dhënat nga socket, ato janë: polling dhe
interrupt. Polling është më e mirë për programe të thjeshta. Punon në parimin që secila
pjesë e programit duhet të mbarojë për të filluar pjesa tjetër.
Për të lexuar vlerat nga mikrokontrolleri duhet që të lidhemi në portin e caktuar (2424)
dhe të lexojmë vlerat nga Winsock1 Bytes Received. Mënyra më e thjeshtë është të
përdorim Timerët.
15
Punim Diplome
Dërgimi i komandave
Së pari po paraqesim konfigurimin e Wincosk ne Visual Basic 6.
16
Punim Diplome
17
Punim Diplome
Sistemi kartezian, apo katërkëndësh, është shpikur nga matematicienti francez Rene’
Descartes. Me ketë sistem secila pikë specifike mund të përshkruhet në mënyrë
matematikore përgjatë tre akseve.
Në ketë figure është paraqitur sistemi kordinativ me dy akse, ku në mes është pika 0,
vija horizontale paraqet aksin X dhe vija vertikale aksin Y. Duke filluar nga pika 0
djathtas është X+ dhe majtas X-, gjithashtu nga pika 0 kur vazhdojmë para është Y+,
ndërsa mbrapa Y-.
18
Punim Diplome
Këtu është paraqitur sistemi kordinativ me tre akse. Pikërisht ashtu si janë lëvizjet e
akseve të makinave CNC.
19
Punim Diplome
Gjithashtu kur nga pika 0 lëvizim në fushën 4 gjithmonë kemi të bëjmë me X+ dhe Y-.
Marrim një shembull: pika B gjendet 1 njësi ne X+ dhe 2 njësi ne Y-.
Shënim:
Kur përmendim fjalën “njësi” kuptojmë se ndarjet duhet të kenë vlera te caktuara
numerike, që zakonisht në makinat CNC përdoret milimetri, por mund të jetë edhe
ndryshe.
Y+
X- X+
3
Y-
Fig. 5 Shembulli i orientimit ne sistemin kordinativ
20
Punim Diplome
Si gjithmonë fillojmë nga pika 0. Për të lëvizur tek pika 1 duhet që motori i aksit X të
lëvize 4mm dhe motori i aksit Y të lëvize 4mm. Pastaj nga pika 1 për të lëvizur në pikën
2 duhet që motori i aksit X të lëvizë -7mm dhe motori i aksit Y të lëvizë -2mm. Tani
gjendemi ne piken 2. Për të vazhduar lëvizjen në piken 3 duhet motori i aksit X të lëvizë
2mm dhe motori i aksit Y te lëvizë -6mm. Tani gjindemi ne piken 3, per te vazhduar ne
piken 4 motori i aksit X lëviz 3mm dhe motori i aksit Y 2mm. Dhe në fund për tu kthyer
në piken 0 motori i aksit X duhet të lëvizë -2mm dhe motori i aksit Y të lëvizë 2mm.
N10 G01
N30 X4 Y4
N50 X2 Y-6
N60 X3 Y2
N70 X-2 Y2
N80 M30
Fillojmë nga pika 0. Për të lëvizur tek pika 1 duhet që motori i aksit X të lëvizë 4mm dhe
motori i aksit Y të lëvizë 4mm. Pastaj nga pika 1 për të lëvizur në piken 2 duhet që
motori i aksit X të lëvizë -3mm dhe motori i aksit Y të lëvizë 2mm. Tani gjendemi ne
piken 2. Për të vazhduar lëvizjen në piken 3 duhet motori i aksit X të lëvizë -1mm dhe
motori i aksit Y të lëvizë -4mm. Tani gjendemi në piken 3, për të vazhduar në piken 4
motori i aksit X lëviz 2mm dhe motori i aksit Y -2mm. Dhe në fund për tu kthyer në piken
0 motori i aksit X duhet të lëvizë 0mm dhe motori i aksit Y të lëvizë 0mm.
N10 G01
21
Punim Diplome
N30 X4 Y4
N40 X-3 Y2
N60 X2 Y-2
N70 X0 Y0
N80 M30
Kur kemi të bëjmë me lëvizje relative gjithmonë nisemi nga pika ku gjendemi.
Ndërsa kur kemi të bëjmë me lëvizje absolute gjithmonë marrim për baze piken 0.
Për ta pasur sa më të lehtë një përdorues për të arritur deri te G-Kodi ne kemi punuar
edhe një softuer në Visual Basic for Applications në CorelDRAW. Ky softuer bën
konvertimin e vijave të vizatuara në Corel në G-Kod. DMTH ashtu si janë vijat e
vizatuara ashtu do të lëviz makina!!!
Për të zgjidhur këtë problem e kemi përdorur një metodë mjaft primitive. Ne e
shfrytëzojmë HPGL fajllin e plotorit, dhe e hapim atë fajll i heqim komandat që janë për
plotter, i marrim koordinatat që duhet të lëviz dhe komandat që janë për manipulim me
lapsa.
Kodin e gjeneruar nga softueri ynë në corel e marrim dhe e hapim në softuerin tonë që
dirigjon makinën. Ai e lexon rresht për rresht dhe ja dërgon komandat mikrokontrollerit.
22
Punim Diplome
23
Punim Diplome
Realizimi Praktik
Se pari pasi kemi vendosur se cilin punim do ta realizojmë kemi shikuar se çfarë pajisje
na duhen për të realizuar ketë punim.
Fig. 6 Mikrokontrolleri
24
Punim Diplome
motorë nëse i shfrytëzojmë të gjithë pinet si dalje, sepse një step motor komandohet me
4 pina.
Për tu shmangur çfarëdo rreziku nga lidhja e këtyre dy pllakave elektronike në mes veti,
kemi përdorur ndarjen me fototranzistorë. Me poshtë po japim një foto të kësaj ndarje.
25
Punim Diplome
D.m.th në njërën anë lidhen daljet e mikrokontrollerit, ndërsa në anën tjetër lidhet
furnizuesi i motorëve.
Në hyrje gjendet një LED që kur ka sinjal në hyrje bën dritë dhe ajo drite lexohet nga
fototranzistori. Kur fototranzistori pranon dritë në bazë, ai nga kolektori lëshon rrymë në
emiter.
26
Punim Diplome
Softueri
Fig. 10 Softueri
Softueri është i punuar në Visual Basic 6. Në tërësi është i punuar nga fillimi dhe është
mjaft i thjeshtë në përdorim.
27
Punim Diplome
automatike që programin apo lëvizjet e motorit i lexon nga një fajll i jashtëm. Mënyra
automatike është e rregulluar sapo të starton softueri, për të kaluar në punë manuale
duhet të klikojmë në menynë Rregullime dhe komandën manual.
28
Punim Diplome
Vel1.Text = Vel
Start1 = True
SegmentMove
End Sub
Si funksionon ky kod?
If Yseg >= 0 Then DirY = -1 Else DirY = 1 Në ketë pjesë caktohet drejtimi i
motorëve
29
Punim Diplome
Pasi të kemi hapur një program të jashtëm me instruksione për lëvizjen e motorëve për
të filluar punën klikojmë në File pastaj Fillo.
Më poshtë do të japim pjesë nga kodi i funksionit CNCOut() që ekzekutohet kur klikojmë
Fillo.
30
Punim Diplome
Case "LABS"
Xseg = 0
Yseg = 0
Zseg = 0
For i = 1 To UBound(r1)
If Left(r1(i), 1) = "X" Then
Ky kod lexon nëse komanda e
Xseg = Val(Right(r1(i), Len(r1(i)) - 1)) / 1000 – Xp
radhës nga fajlli është lëvizje
End If
If Left(r1(i), 1) = "Y" Then absolute, dhe në rast se është
Yseg = Val(Right(r1(i), Len(r1(i)) - 1)) / 1000 – Yp e llogarit se sa duhet të ecin
End If motorët në këtë rast.
If Left(r1(i), 1) = "Z" Then
Zseg = Val(Right(r1(i), Len(r1(i)) - 1)) / 400 – Zp
End If
Next
Start1 = True
SegmentMove
Case "LREL"
Xseg = 0
Yseg = 0
Zseg = 0
For i = 1 To UBound(r1)
If Left(r1(i), 1) = "X" Then Xseg = Val(Right(r1(i), Len(r1(i)) - 1)) / 1000
If Left(r1(i), 1) = "Y" Then Yseg = Val(Right(r1(i), Len(r1(i)) - 1)) / 1000
If Left(r1(i), 1) = "Z" Then Zseg = Val(Right(r1(i), Len(r1(i)) - 1)) / 400
Next
Start1 = True
SegmentMove
Ngjashëm me kodin e më sipërm edhe ky kod shikon nëse komanda është lëvizje
relative, dhe në rast së është llogarit se sa duhet të ecin motorët në këtë rast.
CorelDRAW është një program për vizatime vektoriale. Është i zhvilluar nga Corel
Corporation nga Otava, Kanada. Gjithashtu njihet edhe me emrin Corel’s Graphics
Suite.
31
Punim Diplome
Komandën PD (Pen Down) e përdorim për të lëvizur motorët X dhe Y nëpër vijat e
vizatuara.
Dhe komandën LT (Line Type) e përdorim për të lëvizur motorin Z në lartësi të caktuar
për kalim nga detali në detal.
Në vijim po demonstrojmë se si një vizatim i dy katërkëndëshave duket me vija, si duket
fajlli për ploter dhe si duket G-Kodi i gjeneruar nga ai fajll.
32
Punim Diplome
33
Punim Diplome
LABS x0 y30
LABS x0 y0
SHP 500
LABS z-5
SHP 500
LABS z-5
SHP 2500
LABS x41.48 y41.48
SHP 500
LABS z-3
SHP 1000
LABS x71.47 y41.48
LABS x71.47 y71.47
LABS x41.48 y71.47
LABS x41.48 y41.48
SHP 500
LABS z-5
FUND
Tani po paraqesim kodin ne VBA se si gjenerohet G-Kodi nga PLT fajlli:
Case "SP"
Select Case s
Case "SP1;"
z = CNCFreza.black.Value
Case "SP2;"
z = CNCFreza.blue.Value
Case "SP3;"
z = CNCFreza.red.Value
Case "SP4;"
z = CNCFreza.green.Value
Case "SP5;"
z = CNCFreza.magenta.Value
Case "SP6;"
z = CNCFreza.yellow.Value
Case "SP7;"
z = CNCFreza.cyan.Value
Case "SP8;"
z = CNCFreza.brown.Value
End Select
Ky kod cdo rresht te plt fajllit ku gjen te shkruar SP e ndryshon me vleren e caktuar te
ngjyres, sepse kjo komande e ben ndrrimin e lapsit me ngjyre tjeter ne plloter.
34
Punim Diplome
Case "PD"
s = Replace(s, "PD", "")
s = Replace(s, ";", "")
x1 = Left(s, InStr(s, " ")) * 25 / 1000 +
ActiveDocument.MasterPage.CenterX * 25.4
y1 = Right(s, Len(s) - InStr(s, " ")) * 25 / 1000 +
ActiveDocument.MasterPage.CenterY * 25.4
s = "LABS " & "x" & Round(x1, 2) & " y" & Round(y1, 2)
c = rs.WriteLine(s)
Ky kod cdo rresht te fajllit ku gjen te shkruar PD e lexon vleren x dhe y qe gjindet si
argument I kesaj komande. Ato vlera I lexojme dhe I rregullojme per G-Kod.
Case "PU"
c = rs.WriteLine("SHP " & V0)
s = Replace(s, "PU", "")
s = Replace(s, ";", "")
x1 = Left(s, InStr(s, " ")) * 25 / 1000 +
ActiveDocument.MasterPage.CenterX * 25.4
y1 = Right(s, Len(s) - InStr(s, " ")) * 25 / 1000 +
ActiveDocument.MasterPage.CenterY * 25.4
s = "LABS " & "x" & Round(x1, 2) & " y" & Round(y1, 2)
c = rs.WriteLine(s)
c = rs.WriteLine("SHP " & VZ)
s = "LABS z" & Round(z, 2)
c = rs.WriteLine(s)
c = rs.WriteLine("SHP " & V1)
Ky kod cdo rresht ku gjen te shkruar PU gjithashtu I lexon vlerat x dhe y qe jane si
argument I kesaj komande dhe e rregullojme per G-kod.
Case "LT"
c = rs.WriteLine("SHP " & VZ)
s = "LABS z" & Z0
c = rs.WriteLine(s)
Ky kod cdo rresht qe gjen te shkruar LT e dijme qe duhet te bejme kalim nga detail I
punuar ne fillim te detalit tjeter, dhe kete e perdorim per te ngritur motorin e aksit Z.
35
Punim Diplome
Ne vazhdim do te japim disa shembuj se si eshte procedura per te bere nje punim, nga
vizatimi deri te dirigjimi.
Shembulli1:
Dimensioni I Njesija
faqes
Hapi tjeter eshte vizatimi elementeve qe dojme ti punojme, marrim si shembull nje
katerkendesh me domensionet a=100 dhe b=200.
36
Punim Diplome
37
Punim Diplome
Rregullimin e aksit Z e bëjmë duke e caktuar vlerën në milimetra për çdo ngjyrë që kemi
përdorur në elementet e vizatuara. Pastaj rregullimet tjera janë opcionale pasi që i kemi
vendosur vlerat e zakonshme, por mund të ndryshohen që ti përshtaten llojit të punës.
Z Boshe – caktohet vlera e nivelit të aksit Z kur bëhet kalimi nga një detal në tjetrin.
Shpejtësia Z – caktohet shpejtësia e lëvizjes së aksit Z
Shpejtësia Boshe – caktohet shpejtësia kur makina bën lëvizje boshe, d.m.th nuk
përpunon ndonjë material.
Shpejtësia Pune – caktohet shpejtësia kur makina përpunon ndonjë material.
Pritja – caktohen sa sekonda duhet të pret kur fillon të punojë detalin.
Dhe në fund e klikojmë butonin Shkruaj programin, dhe rezultati i këtij shembulli, G-Kodi
është ky:
SHP 500
LABS z-5
SHP 2500
LABS x6.82 y8.88
SHP 500
LABS z-1
SHP 1000
LABS x106.82 y8.88
LABS x106.82 y208.88
LABS x6.82 y208.88
LABS x6.82 y8.88
SHP 500
LABS z-5
FUND
Hapi në vazhdim është që ta ruajmë këtë dokument dhe ta hapim softuerin për dirigjim
të makinës.
Pasi të hapim softuerin, klikojmë në File – Hape dhe e zgjedhim dokumentin që e kemi
ruajtur paraprakisht.
38
Punim Diplome
Dhe hapi i fundit është që ta lëshojmë programin duke klikuar në File – Fillo.
Shembulli 2:
Hapi i parë është i njëjtë të caktojmë njësinë e faqes punuese dhe dimensionet.
Në këtë shembull do ti vizatojmë dy elemente me nivele të ndryshme të Z.
39
Punim Diplome
Siç po shihet i kemi vizatuar dy elemente, një pesëkëndësh dhe një rreth. Pasi
dëshirojmë qe niveli I motorit Z te jete I ndryshem per keto dy elemente njeres I kemi
ndryshuar ngjyrën e vijës.
40
Punim Diplome
Në pjesën e rregullimeve të aksit Z për ngjyrën e zeze, pra për rrethin kemi caktuar
vlerën -5mm ndërsa për pesëkëndëshin -10mm, rregullimet tjera i kemi lënë të
zakonshme. Dhe në fund klikojmë në butonin Shkruaj programin dhe do ta fitojmë këtë
G-Kod:
SHP 500
Fillimi i punes se makines –
LABS z-5
SHP 2500 pozicionimi ne piken fillestare
LABS x62.6 y64.53
SHP 500
LABS z-5
SHP 1000
LABS x69.85 y66
LABS x75.78 y70
LABS x79.78 y75.92
LABS x81.25 y83.18
LABS x79.78 y90.4
LABS x75.78 y96.32
LABS x69.85 y100.32 Ekzekutimi i lëvizjeve per
LABS x62.6 y101.8 objektin e pare
LABS x55.38 y100.32
LABS x49.45 y96.32
LABS x45.45 y90.4
LABS x43.97 y83.18
LABS x45.45 y75.92
LABS x49.45 y70
LABS x55.38 y66
LABS x62.6 y64.53
SHP 500
LABS z-5 Pozicionimi te pika fillestare e
SHP 2500
objektit te dyte
LABS x38.83 y56.5
SHP 500
LABS z-10
SHP 1000
LABS x53.65 y47.95
LABS x68.47 y39.4
LABS x62.8 y25.58
LABS x57.15 y11.75
LABS x38.83 y11.75 Ekzekutimi i lëvizjeve per
LABS x20.5 y11.75 objektin e dyte dhe
LABS x14.85 y25.58 përfundimi i programit
LABS x9.2 y39.4
LABS x24 y47.95
LABS x38.83 y56.5
SHP 500
LABS z-5
FUND
41
Punim Diplome
Makinat CNC (Computer Numerical Control) e kanë një histori që nga vitet 1940 – 1950
ku fillet e këtyre makinave u krijuan dhe ato makina quheshin NC (Numerical Control).
Makina e parë NC u krijua pas luftës së dytë botërore nga John Parsons në
bashkëpunim me MIT.
Makinat NC ishin të vështira për punë sepse parametrat e tyre nuk mund të
ndryshoheshin, kishin shumë lidhje të kabllove dhe nuk kishte ndonjë standard për këto
makina.
Një sistem i kompletuar CNC përfshinë kompjuterin i cili ka një softuer që i jep komanda
elektronikës, pastaj elektronika që i pranon sinjalet apo komandat se sa rrymë duhet ti
lëshoj motorëve dhe të kontrollojë se a kanë ecur motorët aq sa duhet, dhe mekanika
ku janë të lidhur motorët që kur motori rrotullohet të vej në lëvizje një aks.
Në kompjuter duhet të jetë një softuer që e lexon G-Kodin dhe në bazë të atij kodi ti jep
sinjale mikrokontrollerit nëpërmes një porti të kompjuterit (USB, LAN, Paralel, Serial,
etj). Në këtë projekt në kemi zgjedhur që makinën tonë ta dirigjojmë nëpërmjet portit të
rrjetit, njëkohësisht mikrokontrolleri duhet të ketë këtë mundësi për tu lidhur në LAN për
ti pranuar komandat nga softueri ynë.
Çdo lloj pajisje është sado pak e rrezikshme. Pajisjet e kontrolluara me kompjuter janë
paksa më të rrezikshme se ato manuale sepse, p.sh. një kompjuter është në gjendje të
rrotullojë një cope çeliku me 3000 rrotullime ne minute, apo edhe më tepër.
Çdo makine CNC duhet të ketë një nivel të sigurisë. Së paku duhet të ketë një tast për
ndalje emergjente, që në çfarëdo rasti punëtori të ketë mundësi ta shtypë atë dhe të
ndalet puna e makinës. Të ketë ndërprerësit fundorë në çdo aks nga dy ndërpresë
fundorë që të mund të ndalet makina para se ta godet fundin.
Rendësi tjetër të madhe ka edhe preciziteti i makinës, dhe kjo kërkon që makina të ketë
pikën fillestare apo piken 0 të makinës. Gjithashtu për precizitet sa më të lartë gjatë
lëvizjes duhet të përdorim lexuesit e pozitës (Encoders).
Secili aks duhet të ketë një mënyrë që të dijme se sa kemi lëvizur dhe të bëjmë
krahasime se a kemi lëvizur aq sa e kemi dhënë komandën. Për këtë qellim ekzistojnë
pajisje special që bëjnë këtë punë, pra matjen e lëvizjes dhe quhen “lexues të pozitës
apo llogaritës të lëvizjes (ang. Encoder).
42
Punim Diplome
Zakonisht nëse kemi makine me 3 akse, përdorim 3 lexues të pozitës, për të ditur
pozitën e secilit motor.
Lexuesit absolute kanë vlerë unike për secilën pozitë mekanike. Kur lëshohet lexuesi në
punë, menjëherë dihet pozita e saktë se ku gjendet.
Lexuesit inkremental kanë sinjale në dalje që përsëriten gjatë rrotullimit (lëvizjes). Kur
lëshohet në punë, nuk dihet pozita se ku gjendet, për shkak se leximi fillon nga momenti
I lëshimit në punë, dhe nuk ka vlerë unike për secilën pozitë.
43
Punim Diplome
Zakonisht lexuesit e kane edhe një kanal tjetër që quhet I, i cili e identifikon një rrotullim.
D.m.th gjatë një rrotullimi vetëm një herë kanali I mund të ketë vlerën 1.
Për të arritur precizitet sa më të lartë duhet të kemi lexues me sa më shumë ndarje për
një rrotullim.
Ndërprerësit
Ndërprerësit zakonisht lidhen në fund të akseve për të parandaluar dëmtimet eventuale
të strukturës së makinës. Zakonisht lidhja e këtyre ndërprerësve bëhet në ndonjë qark
elektronik që kur ndonjëri nga ndërprerit të kyçet qarku ta ndale furnizimin e motorëve,
mënyra tjetër është që softueri ti kontrollojë ndërprerësit dhe në rast se ndonjëri kyçet
softueri duhet ta ndalë komandimin e motorëve.
Çka duhet të bëjmë nëse nuk na mjaftojnë hyrjet për ti lexuar secilin ndërprerës ?
Në këtë rast mund të lidhim të gjithë ndërprerësit në seri dhe të përdorim një hyrje të
vetme për lexim, që në rast se ndonjëri nga ndërprerësit të kyçet ne mund ta lexojmë
atë.
44
Punim Diplome
Bashkangjitur
Pjese elektronike:
1 Mikrokontroller
1 Furnizues i rrymës
1 Ftohës
1 Pllake ndërmjetësuese
3 Motorë
Pjese softuerike:
45
Punim Diplome
Përfundimi
Realizimi praktik për ne ishte një eksperience e veçante, njëkohësisht dhe sfidë e
madhe sepse kishim për qellim t’iu shmangemi rutinave të dirigjimit të makinave në
mënyrat standarde përmes porteve paralele dhe serike. Ne vendosem të bëjmë një
dirigjim duke përdorur rrjetin kompjuterik për të komanduar mikrokontrollerin.
Shkrimi i një programi në gjuhën G-Kod është një punë e lodhshme, përveç që duhet të
dihen sintaksa e kësaj gjuhe, po ashtu duhet të njihet mirë edhe matematika. Duke u
nisur nga ky problem ne zhvilluam edhe një softuer i cili është pjesë e programit për
dizajn vektorial CorelDRAW, në të cilin thjeshtë mund të vizatohet një figure
gjeometrike, si p.sh. rrethi, katërkëndëshi, etj. Përmes këtij softueri ne e bëmë po aq të
lehtë edhe gjenerimin e G-Kodit.
Duke u nisur nga fakti se ekzistojnë versione të ndryshme të gjuhës G-Kod, edhe ne e
krijuam një version të cilin e përkrahë softueri jonë që e komandon mikrokontrollerin.
46
Punim Diplome
Bibliografia
47