Giới thiệu phần mềm STM32CubeMX

Một phần của tài liệu Thiết kế mạch nạp cho xe điện sử dụng biến áp xung đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 49)

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.4. Giới thiệu phần mềm STM32CubeMX

2.4.1. Tổng quan về phần mềm STM32CubeMX

Phần mềm STM32CubeMX được hãng ST phát triển từ phần mềm STM32 Micro Explorer. Khi chưa có phần mềm STM32 Micro Explorer, việc lập trình đối với các vi điều khiển ARM là rất khó, từ đó các nhà phát triển đã tạo ra các thư viện để lập trình đơn giản hơn nhưng việc sử dụng chúng vẫn còn rất phức tạp.

Từ đó, hãng ST đã tạo ra phần mềm STM32 Micro Explorer để cấu hình ngoại vi và tạo project dựa theo các thư viện đó. Sau nhiều phiên bản cải tiến, STM32CubeMX được ra đời, đây là một phần mềm hoàn thiện giúp người dùng lập trình một cách dễ dàng.

2.4.2. Giao diện và các cài đặt cấu hình trên phần mềm STM32CubeMX

Sau khi khởi động phần mềm, giao diện ban đầu của phần mềm như sau:

39 Tại đây, người dùng có thể mở lại các project gần đây, bắt đầu project với ACCESS TO MCU SELECTOR để lập trình cho bất kì MCU STM32 nào, ACCESS TO BOARD SELECTOR để lập trình cho một board của hãng STM32 và ACCESS TO EXAMPLE SELECTOR đề truy cập vào một project mẫu.

Trong đề tài này, vi điều khiển được sử dụng là STM32F103C8 nên chúng ta bắt đầu project với ACCESS TO MCU SELECTOR.

Hình 2.31 Cửa sổ chọn vi điều khiển

Nhập tên vi điều khiển tại ô Part Number, chọn STM32F103C8 và bấm Start Project để bắt đầu lập trình. Sau khi chọn vi điều khiển, ta chọn chân điều khiển và các chế độ điều khiển.

40

Hình 2.32 Cửa sổ cài đặt cấu hình cho vi điều khiển

41 Chọn chân điều khiển như sau:

- PD0 và PD1: liên kết với thạch anh ngoài - PA1: là kênh ADC2

- PA8: là kênh Timer 1 channel 1

- PA13 và PA14: dùng khi nạp chương trình khơng cần nhấn nút reset để chạy chương trình

Tại đây, ta có thể chọn các chế độ cho ADC và Timer như hình sau:

Hình 2.34 Chế độ ADC

Trong chương trình, chế độ ADC2 là IN1 tương ứng với chân nhận tín hiệu ADC là PA1.

Chọn cách tạo xung PWM thông thường cho PA8:

42 Cài đặt bộ đếm cho Timer:

Hình 2.36 Bộ đếm Timer

Chọn các thơng số Prescaler (PSC), Counter Period (ARR)_giá trị lớn nhất của bộ đếm sao cho tần số của xung PWM đạt mong muốn. Trong đề tài này, tần số của xung PWM là 100KHz và tính tần số theo cơng thức sau:

FPWM = FCLK

(ARR + 1) ∗ (PSC + 1)

Trong đó: FCLK: là xung đồng hồ, ta chọn là 72MHz Từ đó, ta chọn PSC = 1 và ARR = 719.

43 Có 2 chế độ cho PWM:

- Mode 1: Ở chế độ đếm lên thì ngõ ra sẽ ở mức logic 1 khi CNT < CRR và ở mức 0 nếu CNT > CRR.

- Mode 2: Ở chế độ đếm lên thì ngõ ra sẽ ở ở mức 1 nếu CNT > CRR và mức logic 0 khi CNT < CRR.

Sau khi chọn chế độ cho các chân điều khiển, ta cài đặt cấu hình thời gian cho ADC và tần số xử lí của vi điều khiển.

Hình 2.38 Cấu hình thời gian của vi điều khiển

