Nguồn điện số Buck-Boost đồng bộ chỉnh lưu dựa trên STM32 mã nguồn mở

Một bộ nguồn điện kỹ thuật số Buck-Boost bốn công tắc dựa trên STM32G474, hỗ trợ đầu vào PD lừa TypeC và đầu vào DC5.5, đầu vào/đầu ra tối đa 48V10A, đây là đồ án tốt nghiệp của tôi, hiện đang mở mã nguồn, bao gồm sơ đồ nguyên lý, PCB, mã nguồn chương trình, mô hình 3D vỏ ngoài, v.v.

Làm được bình thường, không chê bai, hoan nghênh trao đổi thân thiện.

Video trình diễn tác phẩm: https://www.bilibili.com/video/BV1Ui421y7ip/

Tải trọng điện tử thông minh dựa trên CH32V307 mở mã nguồn, mở mã nguồn tác phẩm cuộc thi nhúng: https://blog.zeruns.com/archives/785.html

Liên kết mở mã nguồn nền tảng mở mã nguồn立创 của dự án này: https://url.zeruns.com/noGf0

Nhóm trao đổi kỹ thuật điện tử/vi điều khiển QQ: 2169025065

Địa chỉ tải tài liệu ở cuối bài viết.

Mạch điện phần cứng được thiết kế bằng phần mềm EDA Jiading, phần mềm này thực sự rất dễ sử dụng.

Giới thiệu

Bài viết này thiết kế một bộ nguồn điện kỹ thuật số Buck-Boost đồng bộ dựa trên STM32, mạch nguồn điện bao gồm mạch điều khiển MOSFET, mạch Buck-Boost 4 công tắc, mạch điều chỉnh tín hiệu, mạch giao thức PD sạc nhanh, mạch nguồn phụ trợ, mạch điều khiển vi điều khiển, v.v.

Bộ nguồn này có thể được cấp điện thông qua giao diện DC hoặc giao diện Type-C, và giao diện Type-C hỗ trợ giao tiếp với bộ sạc thông qua giao thức sạc nhanh PD, tự động yêu cầu và nhận điện áp hoạt động tối đa 20V. Bộ nguồn sử dụng vi điều khiển STM32G474 để giám sát điện áp và dòng điện đầu vào/đầu ra theo thời gian thực, và thông qua thuật toán điều khiển PID để điều chỉnh chu kỳ nhiệm vụ PWM đầu ra, cũng như thực hiện bảo vệ quá áp và quá dòng, đồng thời có thể lấy mẫu nhiệt độ bo mạch chính để thực hiện bảo vệ quá nhiệt. Ngoài ra, có thể xem các thông số nguồn điện theo thời gian thực thông qua màn hình OLED, và đặt điện áp và dòng điện đầu ra thông qua bộ mã hóa xoay và nút bấm, cũng có thể giao tiếp với máy tính thông qua giao diện Type-C khác, thông qua phần mềm máy tính có thể xem các thông số và dạng sóng của bộ nguồn theo thời gian thực.

Thông số hiệu suất thiết kế

Thông số hiệu suất thiết kế bộ nguồn như bảng dưới đây:

Mục Chỉ tiêu tham số
Phạm vi điện áp đầu vào 12Vdc~48Vdc
Phạm vi dòng điện đầu vào 0~10A
Công suất đầu ra tối đa 450W
Phạm vi điện áp đầu ra 0.5Vdc~48Vdc
Phạm vi dòng điện đầu ra 0~10A
Gợn sóng điện áp đầu ra Giá trị đỉnh-đỉnh ≤200mV
Tần số chuyển mạch 181.333kHz

Hình ảnh thực tế

Sử dụng VOFA+ làm phần mềm máy tính, có thể xem các thông số bộ nguồn theo thời gian thực (điện áp và dòng điện đầu vào, điện áp và dòng điện đầu ra, nhiệt độ bo mạch chính, nhiệt độ MCU, hiệu suất chuyển đổi nguồn điện, v.v.) và thay đổi dạng sóng. Như hình dưới đây.

Sơ đồ khung hệ thống

Thiết kế mạch điện phần cứng

Tính toán lựa chọn linh kiện

Tính toán cuộn cảm

Trong bộ nguồn BUCK-BOOST đồng bộ, tính toán cuộn cảm cần xem xét tình huống hoạt động ở chế độ BUCK và chế độ BOOST để đảm bảo đáp ứng yêu cầu hoạt động của mạch ở cả hai chế độ. Thông thường, lựa chọn cuộn cảm sẽ dựa trên chế độ yêu cầu cuộn cảm cao hơn trong hai chế độ.

Khi bộ nguồn hoạt động ở chế độ BUCK giảm áp, giả sử điện áp đầu vào tối đa là 48V, điện áp đầu ra tối thiểu là 5V, tính toán chu kỳ nhiệm vụ PWM tối thiểu:

D_{min} = \frac{V_{out\\_min}}{V_{in\\_max}} = \frac{5V}{48V} = 10.417\\%

Xác định lượng dao động dòng điện cuộn cảm (25% của dòng điện định mức tối đa, đặt dòng điện định mức tối đa là 10A):

\\Delta I_L = 25\\% \\cdot I_{out\\_nom} = 25\\% \\times 10A = 2.5A

Tính toán cuộn cảm BUCK tối thiểu cần thiết:

