0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HFTA-15.0熱敏電阻網(wǎng)絡(luò)與遺傳算法

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:ADI ? 2023-06-10 16:02 ? 次閱讀

本應(yīng)用筆記討論熱敏電阻在溫度補(bǔ)償中的應(yīng)用,簡要介紹快速確定最佳電路條件的遺傳算法。通過一個實(shí)例可以看出,利用該算法可以很容易得到最佳電阻值和NTC熱敏電阻值,實(shí)現(xiàn)特定的電壓溫度關(guān)系曲線。

簡介

問題:對于圖1所示電路拓?fù)?,如何獲得電阻值和NTC熱敏電阻值,以實(shí)現(xiàn)圖2所示的電壓與溫度關(guān)系曲線(注意:或許只能使用標(biāo)稱值)?

wKgaomSELfmAVqmzAAAPWCZLzbw397.gif


圖1. 熱敏電阻網(wǎng)絡(luò)

wKgZomSELfuAO5OjAABvA3qnUL0420.jpg


圖2. 電壓與溫度關(guān)系曲線

這個問題也許不會出現(xiàn)在教科書中,但是當(dāng)采用熱敏電阻網(wǎng)絡(luò)對有源元件進(jìn)行溫度補(bǔ)償時,就會面臨這樣一個實(shí)際問題。有人可能會按照圖1電路,通過不斷的電路實(shí)驗(yàn)和無數(shù)個方程的求解來確定方案;有些人可能會將數(shù)值代入仿真器電子表格,然后通過慢長的調(diào)整后得到盡可能匹配的曲線。

考慮到上述方案涉及到的眾多變量和溫度效應(yīng),利用上述任何一種方法尋求這個電路的最佳方案都將充滿挑戰(zhàn)。實(shí)際設(shè)計(jì)中只能采用標(biāo)稱值,也在一定程度上增加了難度。針對某組條件求解電路方案也許是一種可以接受的途徑,但當(dāng)條件、網(wǎng)絡(luò)或預(yù)期響應(yīng)條件較多時,求解過程就變得單調(diào)乏味。網(wǎng)絡(luò)越復(fù)雜(為了得到更好的溫度響應(yīng)),求解最佳方案的過程也更困難或更耗時,甚至無法得到象征性或經(jīng)驗(yàn)性的數(shù)據(jù)。而利用數(shù)值方法,例如:遺傳算法,可以方便地解決這些問題。

遺傳和電路這兩個詞很少會用在同一場景,但是,如同下文將要看到的,遺傳算法可以用來求解圖1所示電路的元件值。本應(yīng)用筆記將討論溫度補(bǔ)償時熱敏電阻的使用,并簡要介紹遺傳算法,最后會通過算法的一個實(shí)例快速求解上述問題。

熱敏電阻網(wǎng)絡(luò)的應(yīng)用

需要進(jìn)行溫度補(bǔ)償?shù)南到y(tǒng)大多選用熱敏電阻網(wǎng)絡(luò)。比如,熱敏電阻網(wǎng)絡(luò)可以用來調(diào)整電源電壓、PWM輸出等,也可以為晶體管、放大器、激光二極管等提供經(jīng)過溫度補(bǔ)償?shù)钠?a href="http://srfitnesspt.com/tags/電流/" target="_blank">電流。熱敏電阻網(wǎng)絡(luò)具有如廣泛的應(yīng)用,而每個應(yīng)用、每個設(shè)備所需要的補(bǔ)償(網(wǎng)絡(luò)值)卻不盡相同。

圖2所示范例是光通信鏈路中激光二極管的補(bǔ)償電路。為了保證通信質(zhì)量,激光二極管的偏置電路必須隨著溫度的變化進(jìn)行調(diào)整。溫度補(bǔ)償后的偏置電流可以采用圖3所示電路注入激光器,但是,為了使目標(biāo)電壓與溫度一致(圖2),必須確定最佳數(shù)值。通過遺傳算法可以在幾秒鐘內(nèi)找到近乎理想的方案。

wKgaomSELfyAYlZGAAAdoX7eXzA359.gif