Chọn chế độ thông qua bộ phân tần PLLCLK cho System Clock và chọn các thông số liên qua để HCLK đạt 72MHz.

Hồn thành lập trình với STM32CubeMX, bấm vào GENERATE CODE để tạo project và tiếp tục lập trình các chức năng khác trên phần mềm Keil C

44

Hình 2.39 Cửa sổ đặt tên và tạo code cho vi điều khiển 2.5. Giới thiệu phần mềm Keil C 2.5. Giới thiệu phần mềm Keil C

2.5.1. Tổng quan về phần mềm Keil C uvision 5

Hiện nay, trên thề giới có rất nhiều phần mềm dùng để lập trình C cho các vi điều khiển như IAR, Keil C,.... Chúng được gọi là môi trường phát triển tích hợp IDE (Integrated Development Environment). Và Keil C là một trong những phần mềm IDE tốt nhất dùng để lập trình cho các vi điều khiển lõi ARM do hãng ST phát hành. Phần mềm Keil C uvision 5 là một phiên bản của phần mềm Keil C.

2.5.2. Giao diện làm việc của phần mềm Keil C uvision 5

Sau khi hoàn thành chọn cấu hình trên phần mềm STM32CubeMX, ta mở project bằng phần mềm Keil uvision 5 để lập trình.

45

Hình 2.40 Cửa sổ làm việc chính của phần mềm Keil uvision 5

Giao diện chính của Keil uvision 5 có 3 vùng:

- Vùng 1: là vị trí của các cửa sổ project, tại đây chọn main.c để lập trình code tại vùng 2, đồng thời cũng có thể quàn lý các thư viện, chương trình con và các tập tin trong project.

- Vùng 2: người dùng sẽ lập trình code tại đây.

- Vùng 3: Build Output. Đây là vùng hiển thì quá trình biên dịch chương trình. Đồng thời vùng này cũng hiển thị cho ta biết số lỗi (Error) và cảnh bào (Warning) của project. Nội dung của chương trình tại vùng 2:

Vi điều khiển sẽ nhận tín hiệu ADC từ biến trở, chuyển đổi dữ liệu từ ADC sang xung PWM sau đó xuất ra tại chân PA8. Tín hiệu xung này là đầu vào của IR2103 điều khiển MOSFET nhịp xung với tần số 50KHz.

46 Tại giao điện chính của phần mềm có một số cơng cụ chính như sau:

Build: dùng để biên dịch chương trình mà vi điều khiển có thể hiểu từ chương trình mà người sử dụng viết.

Download: Nhấn giữ nút reset và bấm Load đồng thời để nạp chương trình cho vi điều khiển.

Option for Target: dùng để chọn vi điều khiển cần nạp chương trình và chọn mạch nạp cho vi điều khiển.

Trong đồ án này vi điều khiển được sử dụng là STM32F103C8 và mạch nạp là ST- Link V2. Phần mềm Keil C uvision 5 sẽ tự nhận vi điều khiển và mạch nạp khi cả hai đã liên kết với máy tính.

47

2.6. Giới thiệu phần mềm SIMetrix/SIMPLIS 2.6.1. Tổng quan phần mềm SIMetrix: 2.6.1. Tổng quan phần mềm SIMetrix:

Phần mềm SIMetrix-SIMPLIS được phát triển bởi các kỹ sư của công ty SIMetrix Technologies Ltd. Thuật tốn cốt lõi mơ phỏng tương tự trong SIMetrix dựa trên phần mềm Spice được phát triển bởi nhóm CAD / IC tại khoa Kỹ thuật Điện và Khoa học Máy tính, đại học California tại Berkeley và trình mơ phỏng kỹ thuật số có nguồn gốc từ XSPICE được phát triển bởi Phịng thí nghiệm cơng nghệ thông tin và khoa học máy tính Viện Cơng nghệ Georgia.

