數控調壓BUCK電路 —— 基于TPS56637(TI)

0 前言

本文基于 TITPS56637 實現一個支持調壓的 BUCK 電路,包含從零開始詳細的 原理解析、原理圖、PCB 及 實測數據

本文屬于《DIY迷你數控電源》系列,本系列我們一起實現一個簡單的迷你數控電源

我是 LNY,一個在對嵌入式的所有都感興趣的博主,一個原廠嵌入式軟件開發工程師
如果對你有幫助,請點贊、收藏、關注三連,這是我持續創作的動力之一!!!

文章目錄

  • 0 前言
  • 1 如何進行數控調壓
    • 1.1 BUCK原理簡介
    • 1.2 如何用BUCK得到想要的電壓
    • 1.3 如何動態調整BUCK的輸出電壓
    • 1.4 其它
  • 2 設計選型
    • 2.1 背景:數控電源DIY項目
    • 2.2 設計指標
    • 2.3 BUCK選型
  • 3 硬件設計
    • 3.1 原理圖 & 參數設計
    • 3.2 軟件效率優化
    • 3.3 PCB & 渲染圖
  • 4 測試
    • 4.1 測試環境
    • 4.2 簡單測試
    • 4.3 進一步的測試待更新...
  • 5 本系列其它文章(或更新計劃)
  • 6 參考資料

1 如何進行數控調壓

1.1 BUCK原理簡介

BUCK 是一種 DCDC 拓撲結構,把輸入的高電壓轉換成更低的穩定電壓

實現方式是 控制模擬開關導通的占空比 來調整輸出電壓的大小
控制模擬開關導通的占空比 是由輸出電壓決定的(許多BUCK芯片將模擬開關集成在芯片內部)

BUCKFB(Feedback,反饋)引腳用于獲取 分壓后的輸出電壓實際值

分壓后的輸出電壓實際值 將和 內部參考電壓 進行比較,組成一個反饋網絡,通過監測輸出電壓,來控制模擬開關的占空比:

分壓后的輸出電壓實際值 > 內部參考電壓 ==> 提高模擬開關導通的占空比,輸出電壓升高
分壓后的輸出電壓實際值 < 內部參考電壓 ==> 降低模擬開關導通的占空比,輸出電壓降低

最終,FB引腳的電壓 將會穩定在 內部參考電壓,而輸出電壓也會穩定在我們想要的電壓上

1.2 如何用BUCK得到想要的電壓

外圍電路的結構芯片原廠已經給出,在一般應用下,我們最重要的工作是:計算FB引腳上電阻分壓網絡的阻值,即下圖中的 R6R7
在這里插入圖片描述

在這里插入圖片描述
VOUTV_{OUT}VOUT?—— 經過 BUCK 降壓后的輸出電壓
R6、R7 —— 對應原理圖的 R6 和 R7
0.6 —— 反饋電壓,每個 BUCK 芯片可能不同,為一常量,在 DATASHEET 的電氣參數中可以查到
在這里插入圖片描述
芯片原廠在其應用實例中一般都會給出上圖中所示的一個公式
在輸入和輸出參數都滿足其要求的情況下,選定R6R7的阻值,就可以得到想要的輸出電壓

這個公式是怎么得來的?
這個公式可以寫成:
0.6=VOUTR6+R7?R7\begin{aligned} 0.6 = \frac{ V_{OUT} }{R_6 + R_7} * R_7 \end{aligned} 0.6=R6?+R7?VOUT???R7??
看原理圖,電流從 VOUT 經過 R6R_6R6?R7R_7R7? 流入 GND,那么這條回路上的電流為:VOUTR6+R7\frac{ V_{OUT} }{R_6 + R_7}R6?+R7?VOUT??
這條回路上電流處處相等,因此電阻 R7R_7R7? 兩端的電壓為 VR7=VOUTR6+R7?R7V_{R_7} = \frac{ V_{OUT} }{R_6 + R_7} * R_7VR7??=R6?+R7?VOUT???R7?
電阻 R7R_7R7? 兩端的電壓就是其兩端的壓差,而其一端是 GND 電壓為0V,那么其另一端電壓值就是VR7V_{R_7}VR7??
這一點直接連接BUCK芯片FB引腳,即 VFB=VOUTR6+R7?R7V_{FB} = \frac{ V_{OUT} }{R_6 + R_7} * R_7VFB?=R6?+R7?VOUT???R7?