圖3. 采用MAX3643突發(fā)模式激光驅(qū)動器的熱敏電阻網(wǎng)絡(luò)

遺傳學(xué)算法

遺傳算法是一種最優(yōu)化算法,它通過模擬遺傳過程找到解決多變量問題的最佳方案。雖然遺傳算法早在1950年, 1 就被首次使用,但也只是在最近的15到20年,由于計(jì)算機(jī)技術(shù)和處理器速度的發(fā)展,才得到廣泛應(yīng)用。

按照最簡單形式,算法首先創(chuàng)建一個隨機(jī)的群體或一個有預(yù)定起始點(diǎn)的群體。群體(圖4)中的每個群體單元(個體)由一列可以確定其結(jié)構(gòu)(其遺傳代碼)的變量組成。一旦群體單元完成初始化,就可以通過一系列標(biāo)準(zhǔn)衡量它的特性,并與其它單元進(jìn)行比較。群體單元隨后根據(jù)它們的特性進(jìn)行分類,排名差的個體將被去除(自然淘汰),同時通過混合來自前一代中最佳群體單元的變量(基因代碼)會生成新一代的個體(圖5)。

wKgZomSELf6AJqI_AAAuouLgcX4308.gif


圖4. 具有K個群體單元,每個單元由N個變量組成的群體示例

wKgaomSEMfWAVhpzAAFJ5ocW-58266.png


圖5. 從上一代到下一代變量(比如遺傳代碼)混合的過程示例

如果過程在完成各步驟后容許循環(huán),那么群體將會很快在一個共同且唯一的遺傳代碼上飽和。由此可以得到一個最小值,但它或許不是總體最小值。為了防止群體飽和或收斂于一個局部的最小值,必須在群體中引入新的隨機(jī)單元和對群體單元變量的突變(圖6)。

wKgaomSELgCAJ3b9AAA2AZ2y_8M232.gif


圖6. 在一代群體中引入隨機(jī)單元的過程示例

每個應(yīng)用中應(yīng)該引入的隨機(jī)因素在頻率和數(shù)量上都不同。如果引入的隨機(jī)因素過多,那么算法將無法收斂于一個理想的方案;如果引入的太少,找到總體最小值將會需要很長時間。因此,引入的隨機(jī)量應(yīng)該通過反復(fù)試驗(yàn)調(diào)整,或者當(dāng)群體飽和度增加時動態(tài)引入更多的隨機(jī)性。

還有一些優(yōu)化算法比遺傳學(xué)算法速度更快,但是,它們通常對于多變量問題來講編程更加復(fù)雜,并且通常收斂于一個局部最小值。遺傳學(xué)算法克服了這些問題。

遺傳學(xué)算法基于一個隨機(jī)過程,所以收斂于一個絕對最佳方案所需的時間也是隨機(jī)的。平均收斂時間將會隨著每一個群體單元的變量數(shù)目的增加而增加。對于某些應(yīng)用來講,針對某個特定情況確定、計(jì)算特性標(biāo)準(zhǔn)也很困難。簡而言之,有時很難用方程式表示出最佳方案。對于簡單的有源電路,比如圖1所示的熱敏電阻電路,可以很好地定義并很容易寫出特征標(biāo)準(zhǔn)。考慮到變量數(shù)量,在一個合理的時間段內(nèi)就可以找到解決方案。因此,遺傳學(xué)算法很適合解決這種類型的電路。

實(shí)例

利用免費(fèi)的visual basic編譯器,2 可以通過一段例程求解熱敏電阻網(wǎng)絡(luò)值(圖1),使其與圖2所需的響應(yīng)匹配。本例的源程序和可執(zhí)行文件可供下載。

軟件采用的算法基于下面的基本步驟:

將可用的電阻值和熱敏電阻值定義為每個群體單元的可能變量,為可用的電阻和可用的熱敏電阻分別定義一個數(shù)組。

建立個體的一個隨機(jī)群體(對于本例,群體應(yīng)該包含有100個單元)。每個群體單元就是一個數(shù)組,其中包含電路中(圖1)每個元件的入口。

