用dsPIC30F的QEI模塊測(cè)量交流電機(jī)速度和位置(05-100)
![](http://editerupload.eepw.com.cn/200902/f0d123e8d694d83a5dff4f2f2157e411.gif)
本文引用地址:http://www.butianyuan.cn/article/91537.htm
表1 變量值和分辨率
用QEI計(jì)算角度位置
控制算法采用小數(shù)運(yùn)算,需要將位置計(jì)數(shù)器結(jié)果變換成一個(gè)符號(hào)小數(shù)。下式用于計(jì)算每轉(zhuǎn)最大計(jì)數(shù)值。
MAX_COUNT_PER_REV=PULSES_PER_REV×COUNT_INC_PER_REV-1=500×4-1=1999
![](http://editerupload.eepw.com.cn/200902/37a247c733bfd48e0e5e34929ce0fa11.gif)
這里分辨率為0.18°。
用這個(gè)結(jié)果,位置計(jì)數(shù)變量需要將0到1999變換成有符號(hào)16位小數(shù)值0到32767。下面的公式是定標(biāo)系數(shù)。
![](http://editerupload.eepw.com.cn/200902/e716454a194eb08cad281c55cbc42185.gif)
標(biāo)志脈沖配置自動(dòng)地復(fù)位POSCNT。
編碼實(shí)例
實(shí)例2:用QEI計(jì)算角位置
int AngPos[2]={0,0};
//用于速度計(jì)算的兩個(gè)變量
int POSCNTcopy=0;
{
POSCNTcopy=(int)POSCNT;
If (POSCNTcopy<0)
POSCNTcopy=- POSCNTcopy;
AngPos[1]= AngPos[0]
AngPos[0]=(unsigned int)(((unsigned long) POSCNTcopy*2048)/125;
//0<=POSCNT<=19991到0<=POSCNT<=32752
return;
}
![](http://editerupload.eepw.com.cn/200902/fdb6a0da5fb7c95eb00f102a9af5bec7.gif)
圖5 ×4模式正編碼器信號(hào)
分頻器相關(guān)文章:分頻器原理
評(píng)論