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

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

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

如何制作一個繼電器操作的GPS定時風扇

科技觀察員 ? 來源:allaboutcircuits ? 作者:延斯·克里斯托弗 ? 2022-04-26 16:49 ? 次閱讀

需要給房間通風嗎?本文將向您展示我是如何制作一個繼電器操作的 GPS 定時風扇來排出我船艙內(nèi)的潮濕空氣。它由 PIC16F628A 控制并具有 LCD。

讓空氣流動

在幾乎沒有通風的小房間里,空氣往往會停滯不前。如果空氣有點潮濕,你肯定會在某些地方有霉菌和真菌。

霉菌和真菌存在于自然界中,它們是分解樹葉、木材和其他植物碎片所必需的。因為我的船里有很多木頭,我肯定會有霉菌和真菌。我無法阻止它們進來,但我可以采取一些措施來盡量保持我船內(nèi)的環(huán)境對霉菌和真菌不利。

至少有兩種方法可以解決這個問題。一種方法是按時進行清洗和清潔。現(xiàn)在,這有多有趣?作為一個極客,我把一些東西變成了書呆子:一個風扇,它在固定的、定時的基礎(chǔ)上循環(huán)和排出潮濕的空氣。

設計系統(tǒng)

我希望系統(tǒng)執(zhí)行以下操作:

循環(huán)空氣

以穩(wěn)定的間隔自動打開/關(guān)閉

從汽車電池運行

包含一個電池充電器為電池充電

包含顯示時間和其他信息的顯示器

要制作這樣一個系統(tǒng),我需要以下部分:

12v風扇

一個微控制器

一個 12v 電池和一個 12v 電池充電器

2個繼電器,跟蹤時間和螺絲端子的東西。

其他零件,根據(jù)下面的零件清單

我希望風扇每小時運行五分鐘。這將在軟件中進行硬編碼。

該設置將使用汽車電池運行。我的風扇額定電壓為 12v 4.5A。為確保電池始終處于頂部充電狀態(tài),我將其連接到電池充電器。為確保風扇運行時電池充電器不會過載,我將在風扇運行時讓系統(tǒng)“斷開”充電器。一個繼電器將操作風扇,另一個繼電器將操作電池充電器。風扇運轉(zhuǎn)時,電池不充電,風扇不運轉(zhuǎn)時,電池充電。

為了跟蹤時間,我使用了 GPS 模塊。在這個項目中,我將使用 Skylab SKM53 系列模塊 (PDF)。該單元每秒通過 UART 發(fā)送幾個 NMEA 語句。數(shù)據(jù)表建議在 RXD 和 TXD 上都使用 10K 上拉電阻。這將增加串行數(shù)據(jù)的穩(wěn)定性。我沒有這樣做,我沒有注意到任何不穩(wěn)定。我可能很幸運。在數(shù)據(jù)表的同一頁上,它說應該添加合適的去耦電容器。10uF 電解和 0.1uF 陶瓷。當我為電路制作面包板時,我只使用了 0.1uF 陶瓷。

pYYBAGJnsgiAfFkIAACfgyvOnBU117.png

Skylab 數(shù)據(jù)表 (PDF)的屏幕截圖。

我正在使用“RMC”句子來獲取時間。RMC 語句的示例如下:

$GPRMC,075747.000,A,2233.89990,N,11405.3368,E,3.9,357.8,260210,,,A*6A

$GPRMC 之后的第一個數(shù)字是時間。在此示例中,時間為 07:57:47。我們將需要這些信息。

poYBAGJnsgmAGxjMAAAVCQjdtsI607.png

接下來我們需要的是告訴我們 GPS 模塊是否具有有效定位的前綴。在上面的示例中,它是三個零之后的大寫字母 A。

pYYBAGJnsgqABikfAAATMieq8iA205.png

“A”表示有效修復,“V”表示無效修復。在我的軟件中,我檢查了一個有效的修復程序。這些字母區(qū)分大小寫。