L_{minBuck} = \\frac{V_{out\\_min} \\cdot (1 - D_{min})}{\\Delta I_L \\cdot f_{switch}} = \\frac{5V}{2.5A \\times 181333Hz} \\times (1 - 10.417\\%) \\approx 9.88\\mu H

Khi bộ nguồn hoạt động ở chế độ BOOST tăng áp, lấy điện áp định mức đầu vào 24V làm điểm tính toán, tính toán chu kỳ nhiệm vụ PWM:

D_{Bo} = 1 - \\frac{V_{in\\_nom}}{V_{out\\_max}} = 1 - \\frac{24V}{48V} = 50\\%

Ở chế độ Boost, lấy 1A (I_{minb}) khi Boost vào chế độ liên tục (CCM), tính toán cuộn cảm:

L_{minBoost} = \\frac{V_{out\\_max} \\cdot D_{Bo}(1-D_{Bo})^2}{2 \\cdot I_{minb} \\cdot f_{switch}} = \\frac{48V \\times 50\\% \\times (1 - 50\\%)^2}{2 \\times 1A \\times 181333Hz} = 16.544\\mu H

Dựa trên kết quả tính toán từ công thức, xác định giá trị cuộn cảm tối thiểu cần thiết để đáp ứng yêu cầu gợn sóng dòng điện dự định. Để đảm bảo đáp ứng điều kiện này, nên chọn một phần tử cuộn cảm có giá trị cao hơn một chút so với giá trị tính toán. Đồng thời, phải đảm bảo rằng dòng điện bão hòa của cuộn cảm được chọn có thể chịu được dòng điện đỉnh cao nhất trong mạch. Vì trong quá trình tính toán không tính đến yếu tố hiệu suất, chu kỳ nhiệm vụ thực tế và dòng điện đỉnh có thể thấp hơn giá trị tính toán lý thuyết. Do đó, khi lựa chọn, nên xem xét một lề an toàn nhất định để thích ứng với các tình huống khác nhau có thể xảy ra trong điều kiện hoạt động thực tế.

Xem xét toàn diện các yếu tố trên, thiết kế này chọn cuộn cảm 22μH với dòng điện bão hòa trên 10A trong gói dán 1770 làm phần tử cuộn cảm của mạch BUCK-BOOST.

Tính toán tụ điện

Để có được gợn sóng điện áp đầu ra tốt, lấy gợn sóng điện áp thiết kế là 50mV.

\\Delta V_{out} = 0.05V

Cuộn cảm được chọn ở trên là 22μH, vì vậy tính toán ở đây cũng sử dụng giá trị cuộn cảm này:

L_{BB}=22\\mu H

Tính toán riêng biệt dung lượng tụ điện tối thiểu cần thiết khi hoạt động ở chế độ BUCK giảm áp và chế độ BOOST tăng áp C_{minBuck}C_{minBoost}:

C_{minBuck}=\\frac{V_{out\\_min}\\cdot(1-\\frac{V_{out\\_min}}{V_{in\\_max}})}{8\\cdot L_{BB}\\cdot \\Delta V_{out}\\cdot {f_{switch}}^2}=15.48\\mu F
C_{minBoost}=\\frac{I_{out\\_nom}\\cdot(1-\\frac{Vin\\_min}{Vout\\_max})}{\\Delta Vout\\cdot fswitch}=413.6\\mu F

Thiết kế cần để lại một lề nhất định, cũng như để có gợn sóng đầu ra thấp hơn, vì vậy chọn một tụ điện rắn 220μF ESR thấp cộng với một tụ điện phân cực thông thường 470μF, tổng cộng 690μF.

Tính toán lựa chọn MOS

Trong phạm vi điện áp đầu vào và đầu ra định mức, tính toán giá trị hiệu dụng dòng điện MOS đầu vào là:

i_{mos\\_rms}=7.098A

Trong lựa chọn MOSFET, giá trị dòng điện định mức I_D của MOS cần được tính theo 2 lần trở lên dòng điện tối đa chảy qua MOS (để ngăn chặn dòng điện quá lớn trong trường hợp sự cố hoặc ngắn mạch gây hư hại do tác động):

2×i_{mos\\_rms}=14.196A

Giá trị chịu áp định mức V_{DS} của lựa chọn MOSFET cần lớn hơn 1,5 lần điện áp đầu vào tối đa (để ngăn chặn xuyên thủng do xung):

1.5×Vin\\_max=72V

Sau khi tham khảo các tính toán trước đó, đối với các ứng dụng thông thường, có thể chọn MOSFET có dòng điện định mức vượt quá 15 Ampe (A) và mức chịu áp là 100 Vôn (V). Lựa chọn MOSFET dưới cùng giống như trên cùng, xem xét tình hình phát nhiệt, để giảm thiểu tối đa tổn hao năng lượng trong quá trình dẫn và chuyển mạch, nên ưu tiên chọn MOSFET có điện trở dẫn thấp (R_{DS(on)}) và dung lượng đầu ra thấp (Coss).

