DIY AC inverter _1(Sine Wave)
今天是Jan_29,(蛇年) 新春今天我想與大家分享,我的New year project。
如標題,我自己製作一個DC AC inverter。我在前篇文章diy-motor-driver中製作驅動器,這個Project 我意識到,對於H橋好像/疑似...... 沒有這麼的熟練。H橋,非常得泛用,驅動器逆變器...越思考細節,就越多的疑惑。帶著這些問號,我開始了這個Project。
Fig1. 我們印象中的 H Bridge
好我整個裡一下我的疑惑
Q1 : NMOS作為上管,要如何驅動? Q1/Q3 Source 對應到不是GND.....
Q2 : 我要如何用PWM 驅動 ? 如何產生Sine wave (弦波) ?
.....更多疑惑,我除了H_Bridge...本身,一概不懂。
開工
帶著上面的疑問,把想像到的 Item 先寫下來
1. NMOS 構成的H Bridge。(畫就是了Fig 1...pass)
2. 產生Sine wave (弦波)
3. 如何驅動H Bridge ?? (再說)
4. 其他不明的問題....
2. 產生Sine wave (弦波)
3. 如何驅動H Bridge ?? (再說)
4. 其他不明的問題....
2. 產生Sine wave
我所想到我熟悉的Microchip, 就有PWM 功能了 手邊剛好有一顆 Microchip_PIC16F1829 (以下簡稱1829),馬上看看Datasheet。果然有PWM功能(Fig2 )
Fig2, 1829,資料來源:Microchip Technology Inc.
要產出sine wave,所需要的工具有了,接著我們把Sine Wave 拆為上半(V>0)/下半(V<0),週期
如下圖(Fig 3),我先預設拆為64格好了(邊走邊調整)。
以1829運算速度,我們現場運算sine值,並不現實。所以這裡我們用"LUT"(Lookup Table),我們用Excel 獎其畫出來(Fig 3)。
LUT 預先算好,這裡我們只用半個周期,List 第64格,剛好是0(準備轉向了)。後面說明Code時,會再提到。
Fig 3 sine wave
前面有一件事情我也疑惑,為甚麼要取半個周期就夠 ? 其實是我讀Data Sheet (Fig 4)時發現的,Microchip 的ECCP 提供4種增強型的 PWM 控制(Enhanced PWM)。
Fig 4. PWM type sequence diagram,資料來源:Microchip Technology Inc.
4種PWM ,如下 :
00 =Single output;
01 =Full-Bridge output forward;
10 = Half-Bridge output;
11 =Full-Bridge output reverse
OK,我想看到這裡,算是幫筆者我把黃老爺的條腿給接上了,我再"01" <=>"11",之間反覆切換不就實現了嗎? 這樣我只需要準備半個周期的 LUT。
計算
設計目標50Hz,每個完整周期128細分
50Hz = 20 ms
20ms /128 = 0.15625 ms ; 156.25μs
=> 我們的每一個PWM周期 156.25μs
TMR 的設定貼在下面
TMR2 = 0; // clear TMR2
PR2 = 155; // setting PR2, TMR2 trigget interrput every 156.25 us
T2CON = 0b00001100; // TMR2 Postscaler 1:2(0001), TMR2(0), Prescaler 1:1(00)
不多說,把TMR 的Code 貼上來,跟大家分享,Full code inverter(github.com)
下面是1829量測結果,Fig 5上下管, 6下管加上電容
Fig 5, 藍色部分為 上管/ 黃色部分就是重點"sine wave"
Fig 6 , 下館量測,插上22uF 電容,半個周期的sine wave
到這裡我總結一下,製作"inverter"我們需要"H 橋" + "Sine wave",到這裡"Sine wave"完成我們完成了 50%(明明才寫好code 而已...)。
下一步我們就把H橋電路實現出來,接上我們的PIC16F1829
未完.... To be continued...
留言
張貼留言