為了構(gòu)建項目,我喜歡制作框圖。通過這種方式,我“想象”了我想做的事情。

poYBAGJnsguAdE0QAAA48JO4VKA72.jpeg

在上面的框圖中,我將所有內(nèi)容拆分為各自的塊。如果我需要對原理圖或電路進行故障排除,這也很有幫助。

硬件

原理圖是基于框圖。我已經(jīng)復制了框圖中的所有塊,以反映電路中的組件及其連接。

pYYBAGJnsgyAVEukAABboNtTTAY891.jpg

在 LM7805 穩(wěn)壓器的數(shù)據(jù)表中,聲明對于標準應用,您只需要輸入引腳上的 0.33uF 和輸出引腳上的 0.1uF。那么為什么我要使用不同的值上限和一些額外的值呢?我正在使用它們來平滑輸入和輸出。這可能有點太多了,但我對這種調(diào)節(jié)器配置有很好的體驗。如果您不使用任何電容器,穩(wěn)壓器可能會開始振蕩。LM7805 穩(wěn)壓器是一種老式的線性穩(wěn)壓器。為什么不使用現(xiàn)代開關(guān)穩(wěn)壓器?開關(guān)穩(wěn)壓器比線性穩(wěn)壓器效率高得多。這就是我周圍的東西。

poYBAGJnsg2AK4mEAACAUwynf9E975.jpg

pYYBAGJnsg6AQcEfAAAwKT6V6Eg836.jpgpoYBAGJnsg-ARmb0AAA6O77Ntos515.jpg

pYYBAGJnshCAZ5VBAAA-wNAqZ2o335.jpgpYYBAGJnshCAcY6YAABkMd5c0FQ586.jpg

poYBAGJnshGAHO7NAABdvlBc_2I127.jpgpYYBAGJnshKAVb5JAABffRAfK0k074.jpg

poYBAGJnshOAEYKXAABiOrvfSqg586.jpg

只需使用一個繼電器,我就可以節(jié)省零件和空間。我想要兩個繼電器。使用兩個繼電器的原因之一是我希望在充電器被切斷和風扇啟動之間有一點時間框架。

我已將 BOM.ULP 中的部件列表導入 OpenOffice Calc 并刪除了一些不必要的列:

pYYBAGJnshSAFTySAAEWPoU_RiE575.jpg

原理圖中沒有顯示的是我的保險絲。我在風扇正極線上有一個 12v 8A 額定保險絲,我在電池充電器正極線上也有同樣的保險絲。

poYBAGJnshWAYqfVAACuNotWwdg956.JPG

軟件

您可以從本文末尾的下載鏈接下載 C 源代碼。代碼注釋很好,但我會在這里做一些額外的亮點。

當我制作一個程序時,我遵循一定的結(jié)構(gòu)。該圖顯示了結(jié)構(gòu):

pYYBAGJnshaARkjIAAArw2bDHtU31.jpeg

代碼首先包含必要的庫,然后是配置位。在源代碼中包含配置位被認為是一種良好的編程習慣。然后,查看您所做的工作并幫助其他人進行故障排除會容易得多。此外,如果您在幾個月后接手一個項目,那么您會立即看到其中的內(nèi)容。

當配置位沒問題時,我繼續(xù)進行定義。在這里,我定義了連接到電路的晶體速度。微控制器的端口也被定義。

接下來是變量:所有變量都在這里聲明。

現(xiàn)在是時候?qū)瘮?shù)進行原型設計了。在這里,我列出了程序使用的所有功能。一些程序員認為這是浪費時間,但我喜歡它并保留它。如果您在主程序循環(huán)之后使用函數(shù)來構(gòu)建程序,這實際上是必要的。

接下來是功能?,F(xiàn)在開始評論真的很重要。我通常在每個函數(shù)上都有幾行來說明該函數(shù)的一般作用。我還在函數(shù)內(nèi)注釋代碼行。