上面我們有說,BUCK芯片的目的就是控制模擬開關導通的占空比,讓VFBV_{FB}VFB?和內部參考電壓保持一致,從而得到想要的輸出電壓。目前我們VOUTV_{OUT}VOUT?(由設計指標得到)、VFBV_{FB}VFB?(由芯片手冊得到)已知,只要選擇 R6R_6R6?R7R_7R7? 讓這個等式成立就可以了。

阻值選擇的注意事項?

  1. 必須保證上述等式成立。
  2. 阻值應在合理范圍內選擇。阻值過大會導致 FB 引腳內部誤差放大器偏置電流引起的誤差變大,且更容易拾取環境中的電磁干擾噪聲等;阻值過小會導致由過多電流流入電阻分壓網絡,導致系統功耗變大

當手冊沒有明確指定時,選擇幾十kΩ級別(如10kΩ - 200kΩ) 的電阻通常是一個安全、合理且廣泛應用的起點。

1.3 如何動態調整BUCK的輸出電壓

首先,廠商自己會推出一些支持調壓的 DC-DC 芯片,可以通過一些通訊協議來調整輸出電壓。

但我們這里討論的是 普通的 DC-DC 芯片如何完成調壓。當然,TI 在其DATASHEET里有寫,不建議這么操作。
在這里插入圖片描述
卓晴老師在他的文章數控降壓電源模塊DCDC| 5A,LCD顯示講解了一種數控調壓的方法:通過使用DAC注入電流,以調整FB電壓,進而調整輸出電壓。我們簡單復習一下。

在正常情況下,FB 引腳的電壓VFBV_{FB}VFB?VOUT 經過電阻分壓網絡直接得到
那么如果我們自己控制 FB 引腳的電壓VFBV_{FB}VFB?,是不是就能調整輸出電壓了呢?

卓晴老師在其文章中引用了XL4015-ADJ 5A 大電流DC-DC原理圖分享一文中的原理圖,這里借用一下:
在這里插入圖片描述
從上圖可以看到,I2I_2I2?I3I_3I3?流入 VFB 節點,I1I_1I1?流出 VFB 節點,他們的大小分別是:
I1=VFBR1I2=VOUT?VFBR2I3=VG?VD?VFBR3\begin{aligned} I_1 &= \frac{V_{FB}}{R_1} \\ I_2 &= \frac{V_{OUT} - V_{FB}}{R_2} \\ I_3 &= \frac{V_G - V_D - V_{FB}}{R_3} \end{aligned} I1?I2?I3??=R1?VFB??=R2?VOUT??VFB??=R3?VG??VD??VFB???
其中:
VGV_GVG? —— DAC (或其它,如濾波后的PWM信號)輸出的直流電壓
VDV_DVD? —— 二極管(一般是肖特基二極管,因為壓降低)的壓降

根據基爾霍夫電流定律,在任意時刻,流入電路中某一節點(或閉合面)的電流之和等于流出該節點(或閉合面)的電流之和,因此:
I1=I2+I3\begin{aligned} I_1 = I_2 + I_3 \end{aligned} I1?=I2?+I3??
聯立以上四式,得:
VOUT=VFB×(1+R2R1)+(VFB+VD?VG)×R2R3V_{OUT} = V_{FB} \times \left(1 + \frac{R_2}{R_1}\right) + (V_{FB} + V_D - V_G ) \times \frac{R_2}{R_3} VOUT?=VFB?×(1+R1?R2??)+(VFB?+VD??VG?)×R3?R2??
現在我們在選定 R1R_1R1?R2R_2R2?R3R_3R3? 三個阻值后,就可以通過調整 VGV_GVG? 的電壓來調整 VOUTV_{OUT}VOUT? 了!

1.4 其它

在此我有個疑問,為什么不直接將DAC接入到FB引腳呢?

!!!以下內容來源于DeepSeek,供大家參考:

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
有些芯片是支持直接使用DAC控制的,因為其FB引腳已經做了優化:

2 設計選型

2.1 背景:數控電源DIY項目

