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

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

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

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

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

適當?shù)纳崾钱斀?a target="_blank">電子產(chǎn)品的基本規(guī)則。電子元件的最佳工作溫度為25度(標準室溫)。一些商業(yè)設(shè)備中的散熱沒有正確完成,這會影響設(shè)備的壽命和性能。因此,嵌入一個緊湊的自動冷卻風扇控制器板會很有用。此外,它還可用于保護您自己設(shè)計的電路及其功率元件,例如穩(wěn)壓器、MOSFET、功率晶體管等。

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

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

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

規(guī)格

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

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

PWM頻率:25KHz

風扇電壓:12VDC

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

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

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

電路分析

poYBAGKdcu6AWpb_AASLoFyTJ6Q373.png

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

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

根據(jù)ATtiny13數(shù)據(jù)表:“ATtiny13是一款基于AVR增強型RISC架構(gòu)的低功耗CMOS8位微控制器。通過在單個時鐘周期內(nèi)執(zhí)行強大的指令,ATtiny13實現(xiàn)了接近1MIPS/MHz的吞吐量,使系統(tǒng)設(shè)計人員能夠優(yōu)化功耗與處理速度?!?/p>

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

電源

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

警報

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

中繼

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

LM35溫度傳感器

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

AVRISP

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

12V風扇

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

pYYBAGKdcuOANbd1AAgcutxbshc793.png

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

PCB布局

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

pYYBAGKdctSANGxwAAcPRCijyPQ123.png

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

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

上圖顯示了所有支持的電子設(shè)計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內(nèi)部。這意味著對于1100mV的輸入電壓,ADC的最大值為1023。LM35溫度傳感器25度輸出電壓為250mV,60度輸出電壓為600mV。因此,它非常適合ADC輸入范圍,最高110度,無需任何硬件修改。

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

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

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

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

poYBAGKdcs2AVH0DAAISCTezpwU768.png

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

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

pYYBAGKdcsmAGUtxAAU_X2vt2rU267.png

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

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

poYBAGKdcsOAdHVQAANrsAQ9YVU747.png

圖9-在ArduinoIDE中生成HEX文件

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

測試

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

pYYBAGKdcr-AbRNOAAGwfjPxJhc501.png

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

材料清單

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

pYYBAGKdcruARU6WAAHoaWSQyzM541.png

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

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

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177078
  • ATtiny13
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    14666
  • LM35
    +關(guān)注

    關(guān)注

    2

    文章

    83

    瀏覽量

    18053
收藏 人收藏

    評論

    相關(guān)推薦

    ATtiny13片上調(diào)試系統(tǒng)詳解

    ATtiny13片上調(diào)試系統(tǒng)的特性什么是ATtiny13片上調(diào)試系統(tǒng)
    發(fā)表于 11-05 08:00

    請問ATtiny13的中斷如何處理?

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

    Attiny13 85是什么

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

    Attiny13/85是什么

    Attiny13/85是什么?Attiny13/85有哪些優(yōu)點?
    發(fā)表于 09-24 08:50

    使用LM35的冷卻風扇控制

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

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

    描述使用 LM35ATtiny13 的 PWM 冷卻風扇控制和過溫保護適當?shù)纳崾钱斀耠娮赢a(chǎn)品的基本規(guī)則。電子元件的最佳工作溫度為 25 度(標準室溫)。一些商業(yè)設(shè)備中的散熱沒有
    發(fā)表于 07-21 06:19

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

    LM35溫度測量電路,LM35 temperature measurement circuit 關(guān)鍵字:溫度測量電路,溫度測試電路,LM35
    的頭像 發(fā)表于 09-20 18:17 ?1896次閱讀

    ATtiny13控制器的數(shù)據(jù)手冊免費下載

    ATtiny13是基于增強的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間, ATtiny13 的數(shù)據(jù)吞吐率高達1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。
    發(fā)表于 03-03 17:29 ?9次下載
    <b class='flag-5'>ATtiny13</b>微<b class='flag-5'>控制</b>器的數(shù)據(jù)手冊免費下載

    ATtiny13中文數(shù)據(jù)手冊

    ATtiny13中文數(shù)據(jù)手冊分享。
    發(fā)表于 04-13 14:30 ?40次下載

    使用LM35的冷卻風扇控制

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

    ATtiny13焊臺SMD開源分享

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

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

    電子發(fā)燒友網(wǎng)站提供《使用LM35ATtiny13的PWM冷卻風扇控制和過溫保護.zip》資料免費下載
    發(fā)表于 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開發(fā)板開源

    電子發(fā)燒友網(wǎng)站提供《ATtiny13 ATtiny25和ATtiny85等AVR開發(fā)板開源.zip》資料免費下載
    發(fā)表于 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開發(fā)板開源

    使用PWM技術(shù)通過ATtiny13控制控制伺服電機

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

    ATTINY13縮小Arduino:Programmin接線

    電子發(fā)燒友網(wǎng)站提供《用ATTINY13縮小Arduino:Programmin接線.zip》資料免費下載
    發(fā)表于 11-22 10:41 ?1次下載
    用<b class='flag-5'>ATTINY13</b>縮小Arduino:Programmin接線