Phần mềm SIMetrix-SIMPLIS tích hợp hai gói mơ phỏng: SIMetrix và SIMPLIS. Về cơ bản SIMPLIS simulator giống như SIMetrix nhưng nó được dùng để mơ phỏng các hệ thống chuyển mạch với tốc độ rất cao và khá chính xác.

Phát triển phần mềm SIMetrix-SIMPLIS đã đáp ứng nhu cầu về mô phỏng trong lĩnh vực điện tử về hệ thống số cũng như hệ thống chuyển mạch công suất.

2.6.2. Giao diện làm việc của phần mềm SIMetrix/SIMPLIS

Khởi động phần mềm và chọn chế độ mơ phỏng SIMetrix

48

Hình 2.43 Giao diện làm việc chính của phần mềm SIMetrix/SIMPLIS

Giao diện chính của phần mềm SIMetrix/SIMPLIS có các phần sau:

- Vùng 1: là nơi đặt các linh kiện, nối dây và hiện kết quả mô phỏng. - Vùng 2: là nơi quản lí các thành phần của một project.

- Vùng 3: là nơi hiển thị các lỗi và tiến độ mô phỏng project. Thanh tác vụ:

Thanh tác vụ có cơng dụng cơ bản như: mở bản mô phỏng mới, mở bản mô phỏng đã lưu, lưu bản mơ phỏng, phóng to, thu nhỏ, xoay chiều linh kiện, ....

Thanh công cụ:

Thanh công cụ chứa các linh kiện như điện trở, tụ, cuộn cảm, nguồn, diode, MOSFET, Opamp, IGBT và JFET, cũng có thể tìm kiếm linh kiện trên thanh cơng cụ

49 Nút mô phỏng:

50

CHƯƠNG 3. TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 3.1. Mô tả hệ thống 3.1. Mô tả hệ thống

Trên xe máy điện, nguồn điện của xe là từ bộ pin Lithium-ion tạo ra nguồn điện môt chiều 240V. Bộ pin này được tạo thành từ 60 viên pin mắc nối tiếp nhau. Do đó, để sạc cho bộ pin này cần phải phải đáp ứng hai yêu cầu về điện áp và cường độ dịng điện. Bên cạnh đó, mỗi viên pin có điện áp tối đa là 4,2V với 60 viên mắc nối tiếp nên điện áp từ bộ sạc phải lớn hơn 252V và cường độ dòng điện trong khoảng 0,32A. Dưới đây là mạch sạc pin Lithium-ion dùng biến áp xung.

Hình 3.1 Mạch sạc pin Lithium-ion dùng biến áp xung

Mạch sạc pin Lithium-ion có nguồn điện đầu vào là dịng điện dân dụng xoay chiều 220V - 50Hz và được chỉnh lưu thành dịng điện một chiều 311V. Sau đó điện áp 311V được đưa qua biến áp xung, được điều khiển bởi mạch điều khiển, tạo ra dòng điện 320V – 0,32A để sạc cho bộ pin Lithium-ion.

Đây là mạch nạp cách ly kiểu Flyback. Mạch điện được cách ly bởi biến áp xung nên trong trường hợp có sự cố ở nguồn vào sẽ khơng ảnh hưởng đến bộ pin.

51

3.2. Nguyên lý hoạt động của mạch điện 3.2.1. Mạch chỉnh lưu 3.2.1. Mạch chỉnh lưu

Nguồn điện đầu vào của mạch sạc là nguồn điện xoay chiều 220V - 50Hz, do đó nguồn điện này sẽ được đưa vào mạch cầu chỉnh lưu tồn sóng để chỉnh lưu thành dịng điện một chiều. Tuy nhiên, điện áp một chiều ở ngõ ra có biên dạng sóng nhấp nhơ, khơng ổn định cho hệ thống. Vì thế, một tụ điện sẽ được mắc ở ngõ ra của cầu chỉnh lưu nhằm san phẳng điện áp này.

52

Hình 3.3 Đồ thị dịng xoay chiều 1 pha sau khi được chỉnh lưu [12] 3.2.2. Mạch snubber (mạch đập xung gai) 3.2.2. Mạch snubber (mạch đập xung gai)

