吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用LM35和ATTiny13控制風扇的方法

科技觀察員 ? 來源:Hesam Moshiri, Anson Bao ? 作者:Hesam Moshiri, Anson ? 2022-06-06 11:24 ? 次閱讀

適當的散熱是當今電子產品的基本規則。電子元件的最佳工作溫度為25度(標準室溫)。一些商業設備中的散熱沒有正確完成,這會影響設備的壽命和性能。因此,嵌入一個緊湊的自動冷卻風扇控制器板會很有用。此外,它還可用于保護您自己設計的電路及其功率元件,例如穩壓器、MOSFET、功率晶體管等。

之前,我已經介紹了一個控制冷卻風扇的電路,但是,我的目的是不使用任何微控制器并使其盡可能簡單。因此,該設備是風扇的簡單開/關開關,具體取決于定義的溫度閾值。這一次,我決定設計一個完整且更專業的電路,使用LM35溫度傳感器和ATTiny13微控制器來控制大多數標準風扇(25KHzPWM)。

我使用了SMD元件,PCB板很緊湊。它可以控制一個或多個并聯的標準3線或4線風扇,例如CPU風扇。此外,可以使用繼電器保護目標設備/組件免受過熱影響。還通過視覺/聲音警告(閃爍的LED和蜂鳴器)通知用戶。

為了設計原理圖和PCB,我使用了AltiumDesigner22和SamacSys組件庫(Altium插件)。要獲得高質量的制造PCB板,您可以將Gerbers發送到PCBWay并使用componentsearchengine.com購買原始組件。我最初在面包板上測試了電路。我使用SiglentSDM3045X萬用表準確檢查電壓,并使用SiglentSDS1104X-E示波器檢查PWM脈沖的形狀、占空比和頻率。

規格

電源電壓:12VDC(見正文)

負載過溫保護:有(60度以上)

PWM頻率:25KHz

風扇電壓:12VDC

最大負載電壓/電流:250V-10A(AC/DC)

有效溫度閾值:25C至60C

過溫警告:是(閃爍的LED和蜂鳴器)

電路分析

poYBAGKdcu6AWpb_AASLoFyTJ6Q373.png

圖1-PWM散熱風扇控制器裝置示意圖

圖1顯示了PWM冷卻風扇控制裝置的示意圖。該電路的核心是一個ATtiny13微控制器[1]。它讀取溫度值并決定如何處理風扇、繼電器和蜂鳴器。

根據ATtiny13數據表:“ATtiny13是一款基于AVR增強型RISC架構的低功耗CMOS8位微控制器。通過在單個時鐘周期內執行強大的指令,ATtiny13實現了接近1MIPS/MHz的吞吐量,使系統設計人員能夠優化功耗與處理速度。”

我已將IC1的時鐘源配置為9.6MHz,內部。對于我們的應用程序而言,無需使用外部時鐘源(例如晶體)就足夠了。R1是復位引腳的上拉電阻,以防止MCU意外復位。C2和C3是去耦電容,用于降低+5V電源的噪聲。

電源

電源的主要元件是REG1,它是一個78L05穩壓器[2]。我為此調節器選擇了SO-8封裝。P5是一個兩針公XH連接器,為控制板和風扇供電。電源電壓(12V)的電流取決于連接的風扇數量,否則+5V電源軌的電流消耗非常低。R7和C7在輸入端構建了一個低通RC濾波器,以盡可能降低輸入噪聲,但RC濾波器上的壓降對穩壓器的工作影響不大。D3是一個0805綠色LED,用于顯示正確的電源供應,R8將電流限制到D3。C5和C7用于降低輸出電壓噪聲。

警報

此部分的組件是R5、R6、P4和D2。D2是一個0805紅色LED,當發生過熱時會閃爍。R5限制D2電流。P4為2針XH公頭連接器,用于連接5V蜂鳴器。R6限制蜂鳴器的電流。

中繼

該部分的組件是Q1、D1、R4、C4、K1和P3。K1是一個12V-10A繼電器,用于在發生過熱時關閉負載。它是常閉(NC),這意味著負載是打開的。D1保護Q1免受繼電器電感器的反向電流的影響,C4抑制電流尖峰。Q1是一個2N7002[3]Mosfet,用于切換繼電器。R4用于下拉Q1的柵極引腳以避免不必要的觸發。

