• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: 請問dsPIC的QEI暫存器RPM的運算
#7
新會員
新會員


查看用戶資訊
我們實驗室有量馬達轉速的儀器,量出來的RPM直跟我dspic計算出來的值差蠻多的

馬達正反轉的確可以由QEICONbitrs.UPDN這個bit即可,因為我的同步馬達需要知道我轉子位置的資訊,我以我是由QEI暫存器的pulse來得知次資訊,但我為了方便pulse的處理所以限制POSCNT永遠介於0~8000,導致我要計算RPM的話跟範例程式有點不能match

不知道有沒有高手可以提供其他的方法來計算馬達轉速的RPM值?

發表於: 2006/3/21 14:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dsPIC的QEI暫存器RPM的運算
#6
資深會員
資深會員


查看用戶資訊
你的作法我沒試過耶!
不過正反轉看QEICONbits.UPDN即可。

真實的RPM你手邊沒有機器可以測嗎?
人的感覺不準的,拿儀器實測一下比較好^_^

發表於: 2006/3/21 13:57
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dsPIC的QEI暫存器RPM的運算
#5
新會員
新會員


查看用戶資訊
我的QEI暫存器設定和範例程式有點點不一樣

我也是設定4倍模式,但我設定當index訊號觸發時,我的POSCNT就會歸零,並不像範例程式所設定的把index觸發歸零的bit disable掉,所以我的POSCNT在馬達正轉時永遠只會在0~8000

但馬達反轉時,POCNT的暫存器會從65536開始往零的方向計數,我透過一個判斷式
if(POSCNT>20000)
{POSCNT=POSCNT-57536}
如此使得我的馬達不管在正轉或是反轉POSCNT都介於0~8000,這樣以方便我的程式在判斷我的POSCNT後,便可以輸出正確的電壓向量給我的同步馬達。

我想請問說如果我要計算RPM的話,我令QEI_New=POSCNT
這樣的話,去計算我的馬達轉速RPM這樣出來的RPM值是正確的嗎??

PS:我以這樣的方式去做實驗感覺作出來的RPM數據好像有點
不太對,不知道有沒有高手可以指點我那邊有問題??

發表於: 2006/3/20 23:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dsPIC的QEI暫存器RPM的運算
#4
資深會員
資深會員


查看用戶資訊
RPM=((long)QEI_Diff*600/(2000*4))
一圈有2000pluse,所以一圈後的QEI在4倍編碼設定下應該是2000*4=8000

發表於: 2006/3/20 19:30
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dsPIC的QEI暫存器RPM的運算
#3
新會員
新會員


查看用戶資訊
那在請問如果知道我的馬達旋轉一圈已經知道有2000個pulse,我的QEI暫存器也是設定4倍模式,那我要計算我的RPM的話是不是把256/4這個數值改成2000/4這樣,若我要正確的運算我馬達的轉速RPM的話我的RPM計算式是不是
RPM=((long)QEI_Diff*600/2000)

發表於: 2006/3/20 15:04
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dsPIC的QEI暫存器RPM的運算
#2
資深會員
資深會員


查看用戶資訊
參照:

duncan 寫到:
請問一下有人知道30F4011這顆dsPIC的暫存器QEI中要如何計算馬達轉速RPM?

我看了一下中文書裡面的範例
RPM=((long)QEI_Diff*600/256)

這是什麼意思阿??
是因為要配合程式的100ms才更新一次所以*600嗎
那/256是為什麼???


1.是的!
0.1秒更新一次,所以推論一分鐘的count數是QEI_Diff*600。
2.256在這沒什麼意義,書上是設四倍編碼,所以應該是假設真實世界編碼器的Plues數是256/4=64 pluse/cycle。這裡的數值應該要依據你用的Encoder來決定。就是這樣

發表於: 2006/3/20 11:02
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問dsPIC的QEI暫存器RPM的運算
#1
新會員
新會員


查看用戶資訊
請問一下有人知道30F4011這顆dsPIC的暫存器QEI中要如何計算馬達轉速RPM?

我看了一下中文書裡面的範例
RPM=((long)QEI_Diff*600/256)

這是什麼意思阿??
是因為要配合程式的100ms才更新一次所以*600嗎
那/256是為什麼???

發表於: 2006/3/19 22:50
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------