在選擇設計指標前,有必要說一下要實現的DIY項目。
這個DIY項目的最終目標是實現一個迷你數控電源,其和調壓相關的實現如下:

  1. 電壓誘騙
    數控電源的電源輸入來自快充充電器,通過 PD 協議芯片 STUSB4500,誘騙出5V、9V、12V或20V電壓。如果快充頭支持PPS協議,那么可以在 5V——20V 以 0.05V 的步進自由選擇數控電源的輸入電壓(因為 STUSB4500 只支持這些,而非快充協議限制)。
  2. 電壓轉換
    作為一個數控電源,應該可以以較高精度的步進調整輸出電壓,為此支持兩種電壓輸出方式
    方式1: 通過 PPS 協議直接誘騙出需要的電壓。
    (優點:電路簡單、效率高。缺點:最低輸出5V,調整步進精度0.05V)
    方式2:PD3.0PPS 協議誘騙出一特定電壓后,輸入到數控 BUCK 電路,調整為最終需要的電壓。
    (優點:可以輸出低于5V的電壓、調整步進精度高。缺點:由于BUCK壓差的限制,不能輸出過高的電壓;輸出紋波大)
    .
    為了實現上述功能,將使用兩個負載開關芯片 LM73100(也是理想二極管芯片)實現二選一輸出。
  3. 計量
    使用 INA233 計量芯片實現對輸出的電壓、電流、功率和能量進行計量。
  4. 保護功能
    使用 TPS25974 電子保險絲實現過流、過壓、短路等接口保護。

2.2 設計指標

基于上述前提,可以定出對BUCK調壓電路基本的設計指標

  • 輸入電壓:5V——20V(由PD誘騙芯片決定,STUSB4500 最高支持20V)
  • 輸出電壓:0V——12V(需要更高電壓時,由PD誘騙后通過快充頭直出)
  • 輸出電流:5A(由PD誘騙芯片決定,STUSB4500 最高支持5A)
  • 輸出紋波:100mV(僅BUCK輸出,不包含后級eFuse的大電容)
  • 調壓精度:10mV

2.3 BUCK選型

基于以上指標,選擇了德州儀器的 TPS56637
在這里插入圖片描述

3 硬件設計

3.1 原理圖 & 參數設計

DATASHEET的參考設計:
在這里插入圖片描述
參考以上設計,繪制我們的原理圖
在這里插入圖片描述
那么主要選擇的參數就是 R22R_{22}R22?R23R_{23}R23?R25R_{25}R25? 了。

根據上面的公式:
VOUT=VFB×(1+R23R22)+(VFB+VD?VG)×R23R25V_{OUT} = V_{FB} \times \left(1 + \frac{R_{23}}{R_{22}}\right) + (V_{FB} + V_D - V_G ) \times \frac{R_{23}}{R_{25}} VOUT?=VFB?×(1+R22?R23??)+(VFB?+VD??VG?)×R25?R23??
其中,已知參數是:
VGV_{G}VG?是DAC輸出的電壓,范圍是 0V — 3.3V;
VDV_{D}VD?是肖特基二極管上的壓降,1N5817WS 的壓降是 0.45V;
R22R_{22}R22?初選為10kΩ,R23R_{23}R23?選為220kΩ,R25R_{25}R25?選為36kΩ。
VOUT=0.6×(1+22010)+(1.05?VG)×22036V_{OUT} = 0.6 \times \left(1 + \frac{220}{10}\right) + (1.05 - V_G ) \times \frac{220}{36} VOUT?=0.6×(1+10220?)+(1.05?VG?)×36220?
VGV_{G}VG?輸出 0V 時,VOUT=20.21VV_{OUT} = 20.21VVOUT?=20.21V
VGV_{G}VG?輸出 3.3V 時,VOUT=0.05VV_{OUT} = 0.05VVOUT?=0.05V

12bit DAC的輸出范圍碼字為0 — 4096,對應 0.05V 和 20.21V,那么一個碼子對應的電壓值為0.005V,即理論調壓精度為5mV。

但是BUCK芯片是有壓差要求的,且 TPS56637 最高輸出電壓為13V,因此DAC的最低輸出電壓VGMAX=1.18VV_{G_{MAX}} = 1.18VVGMAX??=1.18V

3.2 軟件效率優化

在這里插入圖片描述
在我們這個應用中,因為輸入電壓來源于快充充電器,所以可以獲取到范圍內的所有電壓值。

那是否會有一種控制算法
根據輸出電壓值,先粗調一個輸入電壓值,再通過BUCK精調,保證BUCK工作在最高效率下呢?

題主認為這種方式肯定是必須且有成效的,但是這部分還沒有完成,完成了會貼出來,并附上測試結果。

3.3 PCB & 渲染圖

根據上述的原理圖layout,BUCK電路對應下圖中紅框的位置。

請添加圖片描述

在這里插入圖片描述

4 測試

4.1 測試環境

在這里插入圖片描述
上圖中將BUCK的 MODE 引腳接地,從而使BUCK進入 ECO模式,在輕載下獲得更高的效率

在實際應用中,MODE 引腳由MCU的GPIO控制(但是這塊板的MCU剛剛炸掉,所以就簡單粗暴的短接到GND了)

4.2 簡單測試

