CNC ismet
Nya'ri Viktor
office at flexelec.hu
Tue Jul 19 10:37:35 CEST 2005
hwsw famulus wrote:
>> Ferde vonalat én DDS elven oldanám meg; ki van kerülve az osztás, mint
>> olyan, és gyönyörüen, folyamatosan léphet mindkét motor.
>
>
> ..en meg Bresenham algoritmus-sal csinalom, ami
> ennyi a Timer rutinban a masik levleben vazolt
> T tenegely szerinti interpolalast is belertve...
>
> (A T visszafele szamol max-rol)
>
> Eddig ettol gyorsabb es
> kevesebb matekot kero megoldast
> nem talaltam meg ....
Kétdimenziós lépés-vezérlésre szerintem ez a legegyszerübb (egyszerü
példa; feltétel: y<=x):
Pl. ha X=23-at, és Y=9-et kell lépni, akkor
int8 X=23;
int8 Y=9;
int8 i,dds;
dds=0;
for (i=x; i; i--) //összesen x darab lépés
{
one_step_x(); //x mindig lépjen egyet
dds+=y;
if (dds>=x)
{
dds-=x;
one_step_y(); //y lépjen egyet, ha kell
}
}
Háromdimenziónál ugyanez mégegyszer, csak ott a one_step_z() jön be a
képbe, feltéve, hogy z<=x és y<=x
Szal a ciklusváltozó mindig a legnyagyobb elmozdulás értékéről indul
értelemszerüen.
More information about the Elektro
mailing list