久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 418|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

市電過(guò)零檢測(cè)相關(guān)-STC/AI 8G單片機(jī)通過(guò)PCA模塊捕獲市電脈沖寬度,測(cè)量結(jié)果有誤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)型號(hào)為STC/AI 8G1K08A

工程前半部分做了市電的過(guò)零檢測(cè),P33引腳通過(guò)限流電阻、RC濾波結(jié)構(gòu)直連市交流電(火線),并開(kāi)啟外部中斷INT1,檢測(cè)到下降沿后,在INT1中斷內(nèi)開(kāi)啟定時(shí)器進(jìn)行延時(shí)補(bǔ)償(考慮到繼電器響應(yīng)到吸合需要一定時(shí)間)

為了驗(yàn)證延時(shí)的效果,使用單片機(jī)P32端口監(jiān)控用電器端的電壓情況(反饋腳),繼電器吸合后用電器與火線相連接入市電,那么,只要測(cè)量P32端口初次通電的脈沖寬度,即可確認(rèn)火線進(jìn)入用電器端的初始相位

測(cè)量脈沖寬度的方法是,當(dāng)P32端口(ADC2)采集到高電平時(shí),立即開(kāi)啟PCA計(jì)數(shù),記錄初始PCA數(shù)值,并配置為下降沿中斷,中斷觸發(fā)后記錄當(dāng)前計(jì)數(shù)值,兩者相減,即為高電平持續(xù)時(shí)間,即脈沖寬度


理想情況下,經(jīng)定時(shí)器延時(shí)補(bǔ)償 T1 + 繼電器響應(yīng)時(shí)間 T2 后,如果在P32端口 測(cè)量初次通電的脈沖寬度為 10 ms(近似),說(shuō)明繼電器觸頭導(dǎo)通瞬間,恰好正是市電零點(diǎn)



PCA 配置:

void PCA_Init(void){
        P_SW1 &= 0x00;        //P_SW1 是外設(shè)功能腳切換寄存器,可以控制相關(guān)引腳啟用串口、PCA、SPI等功能,本例中置位 00 ,使得CCP0功能映射到 P3.2 端口上,其實(shí)也是CCP0的默認(rèn)引腳
        CMOD = 0x0C;          //PCA 模式寄存器,[3:1] 控制PCA 計(jì)數(shù)脈沖源選擇位即單次計(jì)數(shù)的周期 末位ECF-是否允許PCA 計(jì)數(shù)器溢出中斷,0-禁止 1-使能
                                       //0000 1100 系統(tǒng)時(shí)鐘/6  禁止計(jì)數(shù)器溢出中斷
        CCON = 0x00;          //B7-CF:PCA計(jì)數(shù)器溢出中斷標(biāo)志 B6-CR:PCA計(jì)數(shù)器允許控制位 B[2:0]-CCFn PCA模塊中斷標(biāo)志
                                       //PCA 控制寄存器  0000 0000 清除所有標(biāo)志位             
        CL=CH=0;                //清零PCA 計(jì)數(shù)器
        EA = 1;
}

PCA中斷服務(wù)函數(shù):

void PCA_ISP() interrupt 7{
         unsigned int capture=0;    //記錄此時(shí)進(jìn)入中斷的時(shí)間節(jié)點(diǎn)
         
         if(CCF0){                        //PCA 模塊只有一個(gè)中斷向量而包含多個(gè)中斷源, 需要先分辨中斷源再進(jìn)行中斷操作
                 CCF0=0;                //清除標(biāo)志
                 capture=((unsigned int)CH) <<8|(unsigned int)CL;
                 T_end = capture;
                 T_state = 1;
                 CR=0;
         }
}

