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