使不同溫度下網(wǎng)絡(luò)所需的電壓值或電阻值與之相等,畫出響應(yīng)特性;然后將所需的電壓值/電阻值代入多項(xiàng)式方程代碼中。

計(jì)算每個群體單元的均方根誤差

從最低誤差到最高誤差將群體排序,用圖形表示最佳方案。

去除最差方案,然后隨機(jī)或系統(tǒng)地將剩余單元組合,生成下一代群體單元。

通過引入新的隨機(jī)群體單元或者通過隨機(jī)改變一個或者多個現(xiàn)有群體單元的一個或多個變量來引入隨機(jī)性。

返回步驟4并重復(fù),直至均方根差足夠低,用戶決定停止這一過程。

到了這一步您也許會提出疑問:"如何解決網(wǎng)絡(luò)值問題?"。如同遺傳和進(jìn)化一樣,這個方案是從一個狀態(tài)"成長"到另一個狀態(tài)。最佳方案本質(zhì)上就是針對環(huán)境(所需的電流響應(yīng))的最佳遺傳代碼(電路元件值)。如果仍然感到困惑,那么好吧,通過下面的實(shí)例結(jié)果很快就會消除您的擔(dān)憂。

圖7所示為軟件的圖形用戶界面。通過這個界面,可以選取熱敏電阻網(wǎng)絡(luò)的配置,并通過一個多項(xiàng)式輸入預(yù)期的響應(yīng)。可以通過選擇求解所有的電阻或某個電壓,需要優(yōu)化的溫度范圍以及是否選用1%或5%倍增電阻值。點(diǎn)擊"Run"按鈕開始算運(yùn)行算法。隨著程序的運(yùn)行,均方根誤差、迭代次數(shù)以及當(dāng)前最佳方案的元件值都會不斷更新。

wKgZomSEMgeAMhkAAAKYtzIvjKU409.png


圖7. 應(yīng)用軟件簡化了求解熱敏電阻值與所需響應(yīng)匹配的過程

同時還會生成預(yù)期的響應(yīng)曲線(綠色)和當(dāng)前最佳的方案曲線(紅色)。圖8所示為計(jì)算機(jī)運(yùn)行30次迭代后的圖形輸出。從圖中可以看到,響應(yīng)并不理想。圖9為經(jīng)過500次迭代后得到的一個非常好的響應(yīng),大概需要10秒鐘??梢孕枰晕和R幌?,然后繼續(xù)運(yùn)行程序,圖10所示為運(yùn)行結(jié)果,它已經(jīng)近乎完全匹配。

wKgZomSELgSAJncjAACg5Mv8r8A034.gif


圖8. 經(jīng)過30次迭代后實(shí)際與預(yù)期的電壓溫度關(guān)系曲線

wKgaomSELgaABXQlAACYIsrUBWM431.gif


圖9. 經(jīng)過500次迭代后實(shí)際與預(yù)期的電壓溫度關(guān)系曲線

wKgZomSELgiAVC7zAACKwWw_M-k018.gif


圖10. 實(shí)際與預(yù)期的電壓溫度關(guān)系曲線非常匹配

以圖1為例,方案中包含下列元件值:

R1 = 8.2k, R2 = 3.6k, R3 = 2.2k, R4 = 1.1k

TH1 = 47k Beta = 4700, TH2 = 40 Beta = 2750

不同測試,收斂速度也不一樣。對于較簡單的網(wǎng)絡(luò)收斂速度較快,對于稍復(fù)雜的網(wǎng)絡(luò),或者使用了1%電阻值,因?yàn)橛懈嗟淖兞靠晒┻x擇,所以通常需要的收斂時間較長。

考慮到上述所有因素,由兩個熱敏電阻和四個電阻組成的網(wǎng)絡(luò),在只使用標(biāo)稱值情況下,可以在不到30秒的時間內(nèi)近似匹配預(yù)期的溫度響應(yīng)。