DAC電壓為3.197V時,BUCK輸出電壓1.941V
DAC電壓為0V時,BUCK輸出電壓為13.97V

4.3 進一步的測試待更新…

總之先簡單的驗證一下這個電路能用吧,具體效果怎么樣后面再更新

后面的打算換一款板子,把MCU焊好之后再測試。

5 本系列其它文章(或更新計劃)

如果已經更新,下面會出現超鏈接

硬件:

  • MCU —— STM32G431CBU6
  • 調壓BUCK電路 —— 基于TPS56637(本文)
  • 功率計電路 —— 基于INA233
  • 理想二極管開關電路 —— 基于LM73100
  • 電子保險絲電路 —— 基于TPS25974
  • PD3.0(PPS) SINK電路 —— 基于STUSB4500
  • 旋轉編碼器 & 蜂鳴器電路 —— 基于EC11和SS8050
    .

軟件:

  • STUSB4500 —— BSP程序開發
  • INA233 —— BSP程序開發
  • EC11編碼器 &蜂鳴器 —— BSP程序開發
  • LVGL —— 圖形庫移植與應用開發
  • FreeRTOS —— 移植與應用開發
    .

其它:

  • 外殼設計及加工
  • 元器件及結構件的選擇
    .

相關文章:

  • PPS(PD3.0)快充SINK模塊 — 基于STUSB4500

6 參考資料

[1] 數控降壓電源模塊DCDC| 5A,LCD顯示 —— 卓晴
[2] XL4015-ADJ 5A 大電流DC-DC原理圖分享 —— 蘇守坤
[3] TPS56637 DATASHEET

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89792.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

prometheus UI 和node_exporter節點圖形化Grafana

prometheus UI 和node_exporter節點圖形化Grafana 先簡單的安裝一下 進行時間的同步操作安裝Prometheus之前必須要先安裝ntp時間同步&#xff0c;因為prometheus server對系統時間的準確性要求很高&#xff0c;必須保證本機時間實時同步。# 用crontab進行定時的時間的同步 yum …

RabbitMQ—TTL、死信隊列、延遲隊列

上篇文章&#xff1a; RabbitMQ—消息可靠性保證https://blog.csdn.net/sniper_fandc/article/details/149311576?fromshareblogdetail&sharetypeblogdetail&sharerId149311576&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 TTL …

LVS 集群技術詳解與實戰部署

目錄 引言 一、實驗環境準備 二、理論基礎&#xff1a;集群與 LVS 核心原理 2.1 集群與分布式 2.2 LVS 核心原理 LVS 的 4 種工作模式 LVS 調度算法 三、LVS 部署工具&#xff1a;ipvsadm 命令詳解 四、實戰案例&#xff1a;LVS 部署詳解 案例 1&#xff1a;NAT 模式…

前端vue3獲取excel二進制流在頁面展示

excel二進制流在頁面展示安裝xlsx在頁面中定義一個div來展示html數據定義二進制流請求接口拿到數據并展示安裝xlsx npm install xlsx import * as XLSX from xlsx;在頁面中定義一個div來展示html數據 <div class"file-input" id"file-input" v-html&qu…

android 信息驗證動畫效果

layout_check_pro <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:id"id/parent"android:layout_width"wrap_content"android:layout_…

【iOS】繼承鏈

文章目錄前言什么是繼承鏈OC中的根類關于NSProxy關鍵作用1.方法查找與動態綁定2. 消息轉發3. **類型判斷與多態**繼承鏈的底層實現元類的繼承鏈總結前言 在objective-c中&#xff0c;繼承鏈是類與類之間通過父類&#xff08;Superclass&#xff09;關系形成的一層層繼承結構&am…

論文閱讀:Instruct BLIP (2023.5)

文章目錄InstructBLIP&#xff1a;邁向通用視覺語言模型的指令微調研究總結一、研究背景與目標二、核心方法數據構建與劃分模型架構訓練策略三、實驗結果零樣本性能消融實驗下游任務微調定性分析可視化結果展示四、結論與貢獻InstructBLIP&#xff1a;邁向通用視覺語言模型的指…

Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】

目錄 一、準備階段 二、實驗階段 1.配置kibana主機 2.配置elasticsearch主機 3.配置logstash主機 4.配置/etc/filebeat/filebeat.yml 三、驗證 1.開啟Filebeat 2.在logstash查看 3.瀏覽器訪問kibana 一、準備階段 1.準備四臺主機kibana、es、logstash、filebeat 2.在…

Vue開發前端報錯:‘vue-cli-service‘ 不是內部或外部命令解決方案