一個例子是這個項目中初始化 UART 端口的函數(shù):


// FUNCTION TO INIT THE UART PORT
void uart_init(void)
{
TXSTAbits.BRGH = 0; // high baud selection bit, 1=high, 0=low
TXSTAbits.SYNC = 0; // USART mode selection bit, 1=sync mode, 0=async mode
TXSTAbits.TX9 = 0; // 9-bit selection bit, 1=9-bit transmission, 0=8-bit transmission
RCSTAbits.CREN = 1; // Continous receive enable bit, 1=enable continous receive
/*
Calculate the SPBRG with 16MHz crystal
16MHz
16000000 /9600 = 1666.6666
1666.6666 / 64 = 26.0416
26.0416 - 1= 25.0416
25.041 = 25
*/
SPBRG = 25; // 9600-n-8-1
PIE1bits.RCIE = 1; // USART receive interrupt enable bit, 1=enable
RCSTAbits.SPEN = 1; // Serial port enable bit, 1=serial port enable
TXSTAbits.TXEN = 1; // transmit enable bit, 1=transmit eanble
return;
}

您將看到第一行解釋該函數(shù)的作用的注釋行。然后所有的代碼行都被注釋了,所以我知道發(fā)生了什么。

當所有功能都到位后,就該主程序了。主程序從幾個語句開始,然后進入一個永遠運行的循環(huán)。

結(jié)論

在這篇文章中,我嘗試使用一個可以吹動和循環(huán)空氣的風扇,讓我的船上的環(huán)境對霉菌和真菌有害。風扇連接到從機艙伸出的管道。我使用 GPS 模塊來跟蹤時間,并使用兩個繼電器來打開/關(guān)閉風扇。為了確保電池保持充電狀態(tài),我使用了另一個繼電器來打開和關(guān)閉電池充電器。

我把它留給讀者,讓這個電路更上一層樓并顯示日期。

為什么要使用 GPS 模塊?我本可以將微控制器用作簡單的計時器。然后我必須制作某種界面來設置時間。或者我會很高興它運行而不考慮實時。它將每小時運行 5 分鐘。使用 GPS,我可以通過編程方式將其設置為每小時運行五分鐘。

圖片