如果您仍然對遺傳學(xué)算法解決電路問題感到疑惑,請下載程序,親自嘗試一下。您可能會對遺傳學(xué)算法在熱敏電阻網(wǎng)絡(luò)方案中的快速求解過程感到驚訝。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 放大器
    +關(guān)注

    關(guān)注

    143

    文章

    13502

    瀏覽量

    212686
  • NTC
    NTC
    +關(guān)注

    關(guān)注

    7

    文章

    400

    瀏覽量

    51956
  • 晶體管
    +關(guān)注

    關(guān)注

    77

    文章

    9582

    瀏覽量

    137462
收藏 人收藏

    評論

    相關(guān)推薦

    什么是熱敏電阻 熱敏電阻的參數(shù)

    熱敏電阻(thermistor)是對溫度敏感的一種電子器件,其電阻值會隨著溫度的變化而發(fā)生改變。 熱敏電阻按照溫度系數(shù)不同分為正溫度系數(shù)熱敏電阻(PTC thermistor,即 Po
    的頭像 發(fā)表于 08-28 17:26 ?2641次閱讀
    什么是<b class='flag-5'>熱敏電阻</b> <b class='flag-5'>熱敏電阻</b>的參數(shù)

    基于改進(jìn)遺傳算法的圖像分割方法

    基于改進(jìn)遺傳算法的圖像分割方法提出一種應(yīng)用于圖像分割的改進(jìn)遺傳算法,算法中引入了優(yōu)生算子、改進(jìn)的變異算子和新個體,避免了局部早熟,提高了收斂速度和全局收斂能力。   關(guān)鍵詞: 圖像分割&
    發(fā)表于 09-19 09:36

    基于遺傳算法的片上網(wǎng)絡(luò)虛通道分配算法

    【作者】:李曉輝;曹陽;王力緯;陳晨;【來源】:《華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版)》2010年03期【摘要】:針對虛通道技術(shù)導(dǎo)致片上網(wǎng)絡(luò)(NoC)面積增加的問題,提出了一種基于遺傳算法的NoC虛通道
    發(fā)表于 04-22 11:34

    MATLAB遺傳算法工具箱及應(yīng)用

    MATLAB遺傳算法工具箱及應(yīng)用
    發(fā)表于 03-23 18:33

    遺傳算法 神經(jīng)網(wǎng)絡(luò) 解析

    關(guān)于遺傳算法和神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 05-19 10:22

    遺傳算法

    有哪位大神懂遺傳算法的,求賜教?。。。。。。?!
    發(fā)表于 04-23 20:13

    遺傳算法辨識程序

    遺傳算法辨識程序
    發(fā)表于 01-04 13:31

    遺傳算法辨識程序

    遺傳算法辨識程序.zip
    發(fā)表于 01-07 12:09

    遺傳算法的基本原理

    遺傳算法的基本原理.zip
    發(fā)表于 01-07 12:13

    第8章遺傳算法辨識

    第8章遺傳算法辨識.rar
    發(fā)表于 03-18 20:58

    基于遺傳算法的異步電機(jī)

    在對異步電機(jī)矢量控制系統(tǒng)分析的基礎(chǔ)上,給出了參數(shù)優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型,采用了一種改進(jìn)的遺傳算法,并利用Matlab軟件對PID參數(shù)進(jìn)行了優(yōu)化設(shè)計(jì),得到了滿意的優(yōu)化參數(shù).討論了遺傳算法的一些關(guān)鍵技術(shù),如
    發(fā)表于 12-10 15:40

    遺傳算法的優(yōu)化 精選資料分享

    1、基于改進(jìn)遺傳算法的大型海上風(fēng)電場優(yōu)化電網(wǎng)設(shè)計(jì)(Optimal Electric Network Design for a Large Offshore Wind Farm Based on a
    發(fā)表于 07-12 07:00

    什么是遺傳算法?

    什么是遺傳算法?
    發(fā)表于 11-22 06:11

    遺傳算法的特點(diǎn)和應(yīng)用概述

    一、遺傳算法概述 遺傳算法(Genetic Algorithm,GA)是進(jìn)化計(jì)算的一部分,是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過程的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法。該
    發(fā)表于 12-31 06:21

    基于MATLAB的遺傳算法

    基于MATLAB的遺傳算法程序分享
    發(fā)表于 09-30 14:28 ?24次下載