Mạch snubber là một thiết bị bảo vệ mạch điện khỏi các xung đột điện áp và hiệu ứng dao động cịn sót lại. Khi MOSFET ngắt liên tục, điện áp tại cực Drain tăng vọt có thể làm MOSFET cháy [24]. Và mạch snubber làm giảm sự tăng vọt của điện áp mà không làm thay đổi tần số của mạch chính.

Đối với mạch điện sử dụng trong đề tài này là kiểu Flyback nên sử dụng mạch snubber kiểu Registor Capacitor Diode (RCD) bao gồm điện trở, diode và tụ được mắc vào mạch như hình sau:

53

Hình 3.5 Điện áp ở cực Drain của MOSFET khi khơng có mạch snubber [23]

54

3.2.3. Điện trở kích đóng, ngắt MOSFET

Tốc độ chuyển giữa hai trạng thái đóng, ngắt đầu ra của MOSFET có thể được điều khiển bởi điện trở kích đóng và ngắt. Tốc độ chuyển và thời gian đóng, ngắt có thể đạt được bởi giá trị của các điện trở của hai cổng điều khiển lần lượt là RDRp và RDRn. Dưới đây là cấu tạo của một MOSFET kênh N [25].

Hình 3.7 Mơ hình MOSFET kênh N [12]

Trong cấu tạo của MOSFET, có những tụ ký sinh và những tụ này ảnh hướng đến q trình đóng, ngắt của MOSFET. Do đó, chúng ta phải xem xét đến các tụ ký sinh này.

55 Q trình kích MOSFET gồm có ba phần chính.

Hình 3.9 Đồ thị VGS khi kích đóng [11]

Q trình từ T0 đến T1: tại thời điểm T0, cực G bắt đầu được cấp nguồn và điện áp VGS

bắt đầu tăng từ 0. Lúc này hầu hết dòng điện qua cực G đều nạp cho tụ CGS. Và cũng có một lượng nhỏ dòng nạp qua tụ CGD nhưng tụ này có giá trị điện dung CGD nhỏ hơn tụ CGS nên có thể xem đây là thời kỳ nạp cho tụ CGS. Giai đoạn này còn được gọi là ON_delay, bởi vì cả dịng điện và điện áp qua nguồn vẫn chưa thay đổi và MOSFET vẫn ở trạng thái ngắt.

Quá trình từ T1 đến T2: đây là giai đoạn MOSFET gần như dẫn hoàn toàn. Lúc này điện áp VGS tăng rất chậm hoặc thậm chí không tăng và điện áp VGD tăng nhanh.

Giai đoạn từ T2 sang T3: MOSFET hồn thiện chu kỳ kích đóng tại giai đoạn này. Tụ CGS và CGD được nạp và VGS tăng đến điểm cuối cùng.

56

a. Điện trở kích đóng

Như đã trình bày ở trên, dịng điện qua cực G và điện áp VGS khơng có phương trình nên khơng thể tính điện trở một cách chính xác. Trong thực tế, có nhiều cách khác để tính ra các giá trị này, nhưng hãng IR Rectifier đã đưa ra một phương pháp đơn giản nhưng lại có độ hiệu quả cao.

Hình 3.10 Q trình kích đóng [12]

Gọi Iav là dịng kích trung bình, tsw là thời gian chuyển mạch từ lúc bắt đầu q trình kích đóng đến khi MOSFET đóng hồn tồn, tương ứng với khoảng thời gian từ T1 đến T3

trong phân phân tích ở trên.

Có: Iavg = Qg

tsw (3.1)

Và RTOT = Vcc−Vgs

Iavg (3.2)

Với VGS là điện áp trung bình trong khoảng thời gian từ T2 đến T3 được nhà sản xuất cung cấp trong datasheet.