Mô hình MOSFET được chọn trong thiết kế này là CJAC80SN10, được sản xuất bởi Công ty Cổ phần Công nghệ Changjing Giang Su, là một MOSFET được sản xuất trong nước. Nó có chịu áp xả-nguồn 100V (V_{DS}) và dòng xả-nguồn tối đa 80A (I_D). Điện trở dẫn (R_{DS(on)}) của nó chỉ là 6,2mΩ, đặc tính điện trở thấp này có lợi cho việc giảm tổn hao công suất của thiết bị ở trạng thái dẫn. Đồng thời, dung lượng đầu ra Coss của thiết bị có giá trị điển hình là 420pF, lượng dung lượng thấp này có lợi cho việc giảm tổn hao động lực trong quá trình chuyển đổi chuyển mạch. Do đó, CJAC80SN10 không chỉ đáp ứng các đặc tính điện cần thiết của dự án mà còn có thể giảm thiểu hiệu quả tổn hao năng lượng, nâng cao hiệu suất tổng thể của hệ thống.

Thiết kế mạch bo mạch nguồn

Mạch công suất chính

Hình dưới đây là sơ đồ mạch công suất chính bộ nguồn BUCK-BOOST đồng bộ, bên trái là đầu vào, mạch BUCK giảm áp đồng bộ bao gồm MOS Q2 và Q4 với cuộn cảm L1, mạch BOOST tăng áp đồng bộ bao gồm MOS Q3 và Q5 với cuộn cảm L1, mỗi MOS có song song điện trở 10kΩ giữa cổng và nguồn, để đảm bảo cổng MOS không lơ lửng, ngăn chặn sai hoạt động dẫn.

Mạch công suất chính có cấu trúc đối xứng trái-phải, cả hai đầu đầu vào và đầu ra đều có 1 tụ điện phân cực nhôm 470μF/63V và 1 tụ điện phân cực nhôm rắn 220μF/63V, ngoài ra còn có 2 tụ MLCC dán nhỏ (tụ gốm đa lớp), thông số 10μF/50V, dùng để lọc nhiễu tần số cao tại cổng. R9 và R10 là tải giả của cổng đầu vào và đầu ra, có thể nhanh chóng tiêu tán năng lượng còn lại trong mạch khi bộ nguồn bị ngắt. R13 và R14 là điện trở 5mΩ độ chính xác cao, dùng để lấy mẫu dòng điện, giai đoạn sau kết nối mạch khuếch đại vi sai để khuếch đại tín hiệu dòng điện đầu vào và đầu ra. CNT1 và CNT2 là các đầu nối đầu ra. L1 và L2 lần lượt là cuộn cảm dán gói 1770 và cuộn cảm từ tính trực tiếp, chỉ cần hàn một trong số đó, vẽ cả hai để thuận tiện kiểm tra hiệu ứng và hiệu suất của các cuộn cảm khác nhau.

Mạch giao diện đầu vào nguồn điện và giao thức sạc nhanh

Hình dưới đây là sơ đồ mạch giao diện đầu vào nguồn điện và giao tiếp giao thức PD sạc nhanh.

Bộ nguồn sử dụng hai loại giao diện đầu vào, lần lượt là cổng cái DC5.5*2.5mm và cổng cái TypeC, trong đó giao diện TypeC hỗ trợ BC1.2, PD3.0/2.0 và nhiều giao thức sạc nhanh khác, chip giao thức sạc nhanh được sử dụng là CH224K, có thể giao tiếp với bộ sạc nhanh để bộ sạc xuất ra điện áp tối đa 20V, hỗ trợ công suất tối đa 100W.

Các diode D1, D3, D4 có tác dụng ngăn chặn điện áp cổng DC đảo ngược vào cổng TypeC, thiết kế không cho phép hai cổng được kết nối cùng lúc. D5 là diode bảo vệ đảo ngược. FH1 là giá cầu chì đầu vào nguồn điện, cắm cầu chì 12A.

Mạch điều khiển

Trong thiết kế bộ nguồn BUCK-BOOST đồng bộ, cả mạch BUCK và mạch BOOST đều chứa N-MOSFET cấp cao. Theo truyền thống, điều khiển các N-MOSFET cấp cao này thường sử dụng phương pháp điều khiển cách ly bằng biến áp, nhưng phương pháp này sẽ làm tăng độ phức tạp của mạch và mở rộng kích thước bo mạch.

Thiết kế này chọn hai chip điều khiển MOS EG3112 tích hợp chức năng mạch tự khởi động để điều khiển MOS của mạch BUCK và mạch BOOST. EG3112 là chip điều khiển kênh đôi bổ sung không cách ly; khả năng dòng điều khiển đầu ra 2A đảm bảo MOSFET có thể nhanh chóng dẫn; chip cũng tích hợp chức năng điều khiển thời gian chết, để ngăn chặn tín hiệu điều khiển đầu ra xảy ra xuyên thủng trực tiếp, từ đó nâng cao tính ổn định của hệ thống. Mạch cụ thể như hình dưới đây.

Lấy ví dụ về điều khiển MOS của mạch BOOST tăng áp, PWM2L và PWM2H là tín hiệu PWM được xuất ra từ vi điều khiển STM32G474, được gửi đến các chân LIN và HIN của chip điều khiển EG3112, LO là tín hiệu điều khiển dưới cùng, giá trị điện trở điều khiển là 10Ω, HO là tín hiệu điều khiển trên cùng, giá trị điện trở điều khiển là 10Ω, D7 là diode tự khởi động của mạch điều khiển trên cùng, diode D9 và D11 được sử dụng để nhanh chóng giải phóng điện tích cổng, tăng tốc độ tắt MOS, C14 là tụ tự khởi động.

