入我的主頁,查看更多HTML的分享!
1. 頁面布局:
<aside>定義頁面內容之外的內容</aside>
<footer>定義文檔或節的頁腳</footer>
<header>定義文檔或節的頁眉</header>
<main>定義文檔的主內容</main>
<nav>定義文檔內的導航鏈接</nav>
<!-- 示例: -->
<header>我是導航欄</header>
<nav>我是導航欄</nav>
<aside>我是側邊欄</aside>
<main>我是內容</main>
<footer>我是頁腳</footer>
2. details、summary(折疊)
可配合CSS實現漂亮的折疊面板。
<details>定義用戶可查看或隱藏的額外細節</details>
<summary>定義 <details> 元素的可見標題</summary>
<!-- 示例: -->
<details>
<summary>HTML 5</summary>
這是展開后看到的內容
</details>
3. 進度條(progress)
可以實現行業占比顯示、任務進度、動態進度條等。
<progress>定義任務進度</progress>
<!-- 示例: -->
<style>
progress {
-webkit-appearance: none;
width: 180px;
height: 18px;
background-color: transparent;
}
progress::-webkit-progress-bar {
border-radius: 4px;
background-color: #efefef;
border: thin solid #efefef;
}
progress::-webkit-progress-value {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
background: teal;
}
progress::-moz-progress-bar {
background: #34538b;
}
progress::-ms-fill {
background: #34538b;
}
</style>
<progress value="40" max="100"></progress>
4. dialog(彈窗)
<dialog>定義對話框或窗口</dialog>
<!--
示例:
與form配合,這時點擊兩個按鈕都會自動關閉
不與form配合,可手動調用close()關閉,從而避免自動關閉
-->
<style>
dialog:not([open]) {
display: none;
}
dialog{}
dialog::backdrop{}
</style>
<dialog id="dialog">
<form method="dialog">
<p>
要關閉?
</p>
<button type="submit" value="false">取消</button>
<button type="submit" value="true">確定</button>
</form>
</dialog>
<script>
let d = document.getElementById("dialog");
let s = d.showModal();
d.addEventListener("close", function() {
console.log(d.returnValue); //returnValue對應button上的value
});
</script>
5. figcaption(包含的容器)
<figcaption>定義 <figure> 元素的標題</figcaption>
<figure>定義自包含內容,比如圖示、圖表、照片、代碼清單等等</figure>
<!-- 示例: -->
<figure>
<img src="" alt="" width="200" height="200" />
<figcaption>我是圖片的描述內容</figcaption>
</figure>
6. mark(標記)
<mark>定義重要或強調的內容</mark>
/*示例:*/
<style>
mark {
background-color: red;
padding: 0 4px;
margin: 0 4px;
border-radius: 3px;
font-size: 15px;
color: #fff;
}
</style>
<p>今天加班了,下班時記得<mark>打卡</mark></p>
7. meter
IE 瀏覽器不支持 meter 標簽。
<meter>定義已知范圍(尺度)內的標量測量</meter>
<!-- 示例: -->
<meter value="0.6"></meter>
<meter value="6" min="0" low="5" max="10"></meter>
8. article、sectionarticle:定義來自外部(引用)的論壇帖子、報紙文章、博客條目、用戶評論等,通常包含標題、頁腳等標簽,對比<section>更具體。
<article>定義頁面內的文章</article>
<section>定義文檔中的節</section>
<!-- 示例: -->
<article>
<h1>Internet Explorer 9</h1>
<p>Windows Internet Explorer 9(簡稱 IE9)于 2011 年 3 月 14 日發布.....</p>
</article>
<section>
<h1>WWF</h1>
<p>
The World Wide Fund for Nature (WWF) is an international organization working on
issues regarding the conservation, research and restoration of the environment,
formerly named the World Wildlife Fund. WWF was founded in 1961.
</p>
</section>
9. 其它
/* 僅Firefox 8.0 以及更高的版本支持 */
<menuitem>定義用戶能夠從彈出菜單調用的命令/菜單項目</menuitem>
1. h-(標題)
<h1>一級標題</h1>
<h2>二級標題</h2>
<h3>三級標題</h3>
<h4>四級標題</h4>
<h5>五級標題</h5>
<h6>六級標題</h6>
2. bdo(方向)
<bdo dir="rtl">定義相反的的文本方向</bdo></p>
3. ruby、rp、rt(注釋)
<rp>定義在不支持 ruby 注釋的瀏覽器中顯示什么</rp>
<rt>定義關于字符的解釋/發音(用于東亞字體)</rt>
<ruby>定義 ruby 注釋(用于東亞字體)</ruby>
<!-- 示例: -->
<ruby> 漢 <rp>(</rp><rt>Han</rt><rp>)</rp> 字 <rp>(</rp><rt>zi</rt><rp>)</rp> </ruby>
4. time
<time>定義日期/時間</time>
<!-- 示例: -->
<article>
<time datetime="2011-09-28" pubdate="pubdate"></time>
Hello world. This is an article....
</article>
5. wbr(單詞換行時機)
IE不支持。
<wbr>定義可能的折行(line-break)</wbr>
6. abbr、acronym (縮寫)
IE 6 或更早版本的 IE 瀏覽器不支持 <abbr> 標簽
<abbr title=""></abbr>
<acronym title=""></acronym>
7. del(刪除線)
<del>位于中間的刪除線</del>
1. fieldset(帶標題的邊框)
<form>
<fieldset>
<legend>健康信息</legend>
身高:<input type="text" />
體重:<input type="text" />
</fieldset>
</form>
2. output(存放輸出內容)
Internet Explorer 8 以及更早的版本不支持 <output> 標簽。
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" id="a" value="50">100
+<input type="number" id="b" value="50">
=<output name="x" for="a b"></output>
</form>
1. video(視頻)
<video src="">
您的瀏覽器不支持 video 標簽。
</video>
2. audio(音頻)
<audio src="">
您的瀏覽器不支持 audio 標簽。
</audio>
3. source(源文件)
Internet Explorer 8 以及更早的版本不支持 <source> 標簽。
<video controls>
<source src="" type="video/mp4">
<source src="" type="video/ogg">
Your browser does not support the audio element.
</video>
MDN(https://developer.mozilla.org/zh-CN/docs/Web/HTML)
W3Cschool(https://www.w3cschool.cn/html5)
菜鳥教程(https://www.runoob.com/html/html5-intro.html)
還會完善一些常用的元素,比如input;如果有補充內容,請在評論區留言。
//下栽のke:chaoxingit.com/321/
JavaScript是一種靈活且強大的腳本語言,廣泛應用于網頁開發、移動應用開發、桌面應用開發等領域。對于想要深入學習和掌握JavaScript的人來說,了解一些高級玩法是非常有用的。以下是一些JavaScript的高級玩法:
JavaScript中,每個對象都有一個__proto__屬性,這個屬性指向它的構造函數的原型。通過__proto__屬性,我們可以實現原型鏈和繼承。例如,我們可以創建一個Animal構造函數,然后創建一個Dog構造函數,讓Dog繼承Animal的方法和屬性。
function Animal() { this.name = 'Animal';}Animal.prototype.makeSound = function() { console.log('Animal makes sound');};function Dog() { Animal.call(this); // call Animal constructor to set this object's __proto__ property}Dog.prototype = Object.create(Animal.prototype); // set Dog's prototype to Animal's prototypelet dog = new Dog();dog.makeSound(); // Output: Animal makes sound
閉包是指在一個函數內定義的函數,它可以訪問該函數的局部變量和參數,即使外部函數已經返回。閉包在JavaScript中非常常用,因為它可以幫助我們實現模塊化、封裝和數據私有化。
function outerFunction() { let count = 0; return { innerFunction: function() { count++; console.log(count); } };}let obj = outerFunction();obj.innerFunction(); // Output: 1obj.innerFunction(); // Output: 2
JavaScript是一門單線程的語言,這意味著它不能同時執行多個任務。為了處理異步任務,JavaScript提供了多種方法,如回調函數、Promise、async/await等。
// Using callback functionfunction doSomethingAsync(callback) { setTimeout(() => { callback('done'); }, 1000);}doSomethingAsync((result) => { console.log(result); // Output: done});// Using PromisedoSomethingAsync() .then(result => console.log(result)); // Output: done// Using async/awaitasync function doSomethingAsync() { const result = await doSomethingAsync(); console.log(result); // Output: done}
以上只是JavaScript高級玩法的一部分,還有很多其他的技巧和方法等待你去探索和學習。如果你想深入了解這些話題,可以閱讀一些相關的書籍和教程,如《JavaScript高級程序設計》、《ES6 標準入門》等。同時,實踐是最好的老師,你可以通過編寫一些小程序或參與一些開源項目來提高自己的JavaScript水平。
如何利用閉包提升代碼性能
閉包是JavaScript中一種強大的語法,它允許函數記住并訪問其所在的詞法環境。合理使用閉包可以大大提升代碼的性能和可讀性,但如果不正確使用,也可能導致內存泄漏等問題。以下是一些利用閉包提升代碼性能的建議:
"破解JavaScript高級玩法"可能是指深入理解和應用JavaScript語言的高級特性和技術,以解決復雜的問題或開發創新的應用。這種技術通常在以下領域和趨勢中得到應用:
總的來說,JavaScript高級玩法在各種應用領域和未來趨勢中都有廣泛的應用前景,隨著技術的不斷發展和創新,其應用范圍和影響力也將不斷擴大。
于反激話題,很多電源工程師工作中會遇到不同的問題。其實找到問題的根源,才能對癥下藥。下面給大家分享幾篇不錯的文章,供大家學習~
跟小編學習一下新的電源知識:你們知道什么是自激式開關電源,什么是反激式開關電源?他們的工作原理是什么,以及優缺點是什么呢?只要花幾分鐘就能明白這個知識點~
單端正激變換:由于是在開關管T導通期間輸入端電源經變壓器向輸出電容器和負載提供能量,故稱為正激變換器;
單端反激式變換:由于是在開關管T關斷期間變壓器向輸出電容器和負載提供能量,為反激變換器。
如圖:
開關電源的正激式與反激式的區別如下:
一、原理不同:
1、正激式開關電源是指使用正激高頻變壓器隔離耦合能量的開關電源,與之對應的有反激式開關電源。
正激具體所指當開關管接通時,輸出變壓器充當介質直接耦合磁場能量,電能轉化為磁能,磁能又轉化為電能,輸入輸出同時進行。
2、“反激”(FLY BACK)具體所指當開關管接通時,輸出變壓器充當電感,電能轉化為磁能,此時輸出回路無電流;相反,當開關管關斷時,輸出變壓器釋放能量, 磁能轉化為電能,輸出回路中有電流……
查看原文:https://www.dianyuan.com/article/49297.html
本篇文章主要從高頻變壓器公式,進行氣隙推斷,從而看一下正激變壓器與反激變壓器在氣隙的方面,究竟有何不同之處!
1、變壓器中的公式
1)V=N*B*Ae/t.
V是線圈兩端的電壓;
N是線圈的匝數;
B是磁芯的磁通量密度;
Ae是磁芯的繞線的地方的橫截面積
t是時間。
公式的含義是:在時間t內,對繞線N匝的線圈而言,磁通量的變化是N*B*Ae,產生的感應電壓是V。
安培定理:N1*I1+N2*I2...=H1*L1+H2*L2。在穩恒磁場中,磁感應強度B沿任何閉合路徑的線積分,等于這閉合路徑所包圍的各個電流的代數和乘以磁導率。
N1是磁芯繞組上線圈1的匝數。
I1是線圈1上的電流。
H1是磁芯的磁場強度=B/u0*ur,u0是真空磁導率,ur是磁芯的相對磁導率。
L1是磁芯中磁場回路的長度。
H2是磁芯的氣隙的磁場強度=B/u0
L2是磁芯氣隙的長度。
B=u0*(N1*I1+N2*I2+...)/(L1/ur+L2)。
2、正激變壓器
最大功率處的波形
磁通密度相對于時間t的波形
公式1中(V=N*B*Ae/t),考慮到匝數越多,損耗越大,要求的磁芯越大,因此,選擇匝數盡量少,選擇B=Bmax。V=N*Bmax*Ae/t1,求出N,N向上取整數Ni,作為繞線匝數。
選取Ni后,可以求出此時的Bi=V*t1/(Ni*Ae)。
通過公式2:
Bi=u0*(N1*I1-N2*I2)/(L1/ur+L2)。
變壓器中,同名端的電流方向相反,因此符號相反。
當功率等于p的時候,I2確定,可以算出I1=Bi*(L1/ur+L2)/(u0*N1)+N2*I2/N1。
變壓器的輸入功率=I1*V*D=0.5*Bi*(L1/ur+L2)/(u0*N1)*V*D+N2*I2/N1*V*T*D=0.5*Bi*(L1/ur+L2)/(u0*N1)*V*D+p.是可以滿足功率要求的。因此正激變壓器不需要調節L2的值,來滿足功率要求……
查看原文:https://www.dianyuan.com/article/48767.html
本文主要介紹反激式轉換器工作原理,以及反激開關MOSFET源極流出的電流波形轉折點的分析。
反激式轉換器工作原理
圖1為一個最簡單的反激式轉換器拓撲結構,并且包含以下寄生元件:
如初級漏電感、Mosfet的寄生電容和次級二極管的結電容。
圖1包含寄生元件的反激式轉換器拓撲圖
該拓撲源自一個升降壓轉換器,將濾波電感替換為耦合電感,如帶有氣隙的磁芯變壓器,當主開關器件MOSFET導通時,能量以磁通形式存儲在變壓器中,并在MOSFET關斷時傳輸至輸出。由于變壓器需要在MOSFET導通期間存儲能量,磁芯應該開有氣隙,基于這種特殊的功率轉換過程,所以反激式轉換器可以轉換傳輸的功率有限,只是適合中低功率應用,如電池充電器、適配器和DVD播放器。
反激式轉換器在正常工作情況下,當MOSFET關斷時,初級電流(id)在短時間內為 MOSFET的Coss(即Cgd+Cds)充電,當Coss兩端的電壓Vds超過輸入電壓及反射的輸出電壓之和(Vin+nVo)時,次級二極管導通,初級電感Lp兩端的電壓被箝位至nVo。因此初級總漏感Lk(即Lkp+n2×Lks)和Coss之間發生諧振,產生高頻和高壓浪涌,MOSFET上過高的電壓可能導致故障。
反激式轉換器可以工作在連續導通模式(CCM)(如圖2)和不連續導通模式(DCM)(如圖3)下,當工作在CCM模式時,次級二極管保持導通直至MOSFET柵極導通,而MOSFET導通時,次級二極管的反向恢復電流被添加至初級電流,因此在導通瞬間初級電流上出現較大的電流浪涌;當工作在DCM模式時,由于次級電流在一個開關周期結束前干涸,Lp和MOSFET的Coss之間發生諧振。
圖2 連續導通模式
圖3 不連續導通模式
圖4顯示了開關電源工作在DCM模式,實測的MOSFET電壓和電流工作波形,除了可以看到MOSFET在開通和關斷的過程中,均產生比較大的電壓和電流變化,而且可以看到MOSFET在開通和關斷的瞬間,產生一些震蕩和電流尖峰……
查看原文:https://www.dianyuan.com/article/48167.html
本文將詳細解析PSR反激開關電源同步整流是怎樣實現的,希望對大家有所幫助。
大家都知道同步整流相比功率二極管整流損耗小,效率高,相同功率下電源尺寸可以更小。同步整流的驅動方式有電壓型驅動和電流型驅動兩種。按照SR門級驅動電壓的來源,又分為自驅動和外驅動。
這里要介紹的是在充電器領域內常見的電壓型其驅動的同步整流 ,知識點包含以下幾個小節,結合芯片內部結構力求全面講細講清楚以及設計過程中遇到的一些坑,不過還不知道何為PSR架構的童鞋可以先自行了解一下,本章先不展開來講了。
知識點:
1.同步整流MOS什么時候開通?什么時候該關斷?
2.整流芯片是怎么辨別原邊導通的波形和RING的?它的邏輯是怎樣?靠電路是怎么實現的?
3.除了同步整流功能外,它還可以用來監控次級側電壓,猶如SSR里面的TL341,可以使其動態響應遠遠優于普通的PSR架構
一. SR 何時開通,何時關斷?
(附上BCD芯片的線路圖)
圖1
圖2
圖1中次級側的APR3415是本章的主角了,圖2是其內部方框圖,可以看到整流MOS已經集成在芯片里面了(紅色圓圈所示)。
那么他何時該開通呢?判斷準則其實想的出來是原邊導通的時候他應當關斷,次級側導通的時候他才能導通。但他又不是原邊控制芯片肚子里的蛔蟲,怎么知道何時該導通的呢?我們知道當原邊MOS Q1導通的時候,根據變壓器同名端(變壓器T1黑點圓圈的為同名端,沒有黑點的為非同名端)判斷此時次級側非同名端,也是和APR3415的DRAIN PIN相連的端為正,那么此時刻他必須關斷。
而當原邊MOS由導通變為關斷的時候,同名端反向,次級側和DRAIN PIN相連的一端為負,那么此時整流MOS可以開通了……
查看原文:https://www.dianyuan.com/article/45967.html
我們做過正激也做過反激的電源工程師都知道,一般在100W以內我們習慣用反激拓撲來做,超過100W的用正激比較合適。
j究竟是為什么呢?
我來說說我的觀點,首先只要懂得設計變壓器的工程師。
在計算反激開關電源時,反激功率做得越大,原邊電感量肯定是越小的,這跟拓撲的特性有關,我們先來分析一下反激的工作過程:
上圖為反激的基本拓撲,當MOS開關管開通時,變壓器原邊繞組上正,下方,此時變壓器副邊繞組上負下正,整流二極管VD截止,在MOS開通的時段,變壓器的勵磁能量由于沒有通路釋放從而全部存儲在變壓器中。當MOS開關管關閉之后,變壓器原邊繞組電位變成下正上負,根據同名端,此時副邊繞組的電位為上正下負,整流二極管VD導通,變壓器釋放能量,磁芯復位。
就是這樣周而復始,使輸出穩壓。
由于這種不斷存儲又釋放存儲又釋放的工作模式決定變壓器的是很容易飽和的,為了控制變壓器不飽和,通常的做法就是加氣隙。
為了方便,我們用反激DCM的公式,簡單說明一下
Lp:原邊感量,Ip:原邊電流,Vin最低輸入電壓,D:占空比,P輸入功率,f開關頻率
我們通過幾個簡單的公式就可以看出,反激電源的原邊電感量是受到了限制的。
我們再通過上面的公式,可知感量和Lp和峰值電流定了之后,要使磁芯不飽和,我們只能通過增大Np匝數來降低磁通密度,Np增大了,Lp是定了磁芯必然要加氣隙。有計算經驗的人都知道,反激變壓器尤其是功率打了變壓器感量都是比較小的。
下面我們來看看正激
上圖為正激電源的基本拓撲,開關MOS管開通時,原邊繞組NP1為上正下負,根據同名端判定此時副邊繞組NS也為上正下負,輸出整流二極管VD1是導通的,原邊導通的同時副邊也導通,能量每個周期都能夠得到即時釋放。變壓器不存在存儲階段,雖然原邊也有比較大的電流,但這電流大部分都是由副邊折射過來的,初級和次級是同時有電流的,而且產生的磁感應強度相等,方向相反,當負載變重,初級電流也相應加大,抵消了磁芯磁場的變化,所以正激不用考慮正激的電感量的大小,繞多大就是多大……
查看原文:https://www.dianyuan.com/article/45626.html
反激式變壓器是反激開關電源的核心,它決定了反激變換器一系列的重要參數,如占空比D,最大峰值電流,設計反激式變壓器,就是要讓反激式開關電源工作在一個合理的工作點上。這樣可以讓其的發熱盡量小,對器件的磨損也盡量小。同樣的芯片,同樣的磁芯,若是變壓器設計不合理,則整個開關電源的性能會有很大下降,如損耗會加大,最大輸出功率也會有下降,下面我系統的說一下我設計變壓器的方法。
設計變壓器,就是要先選定一個工作點,在這個工作點上算,這個是最苛刻的一個點,這個點就是最低的交流輸入電壓,對應于最大的輸出功率。下面我就來算了一個輸入85V到265V,輸出5V,2A 的電源,開關頻率是100KHZ。
第一步:選定原邊感應電壓VOR
這個值是由自己來設定的,這個值就決定了電源的占空比。可能朋友們不理解什么是原邊感應電壓,為了便于理解,我們從下面圖一所示的例子談起,慢慢的來。
這是一個典型的單端反激式開關電源,大家再熟悉不過了,下面分析一下一個工作周期的工作情況,當開關管開通的時候,原邊相當于一個電感,電感兩端加上電壓,其電流值不會突變,而線性的上升,有公式上升了的電流:
I升=VS*Ton/L
這三項分別是原邊輸入電壓、開關開通時間和原邊電感量.在開關管關斷的時候,原邊電感放電,電感電流又會下降,同樣要尊守上面的公式定律,此時有下降了的電流:
I降=VOR*TOFF/L
這三項分別是原邊感應電壓(即放電電壓)、開關管關斷時間和電感量.在經過一個周期后,原邊電感電流會回到原來的值,不可能會變,所以,有:
VS*TON/L=VOR*TOFF/L
即上升了的等于下降了的,懂嗎?好懂吧!上式中可以用D來代替TON,用(1-D)來代替TOFF。移項可得:
D= VOR/(VOR +VS)
此即是最大占空比了。比如說我設計的這個變壓器,我選定感應電壓為80V,VS為90V ,則D=80/(80+90)=0.47
第二步:確定原邊電流波形的參數
邊電流波形有三個參數,平均電流,有效值電流,峰值電流.,首先要知道原邊電流的波形,原邊電流的波形如下圖所示。這是一個梯形波橫向表示時間,縱向表示電流大小,這個波形有三個值,一是平均值Iav,二是有效值I,三是其峰值Ip,平均值就是把這個波形的面積再除以其時間.如下面那一條橫線所示,首先要確定這個值,這個值是這樣算的,電流平均值:
Iav=Po/(η*VS)
因為輸出功率除以效率就是輸入功率,然后輸入功率再除以輸入電壓就是輸入電流,這個就是平均值電流。下一步求電流峰值。
為了求電流峰值我們還要設定一個參數,這個參數就是KRP,所謂KRP,就是指最大脈動電流△IM和峰值電流Ip的比值(圖二所示),KRP的取值范圍在0和1之間。這個值很重要。已知了KRP,現在要解方程了,都會解方程吧,這是初一的應用題啊,我來解一下,已知這個波形一個周期的面積S=Iav*1,這個波形的面積S等于:
S=IM*KRP*D/2+IM*(1-KRP)*D
所以有電流平均值等于上式,解出來峰值電流:
IM=Iav/[(1-0.5 KRP)*D]。
比如說我這個輸出是10W,設定效率是0.8 ,則輸入的平均電流就是:
Iav=10/0.8*90=0.138A,
我設定KRP的值是0.6,而最大值:
IM=0.138/(1-0.5KRP).D=0.138/(1-0.5*0.6)*0.47=0.419A.
下面球電流的有效值I,電流有效值和平均值是不一樣的,有效值的定義還記得嗎,就是說把這個電流加在一個電阻上,若是其發熱和另處一個直流電流加在這個電阻上發熱效果一樣的話,那么這個電流的有效值就等于這個直流的電流值.所以這個電流的有效值不等于其平均值,一般比其平均值要大.而且同樣的平均值,可以對應很多個有效值,若是把KRP的值選得越大,有效值就會越大,有效值還和占空比D也有關系,總之.它這個電流波形的形狀是息息相關的.我就直接給出有效值的電流公式,這個公式要用積分才能推得出來,我就不推了,只要大家區分開來有效值和平均值就可以了……
查看原文:https://www.dianyuan.com/article/44799.html
意猶未盡,查看更多精彩文章→→https://www.dianyuan.com/eestar/
更多精彩內容→→
關于嵌入式單片機,怎樣的學習方法才是正確的
反激→就是這樣的過程,搞不懂的快來GET
想快速學EMC,以下六篇文章足矣,建議收藏
關于LDO必須掌握的知識點,你都掌握了嗎?
*請認真填寫需求信息,我們會在24小時內與您取得聯系。