在用AVR的單片機(jī)做逆變器,步驟如下:
1.第一步,用相位修正模式PWM產(chǎn)生SPWM波形,載頻為15.586K,寫出程序,做調(diào)試的PCB。
2.第二步,用低電壓進(jìn)行開環(huán)調(diào)試,實(shí)測(cè)得出正弦波。
3.第三步,實(shí)現(xiàn)閉環(huán)控制,各種保護(hù)功能。
實(shí)測(cè)時(shí)空載波形像矩形波,改變調(diào)制度影響不大,輕微(20W)帶載后波形變化很大,存在嚴(yán)重失真。測(cè)試主電壓為24vdc,MOS管驅(qū)動(dòng)TLP250,外接3路隔離驅(qū)動(dòng)電源,電壓均為12V。
是在空載時(shí)調(diào)制度高了些,每次更改的調(diào)制度值并沒有被更新。這樣,理論上行的通,諧波少些;成本低,外圍電路簡(jiǎn)單;計(jì)算方便,便于查表。
實(shí)際中都是PC機(jī)算出的值,單片機(jī)在運(yùn)行中不進(jìn)行運(yùn)算,只是對(duì)邏輯和時(shí)序進(jìn)行處理,假如執(zhí)行運(yùn)算程序,8位的單片機(jī)根本來不及;實(shí)測(cè)執(zhí)行運(yùn)算時(shí),載頻變小,原因分析:雖然采用中斷處理輸入PWM值。但由于在進(jìn)行乘法或除法計(jì)算時(shí)暫用的寄存器多,響應(yīng)中斷前,存儲(chǔ)這些寄存器需要一定的時(shí)間,所以造成載頻實(shí)際變小很多。
用C語言的話,計(jì)算的話比如系數(shù)為1.01(每次調(diào)整變量為1%),那就是乘以101然后再除以100,對(duì)C語言不是問題,但連續(xù)累積的話計(jì)算量就比較大;比如連續(xù)調(diào)整3次都是電壓不夠。那對(duì)于單次的值就是101*101*101/1000000的計(jì)算量,這樣不會(huì)丟數(shù)據(jù)(因?yàn)槿≌?。
用PIC的做逆變的還是很多的,是適用為主,一個(gè)單片機(jī)外圍所有的信號(hào)都可以處理,許多公司還在用51單片機(jī),ARM的感覺一則位數(shù)太高,沒必要,還有就是要一個(gè)很長(zhǎng)的熟悉過程。