前兩篇我們知道了,MACH3的加速度參數(shù)之間的關(guān)系,那如何用數(shù)學(xué)公式做出分散的與加速度有關(guān)的時(shí)間間隔點(diǎn)呢???
我們知道一個(gè)物體的加速度有下面幾個(gè)公式
V=V0+AT;
S=V0 T+1/2(A (T^2));
當(dāng)V0為0時(shí),則:
V=A*T;
S=1/2*(A*(T^2));
這幾個(gè)公式都是在連續(xù)的時(shí)間段時(shí)的公式,但CNC只能按步來(lái)控制,也就是說(shuō)這控制時(shí)間上時(shí)間是分散的,隔離的.
步進(jìn)加速度分散點(diǎn)如下所示:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
---------加速----------勻速---------減速-------------
從開始速度最小加速到速度最大(加速),后按最大速度運(yùn)行(勻速),又從速度最大是降速到速度最小時(shí)(減速),每次的時(shí)隔不一,
這個(gè)怎才能算出來(lái)的呢??
推論:
常量:
Steps.per 每mm單位的步值
F 速度
A 加速度
加速到最高速時(shí)所用到的參數(shù):
Nm 所用的脈沖數(shù)量
fmax 最大時(shí)速時(shí)的頻率(HZ)
Tmax 最大時(shí)間
加速到最高速時(shí)的頻率: fmax= (F/60)*(Steps.per)
加速到最高速時(shí)所用到的脈個(gè)數(shù): Nm=(fmax*Tm)/2
加速到最高速時(shí)所用時(shí)間: Tmax =(F/60)/A
加速到最高速時(shí)所用脈沖個(gè)數(shù): Nmax = (fmax*Tmax)/2
由前幾個(gè)公式推出分散點(diǎn)n所要時(shí)間與參數(shù)之間的關(guān)系:
Tn^2= (2Tmaxn)/fmax;
Tn= sqrt((2Tmaxn)/fmax);
理論有了,現(xiàn)在就按這個(gè)思路寫出程序:
<<預(yù)處理梯型加速時(shí)間表>> ******
因?yàn)檫\(yùn)算中有開根號(hào)與雙精度運(yùn)算,每次所調(diào)用的時(shí)間很大,為了提供更大的空間給插補(bǔ)運(yùn)算,
所以提前在程序頭中算好所需的時(shí)間,填入時(shí)間表中
但請(qǐng)注意,這里所需的內(nèi)存很大,不過(guò)為了運(yùn)行時(shí)間,這個(gè)還是值的.
#define Steps_per 320
#define Steps_mms 1200 //速度 MM/分鐘
#define Steps_A 120
u16 Fmax(u16 Steps_mms_s,u16 Steps_per_s)
{
return (Steps_mms_s/60)*Steps_per_s;
}
double Tmax(u16 Steps_mms_s, u16 Steps_A_s)
{
return (double)(Steps_mms_s/60)/Steps_A_s;
}
u16 Nmax(u16 Fmax,double Tmax)
{
return Fmax * Tmax/2;
}
Fm = Fmax(Steps_mms,Steps_per);
Tm = Tmax(Steps_mms,Steps_A);
Nm= Nmax(Fmax(Steps_mms,Steps_per),Tmax(Steps_mms,Steps_A));
for(i=0;i {
Tn=(sqrt((2*Tm*i)/Fm)*1000000)-Tn_z; //因?yàn)樗愠鰜?lái)為秒,但在程序中用秒為時(shí)間單位會(huì)太大,所以就換成微秒
Tn_z= sqrt((2*Tm*i)/Fm)*1000000;
}
本來(lái)是想做到運(yùn)算器程序里,因本人圖個(gè)快捷,就電子表格生成一個(gè):
把時(shí)間間隔倒數(shù)后導(dǎo)入到電子表格中生成如下加速曲線表
這樣更直觀地反應(yīng)參數(shù)之間的關(guān)系
-
運(yùn)算器
+關(guān)注
關(guān)注
1文章
164瀏覽量
16598 -
加速度計(jì)
+關(guān)注
關(guān)注
6文章
704瀏覽量
46024 -
CNC系統(tǒng)
+關(guān)注
關(guān)注
0文章
16瀏覽量
6306 -
Mach3
+關(guān)注
關(guān)注
0文章
13瀏覽量
4349
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
怎樣用市面上賣的20元左右的接口卡 連接臺(tái)達(dá)伺服驅(qū)動(dòng)器
mach3雕銑創(chuàng)建
如何將電機(jī)驅(qū)動(dòng)器與光隔離輸入連接
深入Mach3內(nèi)核(中文)
![深入<b class='flag-5'>Mach3</b>內(nèi)核(中文)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MACH3軟件輸入設(shè)置
![<b class='flag-5'>MACH3</b>軟件輸入設(shè)置](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
mach3安裝和設(shè)置
![<b class='flag-5'>mach3</b>安裝和設(shè)置](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何為mach3 bsmce04u連接傳感器LJ12A3 4Z/BX
![如何為<b class='flag-5'>mach3</b> bsmce04u連接傳感器LJ12A<b class='flag-5'>3</b> 4Z/BX](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MACH3脈沖的工作與輸出(一)
![<b class='flag-5'>MACH3</b><b class='flag-5'>脈沖</b>的<b class='flag-5'>工作</b>與<b class='flag-5'>輸出</b>(一)](https://file1.elecfans.com/web2/M00/8D/4C/wKgZomS44SKANMHHAAB95Oj0M8Q950.jpg)
MACH3脈沖的工作與輸出(四)
![<b class='flag-5'>MACH3</b><b class='flag-5'>脈沖</b>的<b class='flag-5'>工作</b>與<b class='flag-5'>輸出</b>(四)](https://file1.elecfans.com/web2/M00/8D/4D/wKgZomS44xeAY6l7AAA96qOjoa8055.jpg)
評(píng)論