• slider image 442
  • slider image 497
  • slider image 498
  • slider image 499
  • slider image 500
  • slider image 502
:::

論壇索引


Board index » All Posts




Re: PIC16F15313 zcd issue
#1
資深會員
資深會員


想請問一下如果MCU的VSS是橋式整流的負端,這樣如果要做ZCD有甚麼樣的建議,因為使用RC高通的方式一定會有截止頻率的問題,而我的應用對零點的準確性有比較高的要求,基本上希望Phase delay僅能慢個數十us,不知道有甚麼好建議呢?謝謝!

發表於: 7/11 16:34
頂部


Re: 程式是這樣要把ADC的轉換值用USART輸出可是最大值是1024正確最小值卻不是0該怎麼修改
#2
新會員
新會員


使用的是PIC16F1825

發表於: 7/11 16:26
頂部


Re: 程式是這樣要把ADC的轉換值用USART輸出可是最大值是1024正確最小值卻不是0該怎麼修改
#3
管理員
管理員


Hi,

首先方便詢問您提供MCU的名稱嗎?
您貼上來的程式碼包含了ADC的初始化函數,並在main function中循環讀取ADC的數值。需再對照Datasheet上來查看初始化的設定。

建議您可以先檢查以下幾點:
1. ADC的輸入腳位是否有正確接地或是符合您的規劃
2. 參考電壓是否設定正確
3. 腳位是否有雜訊或是其他干擾

發表於: 7/11 10:26
頂部


Re: PIC16F15313 zcd issue
#4
管理員
管理員


Hi,

根據您所提供的波形圖,ZCD輸出波形的高低電位寬度不對稱,而Delay約為900微秒。
除了嘗試增加上拉或下拉電阻之外,建議您也可以嘗試調整RC時間常數來降低串聯電阻和電容的數值,以此減少RC時間常數來降低延遲。
使用AC Coupling ZCD的方式電阻和電容的串聯會形成一個高通濾波器。這個濾波器的截止頻率可能會因此影響訊號的相位導致ZCD出現延遲。

發表於: 7/11 9:49
頂部


程式是這樣要把ADC的轉換值用USART輸出可是最大值是1024正確最小值卻不是0該怎麼修改
#5
新會員
新會員


#include "mcc_generated_files/system/system.h"
#include
#include

#define _XTAL_FREQ 8000000
#define BAUDRATE 9600
#define MY_UBRR ((_XTAL_FREQ / 16 / BAUDRATE) - 1)

// Function to initialize UART
void UART_Init() {
SPBRG = MY_UBRR;
TXSTAbits.TX9 = 0; // 8-bit transmission
TXSTAbits.TXEN = 1; // Enable transmitter
TXSTAbits.SYNC = 0; // Asynchronous mode
TXSTAbits.BRGH = 1; // High-speed mode
RCSTAbits.SPEN = 1; // Enable serial port
RCSTAbits.CREN = 1; // Enable continuous reception

}

// Function to transmit a single character via UART
void uart_transmit(char data) {
while (!TXSTAbits.TRMT); // Wait for buffer to be empty
TXREG = data; // Transmit data
}

// Function to transmit a string via UART
void uart_transmit_string(const char* str) {
while (*str != '\0') {
uart_transmit(*str++);
}
}

// Function to initialize ADC
void initADC(void) {
ADCON0 = 0b00001001; // Select AN2 (CHS = 00010), enable ADC (ADON = 1)
ADCON1 = 0b10010000; // Right justify result, Fosc/8 as ADC clock
ADCON0bits.GO_nDONE = 1; // Start A/D conversion
}

// Function to read ADC value
unsigned int readADC(void) {
ADCON0bits.GO_nDONE = 1; // Start conversion
while (ADCON0bits.GO_nDONE); // Wait for conversion to complete
return ((ADRESH << 8) | ADRESL); // Return 10-bit result
}

// Function to convert integer to string
void itoa(unsigned int value, char* buffer) {
sprintf(buffer, "%u", value);
}

// Main function
int main(void) {
SYSTEM_Initialize();
UART_Init();
initADC();

char adcBuffer[6]; // Buffer to hold ADC value as string

while (1) {


// Read ADC value
unsigned int adcValue = readADC();

// Convert ADC value to string
itoa(adcValue, adcBuffer);

// Transmit ADC value
uart_transmit_string(adcBuffer);
uart_transmit('\n'); // Newline for readability
uart_transmit('\r');
__delay_ms(1000); // Delay before next reading
}
}

發表於: 7/9 10:13
頂部


Re: PIC16F15313 zcd issue
#6
資深會員
資深會員


附上waveform

Attach file:



jpg  LeCroy20.jpg (70.17 KB)
9227_6685f90adb55c.jpg 1024X547 px

發表於: 7/4 9:21
頂部


Re: PIC16F15313 zcd issue
#7
資深會員
資深會員


我將電路改為ac coupling zcd的方式, 計算出串聯電阻1Meg,串聯電容0.1uF,
這樣的方式可以動作,但是ZCD Cross的點是錯誤的,Delay約是900us,
如果按照正確的波形來看,ZCD的OUTPUT輸出High與low應該各是一樣的波形寬度,但是我的波形是high與low差異很大,想請問用pullup電阻或pulldown電阻能夠改善嗎?

Attach file:



jpg  ac coupling zcd.jpg (74.12 KB)
9227_6684cbd282bc8.jpg 1266X665 px

發表於: 7/3 11:56
頂部


PIC16F15313 zcd issue
#8
資深會員
資深會員


目前使用PIC16F15313,前一版使用組容式降壓式可以偵測zcd的,但由於硬體修改,改為橋式整流後經過電阻與積納二極體降壓到5v,但未注意到橋式整流後MCU的VSS是接到橋式整流的-,導致目前ZCD由ACL-->電阻-->ZCD無法再0.75V做CROSS,不知道是否有方法可以將ZCD應用在這樣的情況呢?

Attach file:



jpg  zcd.jpg (100.81 KB)
9227_6683c4889e29b.jpg 1478X784 px

發表於: 7/2 17:12
頂部


Re: PICkit4與PICkit5的差異?ProgrammerToGo 燒錄檔可互用嗎?
#9
資深會員
資深會員


感謝!您的說明很有幫助。

在使用PICkit4做ProgrammerToGo時就覺得如果可以一直儲存多組燒錄檔該有多好,沒想到
PICkit5就做到了。

這對要外出更新的人來說很有用!!

發表於: 7/2 10:49
我相信解決問題的方法不只一種,所以我在回答同好的問題時或者提出與主題不同的方案,
請不要以此做為攻擊的目標,畢竟我也只是想和大家討論如何解決問題而已…
解決問題最重要,.....
頂部


Re: PICkit4與PICkit5的差異?ProgrammerToGo 燒錄檔可互用嗎?
#10
管理員
管理員


Hi 您好,

首先,PICkit5 的 Programmer-to-Go (PTG) 燒錄檔可以給PICkit4用。
以下為Pickit5 與 Pickit4 主要的差異:
- 可在 SD卡上儲存多個檔案並選擇進行燒錄
- 可以透過藍芽連到手機APP來選擇要燒錄的PTG檔
- 使用Type-C 連接

發表於: 7/2 10:41
頂部



(1) 2 3 4 ... 7526 »



:::

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... ]

教育訓練中心

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