PCA計(jì)數(shù)調(diào)用:

             if(check_flag){
                        Va=ADC_Read(2);                                      //ADC采樣P32端口電壓
                        if(Va>370){                                               //采樣值370轉(zhuǎn)換為電壓值為 1.2V 只有當(dāng)檢測(cè)到高電平時(shí)才會(huì)啟用PCA 計(jì)數(shù)功能
                                CR=1;
                                T_start = ((unsigned int)CH )<<8|(unsigned int)CL;    //記錄當(dāng)前計(jì)數(shù)值
                                CCAPM0 = 0x11;                               //CCAPMn PCA模塊模式控制寄存器 詳情參見(jiàn)數(shù)據(jù)手冊(cè)  
                                                                                       //B5-CCAPPn 允許 PCA模塊n進(jìn)行上升沿捕獲;  B4-CCAPNn 允許 PCA模塊n進(jìn)行下降沿捕獲; B0 ECCFn 允許 PCA模塊n 的匹配/捕獲中斷
                                                                                       //0001 0001 下降沿捕獲并使能中斷                       
                                check_flag=0;
                                }      
                        }
                        if(T_state){
                                if(T_start<=T_end)
                                        high_time=T_end-T_start;
                                else
                                        high_time=65536-T_start+T_end;
                                        T_state=0;
                                       
                                }
                                if(timer>=(high_time/100)){          //PCA計(jì)數(shù)周期是1us,定時(shí)器變量timer 的計(jì)時(shí)基準(zhǔn)是100ms,high_time/1000得到ms量級(jí),將ms量級(jí)的數(shù)字,乘以1000轉(zhuǎn)換為秒量級(jí),觀察燈亮?xí)r間(秒級(jí)別),即可獲得脈沖寬度
                                        state=OFF;
                                        timer=0;
                                }


經(jīng)測(cè)試,定時(shí)器補(bǔ)償3ms時(shí),PCA測(cè)量脈沖寬度為15.8ms
             定時(shí)器補(bǔ)償1ms時(shí),PCA測(cè)量脈沖寬度為17.8ms;

可以發(fā)現(xiàn),定時(shí)器補(bǔ)償部分正常運(yùn)行,但PCA脈沖測(cè)量結(jié)果出現(xiàn)極大偏差,理論上最大值僅為10ms(市電周期20ms的一半)

求大佬幫忙看看,是哪里配置有誤?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:235691 發(fā)表于 2025-6-6 17:22 | 只看該作者
繼電器是機(jī)械切換有延時(shí)
回復(fù)

使用道具 舉報(bào)

板凳
ID:301191 發(fā)表于 2025-6-7 22:10 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

地板
ID:301191 發(fā)表于 2025-6-11 14:47 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

5#
ID:401564 發(fā)表于 2025-6-12 16:59 | 只看該作者
過(guò)零應(yīng)該是跟可控硅搭配使用,而不是繼電器
繼電器吸合跟放開(kāi)的時(shí)間,都是跟彈簧有關(guān)系的,而彈簧的彈力遲早是會(huì)變化的,特別是mS級(jí)的時(shí)間,很難把握精準(zhǔn)的
如果要隔離,可用光耦控制
回復(fù)

使用道具 舉報(bào)

6#
ID:1109793 發(fā)表于 2025-6-12 17:50 | 只看該作者
繼電器也可以,一定程度上可以減小斷電時(shí)的火花的吧
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美色图另类 | 在线久草 | 精品国产免费一区二区三区演员表 | 久久久免费| 毛片视频网址 | 久热精品在线观看视频 | 91精品国产91综合久久蜜臀 | 一区二区精品 | 日韩高清黄色 | 久久综合国产精品 | 成年人精品视频 | 午夜成人免费视频 | 精品在线视频播放 | 日韩视频 中文字幕 | 久久精品福利 | 欧美美女被c | 日日夜夜天天 | 高清成人免费视频 | 欧美a区| 精品不卡 | 国内精品久久影院 | 中文字幕免费视频 | 一区二区三区福利视频 | 观看av | 日韩另类 | 国产中文在线观看 | 性色av香蕉一区二区 | 日韩中文字幕区 | 欧美精品一二三 | 久久高清 | 久久久日韩精品一区二区三区 | 色综网| 日韩精品一区二区三区中文字幕 | 日韩一区二区三区在线 | 国产精品一区二区在线免费观看 | 97av视频| 久久精品一区二区三区四区 | 秋霞电影一区二区 | 国产精品欧美一区二区三区不卡 | 欧美日韩一区二区视频在线观看 | 国产成在线观看免费视频 |