LM35溫度傳感器

P1是一個3針公XH連接器,用于將LM35傳感器連接到電路板。您應該使用導熱膠將LM35安裝在散熱器上,并使用短線將傳感器連接到電路板。C1是一個去耦電容,用于降低噪聲。

AVRISP

ISP是一個5針公頭,用于對板載微控制器進行編程。您可以使用任何您喜歡的編程器,例如便宜的USBasp編程器或類似的編程器。

12V風扇

P2是一個3針XH公頭連接器,用于將風扇連接到電路板。Q2用于將PWM脈沖傳輸到風扇的控制引腳。R2是一個10K的上拉電阻,可將5VPWM信號電平轉換為12V。R3是一個下拉電阻器,以避免不必要地觸發Q3的柵極引腳。圖2顯示了一個典型的IntelCPU風扇,它可能是您使用此控制器板冷卻組件的選項之一。

pYYBAGKdcuOANbd1AAgcutxbshc793.png

圖2-一個英特爾CPU風扇,它足夠便宜,可用于冷卻

PCB布局

圖3顯示了設計的PCB布局。它是一個兩層PCB板,除了繼電器和連接器外,其他組件都是SMD。最小的封裝尺寸是0805,焊接組件應該沒有任何問題,盡管您可以訂購它完全組裝。

pYYBAGKdctSANGxwAAcPRCijyPQ123.png

圖3-PWM冷卻風扇控制電路的PCB布局

當我決定為這個項目設計原理圖和PCB時,我意識到我的元件庫存儲中沒有Q1、Q2、REG1和IC1的元件庫。因此,像往常一樣,我選擇了IPC級SamacSys組件庫,并使用免費的SamacSys工具和服務安裝了缺少的庫(原理圖符號、PCB封裝、3D模型)。導入庫有兩種方法:您可以訪問componentsearchengine.com并手動下載和導入庫,或者您可以使用SamacSysCAD插件并自動將庫導入/安裝到設計環境中。

上圖顯示了所有支持的電子設計CAD軟件。很明顯,所有著名的球員都得到支持。我使用AltiumDesigner,所以我使用SamacSysAltium插件安裝了缺少的庫,如下圖。

pYYBAGKdctuADzl9AAY9bMGuHR4042.png

PCB板的3D視圖和兩個組裝圖

微控制器的代碼

我使用ArduinoIDE編寫和編譯微控制器的代碼。我在庫管理器中安裝了MicroCore[9],以便能夠為ATtiny13編譯代碼。你可以考慮下面的代碼:

// Clock at 9.6MHz

#define F_CPU 9600000


const int PWMPin = 1;
analog_pin_t PotPin = A3;
const unsigned char relayPin = 0, buzzerPin = 4;
unsigned int rawTemp = 0, out = 0;
unsigned char counter = 0;