Điện trở điều khiển có tác dụng là trong quá trình chuyển mạch MOSFET, tín hiệu điều khiển có thể tạo ra phản xạ và dao động trên đường đi PCB, dung lượng phân bố, phần tử cảm ứng, v.v., bằng cách nối tiếp điện trở có thể giảm dao động này, nâng cao tính ổn định và độ tin cậy của hệ thống.

Nguồn phụ trợ

Hình dưới đây là sơ đồ nguyên lý mạch cấp điện nguồn phụ trợ bo mạch.

Mạch nguồn phụ trợ đầu ra 12V cấp đầu tiên chọn chip nguồn điện BUCK loại TPS54360B tích hợp MOSFET cấp cao. Theo hướng dẫn chip, chân RT kết nối một điện trở kéo xuống có thể đặt tần số chuyển mạch, ở đây chọn điện trở 110kΩ, tần số chuyển mạch tương ứng là 876,5kHz, tần số chuyển mạch cao hơn có thể chọn cuộn cảm nhỏ hơn để tiết kiệm không gian, theo tần số này tính toán giá trị cuộn cảm nên lớn hơn 9,75μH, ở đây chọn cuộn cảm 10μH, chọn SS310 làm diode tiếp nối. C26 và C27 là tụ lọc đầu vào; điện trở phân áp phản hồi R19 và R25 phân áp ra 0,8V điện áp cơ sở cho chân FB của chip sau đó đảm bảo điện áp đầu ra là 12V. C18 và C19 là tụ lọc của nguồn phụ trợ đầu ra 12V cấp đầu tiên. Đầu ra 12V cấp đầu tiên chủ yếu cung cấp cho đầu vào của mạch giảm áp 6V cấp thứ hai, cũng như mạch điều khiển MOSFET và quạt tản nhiệt sử dụng.

Mạch nguồn phụ trợ đầu ra 6V cấp thứ hai chọn chip nguồn điện BUCK đồng bộ tích hợp MOSFET SY8205 để thiết kế. Theo hướng dẫn chip, tần số chuyển mạch của chip được cố định ở 500kHz, chọn cuộn cảm của mạch BUCK nguồn phụ trợ là 10μH. C21 và C22 là tụ lọc đầu vào; điện trở phân áp phản hồi R23 và R26 phân áp ra 0,6V điện áp cơ sở cho chân FB của chip sau đó đảm bảo điện áp đầu ra là 6V. C24 và C25 là tụ lọc của nguồn phụ trợ đầu ra 6V cấp thứ hai. Vì sử dụng trực tiếp bộ điều chỉnh áp tuyến tính để giảm áp từ 12V xuống 5V sẽ gây ra tổn hao khá lớn, nên sử dụng trước tiên bộ nguồn chuyển mạch để giảm áp xuống gần 5V rồi sử dụng bộ điều chỉnh áp tuyến tính để giảm áp xuống điện áp mục tiêu, như vậy có thể đảm bảo hiệu suất cao hơn và gợn sóng đầu ra thấp hơn.

Điện áp 6V đầu ra cấp thứ hai được giảm áp thành 5V thông qua chip bộ điều chỉnh áp tuyến tính AMS1117-5 làm nguồn phụ trợ cấp thứ ba, chip cơ sở điện áp REF3033, cung cấp cho mạch điều chỉnh tín hiệu, hiển thị OLED, giao tiếp USB, v.v. sử dụng.

Dòng điện 5V được giảm áp thành 3,3V thông qua chip bộ điều chỉnh áp tuyến tính AMS1117-3.3 làm nguồn phụ trợ cấp thứ tư, cung cấp cho MCU, còi, chip Flash, v.v. sử dụng.

Chip cơ sở điện áp REF3033 xuất ra điện áp cơ sở 3,3V cung cấp cho cổng VREF của MCU sử dụng, làm điện áp tham chiếu cho ADC tích hợp của MCU, nâng cao độ chính xác lấy mẫu ADC.

Mạch điều chỉnh tín hiệu

Như hình dưới đây, mạch lấy mẫu và điều chỉnh tín hiệu điện áp đầu vào và đầu ra của thiết kế này sử dụng kỹ thuật khuếch đại vi sai. Cấu trúc khuếch đại vi sai có thể giảm thiểu hiệu quả tác động của nhiễu tần số cao trong bộ nguồn chuyển mạch đối với mạch điều chỉnh tín hiệu, nâng cao tính ổn định và độ tin cậy của tín hiệu. Trong mạch này, chọn bộ khuếch đại hoạt động GS8558-SR độ lệch không thấp, để nâng cao độ chính xác chuyển đổi. Bộ khuếch đại hoạt động GS8558-SR có độ chính xác DC xuất sắc và đặc tính dòng điện thiên vị thấp, điều này rất quan trọng để nâng cao hiệu suất của toàn bộ mạch điều chỉnh tín hiệu.

Điện trở phản hồi của mạch khuếch đại vi sai:

R_{38}=4.7kΩ
R_{36}=75kΩ

Tính toán hệ số khuếch đại vi sai:

K_V=\\frac{R_{38}}{R_{36}}=0.062667

