@irex
單管諧振感應加熱數字同步機制解析 [圖片] 1.MCU輸出脈沖加至Q1的G極時,Q1飽和導通,電流i1從DC_BUS流過L2,由于線圈感抗不允許電流突變.所以在t1~t2時間對線圈充電i1隨線性上升.2.在t2時MCU輸出脈沖結束,Q1截止,同樣由于感抗作用,i1不能立即變0,于是向C2充電,產生對電容充電電流i2.3.在t3時間,C2電荷充滿,電流變0,這時L2的磁場能量全部轉為C2的電場能量,在電容兩端出現左負右正,幅度達到峰值電壓,在Q1的CE極間出現的電壓實際為逆相脈沖峰壓+電源電壓.4.在t3~t4時間,C2通過L2放電完畢,i3達到最大值,電容兩端電壓消失,這時電容中的電能又全部轉為L2中的磁能,因感抗作用,i3不能立即變0,于是L2兩端電動勢反向,即L2兩端電位左正右負,由于IGBTD的存在,C2不能繼續反向充電,而是經過C2、IGBTD回流,能量反沖到C1(電源濾波電容)行成電流i4.這就是我們前面所說C1在電路角色對于電原濾波扮演角色反而比較弱,而是幫助完成終止諧振運作已利下次磁能(L2)充電.所以C1會承受最低一各LC諧振頻率,也就是C1必須注意有頻率需求要求.5.在t4時間,此時IGBTCE上電壓會過零點,因此同步檢知電路Q2截止,MCU檢知到”H”信號后輸出第二個MCU輸出脈沖,但這時Q1的UE為正,UC為負,處于反偏狀態,所以Q-不能導通,取而代是由IGBTD導通來完成i4電流,待i4減小到0,L2中的磁能放完,即到t5時Q1才會開始第二次導通.6.待i4結束后,整體動作又開始重復i1~i4過程.7.在整各電流周期里,我們可以整理如下說明各i作用:a.t1~t2的i1是線圈L2磁能充電←IGBTON:IGBTDOFF.b.t2-t3的i2是線圈L2對電容C2的充電電流←IGBTOFF:IGBTDOFF.c.t3~t4的i3是電容C2對通過L2放電的電流←IGBTOFF:IGBTDOFF.d.t4~t5的i4是線圈L2對電容C2充電電流←IGBTON:IGBTDON. 如上我們可以了解實際上IGBT導通僅在t1~t2,t4~t5是IGBTD在導通完成整體諧振回路,其中IGBTD是由LC諧振組件來決定時間,外在控制是無法控制的;而MCU是僅能在t1~t2控制線圈L2充電,也就是對對整各諧振網補能.在補能中如果補能能量大也就意味輸出功率可以加大;但如果補能小那也意味輸出功率會變小.但有一點必須注意,補能的能量必須要在同步檢知能檢知的最低要求下否則將導致同步錯亂IGBT可能在t2~t4間開啟,這時能量很大如果開啟會導致IGBT毀滅性破壞.至于IGBTG脈寬要多寬?這就是回到上面所說,整各脈寬由下決定1.諧振網LC諧振時間,此時間外界無法干預.2.決定輸出功率的線圈充磁時間. 因此我們可以得到一各準確數據那就是(LC基本諧振時間/2)+負載耗能補償時間.因此我們必須了解到在軟件產生IGBT輸出脈沖時所需要的最低脈沖.但這又怎樣得知?如果要讓MCU去做這計算那是不現實的,最簡單方式就是利用同步電路來完成.回到剛剛分析7.a-7.d我們得知在雖然在t4時間由于C2對L2充電結束IGBTCE為”0”,雖然在t5時L2會將電感反電動勢經過IGBTD對C1放電,對IGBTCE也是”0”,此時同步檢知輸出為”0”,MCU若以此信號就開啟IGBT是否洽當?這里可以肯確是很恰當,因為此時有IGBTD來終止諧振,此時就算IGBTG有信號也無關析,只是我們要了解這段是無功段,而真正要對整體諧振網補能祇要大于這時間既可.也就是(LC基本諧振時間/2)+負載耗能補償時間.從上面分析我們因該很清楚IGBTG時間需求后,接下來我們來分析怎樣知道補能時間大小.我們先用下列數據獲得分析信息:1.補能能量從主回路分析中我們知道,補能最低是給予L2>C2充電能及C2>L2反沖能.2.第二次反充L2>IGBTD>C1充能可以完全不要.3.補能能量從主回路分析中我們知道,補能最大是L2>C2充電壓上限必須在IGBT承受耐壓下,否則IGBT會被電壓擊穿.4.L2能量會被負載消耗(這就是我們期望發熱),但這對整體諧振脈沖處理軟件運行中我們不需理會,因為我們已把負載當成L2一部分來看待. 由上分析我們得到兩個軟件運作機制,最小跟最大限制. 在這我們用主回路運作再分析一下上面-1-分析,可們可以得到下面同步運作推論:1.如果充能剛好也就是IGBTG導通時間剛好,那將會造成C2>L2充能剛好到”0”點,也就是t4時間點在”0”點上,這時IGBTD根本不會動作.此時剛好同步檢知Q2截止,MCU檢知到”H”這時MCU可以對IGBT發出動作信號,此時線圈L2馬上開始充電.也就是沒有t4~t5時間了.2.如果充能過大也就是IGBTG導通時間過大,則將在L2>C2終止時其電壓會超越IGBTVCE耐壓限制,此時R3/R4/D3高壓檢知電壓提高,MCU可以檢知這信號后在t4時間IGBT導通時間將之縮短,在下一周時再檢知是否高壓過高,如果過高下一周期再減小IGBT導通時間,也就是線圈L2充能.3.如果充能不夠也就是IGBTG導通時間過小,那將會造成C2>L2充能無法到”0”點,也就是t4時間點在”0”點之上,這時同步檢知Q2無法截止,MCU也無法檢知到”H”這時MCU必須有一各時間機制來應對給IGBT發出動作信號,而這機制會將上周導通時間加長,當機制啟動將迫使IGBT導通,注意此時IGBT是屬于硬導通,理論上這時IGBT承受電流會很大,但是幸好造成沒”0”點也就是t3~t4已把諧振能量放完,馬上要進行L2>C2二次充電,這時IGBT導通時,對線圈而言是剩余能量+充電能,由于線圈充電能以固定,也就是說對線圈充能是原來線圈最低充電能-線圈剩余能量,如此反而IGBT電流比較小.當機制啟動輸出此時線圈L2馬上開始充電.也就是沒有t4~t5時間了.從上面分析如果要用軟件完成同步輸出,那意味MCU必須有一各定時器,這定時器就是所謂”內部機制”,而這”內部機制”如何在整體軟件運行? 我們可以如下分析:1.感應啟動信號通知MCU感應開始輸出.2.MCU將”定時器”設定為中斷模式,并將頻率從最高,這頻率注意必須要是IGBT能承受頻率.3.“定時器”啟動后MCU這時可以去做其他事情,比如顯示;鍵盤輸入等等..4.“定時器”時間到進入中斷程序處理,這時候檢查”同步信號”如果是”1”把表示充能過大,所以我們把”定時器”時間減1.5.“定時器”時間到進入中斷程序處理,這時候檢查”同步信號”如果是”0”此時延遲一各小時間在檢查同步信號,如果同步信號”1”,,那表示充電洽當,我們將把”定時器”時間保持不動.6. “定時器”時間到進入中斷程序處理,這時候檢查”同步信號”如果是”0”此時延遲一各小時間在檢查同步信號,如果同步信號還是”0”,那表示充能不夠,所以我們將把”定時器”時間加1. 上述我們已經分析出如何利用軟件來做同步機制概念,接下來我們要把IGBT輸出融入結合,這才能真正使用.但如何加入這IGBT輸出信號,我們在依下列分析來決定:1.諧振回路中t2~t3時間會與t3~t4時間相同.這是因為LC諧振不管L>C或是C>L時間是相同的.2.諧振回路中t4~t5最低要求下可以不要.3.如上可以得知我們可以把整各時基分成三等份,以此為基準,這三等份如下:a.充電時間T1.b.L2>C2充電時間T2.c.C2>L2充電時間T3.d.T1時間如7.a所述,可以決定輸出功率.如上所述,時機可以分三等份,但是我們還要考慮我們還要對輸出調功,因此我們實際上要犧牲MCU其他時間給予T3時間,因為在調整T1時間后,T2;T3是沒法改變的,此時把T1時間差轉嫁給T3時間段,這樣我們可以讓程序更方便編寫: 接下來我們以上面條件將它與輸出結合機制分析:1.感應啟動信號通知MCU感應開始輸出.2.MCU將”定時器”設定為中斷模式,并將充電時間從最小給出,并輸出.-----------中斷進入--------1.“定時器”時間到進入中斷程序處理,這時候檢查”同步信號”如果是”1”把表示充能過大,所以我們把”定時器”時間減1,并把”充電時間”-1.2.“定時器”時間到進入中斷程序處理,這時候檢查”同步信號”如果是”0”此時延遲一各小時間在檢查同步信號,如果同步信號”1”,,那表示充電洽當,我們將把”定時器”時間與"充電時間”保持不動.3.“定時器”時間到進入中斷程序處理,這時檢查”同步信號”如果是”0”此時延遲一各小時間在檢查同步信號,如果同步信號還是”0”,那表示充能不夠, 所以我們將把”定時器”時間與"充電時間”+1.4.輸出延時一各"充電"時間(既功率)這時間可以使用一各小DO…LOOP架構語法. 如上結合后我們可以在MCU運行機制就OK了.這樣MCU有大于一半以上感應輸出處理時間供其他機制使用.[圖片] [圖片] ---------待續----------
數字單管諧震感應加熱技術(三)
數字單管諧振感應加熱運行機制解析
一. 數字單管諧振運行接口解析 :
前面已經解析了數字單管諧振的硬件部分與數字同步部分,接下來我門要解析數字單管諧振運行機制.
在解析上述運作之前,我門先必須先標定好程序運行接口,已利運行.
這有哪些程序運行接口,我門定義如下接口:
a.帶中斷的定時器時間設定接口T_INT_Delay.
b.同步檢知硬件中斷接口SYNC_INT_Px.
c.調整輸出功率延時設定接口POWER_Control.
d.高壓檢知硬件中斷接口HV_INT_Px.
e.高壓檢知記億接口HV_Flag.
f.定時器給值最大限制T_INT_Max.
g.定時器給值最小限制T_INT_Min.
h.同步檢知中斷計數器SYNC_INT_Ct.
i.同步檢知中斷計數器賦值設定SYNC_INT_CT_Data.
接下來我門針對上述接口解析 :
a.帶中斷的定時器時間設定接口T_INT_Delay --- 這是關析整體輸出機制,也是最復雜的,其時間可以透過控制程序來設定.其運作機制如下說明:
? 在感應輸出啟動時,其值是感應機制最小值;也就是T_INT_Min值.也就是第一時間感應機制輸出后,此值被入T_INT_Min值.
? 當下次時間中斷啟動后,也就是第二時間,T_INT_Delay就會依SYNC_INT_Px值來作應對,通常第二時間T_INT_Delay必定是”+1”,因為我門第一時間給的值是輸出功率最小(T_INT_Min)值,這肯定會促使T_INT_Delay + 1,因為SYNC_INT_Px因為給功過小導致SYNC_INT_Px檢知不到.
? 經過N各周期后,T_INT_Delay將會維持一定.
? 如上定義接口會改變T_INT_Delay有下列接口,分別是SYNC_INT_Px/POWER_Control/HV_INT_Px.
? 會與T_INT_Delay有作用狀態產生的接口是T_INT_Max/T_INT_Min.
b.同步檢知硬件中斷接口SYNC_INT_Px --- 這是使用帶中斷的IO口,此除了檢知同步信號外,也會減之線圈異常狀態.
當依正確同步信號過來他應該落在T_INT_Delay可控范圍內;有就是說會在T_INT_Delay未到時同步就進來,或是大于T_INT_Delay時間值.
但有一狀況那狀態就值得深思,假設一但現圈短路或是放電;或負載異常掉落突然改變感量,這都容易產生VCE突然掉落,這樣有可能導致IGBT 逃脫不了dv/dt雪崩魔掌,或是導致下次運作機制以正常方式開啟IGBT,這將進而導致IGBT損壞.
因此;我門要有一機制有能力立即SYNC_INT_Px檢知,唯一有效快速方法那就是此接口必須帶有”中斷機制”.
c.調整輸出功率延時設定接口POWER_Control --- 這機制將是崁在T_INT_Delay,其做用是決定IGBT ON時間,決定IGBT ON時間意味就是決定線圈L2充電時間;換角度說就是決定輸出功率.
d.高壓檢知硬件中斷接口HV_INT_Px --- IGBT VCE 高壓是對IGBT一各很大傷害,他將導致IGBT高壓擊穿;因此他必須有效防范.
高壓產生有兩種,
一是輸出功率過大導致,其實這決不是主因,因為在產品設計上已經把最大值考慮進去,唯有不同是使用者放不同鍋具;比如鋁鍋具.這時可能原來安全輸出功率瞬間產生壓.
二是電源突然猛降又升起造成,當原猛降時會造成輸出功率不夠以至IGBT VCE無法拉低,SYNC_INT_Px接口機制會無法檢知到,而導致T_INT_Delay + 1輸出,若此時突然電壓攀升,那將有可能電壓超過,因此;我門將電壓限制在安全范圍內檢知,比如1200V IGBT 我門就設定在 1000V.
當高壓中斷HV_INT_Px機制產生,他將會設定HV_Flag接口記憶,已利在T_INT_Delay接口內做出-1動作.
e.高壓檢知記億接口HV_Flag --- 當高壓中斷HV_INT_Px接口被啟動,這意味有高壓產生,因此在高壓中斷成許上要設定HV_Flag已利在T_INT_Delay接口內做出-1動作.
而這HV_Flag接口應該再每一個T_INT_Delay接口結束要退出時將他清除.
f.定時器給值最大限制T_INT_Max --- 此接口崁入于T_INT_Delay接口內,這接口目的是限制T_INT_Dela最大值,此最大值是在產品設計時被加熱最大功率;因此當T_INT_Delay值超過T_INT_Max時,整體運行將應該被停止運行.
會導致T_INT_Max接口運作,原因有二,如下說明 :
一是負載過大被加熱功率無法供給,導致SYNC_INT_Px接口無法判斷,此時T_INT_Delay會一值+1,企圖讓SYNC_INT_Px接口能判斷,但如果T_INT_Delay值大于T_INT_Max時那代表整體機器設計已到默認值,此時整體運作應該馬上關閉.
二是線圈L2突然短路,前面說過線圈L2突然短然也會引發SYNC_INT_Px接口運行,但如果短路不是很嚴重,那時SYNC_INT_Px接口有可能不會被引發,而導致象負載過大狀況一樣.也就是發生狀況跟負載過大狀況一樣運作.
g.定時器給值最小限制T_INT_Min --- 此接口崁入于T_INT_Delay接口內,這接口目的是限制T_INT_Delay最小值,此最小值是在產品設計時被加熱最小功率;因此當T_INT_Delay值小于T_INT_Min時,整體運行將應該被停止運行.
會導致T_INT_Min接口運作,原因如下說明 :
負載過小或是移鍋,將導致被加熱功率還是過大,導致SYNC_INT_Px接口一值有判斷或是HV_INT_Px接口被啟動,此時T_INT_Delay會一值-1,企圖讓SYNC_INT_Px接口不能判斷信號,但如果T_INT_Delay值小于T_INT_Min時那代表整體機器設計已到默認值,此時整體運作應該馬上關閉.
h.同步檢知中斷計數器SYNC_INT_Ct --- 這接口是由SYNC_INT_Px接口引發,在正常下這SYNC_INT_Ct接口最多只能引發一次計數,但如果引發兩次以上就有可能有意外狀態,至于這狀態是否能容許幾次就由SYNC_INT_CT_Data決定.
此狀態可以參考”同步檢知硬件中斷接口SYNC_INT_Px”說明.
i.同步檢知中斷計數器賦值設定SYNC_INT_CT_Data --- 此接口是崁入在T_INT_Delay接口內,這是允許SYNC_INT_Ct 能容忍幾次賦值,而引發SYNC_INT_Ct 接口組件是SYNC_INT_Px(請參考上述說明),此接口將放在T_INT_Delay接口執行尾端對SYNC_INT_Ct賦值動作.
二. 數字單管諧振感應加熱運行
數字單管諧振感應加熱運行下列列表 :
1.有鍋加熱運行.
2.無鍋運行.
3.功率調功.
4.提鍋保護.
5.過大電流保護.
6.線圈開路保護.
7.線圈短路保護.
8.IGBT VCE高壓保護.
9.IGBT過熱保護.
10.電源突波保護.
11.電源瞬間掉電保護.
接下來我門開始解析這些運行機制是如何運用接口運作.
1.有鍋加熱運行:
當鍋具(負載)放到線盤上,按下啟動鈕,運行機制將如下運作:
a.將預設功率參數給POWER_Control.
b.設定參數給SYNC_INT_CT_Data
c.以T_INT_Min給予T_INT_Delay.
d.啟動 T_INT 中斷.
e.第二時間T_INT中斷產生, SYNC_INT_Px探測到SYNC不到信號.
f.T_INT_Delay + 1.
g.SYNC_INT_CT_Data 賦值到SYNC_INT_Ct.
h.T_INT執行完畢,并退出T_INT中斷.
.
.
.
i.第n時間T_INT中斷產生, SYNC_INT_Px探測到SYNC到適當信號.
j.T_INT_Delay 不變.
k.SYNC_INT_CT_Data 賦值到SYNC_INT_Ct.
l.T_INT執行完畢,并退出T_INT中斷.
.
.
.
m.第n時間T_INT中斷產生, SYNC_INT_Px探測到SYNC到提前信號.
n.T_INT_Delay -1.
o.SYNC_INT_CT_Data 賦值到SYNC_INT_Ct.
p.T_INT執行完畢,并退出T_INT中斷.
運行機制重復e-p動作.
2.無鍋運行:
當無鍋(負載)時按下啟動鈕,運行機制將如下運作:
a.將預設功率參數給POWER_Control.
b.以T_INT_Min給予T_INT_Delay.
c.啟動 T_INT 中斷.
d.第二時間T_INT中斷產生, SYNC_INT_Px探測到SYNC提前信號.
e.T_INT_Delay - 1 .
f.發現T_INT_Delay < T_INT_Min 則T_INT_Delay不在遞減.
g.T_INT執行完畢,并退出T_INT中斷.
MCU主運行機制發現 T_INT_Delay < T_INT_Min 可以依設計給予無鍋啟動提示或對應動作.
3.功率調功 :
MCU主運行機制在啟動運行后,使用者可以透過設計面板選擇功率,MCU主運行機制可以調整POWER_Control接口值既可.剩下會將由T_INT_Delay接口來處理(請參考T_INT_Delay接口說明)
4.提鍋保護 :
當運行機制已啟動(開始加熱中),使用者提鍋,這會導致類似無鍋啟動機制,也就是T_INT_Delay接口值會小于T_INT_Min接口值,這時MCU主運行可以采取下列反應:
a.因為這是發生在”有鍋加熱運行”后發生,MCU主運行因該判斷是提鍋狀態.
b.MCU主運行機制可以啟動蜂鳴器鳴叫提醒使用者.
c.MCU主運行機制在一段時間鳴叫后可以關閉整機運行.
d.MCU主運行機制在鳴叫警告時間內如果發現T_INT_Delay > T_INT_Min則可知使用者已放鍋,并解除蜂鳴器鳴叫.之后還是由T_INT_Delay接口依SYNC_INT_Px接口訊息繼續自動運行.
5.過大電流保護 :
當鍋俱(負載)過大這將引發機器高頻電流過大,此時SYNC_INT_Px接口將會檢測不到SYNC信號,這將促使T_INT_Delay + 1動作.
當T_INT處理機制發現T_INT_Delay 值大于 T_INT_Max值,此時立刻關閉T_INT_Delay機制,不讓加熱運行繼續. MCU主運行機制在T_INT結束后也會發現T_INT_Delay > T_INT_Max,這時MCU應該做鳴叫警告提示,并也解除加熱運行.
這里我門發現為何在T_INT_Delay接口中一但發現他自己值大于T_INT_Max既馬上關閉自我運行,而小于T_INT_Min確是交給MCU主運行機制處理?這是因為在發現大于T_INT_Max接口值時這是電流過大警訊,如果再等T_INT結束在交給MCU主運行機制處理,這時有可能MCU主運行正在處理其他事務,而緊接來的T_INT又會對IGBT啟動,這有可能對IGBT傷害;因此,我門必須買上關閉,這實既使MCU運行機制在處理其他事務單歌幾各T_INT在回頭處理T_INT_Delay > T_INT_Max狀況都是很安全.
6.線圈開路保護 :
由于運行中SYNC_INT_Px會一值處于發現不到 SYNC信號,以至于會引發如”電流過大”狀態,進而T_INT_Delay 會主動關閉運行已達保護IGBT.
所以MCU主運行機制要區別是”線圈開路”還是”電流過大”則MCU則必須有第三方監測,比如線圈磁場監測或是入電監測等.
7.線圈短路保護 :
當加熱運行機制啟動后,如果線圈短路,此時期電感將大幅變化,因此會引發HV_INT_Px接口動作,HV_INT_Px也會引發HV_Flag紀錄.此時由于電感變小諧振頻率變小,也就是再下一個T_INT來之前SYNC_INT_Px接口會運行大于一次運行,這將導致SYNC_INT_Ct接口動作,當SYNC_INT_Ct值被減至”0”,在SYNC_INT_ct接口機制中應該馬上關閉T_IN T_Delay運行,也就是關閉感應加熱輸出,這樣可以確保IGBT不致損壞.
MCU主運行機制也可以從HV_flag與SYNC_INT_Ct=0訊息下判定是線圈短路,并給予設計上顯示及相對處理.
8.IGBT VCE高壓保護 :
當IGBT VCE過高時,T_INT_Delay會做相對處理,MCU主運行機制可設計在如果這高壓再一定時間內一值持續來,MCU主運行機制應該要暫停加熱,并顯示訊息.
高壓產生有下狀況 :
a.給予功率過高,導致線圈L2充磁過高.
b.負載突然異動,比如加熱中突然破裂.
c.負載材質不適合,比如放鋁鍋.
9.IGBT過熱保護 :
這將完全由MCU主運行機制透過第三方組件完成,比如溫度開關或是熱敏電阻.
10.電源突波保護 :
在加熱過程中,如果電源有瞬間突波,這也會導致高壓過高,這時T_INT_Delay接口運行機制會自行處理,但如果連續這狀況,MCU主運行機制會將它視為高壓過高而執行 IGBT VCE高壓保護.
11.電源瞬間掉電保護 :
在加熱過程中,如果電源有瞬間掉電(這掉電電壓要夠深,否則不會對機器有傷害),運作第一時間這將引發移鍋處理狀態,而第二時間將引發高壓保護.會引發高壓保護原因乃是電源瞬間又補起,而T_INT_Delay才剛調整移鍋對應值,此時電源又突然恢復,這時就惠導致充磁過大而引發高壓.
MCU運行主程序可以依T_INT_Delay在一小段時間快速變化又引發高壓下季可判斷是發生電源瞬間掉電.
MCU運行主程序可以設計作反應,必如關機依小段時間或是直接關機來保護機器.
------- 待續 ---------