void setup()
{
analogReference(INTERNAL1V1);
pinMode(PWMPin, OUTPUT);
pinMode(relayPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
digitalWrite(relayPin, 0);
digitalWrite(buzzerPin, 0);
// Phase Correct PWM Mode, no Prescaler
// PWM on Pin 1(PB1), Pin 0(PB0) disabled
// 9.6MHz / 192 / 2 = 25Khz
TCCR0A = _BV(COM0B1) | _BV(WGM00);
TCCR0B = _BV(WGM02) | _BV(CS00);
// Set TOP and initialize duty cycle to zero(0)
OCR0A = 192; // TOP - DO NOT CHANGE, SETS PWM PULSE RATE
OCR0B = 192; // duty cycle for Pin 1(PB1)
}


void loop()
{
rawTemp = analogRead(PotPin) + rawTemp;
counter ++;
if (counter == 15) {
rawTemp = rawTemp / 15;
if (rawTemp < 232) {
OCR0B = 192;
} else {
out = map(rawTemp, 232, 558, 192, 0);
OCR0B = out;
}
if (rawTemp > 560)
{
emergency_OFF();
}
counter = 0;
rawTemp = 0;
}
_delay_ms(25);
}


void emergency_OFF() {
while (1) {
digitalWrite(relayPin, 1);
digitalWrite(buzzerPin, 1);
_delay_ms(250);
digitalWrite(buzzerPin, 0);
_delay_ms(250);
}
}

我已將ADC參考電壓定義為1.1V內部。這意味著對于1100mV的輸入電壓,ADC的最大值為1023。LM35溫度傳感器25度輸出電壓為250mV,60度輸出電壓為600mV。因此,它非常適合ADC輸入范圍,最高110度,無需任何硬件修改。

要更改閾值,您應該修改out=map(rawTemp,232,558,192,0),例如,將溫度上限閾值從60度增加到70度。

要安裝MicroCore,您應該在ArduinoIDE的首選項部分的AdditionalBoardsManagerURLs中插入此URL:

https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json

圖7顯示了ArduinoIDE的這一部分。

poYBAGKdcs2AVH0DAAISCTezpwU768.png

圖7-附加板管理器URL,ArduinoIDE首選項部分

然后你應該去工具菜單和BoardsManager并安裝MicroCore。然后您將看到已安裝的板,如圖8所示。

pYYBAGKdcsmAGUtxAAU_X2vt2rU267.png

圖8-安裝了MicroCore庫以支持ATtiny13MCU

要生成HEX文件并對MCU進行編程,您應該轉到Sketch菜單并按ExportCompiledBinary。圖9顯示了該過程的圖片。

poYBAGKdcsOAdHVQAANrsAQ9YVU747.png

圖9-在ArduinoIDE中生成HEX文件

然后只需將您的編程器連接到PCB板的ISP接頭并編程MCU。熔絲位應在9.6MHz內部時鐘上設置,沒有時鐘分頻。

測試

在設計原理圖和PCB之前,我在面包板上測試了電路。因此,您可以確保一切正常。圖10顯示了FAN控制引腳的PWM信號。我使用SiglentSDS1104X-E示波器來捕獲信號。

pYYBAGKdcr-AbRNOAAGwfjPxJhc501.png

圖10-25KHzPWM信號至風扇(SilentSDS1104X-E)

材料清單

圖11顯示了該項目的材料清單和零件編號。

pYYBAGKdcruARU6WAAHoaWSQyzM541.png

圖11-PWMCooling-FAN控制電路的物料清單

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16445

    瀏覽量

    179438
  • ATtiny13
    +關注

    關注

    0

    文章

    30

    瀏覽量

    14751
  • LM35
    +關注

    關注

    2

    文章

    83

    瀏覽量

    18174
收藏 人收藏

    評論

    相關推薦

    ATtiny13片上調試系統詳解

    ATtiny13片上調試系統的特性什么是ATtiny13片上調試系統
    發表于 11-05 08:00

    請問ATtiny13的中斷如何處理?

    ATtiny13的中斷如何處理
    發表于 11-10 06:15

    Attiny13 85是什么

    使用。 現在把Attiny13/85開發環境配置過程做個記錄,也希望能幫到有需要的朋友。1、 Attiny13 85 簡介ATtiny13、85都 是AVR RISC結構的低功耗8位CMOS微
    發表于 07-13 06:04

    Attiny13/85是什么

    Attiny13/85是什么?Attiny13/85有哪些優點?
    發表于 09-24 08:50

    使用LM35的冷卻風扇控制

    描述使用 LM35 的冷卻風扇控制器功率元件的高溫是電子學中的一個已知現象。為了克服這一挑戰,設計人員在組件上安裝散熱器以散熱,然而,在許多商用和家用電器設備中,嵌入式散熱器不足,空氣必須更快地循環
    發表于 06-30 07:21

    使用LM35溫度傳感器和ATTiny13控制控制風扇的教程

    描述使用 LM35ATtiny13 的 PWM 冷卻風扇控制和過溫保護適當的散熱是當今電子產品的基本規則。電子元件的最佳工作溫度為 25 度(標準室溫)。一些商業設備中的散熱沒有
    發表于 07-21 06:19

    ATtiny13中文資料pdf

    ATtiny13是基于增強的AVR RISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間, ATtiny13 的數據吞吐率高達1 MIPS/MHz,從而可以緩減系統在功耗和
    發表于 04-08 09:22 ?417次下載

    LM35溫度測量電路,LM35 temperature measurement circuit

    LM35溫度測量電路,LM35 temperature measurement circuit 關鍵字:溫度測量電路,溫度測試電路,LM35
    的頭像 發表于 09-20 18:17 ?2007次閱讀

    ATtiny13中文數據手冊

    ATtiny13中文數據手冊分享。
    發表于 04-13 14:30 ?40次下載

    使用LM35的冷卻風扇控制

    電子發燒友網站提供《使用LM35的冷卻風扇控制器.zip》資料免費下載
    發表于 07-06 10:56 ?4次下載
    使用<b class='flag-5'>LM35</b>的冷卻<b class='flag-5'>風扇</b><b class='flag-5'>控制</b>器

    ATtiny13焊臺SMD開源分享

    電子發燒友網站提供《ATtiny13焊臺SMD開源分享.zip》資料免費下載
    發表于 07-29 15:05 ?5次下載
    <b class='flag-5'>ATtiny13</b>焊臺SMD開源分享

    使用LM35ATtiny13的PWM冷卻風扇控制和過溫保護

    電子發燒友網站提供《使用LM35ATtiny13的PWM冷卻風扇控制和過溫保護.zip》資料免費下載
    發表于 08-02 09:48 ?8次下載
    使用<b class='flag-5'>LM35</b>和<b class='flag-5'>ATtiny13</b>的PWM冷卻<b class='flag-5'>風扇</b><b class='flag-5'>控制</b>和過溫保護

    ATtiny13 ATtiny25和ATtiny85等AVR開發板開源

    電子發燒友網站提供《ATtiny13 ATtiny25和ATtiny85等AVR開發板開源.zip》資料免費下載
    發表于 08-17 09:37 ?6次下載
    <b class='flag-5'>ATtiny13</b> <b class='flag-5'>ATtiny</b>25和<b class='flag-5'>ATtiny</b>85等AVR開發板開源

    使用PWM技術通過ATtiny13控制控制伺服電機

    伺服電機的工作原理是脈沖寬度調制(PWM),其旋轉角度由施加到其控制引腳的脈沖持續時間控制。在本教程中,我們將使用 PWM 技術通過 ATtiny13控制
    發表于 08-26 15:40 ?4661次閱讀
    使用PWM技術通過<b class='flag-5'>ATtiny13</b>微<b class='flag-5'>控制</b>器<b class='flag-5'>控制</b>伺服電機

    ATTINY13縮小Arduino:Programmin接線

    電子發燒友網站提供《用ATTINY13縮小Arduino:Programmin接線.zip》資料免費下載
    發表于 11-22 10:41 ?1次下載
    用<b class='flag-5'>ATTINY13</b>縮小Arduino:Programmin接線
    至尊百家乐娱乐场| 百家乐游戏机图片| 皇冠网址大全| 百家乐官网娱乐真人娱乐| 顶级赌场网址| 百家乐公式球打法| 金公主百家乐官网现金网| 网上百家乐作| 百家乐官网庄闲和收益| 伟博娱乐城| 八大胜百家乐现金网| 百家乐官网路单免费下载| 大发888娱乐场 zb8| 百家乐园游戏77sonci...| 赌百家乐官网容易的原| 宜昌市| 棋牌游戏网站| 蓝盾百家乐赌场娱乐网规则 | 鑫鼎国际| 疯狂水果机怎么玩| 任我赢百家乐自动投注分析系统| 百家乐官网单跳| 百家乐官网怎么会赢| 下载百家乐官网的玩法技巧和规则 | 太阳百家乐路单生| 百家乐正规站| 谈谈百家乐赢钱技巧| 雅加达百家乐官网的玩法技巧和规则| 保时捷百家乐官网娱乐城| 新沂市| bet365娱乐场下载| 全讯网5532888| 百家乐知道| 百家乐必胜绝| 钱柜百家乐的玩法技巧和规则| 百家乐tt娱乐场| 百家乐赌法| 真钱百家乐游戏排行| 亿酷棋牌世界下载| 大发888无数| 泰无聊棋牌游戏中心|