SMT計算周期後的結果資料處理?
|
||||
---|---|---|---|---|
中級會員
|
使用SMT去計算ZCD_out的Period time得出兩個byte的值(SMT1CPR)但隨時在變化,不知道這兩個byte的值要怎麼轉換成ms?
發表於: 2021/4/20 10:51
|
|||
|
Re: SMT計算周期後的結果資料處理?
|
||||
---|---|---|---|---|
中級會員
|
感謝Ryan大
在您的範例中為何要把SMT Timer Period 設成0xFFFFF0呢? SMT Timer Period真正的用途是?
發表於: 2021/4/20 11:56
|
|||
|
Re: SMT計算周期後的結果資料處理?
|
||||
---|---|---|---|---|
版主
|
參照:
1. 我忘記了,那應該是 MCC 自訂的數值,應不用理會它。 2. SMT Timer Period 是何? SMT 裡並沒有標示有此名稱的暫存器。如要硬指定的話,SMT1TMR 這 24-bit 的計數器是比較適合的。
發表於: 2021/4/20 14:30
|
|||
|
Re: SMT計算周期後的結果資料處理?
|
||||
---|---|---|---|---|
中級會員
|
正確量測ZCD_out週期是否如下
Clock select FOSC/4 Prescaler 1:8 input period = 1us 所以是中斷得到的SMT1PR*1us = ZCD_out週期嗎? 實驗結果SMT1PR每次抓到的值都不一樣 無法取得AC頻率 ZCD輸入為AC 115VAC 請幫忙看看哪裡有錯 謝謝
unsigned int freqHolder = 0;
發表於: 2021/4/28 19:01
|
|||
|
Re: SMT計算周期後的結果資料處理?
|
||||
---|---|---|---|---|
版主
|
這可能要配合軟體及示波器一起來除錯。
首先,請先檢測一下 ZCD_Out 的輸出波形與 AC 是不是同步的,因為 ZCD 會有一個 0.75V 的遲滯帶,所以請檢查 ZCD_Out 的方波輸出是否很乾淨? 2. Duty & Period 依你的應用所需是不是都要量測每一個輸入的週期? 可否需要週期時再測量或測量周期功能是在背景下完成的。 可以在 SMT1_PR_ACQ_ISR( ) 中斷函數裡加入一個 I/O Toggle Output 功能,進入中斷 I/O 腳輸出 High, 離開中斷前將 I/O 腳變成 Low 準位。這樣就可以了解,多久中斷一次,有沒有與 ZCD 的輸入同步,中斷處理花了多少時間? 有這些資訊才可以做出一個好的週期量測。 以上是我的建議。
發表於: 2021/4/29 11:55
|
|||
|