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


Browsing this Thread:   1 Anonymous Users






Re: dsPIC30f4011 輸入捕捉轉速換算
#4
版主
版主


查看用戶資訊
如果你抓到的現在 Period - 上一次的 Period 的值超過 32768 時,你可以考慮換檔。也就是說當差值小於一設定值時-- Timer Prescaler 就換低一點像 除8 變除1,反之就是除8 變除64。這樣再配合計算就可以適應高、低轉速。

其實方法有很多種,自己想一下再分析一下自己的想法是否可行?

發表於: 2009/9/25 15:31
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: dsPIC30f4011 輸入捕捉轉速換算
#3
新會員
新會員


查看用戶資訊
我有一個問題,使用capture時假設已經先把timer的prescaler設到8,可以讀到最小轉頻為50Hz
那如果轉頻越來越小最後停下來...有甚麼方法可以知道這件事情嗎?
因為依照現在的範例程式,一但轉頻越來越小讀到的數值就會開始不正確
一但轉頻停下來LCD上顯示的數值也是不正確的,要怎樣才可以讓他顯示為0呢?
謝謝~~

發表於: 2009/9/25 0:21
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: dsPIC30f4011 輸入捕捉轉速換算
#2
版主
版主


查看用戶資訊
參照:

ko963741 寫道:
版主你好,我要用capture功能偵測風力裝置的轉速(hall sensor),以下是RTC捕捉練習的程式、LCD螢幕以us顯示週期

while(!Int_flag);
Int_flag = 0;
while(!Int_flag);
DisableIntIC8;

Int_flag = 0;
.
.
.
if( timer_edge[1] >= timer_edge[0]) 新的計數值是否比上一次的計數值大?
period = timer_edge[1] - timer_edge[0]; 大的話就直接減去舊的值即可得到轉速的時間
else
period = 65536 + timer_edge[1] - timer_edge[0]; 要是不夠減的話代表有溢位產生,計算時要考慮其進位後的差異值


period = period / 1.843200 ; //FCY=7372800/4

Show_Rpm_LCD();

(1)問題一
如果旋轉一圈有10個pulse(假設為10Hz方波),依照這個時間差值算法,實際週期=100ms,timer_edge[1] - timer_edge[0]之值應該要184320,但是已經超過暫存器MAX了,我是不是應該將震盪頻率再調低一點符合差值小於65536?
Input Capture 還是維持 1:1 的輸入比率,別忘了 Timer2 & Timer3 有 Prescaler 的設計在裡面,Timer 的 Fcy 太快了那就使用 Prescaler 來降低輸入到 Timer 的 Fcy。總之,你要確實了解一下你所要抓的脈衝範圍,從最慢到最快的值為何,導入 Timer 裡去算算看要如何設定Prescaler 或調整Fcy 來符合你的需求。

(2)問題二
period暫存器不容許小於1的數值嗎?以上式FCY用1.8432當除數是不是為了避免period/FCY 之後值小於1的問題?
period / 1.843200MHz (Fcy) = period * Tcy 這樣不就可以直接得到轉速的時間了。注意一下此 period 不是所謂的period暫存器,把它當作一般的變數來看不要搞混了

(3)問題三
我要將運算出來的period用LCD顯示(轉ASCII code),是不是一定要先符合問題2的狀況才能做轉換?
period 的值不可能太低的,想想看再怎樣轉的快的馬達有可能高過 1.832MHz 的速度嗎?

我有試過拿磁鐵在hall sensor上面移動,我移動的頻率大約為2Hz,但是顯示出來的週期差異很大(0~4XXX us),因為很多觀念不確定,也不清楚它到底在顯示什麼。


問題有點多,有勞各位幫幫小弟了,真的很想弄懂~謝謝

發表於: 2009/8/21 12:12
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


dsPIC30f4011 輸入捕捉轉速換算
#1
新會員
新會員


查看用戶資訊
版主你好,我要用capture功能偵測風力裝置的轉速(hall sensor),以下是RTC捕捉練習的程式、LCD螢幕以us顯示週期

while(!Int_flag);
Int_flag = 0;
while(!Int_flag);
DisableIntIC8;

Int_flag = 0;
.
.
.
if( timer_edge[1] >= timer_edge[0])
period = timer_edge[1] - timer_edge[0];
else
period = 65536 + timer_edge[1] - timer_edge[0];

period = period / 1.843200 ; //FCY=7372800/4

Show_Rpm_LCD();

(1)問題一
如果旋轉一圈有10個pulse(假設為10Hz方波),依照這個時間差值算法,實際週期=100ms,timer_edge[1] - timer_edge[0]之值應該要184320,但是已經超過暫存器MAX了,我是不是應該將震盪頻率再調低一點符合差值小於65536?

(2)問題二
period暫存器不容許小於1的數值嗎?以上式FCY用1.8432當除數是不是為了避免period/FCY 之後值小於1的問題?

(3)問題三
我要將運算出來的period用LCD顯示(轉ASCII code),是不是一定要先符合問題2的狀況才能做轉換?

我有試過拿磁鐵在hall sensor上面移動,我移動的頻率大約為2Hz,但是顯示出來的週期差異很大(0~4XXX us),因為很多觀念不確定,也不清楚它到底在顯示什麼。


問題有點多,有勞各位幫幫小弟了,真的很想弄懂~謝謝

發表於: 2009/8/19 16:51
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... ]

教育訓練中心

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