57 Một lưu ý là tsw lớn hay nhỏ phụ thuộc vào dịng kích , tsw càng nhỏ thì thời gian chuyển mạch càng nhanh và tổn hao trên linh kiện càng giảm. Do đó tsw thường được chọn theo tiêu chí thiết kế và phù hợp với tần số sóng mang. Thời gian chuyển mạch tsw tối ưu khi được kích bởi IC driver và thường được chọn là:

tsw = (3÷4)(td(on)+tr) (3.3)

Từ các biểu thức trên, ta có:

RTOT = (VCC−VGS)tsw

(QGD+QGS) (3.4)

Và RTOT = RG(on) + RDRp (3.5)

Vậy, giá trị điện trở kích đóng được xác định.

b. Điện trở kích ngắt

Với IC Driver, chúng được cung cấp chân kích đóng và chân kích ngắt riêng biệt. Khi đó điện trở kích ngắt được chọn với giá trị nhỏ hơn điện trở kích đóng bởi vì để việc kích ngắt xảy ra nhanh hơn, giúp giảm Dead Time.

58 Có: VGE = (RG(off) + RDRn).CRESoff 𝑑𝑉 𝑑𝑡 (3.6) Mà ta cần VGE < VT của khóa, do đó: RG(off) < Vth CRESoff.dVdt – RDRn (3.7)

Để thực hiện một mạch kích thì việc chọn các giá trị điện trở kích đóng và ngắt cần phải được tính tốn cẩn thận bởi vì chúng ảnh hưởng đến hiệu suất của mạch và tránh được các hư tổn lên các linh kiện khác.

3.2.4. Mạch điều khiển MOSFET

Khi dùng MOSFET để điều khiển mạch, ta thường sẽ có hai cách cơ bản như hình sau [26]:

Hai kiểu kích MOSFET này phân biệt nhau ở vị trí trước hay sau tải. Với mạch kích phía cao, MOSFET sẽ nối đến nguồn cao áp và tải tiêu thụ nối đất, gọi là phía cao (high side).

Hình 3.12 Mạch kích N-MOSFET phía cao (bên trái) và phía thấp (bên phải)

Ngược lại, với mạch kích phía thấp, MOSFET sẽ nối giữa tải và đất, gọi là phía thấp (low side).

59 Trong mạch kích phía cao, để cho MOSFET đóng thì VGS phải lớn hơn VGE (với MOSFET 11N90 có VGE = 5V). Khi MOSFET đóng thì VDS = 0, tức là toàn bộ áp VDD sẽ

rơi trên tải, điều này có nghĩa là VS ≈ VDD = 310V. Mặt khác, VGS = VG - VS, nhưng VG có giá trị là 7,5V < 310V của VS nên MOSFET sẽ không mở được.

Trong mạch kích phía thấp, khi MOSFET đóng thì VDS ≈ 0V. Cực S nối đất nên VD

VS = 0. Và toàn bộ áp VDD = 310 V sẽ rơi trên tải và không ảnh hưởng đến VS. Do đó, chỉ cần VGS > VGE là ta có thể điều khiển MOSFET dù cho VDD lớn hơn rất nhiều.

Vì vậy, để điều khiển cho mạch phía cao phức tạp hơn nhiều so với mạch phía thấp. Với nguồn vào của biến áp xung là 310V thì ta cần một điện áp VG lớn hơn 310V để có thể kích đóng MOSFET, ví dụ như tạo nguồn điện áp cách ly hay mạch Bootstrap. Vì thế nên nhóm sẽ chọn cách điều khiển MOSFET phía thấp để có thể đơn giản hóa q trình điều khiển.

3.3. Tính tốn thiết kế các thành phần trong mạch 3.3.1. Tính tốn điện trở kích đóng, ngắt MOSFET

Trong mạch kích đóng và ngắt MOSFET này, điện trở kích trong hai trường hợp cần công suất nhỏ 0,25W nhưng để đảm bảo tính an tồn của mạch, điện trở kích khóa bán dẫn

Một phần của tài liệu Thiết kế mạch nạp cho xe điện sử dụng biến áp xung đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 49)