Điện áp lấy mẫu ADC tối đa của MCU là 3,3V được xuất ra bởi chip cơ sở điện áp, sau đó có thể tính toán giá trị điện áp đầu vào và đầu ra tối đa có thể lấy mẫu là:

V_{max}=\\frac{3.3V}{K_V}=52.66V

Để tốt hơn nữa trong việc ngăn chặn nhiễu tần số cao trong bộ nguồn chuyển mạch đối với mạch khuếch đại vi sai, thêm tụ điện khử ghép C40 và C41 vào chân cấp điện của bộ khuếch đại hoạt động để lọc, tụ điện chọn MLCC (tụ gốm đa lớp), MLCC do có ESR và ESL thấp, trong lọc nhiễu tần số cao có hiệu ứng tốt hơn, đồng thời thêm điện trở R35 và tụ điện C39 ở đầu ra tạo thành mạch lọc thông thấp RC, dùng để lọc nhiễu tần số cao.

Như hình dưới đây, mạch điều chỉnh dòng điện đầu vào và đầu ra sử dụng phương pháp khuếch đại vi sai, điện trở lấy mẫu dòng điện đầu ra là:

R_{14}=5mΩ

Điện trở phản hồi của mạch khuếch đại vi sai:

R_{48}=6.2kΩ
R_{46}=100Ω

Tính toán hệ số khuếch đại vi sai:

K_I=\\frac{R_{48}}{R_{46}}=62

Tức là mỗi 1A dòng điện đầu ra xuất ra 310mV điện áp.

Điện áp lấy mẫu ADC tối đa của MCU là 3,3V được xuất ra bởi chip cơ sở điện áp, sau đó có thể tính toán giá trị dòng điện đầu vào và đầu ra tối đa có thể lấy mẫu là:

I_{max}=\\frac{3.3V}{K_I \\times R_{14}}=10.65A

Mạch điều khiển MCU

Thiết kế bộ nguồn kỹ thuật số này chọn chip STM32G474RET6 làm bộ điều khiển, bộ điều khiển này có các đặc điểm nổi bật như mạch ngoại vi đơn giản, phương pháp điều khiển đa dạng, khả năng mở rộng vượt trội. Để thực hiện tín hiệu xung nhịp chính xác, bộ điều khiển sử dụng tinh thể thạch anh bên ngoài X1, tức là một bộ dao động tinh thể thạch anh có tần số 25 megahertz (MHz). Ngoài ra, mạch còn bao gồm nhiều tụ điện lọc, bao gồm C45, C51, C56, C46 và C52, chúng lần lượt được sử dụng cho các chân nguồn điện kỹ thuật số khác nhau của vi điều khiển (MCU), để đảm bảo tính ổn định của nguồn điện và giảm nhiễu. Điện trở R49 và tụ điện C49 tạo thành mạch khôi phục khi bật nguồn, SW1 là nút khôi phục MCU. U11 là chip chuyển đổi USB sang cổng nối tiếp, mô hình CH340C, kết nối với giao diện TypeC thứ hai, cổng nối tiếp kết nối với giao diện USART1 của MCU. U10 là chip lưu trữ Flash, mô hình W25Q64, dùng để lưu trữ thông tin cài đặt tham số, v.v., kết nối với giao diện SPI3 của MCU. Q6 là MOS điều khiển còi, dùng để điều khiển còi, chân cổng MOS kết nối với cổng PB5 của MCU. H1 là cổng nối dây SWD để nạp. H2 và H4 là giá nối dây PH2.0, dùng để kết nối với bảng điều khiển, giá nối dây dự trữ giao diện USART2, có thể dễ dàng thay đổi phương án bảng điều khiển thành màn hình cổng nối tiếp, cũng có thể thêm ESP32 để tăng chức năng kết nối mạng và điều khiển không dây, v.v. D13 là diode bảo vệ đảo ngược 5V.

Mạch điều khiển quạt tản nhiệt và lấy mẫu nhiệt độ bo mạch chính

Sơ đồ nguyên lý mạch lấy mẫu nhiệt độ bo mạch chính và mạch điều khiển quạt tản nhiệt như hình dưới đây. Nguyên lý lấy mẫu nhiệt độ bo mạch chính của bộ nguồn là sử dụng điện trở nhiệt nhạy NTC R2 nối tiếp với điện trở kéo xuống R4 phân áp đầu ra đến cổng ADC của MCU để lấy mẫu, điện trở nhiệt nhạy NTC được sử dụng có giá trị 10kΩ, giá trị B là 3950K.​ Quạt tản nhiệt được điều khiển bằng một transistor N-MOS, mẫu AO3400, và trên giao diện quạt tản nhiệt có một diode D2 mắc song song ngược để ngăn chặn thiệt hại do lực điện động ngược (back EMF) do động cơ tạo ra. Khi động cơ mất điện, do quán tính quay, rotor của động cơ sẽ không dừng lại ngay mà tiếp tục quay và tạo ra lực điện động. Lực điện động này có thể gây hư hỏng cho transistor hoặc mạch tích hợp trong mạch, đặc biệt là khi động cơ được kết nối với các thành phần này thông qua công tắc bán dẫn (như MOSFET).

Thiết kế mạch bảng điều khiển

