Tính toángiátrịbảng Sin trongđiềuchếsóngSin(AC) Như chúng ta đã biết thì trong phần nghịch lưu phải có điềuchế PWM khi đó dạng sóng đầu sau nghịch lưu nó là dạng sin như thế thì mới chạy được cả tải cảm , tải dung, tải thuần trở. Sin này được ông Furie nói vậy. Còn dạng sóng đầu ra chỉ là xung vuông đối xứng thì chỉ chạy được tải thuần trở như bóng đèn, nóng lạnh Còn động cơ thì không chạy được! Đóng mở nghịch lưu chỉ đóng mở bằng các tín hiệu on - off ( Mosfet, IGBT, GTO, Thyristor). Các tín hiệu đóng mở nghịch lưu phải theo một quy luật nào đó để thu được dạng điện áp đầu ra nó phải là dạng hình sin. Trong con vi xử lý nó cũng chỉ xuất ra tín hiệu on - off bằng các bộ PWM nhưng thời gian on hay off điều chình được hay người ta gọi là PWM. Thực ra con vi điều khiển nó cũng tạo được tín hiệu hình sin đầu ra tại 1 chân của nó bằng các bộ biến đổi DAC ( số - tương tự) cái này cũng cần phải tínhgiátrịbảng sin. Ở đây biendt đang nói về giátrịtrong nghịch lưu điềuchếsóngSin nên nó có sự khác biệt. Hiểu qua thế này các giátrịtrongbảngSin nó làm thay đổi thời gian on hay off. Tức là nó làm thay đổi giátrị của thanh ghi điềuchế thời gian on - off trong vi điều khiển. Giátrị thanh ghi này được thay đổi theo bảng Sin. 1) Tại sao ta phải dùng bảng sin? Như chúng ta đã biết thì điện áp hình sin nó có dạng như sau : Qua hình vẽ trên ta thấy sóngsin đối xứng qua gốc tọa độ. Các điểm trên hình vẽ thể hiện các giá trị điện áp tại các điểm đó! + Tại điểm 0 thì điện áp bằng 0V + Tại điểm 1 điện áp dương > tại điểm 0 mang một giátrị nào đó + Tại điểm 2 tức là điện áp dương lớn nhất > tại điểm 1 và mang giátrị là A + Tại điểm 3 điện áp dương < tại điểm 2 mang một giátrị điện áp nào đó + Tại điểm 4 điện áp =0 V + Tại điểm 5 điện áp âm < tại điểm 0 và mang giátrị đối xứng với 3 + Tại điểm 6 điện áp âm nhỏ nhất có giátrị = -A + Tại điểm 7 điện áp âm mang 1 giátrị nào đó > điểm 6 + Tại điểm 8 thì điện áp trở về 0V Do có sự thay đổi điện áp theo thời gian nên điện áp ở các thời gian là khác nhau . Điện áp lớn nhất tức là 2 đỉnh sin mang giátrị A và -A. Tại đỉnh sin này thì điện áp là lớn nhất sau đó giảm dần và tăng dần. Đến đây các bạn đã hiểu phần nào? Điều đặt ra ở đây là cái gì có thể thay đổi điện áp hình sin theo thời gian? Hiện nay có 1 cái thay đổi được đó là PWM tức là điều khiển điện áp ra tải. Nhắc qua tí về PWM PWM thực chất là nó làm thay đổi điện áp ra tải. Cái này nó phụ thuộc vào thời gian on và thời gian off ( T = on + off). Nhìn dưới đây! Sơ đồ trên là dạng xung điềuchếtrong 1 chu kì thì thời gian xung lên (Sườn dương) nó thay đổi dãn ra hoặc co vào. Và độ rộng của nó được tínhbằng phần trăm tức là độ rộng của nó được tính như sau : Độ rộng = (t1/T).100 (%) Uo = Uv.t1/T (Điện áp đầu ra) Như vậy thời gian xung lên càng lớn trong 1 chu kì thì điện áp đầu ra sẽ càng lớn. Nhìn trên hình vẽ trên thì ta tính được điện áp ra tải sẽ là : + Đối với PWM = 25% ==> Ut = Umax.(t1/T) = Umax.25% (V) + Đối với PWM = 50% ==> Ut = Umax.50% (V) + Đối với PWM = 75% ==> Ut = Umax.75% (V) Cứ như thế ta tính được điện áp đầu ra tải với bất kì độ rộng xung nào. Kết Luận : Như vậy thì các giátrịtrongbảngsin làm thay đổi PWM từ đó thay đổi điện áp ra tải. Tại mỗi giátrịtrongbảngsin ứng với PWM khác nhau. Mỗi điểm trên hình sin mang một giátrị ứng với mỗi điện áp khác nhau. ==> BảngSin thay đổi được độ rộng xung (PWM) 2) Xây dựng công thức tínhgiátrịSin Như trên biendt đã trình bày thì giátrịtrongbảngsin làm thay đổi PWM nên công thức của nó phải liên quan đến giátrịtrong thanh ghi điều khiển độ rộng xung của vi xử lý! Như chúng ta đã biết thì sóng dạng sin có phương trình x = Asin(wt) + A là biên độ của sóngsinsin + wt là góc pha ( từ 0 đến 360 độ) Giátrị của sin được chạy từ [-1;1]. Vậy khi sin = 1 thì x = A tức khi sin đi qua góc 90 độ và sinx =-1 thì x = -A khi sin đi qua góc 270. Dựa vào công th ức của Sin trên ta tínhtoán ra công thức cho bảng Sin. Một điều mà tôi nhắc đi nhắc lại là các giátrịbảngsin nó phải liên quan đến thanh ghi điềuchế độ rộng xung. Ở đây A là biên độ và là giátrị lớn nhất cho vào thanh ghi điều khiển độ rộng xung của vi xử lý để PWM = 100 như vậy các giátrị còn lại sẽ nhỏ hơn A vì Sin = [-1,1]. Ta đi phân tích hình vẽ sau : Do các giátrị đặt vào thanh ghi điềuchế độ rộng xung của vi xử lý là các giátrị dương nên ta sẽ có công thức tổng quát như sau: sin_table = A/2Sin(2*3.14*i/n) + A/2 + A là biên độ của sóngsin tức là giátrị lớn nhất đặt vào thanh ghi PWM để cho PWM = 100% + n là số bước của sóngsin hay nó tương đương với 1 chu kì. Tức là số điểm cần lấy trên điểm sin. Ở đây tôi lấy 8 điểm tức với n = 8 + i là một đ iểm bất kỳ trên Sin. giátrị của i nằm trong khoảng từ [0 - n]. Tại giátrị i = 2 thì biến độ A là lớn nhất và i =6 là nhỏ nhất ứng với lần lượt sin_table = A và sin_table = 0. Số bước sin các pác có thể lấy nhiều hay ít thì tùy nếu mà nhiều thì dạng sóngsin đầu ra sẽ chuẩn mà ít khi có tải nó sẽ méo! Tới đây các pác đã hình dung được phần nào được tại sao lại có công thức sin như thế! Nó dựa vào đưa giátrị vào thanh ghi PWM của vi điều khiển. Tại i = 0 tức là sin_table = A/2 cứ như vậy cho đến hết i =n; Nếu mà không hiểu chỗ này các pác hãy ngồi nghĩ một tí là ra! Thôi biendt sẽ chuyển sang các tínhtrong excell để cho nhanh và thuận tiện không cần phải tínhbằng tay. 3) Tínhbảngsintrong Excell Tôi tính luôn cái giátrị n =8 và biến độ A = 100 a) Nhập cột A của Excell là các giátrị của i ở đây i chạy từ [0 8] b) Tiếp theo dùng công thức trên tính các giátrị tương ứng ở cột B Ta nhấn vào cột B và hàng 1 sau đó ở trên chỗ fx ta đánh công thức vào như hình dưới đây! Enter cái là được 1 giátrị khi i = 0 và giátrị đó là 50. Tiếp theo ta tính các giátrị khác bằng cách từ cái đầu tiên ta kéo xuống tới giátrị i =8 như hình dưới đây! Kéo xuống là ok rất nhanh và tiện lợi. Thế này có hàng trăm bước sin cũng tínhtrong vòng có mấy phút c) Giátrịbảngsin thu được sin_table = 50, 85 , 100, 85, 50, 15, 0 , 15, 50 ( Nên lấy các giátrị nguyên vì vi điều khiển tínhtoán được số nguyên nhanh hơn số thực) 4) Giátrịbảngsintrong vi điều khiển Như trên ta tínhgiátrịbảngsin việc còn lại ta làm thế nào để đưa các giátrị trên vào thanh ghi PWM của vi xử lý. Thông thường được làm như sau : + Lưu giátrịbảngsin đó vào 1 mảng : ví dụ như : const char sin_table[]= {50,85,100,15,0,15,50}; + Sau đó thanh ghi PWM truy xuất bảngsin đó. Thời gian truy xuất hết các giátrịsin sẽ là tần số đầu ra của sóng Sin. Đến đây các bạnc đã hình dung được phần nào về cách chuyển đổi DC sang AC. Trong lập trình thì mỗi người có những thuật toán khác nhau. Bảngsin có thể thay đổi tùy theo người lập trình. . Tính toán giá trị bảng Sin trong điều chế sóng Sin (AC) Như chúng ta đã biết thì trong phần nghịch lưu phải có điều chế PWM khi đó dạng sóng đầu sau nghịch lưu nó là dạng sin như. hình sin đầu ra tại 1 chân của nó bằng các bộ biến đổi DAC ( số - tương tự) cái này cũng cần phải tính giá trị bảng sin. Ở đây biendt đang nói về giá trị trong nghịch lưu điều chế sóng Sin nên. qua thế này các giá trị trong bảng Sin nó làm thay đổi thời gian on hay off. Tức là nó làm thay đổi giá trị của thanh ghi điều chế thời gian on - off trong vi điều khiển. Giá trị thanh ghi này