1.Bug: 最近調試一個現有的Vue前端代碼&#xff0c;發現如下錯誤&#xff1a; vue-cli-service’ 不是內部或外部命令&#xff0c;也不是可運行的程序 或批處理文件。 2.Bug原因&#xff1a; 導入的工程缺少依賴包&#xff1a;即缺少node_modules文件夾 3.解決方案&#xff1…

AI生態,釘釘再「出招」

如果說之前釘釘的AI生態加持更多的圍繞資源和商業的底層助力&#xff0c;那么如今這種加持則是向更深層次進化&#xff0c;即真正的AI模型訓練能力加持&#xff0c;為垂類大模型創業者提供全方位的助力&#xff0c;提高創業成功率和模型產品商業化確定性。作者|皮爺出品|產業家…

XSS GAME靶場

要求用戶不參與&#xff0c;觸發alert(1337) 目錄 Ma Spaghet! Jefff Ugandan Knuckles Ricardo Milos Ah Thats Hawt Ligma Mafia Ok, Boomer Exmaple 1 - Create Example 2 - Overwrite Example 3 - Overwrite2 toString Ma Spaghet! <h2 id"spaghet&qu…

Unity學習筆記(五)——3DRPG游戲(2)

添加更多的敵人 編輯EnemyController&#xff0c;解決報錯導致敵人無法注冊觀察者模式&#xff0c;從而無法執行敵人慶祝動畫 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public enum EnemyStatus { GUARD,PATROL…

2025測繪程序設計國賽實戰:一輪終章 | 單向后方交會C#實現

前言本文是小編對六道國賽試題中的最后一個試題&#xff0c;單向后方交會的一篇學習日志。本文的整體架構&#xff0c;依舊首先拿訓練數據跟大家介紹本題涉及到的數據的屬性含義&#xff0c;涉及到算法的原理、執行流程和終極目的。然后附上小編用C#來實現的程序&#xff0c;從…

基于Echarts的氣象數據可視化網站系統的設計與實現(Python版)

本系統旨在構建一個基于Echarts的氣象數據可視化系統&#xff0c;本系統能夠從中國天氣網爬取實時天氣數據&#xff0c;并進行存儲、分析和可視化展示。用戶可以通過網頁界面查看不同地區的天氣情況&#xff0c;以及歷史天氣數據的變化趨勢。 技術棧&#xff1a;Python語言、My…

HarmonyOS 啟動提速秘籍:懶加載全鏈路實戰解析

摘要 隨著移動應用功能越來越復雜、界面越來越豐富&#xff0c;應用啟動慢、內存占用高等問題也越來越普遍。特別是在 HarmonyOS NEXT 應用開發中&#xff0c;如果不加優化&#xff0c;用戶打開頁面時可能要等好幾秒&#xff0c;體驗就很差了。 懶加載&#xff08;Lazy Loading…

全新安裝Proxmox VE啟動時卡在Loading initial ramdisk

原因&#xff1a; 使用了Ventoy啟動盤裝載 Proxmox ISO 文件安裝。 要用Ventoy優盤啟動&#xff0c;選擇Advance Option里的Rescue Boot&#xff0c; 修改文件/etc/default/grub.d/installer.cfg&#xff0c;刪除rdinit/vtoy/vtoy運行 update-grub 更新grub配置&#xff0c;重啟…

【Java項目安全基石】登錄認證實戰:Session/Token/JWT用戶校驗機制深度解析

目錄 1.前言 2.正文 2.1Cookie—Session機制 2.1.1核心原理圖解&#xff1a; 2.1.2四步核心流程&#xff1a; 2.1.3存儲架構對比 2.1.4集群部署方案&#xff08;Spring Session Redis&#xff09; 2.2Token令牌 2.2.1核心原理圖解&#xff1a; 2.2.2四步核心流程&am…

融合優勢:SIP 廣播對講聯動華為會議 全場景溝通響應提速?

SIP 廣播對講與華為視頻會議融合解決方案&#xff0c;是基于 SIP 協議將廣播對講系統與華為視頻會議系統進行整合&#xff0c;實現通信資源共享與業務流程聯動&#xff0c;可提升應急響應效率與溝通協作能力。融合原理&#xff1a;SIP 是一種基于文本的應用層協議&#xff0c;具…

Milvus Dify 學習筆記

目錄 docker方式&#xff1a; 模式一&#xff1a;Milvus Lite linux docker方式&#xff1a; 下載yml文件&#xff0c; https://github.com/milvus-io/milvus/releases docker啟動&#xff1a; docker compose up -d from pymilvus import connections connections.conne…

汽車ECU控制器通信架構

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…