​ Sơ đồ mạch điều khiển của bảng điều khiển được hiển thị trong hình dưới đây. SW1 là bộ mã hóa xoay, được sử dụng để đặt các tham số, v.v., SW2 và SW3 là các nút, SW2 được sử dụng để chuyển đổi các mục cài đặt, SW3 được sử dụng để kiểm soát bật/tắt đầu ra nguồn. LED1 là đèn chỉ báo trạng thái hoạt động của hệ thống, nhấp nháy với khoảng cách 500mS khi hoạt động bình thường, LED2 là đèn chỉ báo trạng thái đầu ra, sáng khi đầu ra bật, tắt khi đầu ra tắt. OLED1 là màn hình OLED, được sử dụng để hiển thị các tham số nguồn và thông tin trạng thái, v.v.

Ảnh chụp PCB

Lớp trên của bảng nguồn

Lớp GND của bảng nguồn

Lớp trong 2 của bảng nguồn

Lớp dưới của bảng nguồn

Lớp trên của bảng điều khiển

Lớp dưới của bảng điều khiển

Hướng dẫn sử dụng

​ Thông qua các nút và bộ mã hóa xoay, bạn có thể đặt giá trị điện áp và dòng điện đầu ra. Như hình dưới đây, giá trị được hiển thị ngược lại là vị trí hiện tại cần được đặt, bạn có thể tăng hoặc giảm bằng cách xoay bộ mã hóa, nhấn bộ mã hóa có thể chuyển sang vị trí tiếp theo để đặt, thông qua nút SW2 có thể chuyển đổi mục cần đặt. Dữ liệu được đặt sẽ tự động được lưu vào chip lưu trữ Flash, lần khởi động tiếp theo sẽ đọc dữ liệu từ chip lưu trữ.

​ Nút SW3 bật/tắt đầu ra nguồn.

​ Có thể chuyển sang trang hiển thị dữ liệu để xem điện áp và dòng điện đầu vào/đầu ra hiện tại của nguồn, cũng như thông tin về nhiệt độ bo mạch chính và nhiệt độ MCU, như hình dưới đây.

​ Có thể chuyển sang trang cài đặt để đặt ngưỡng bảo vệ quá nhiệt/quá dòng/quá áp, như hình dưới đây. Dữ liệu được đặt sẽ tự động được lưu vào chip lưu trữ Flash, lần khởi động tiếp theo sẽ đọc dữ liệu từ chip lưu trữ.

Kiểm tra gợn sóng

​ Sử dụng tải điện tử và dao động ký để kiểm tra hiệu suất đầu ra nguồn và gợn sóng đầu ra, như hình dưới đây. Khi nhập 36V, xuất 12V2A, giá trị gợn sóng đỉnh-đỉnh được đo khoảng 42mV, như hình dưới đây.

Kiểm tra hiệu suất chuyển đổi

​ Kiểm tra hiệu suất chuyển đổi nguồn khi nhập 20V, xuất 12V10A là 92%, như hình dưới đây.

​ Bảng dưới đây là hiệu suất chuyển đổi ở các điện áp nhập và xuất khác nhau, hiệu suất cao nhất là 94,3%.

Điện áp nhập (V) Dòng điện nhập (A) Công suất nhập (W) Điện áp xuất (V) Dòng điện xuất (A) Công suất xuất (W) Hiệu suất chuyển đổi (%)
20.003 4.035 80.712 15.010 5.000 75.050 92.985
47.999 5.335 256.075 24.040 9.900 237.996 92.940
48.000 7.875 378.000 36.020 9.900 356.598 94.338
48.000 9.860 473.280 45.030 9.900 445.797 94.193
23.998 8.835 212.022 48.070 4.000 192.280 90.689
23.998 9.830 235.900 35.998 6.001 216.024 91.574
12.099 9.166 110.899 24.070 4.000 96.280 86.817
20.008 2.645 52.921 4.970 9.000 44.730 84.522
20.008 10.550 211.084 24.030 8.000 192.240 91.073
36.000 6.418 231.048 24.010 9.000 216.090 93.526
36.000 10.540 379.440 35.950 9.800 352.310 92.850

Dạng sóng cổng MOS

​ Kiểm tra dạng sóng cổng MOS của mỗi khi nhập 20V, xuất 24V.

​ Dạng sóng điện áp so với đất của ống trên và dưới mạch BUCK:

​ Dạng sóng điện áp so với đất của ống trên và dưới mạch BOOST:

Kiểm tra phát nhiệt

Ảnh chụp nhiệt khi không tải:

Ảnh chụp nhiệt sau 10 phút xuất dòng điện 10A, nhiệt độ MOS khoảng 100 độ:

Đánh giá unboxing camera nhiệt Uni-Trend UTi261M: https://blog.zeruns.com/archives/798.html

Địa chỉ mua linh kiện

Địa chỉ mua hầu hết các linh kiện được sử dụng trong dự án này đều ở đây:- 0805 mẫu điện trở và tụ điện: https://s.click.taobao.com/begdskt

Khuyến nghị mua linh kiện tại Cửa hàng Lichuang: https://activity.szlcsc.com/invite/D03E5B9CEAAE70A4.html

Tại liên kết mã nguồn mở Lichuang, nhấp vào bảng BOM để đặt hàng ngay tại cửa hàng Lichuang có thể nhập một lần tất cả các linh kiện được sử dụng vào giỏ hàng.

