CNC ismet
Tauri
elektrolista at pdg.hu
Wed Jul 20 20:08:50 CEST 2005
Hi Lista
Wednesday, July 20, 2005, 7:19:18 PM, you wrote:
Zoltan> Hali!
>> altalaban 20msec a DDA ciklus ido cnc gepeken
Zoltan> Ami 1Mhz-es 8 bitessel is 20000 oraciklus...
a hunor pl 8085-el 6.6 mhz megy
a fanuc 6 8Mhz 8086-al
Zoltan> De biztam benne, hogy irsz valamit a bedrotozott okossagokrol is..:-)
Zoltan> Engem erdekel...
akor hunor DPG(digitalis Palya Generator) cimszavakban
a DPG 1 sebesseg(18 bit) es 2 geometria osztot(24 bit) tartalmaz. Egy alap
frekibol ket a tengely iranyu sebessegel aranyos impulzus sorozatot
allit elo.
Egyenes interpolacional a sebesseg oszto a programozott palamenti
sebessegel aranyos szamot , a geometriai osztok a tengelyenkent
megtenni kivant uttal aranyos szamot kapnak a procitol.
A sebesseg oszto a szabalyzo kortol kapott es az impulzus adok
jeleivel szinkronizalt orajelet eosztja palyamenti sebesegnek
megfeleloen.
A geometriai osztok ezt a frekit osztjak tovabb a sebesegkomponensek
aranyaban.
A kor interpolaciot nem tudom leirni hogy ertheto legyen (bar lehet az egyenes sem
volt az)
de holnap megprobalom beszkenelni.
a kort tulkep ugy csinalja hogy swbol semmit sem szamol szinte
a keruleten egy ugy nevezet "futopontot" hasznal
az egyik tengely jelado visszacsatolasa csokenti a masik tengely
kimeno impulzusait.
de van pl regi RASKIN vezerlo amiben 8 bites INTEL proci van (akkora
mint egy csaladi gyufas doboz, feher porcelan aranyozot labakkal)
a DDA a kovetkezo kepen van megvalositva.
kiszamolja hogy a kovetkezo 20msecben melyik tengelynek mennyit kell
lepni.
a lassitas gyorsitas negyzetesen tortenik (ujab gepeken gorbevel
alithato).
ez az ertek egy szamlaloba kerul. a tengelyeken levo jelado impulzusai
egy masik szamlalot leptetnek elore hatra irany fuggoen. a ket
szamlalo osszegzese kerul a D/A atalakitora ami erositon keresztul
hajtja a motort.
a az elso szamlaloba mozgas parancs erkezik akkor a ket szamlaloban
mindadig lesz kulombseg amig a tengely elnem mozdul es a masodik
szamlalo utol nem eri az elsot.
a kulombseget hivjak lemaradas regiszternek.
de forditva is mukodik. ha megprobalod kezel eltolni a tengelyt akkor
a masoik szamlaloban lesz ertek az elso hoz kepest igy megint kimegy
az alapjel es a motor reagal.
minnel nagyobb az elteres annal gyorsabban akar menni.
de swbol is kel szabalyozni a sebesseget.
a mechanika tehetetlensege miatt.
ezert tudni kell mi a kovetkezo mondat es a ketto iranyvektorabol kel
szamolni gyorsulast lassulast
ezt ezzel lehet gyorsan
dec=1-(abs((angle_1-angle_2) mod 180)*(1/180))
Ez a képlet 1-et ad, ha a két szakasz egy irányba mutat és 0-át, ha 180 fokot zárnak be
0 nal megalasig lassitani kell es ujra gyorsitani mig egynel nincs
lassitas gyorsitas
a DDA-nal mindig fix ciklus idok vannak
amikor indul a mozgas akkor 0-rol gyorsulnank a kivant sebesegre
felteve ha eleg hosszu a palya
ezert azt kell kiszamolnom hagy lepesben tudok gyorsulni es hany
lepesben lassulni.
ha meg marad akkor azokban a szeletekben a programozot sebesegel
haladok.
a DDA tulkepen azt szamolja ki hogy az adot ciklusban hanyat lep az
adott tengely.
ez az ertek regi gepeken egybol a D/A -ra kerult ujabakon van
lehetoseg osztani szorozni parameterbol.
es itt egy forras Zsoltinak es akit erdekel
x86-ra DDA interpolacio
http://www.pdg.hu/letolt.php?fid=dda.zip
a 3d.asm
"video db 0" soraba
ha ide 0 helyet 1-et irunk akkor grafikusan rajzolja a lepeseket
command_radius dd 1000 - ez adja meg az
kor radiuszat
command_speed dd 100 ; palyamenti
sebesseg
command_x dd 4000 ; x elmozulas
command_y dd 2000 ; y
command_z dd 1000 ; z
command_dir dd 0 ; kor irany
command_plane dd plane_xy ; kor sik lehet
xy, xz, yz
high_speed dd 1500 ; max seb
akt_speed dd 1000
low_speed dd 10 ; min seb
mukodes felkell tolteni a command regisztereket es aztan meghivni a
"intp_3d" rutint ha egyenesen vagy az "intp_arc" rutint ha kort
akarunk csinalni
a kimeneti listan latszik hogy gyorsit majd lassit
More information about the Elektro
mailing list