pYYBAGJnshiAdexyAAFkG4T3ImY61.jpeg

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

    關(guān)注

    34

    文章

    4384

    瀏覽量

    166675
  • gps
    gps
    +關(guān)注

    關(guān)注

    22

    文章

    2865

    瀏覽量

    165816
  • PIC16F628A
    +關(guān)注

    關(guān)注

    1

    文章

    8

    瀏覽量

    10035
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用LDR和繼電器制作簡單的自動路燈電路

    在這個項目中,我們將使用LDR和繼電器制作簡單的自動路燈電路,它將根據(jù)周圍環(huán)境中的燈光打開和關(guān)閉燈泡。該電路非常簡單,可以使用晶體管和LDR構(gòu)建,不需要任何運算放大器或555 IC
    的頭像 發(fā)表于 01-02 10:30 ?4353次閱讀
    如何使用LDR和<b class='flag-5'>繼電器</b><b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>個</b>簡單的自動路燈電路

    基于ARM的定時繼電器驅(qū)動模板的設計 含電路原理圖

    ,對發(fā)電廠/變電站控制對象的遠方控制主要采用定時繼電器驅(qū)動現(xiàn)場的執(zhí)行機構(gòu)進行操作。鑒于電力系統(tǒng)的特殊性,對控制操作的安全可靠性有非常嚴格的要求,
    發(fā)表于 10-23 10:55

    米思奇繼電器控制風扇 相關(guān)資料推薦

    米思奇繼電器控制風扇這是簡單的米思奇電機控制風扇米思奇繼電器控制
    發(fā)表于 07-06 06:53

    如何使用DHT22傳感器和繼電器制作款Arduino溫控風扇

    在本篇文章中,我們將主要介紹如何使用DHT22傳感器和繼電器制作款Arduino溫控風扇。使用DHT22傳感器獲取溫度值,然后將在LCD顯示屏上打印此溫度值。我們將檢查溫度值是否大于
    發(fā)表于 09-08 07:40

    如何使用555定時制作延時繼電器電路

    描述使用555定時器IC的延時繼電器電路在這個 555 定時器項目中,我展示了如何使用 555 定時器 IC 制作延時
    發(fā)表于 07-01 06:59

    時間繼電器電路及制作

    時間繼電器電路及制作
    發(fā)表于 04-14 11:17 ?20次下載
    時間<b class='flag-5'>繼電器</b>電路及<b class='flag-5'>制作</b>

    繼電器逆變裝置電路及制作

    繼電器逆變裝置電路及制作
    發(fā)表于 04-14 16:27 ?5次下載
    <b class='flag-5'>繼電器</b>逆變裝置電路及<b class='flag-5'>制作</b>

    利用繼電器制作電器電路圖

    利用繼電器制作電器電路圖
    發(fā)表于 12-02 21:49 ?977次閱讀
    利用<b class='flag-5'>繼電器</b><b class='flag-5'>制作</b>限<b class='flag-5'>電器</b>電路圖

    定時繼電器驅(qū)動模板的設計詳細介紹

    定時繼電器驅(qū)動模板的設計詳細介紹 摘要:基于Philips LPC2138 ARM微控制器設計了塊8通道定時
    發(fā)表于 11-27 10:27 ?1255次閱讀

    單片機制作繼電器 【匯編版】

    單片機制作繼電器 【匯編版】單片機制作繼電器 【匯編版】單片機制作繼電器 【匯編版】
    發(fā)表于 12-29 13:50 ?0次下載

    單片機制作繼電器 【C語言版】

    單片機制作繼電器 【C語言版】單片機制作繼電器 【C語言版】單片機制作繼電器 【C語言版】單片機
    發(fā)表于 12-29 13:53 ?0次下載

    Arduino溫度傳感器之繼電器控制風扇

    、介紹通過Arduino R3開放板讀取LM35溫度傳感器參數(shù),將參數(shù)轉(zhuǎn)換成溫度值,根據(jù)溫度值開發(fā)板發(fā)出高電平,將繼電器常開開關(guān)打開,使風扇處于通電狀態(tài),風扇自動轉(zhuǎn)動;當溫度低于設
    發(fā)表于 12-03 20:51 ?14次下載
    Arduino溫度傳感器之<b class='flag-5'>繼電器</b>控制<b class='flag-5'>風扇</b>

    如何制作繼電器操作定時通風機

    需要給房間通風嗎?本文將向您展示我是如何制作繼電器操作GPS
    的頭像 發(fā)表于 05-10 16:00 ?1755次閱讀
    如何<b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>繼電器</b><b class='flag-5'>操作</b><b class='flag-5'>定時</b>通風機

    介紹種變壓器風扇自啟動電路

    通過利用電接點溫度繼電器,控制冷卻風扇在變壓器等設備發(fā)熱溫度達到上限值時,自動啟動;當溫度下降到設定值時風扇自動停止。
    的頭像 發(fā)表于 11-09 16:04 ?785次閱讀
    介紹<b class='flag-5'>一</b>種變壓器<b class='flag-5'>風扇</b>自啟動電路

    使用Arduino的可變定時繼電器設計

    定時繼電器,也被稱為時間繼電器,是種在設定的時間間隔后觸發(fā)特定操作的電子元件。它在工業(yè)自動化、家庭生活、交通管理等領(lǐng)域具有廣泛的應用。
    的頭像 發(fā)表于 06-24 16:52 ?824次閱讀
    使用Arduino的可變<b class='flag-5'>定時</b>器<b class='flag-5'>繼電器</b>設計