Địa chỉ tải tài liệu

Các liên kết dưới đây chứa tài liệu: dự án Lichuang EDA, tệp PDF sơ đồ nguyên lý, bảng dữ liệu của từng chip, gói nén mã nguồn, một số mã chương trình tham khảo.

Địa chỉ tải xuống không giới hạn tốc độ 123 Cloud Disk: https://www.123pan.com/ps/2Y9Djv-8yevH.html

Địa chỉ tải xuống Baidu Netdisk: https://url.zeruns.com/MW2d1

Địa chỉ mã nguồn mở Gitee của chương trình dự án: https://gitee.com/zeruns/STM32-Buck-Boost

Địa chỉ mã nguồn mở GitHub của chương trình dự án: https://github.com/zeruns/Synchronous-Rectification-Buck-Boost-Digital-Power-Supply-Based-on-STM32

Vui lòng nhấp vào Star và thích.

Các vấn đề đã biết

  1. Chip SY8205 trong nguồn điện phụ sẽ vào chế độ PFM ở tải thấp, tần số thấp hơn, do đó tạo ra tiếng ồn nhẹ.
  2. Chương trình điều khiển PID ở chế độ dòng không đổi không tốt, chỉ ổn định ở tải điện trở thuần. (Chế độ điện áp không đổi không có vấn đề)

Các dự án mã nguồn mở khác được khuyến nghị

Đọc được khuyến nghị

4 Lượt thích

Đại ca có thể nói cách tính tần số chuyển mạch được không? :grin:

1 Lượt thích

Tần số chuyển mạch được tự định, sau đó các thông số khác (như điện cảm, điện dung…) sẽ được tính dựa trên tần số này.
Tần số càng cao, tổn hao chuyển mạch (tổn hao bật/tắt của transistor) thường tăng theo (vì số lần chuyển mạch trên đơn vị thời gian nhiều hơn, tổn hao tỷ lệ thuận với tần số), nhưng kích thước các phần tử lọc (cuộn cảm, tụ điện) có thể nhỏ lại (ở tần số cao, để đạt cùng yêu cầu gợn sóng, điện kháng cảm/cảm kháng cần thiết giảm nên thông số linh kiện giảm theo); ngược lại, tần số thấp hơn thì tổn hao nhỏ nhưng linh kiện to hơn. Ngoài ra, tần số chuyển mạch còn bị giới hạn bởi tốc độ chuyển mạch của thiết bị (ví dụ tần số làm việc tối đa của MOSFET) và độ khó khăn trong kìm hãm nhiễu điện từ EMI (EMI ở tần số cao khó xử lý hơn). Trong thiết kế thực tế, cần cân bằng hiệu suất, kích thước, chi phí và EMI để chọn tần số chuyển mạch phù hợp.

4 Lượt thích

Xin chào, tôi muốn hỏi nếu tác phẩm này muốn thực hiện chỉnh lưu đồng bộ hai chiều thì cần phải cải tiến gì trên cơ sở này? Cảm ơn :thinking:

1 Lượt thích

Nguồn phụ được đổi sang lấy điện đồng thời từ cả hai đầu vào và ra (thêm diode), lấy mẫu dòng điện đổi thành hai chiều (đưa điện áp đầu không đảo của opamp lấy mẫu dòng lên 1,25 V), và cả code cũng phải sửa, những phần khác hầu như không cần chỉnh gì thêm.

2 Lượt thích

Dự án tốt :+1:

Tuyệt vời :+1:

Tuyệt vời, mình đã học được rồi! :smiley:

Xin chào tác giả, tôi muốn hỏi tại sao tần số đóng ngắt của bạn lại được thiết lập ở mức có số thập phân là 181,333 kHz? Thông thường người ta không dùng số nguyên sao? Vì sao lại như vậy? Cảm ơn bạn!

Tần số được nhân/xung nhịp bởi bộ định thời, bạn có thể sửa đổi

À ừ, biết rồi, cảm ơn

Đại ca, các tham số PID này ban đầu xác định điền bao nhiêu như thế nào vậy?

Chào bạn! Khi hiệu chỉnh PID ban đầu cho các nguồn điện số này, mình thường bắt đầu với những giá trị cẩn trọng dựa trên đặc tính động học dự kiến của hệ thống—ví dụ như đặt Ki thấp để tránh vượt điều chỉnh, và Kp vừa đủ để có phản hồi nhưng không gây dao động. Sau đó mình tinh chỉnh trực tiếp trong khi theo dõi đầu ra bằng máy hiện sóng, quan sát độ ổn định. Khả năng linh hoạt của STM32 cho phép bạn điều chỉnh ngay lập tức, giúp tiết kiệm hàng giờ đoán mò. Hãy luôn bắt đầu với giá trị nhỏ và điều chỉnh từng bước một—tin mình đi, đó là cách bạn tránh được khoảnh khắc “ôi, độ lợi cao quá” đấy! :grinning_face_with_smiling_eyes:

Đại ca, tại sao phải tính giá trị hiệu dụng cho MOSFET vậy, chẳng phải chỉ cần xem dòng điện đỉnh của cuộn cảm rồi chọn MOSFET có ID lớn hơn dòng điện đỉnh đó là được sao?

Cho hỏi một cách lịch sự, khi调试 cụ thể thì có các bước nào không? Ví dụ như có cần调试 vòng hở không? Cách调试 vòng kín ra sao? Hay có điểm cảnh báo nào cần lưu ý không? Tôi cũng đang làm nguồn điều khiển số tương tự nhưng chưa biết cách tiến hành调试. Khi chạy vòng hở tôi đã bị đánh thủng MOS hai lần, không biết có nên chuyển sang vòng kín trước không? Nguyên nhân lần đầu có thể do cuộn cảm bị bão hòa hoặc vượt quá điện áp chịu đựng của MOS. Lần thứ hai có thể do không tải, điện áp cuộn cảm tăng quá cao dẫn đến đánh thủng MOS. Lần đầu chỉ bị đánh thủng giữa cực nguồn và cực máng, lần thứ ba cả ba cực đều bị đánh thủng.

Phần tăng áp của bộ boost không được phép chạy không tải hở mạch, nếu không điện áp sẽ tiếp tục tăng lên vượt quá giới hạn chịu đựng.

Đây là một hiểu lầm kinh điển nhất trong thiết kế nguồn chuyển mạch (SMPS):
Chỉ xem dòng điện đỉnh của cuộn cảm để chọn MOSFET, ngắn hạn không nổ, dài hạn chắc chắn cháy; điều thực sự quyết định ống MOS có bị nóng hỏng, thủng hay không chính là giá trị hiệu dụng dòng điện (RMS), chứ không phải giá trị đỉnh.


1. Cốt lõi chỉ bằng một câu

  • Dòng điện đỉnh cuộn cảm: Phòng đánh thủng tức thời, bão hòa cuộn cảm
  • Dòng điện hiệu dụng (RMS): Tính sự phát nhiệt, tăng nhiệt độ và tuổi thọ của MOSFET

90% trường hợp MOSFET bị nổ là do hỏng vì nhiệt, chứ không phải quá dòng tức thời.


2. Vì sao tính nhiệt thì dùng «giá trị hiệu dụng», không dùng «giá trị đỉnh»?

Công suất tổn hao khi MOSFET dẫn:
\[
P_{loss} = I_{rms}^2 \times R_{ds(on)}
\]
Ở đây, I bắt buộc phải là giá trị hiệu dụng, hoàn toàn không liên quan đến giá trị đỉnh.

  • Giá trị đỉnh: Chỉ là giá trị cực đại trong chốc lát, thời gian rất ngắn, không phản ánh mức độ phát nhiệt trung bình
  • Giá trị hiệu dụng: Tương đương với dòng điện một chiều chạy liên tục, mới là yếu tố quyết định nhiệt độ thực tế

Ví dụ:

  • Dòng điện đỉnh cuộn cảm: 10A
  • Nhưng giá trị hiệu dụng chỉ khoảng 4~6A

Nếu bạn chỉ nhìn 10A để chọn MOSFET mà bỏ qua việc tính toán nhiệt độ do giá trị hiệu dụng gây ra, nhiệt độ vượt ngưỡng → MOSFET sẽ hỏng vì nhiệt ngay lập tức.


3. Giá trị đỉnh và giá trị hiệu dụng – mỗi loại quản lý việc gì?

① Dòng điện đỉnh cuộn cảm Ipk

Chỉ đảm nhiệm 2 việc:

  1. Đảm bảo cuộn cảm không bị bão hòa
  2. Đảm bảo MOSFET không bị đánh thủng do quá dòng tức thời (xem thông số I_DM - dòng xung)
    → Nó không dùng để tính tổn hao nhiệt.

② Dòng điện hiệu dụng I_rms

Chỉ làm một việc, nhưng lại là việc quan trọng nhất:

  • Xác định MOSFET có nóng không, nhiệt độ tăng cao không, có bị cháy không
    → Từ đó quyết định bạn cần chọn linh kiện với R_ds(on) nhỏ cỡ nào, tản nhiệt lớn bao nhiêu, dòng định mức bao nhiêu.

4. Quy trình lựa chọn MOSFET đúng đắn (bạn nên làm theo)

  1. Tính dòng điện đỉnh cuộn cảm Ipk
    → Đảm bảo I_DM > Ipk, tránh đánh thủng tức thời và bão hòa từ
  2. Tính giá trị hiệu dụng dòng điện qua MOSFET I_rms
    → Tính tổn hao, tính tăng nhiệt, đảm bảo hoạt động lâu dài không cháy
  3. Mới tiến hành chọn thông số I_D (dòng định mức), R_ds(on)

Chỉ nhìn dòng đỉnh mà bỏ qua dòng hiệu dụng = hoạt động trần trụi, không phòng thủ.


5. Tóm gọn siêu đơn giản

  • Giá trị đỉnh: Phòng chết tức thì
  • Giá trị hiệu dụng: Phòng chết từ từ do nóng

Thiết kế nguồn là phải ưu tiên thiết kế tản nhiệt, chứ không phải ưu tiên giá trị dòng điện đỉnh.

Tiền bối muốn hỏi tại sao sau khi cấp điện, dùng đồng hồ vạn năng đo điện áp đầu ra lại là 5V, nhưng trên màn hình hiển thị điện áp và dòng điện đầu vào, đầu ra đều không bình thường.

Kiểm tra hàn

Làm ơn cho hỏi, làm thế nào để tính toán các thông số bù vòng?