基于SC89F516單片機(jī)的熱源自動(dòng)跟蹤系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1.方案設(shè)計(jì)、比較與論證
1.1傳感器的選擇
方案一:為了達(dá)到實(shí)現(xiàn)跟蹤熱源的功能,使用溫度傳感器DS18B20進(jìn)行實(shí)時(shí)的溫度采集,在通過(guò)51單片機(jī)進(jìn)行讀取內(nèi)部寄存器的值,將讀出的溫度與設(shè)定的溫度進(jìn)行比較。超過(guò)單片機(jī)就執(zhí)行相關(guān)的動(dòng)作。該方案具有硬件電路簡(jiǎn)單的優(yōu)勢(shì),但是成本很高,而且程序編寫(xiě)復(fù)雜,DS18B20的極限溫度為125度非常容易燒壞,無(wú)法實(shí)現(xiàn)相關(guān)的功能。
方案二:采用熱敏電阻與及AD轉(zhuǎn)換芯片進(jìn)行熱源的跟蹤。通過(guò)熱敏電阻變化導(dǎo)致電壓變化,AD芯片將電壓模擬量裝換為數(shù)字量,通過(guò)單片機(jī)讀取數(shù)字量從而執(zhí)行相關(guān)的程序,控制步進(jìn)電機(jī)。該方案雖然可行,可是AD之前的電信號(hào)處理電路相對(duì)較復(fù)雜,而且成本較高。所以放棄使用該方案。
方案三:使用熱敏電阻以及雙電壓比較器LM393進(jìn)行電信號(hào)的采集處理,通過(guò)SC89F516單片機(jī)進(jìn)行高低電平的判斷,通過(guò)編程控制廉價(jià)、低功耗、驅(qū)動(dòng)電流大的芯片ULN2803實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制,從而實(shí)現(xiàn)熱源的自動(dòng)搜索。該方案具有成本低、功耗小、結(jié)構(gòu)架設(shè)簡(jiǎn)單、程序編寫(xiě)方便等優(yōu)勢(shì)。
經(jīng)過(guò)多方面的測(cè)試以及實(shí)驗(yàn)我們采用方案三作為最終方案。
1.2主控制芯片的選擇
方案一:采用STC89C52單片機(jī),STC89C52單片機(jī)是由ST公司推出的8位單片機(jī)。該單片機(jī)具有程序編寫(xiě)簡(jiǎn)單價(jià)格低廉等優(yōu)勢(shì),內(nèi)有高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。但是其內(nèi)存太小,無(wú)法實(shí)現(xiàn)較大程序的運(yùn)行。本項(xiàng)目要求程序的加密,該單片機(jī)無(wú)法實(shí)現(xiàn)。故不予采用。
方案二:采用STM32C8T6單片機(jī),STM32C8T6單片機(jī)是目前較為高端的單片機(jī),該單片機(jī)具有強(qiáng)大的功能,內(nèi)設(shè)豐富,是一款32位的單片機(jī),采用cortex M3內(nèi)核,時(shí)鐘頻率達(dá)到72MHz,在同類(lèi)的32位機(jī)中功耗是最小的。由于功能強(qiáng)大其編程也相對(duì)的復(fù)雜。而且成本相對(duì)較高,很難實(shí)現(xiàn)程序防破解、堵漏洞的功能。
方案三:采用深圳華聯(lián)公司生產(chǎn)的SC89F516單片機(jī),該單片機(jī)是一款高速高效的8位單片機(jī),該單片機(jī)兼容了傳統(tǒng)51單片機(jī)的所有優(yōu)勢(shì),單片機(jī)內(nèi)含有ADC、SPI模塊等。是一款性?xún)r(jià)比相當(dāng)高的單片機(jī)。該單片機(jī)最大的優(yōu)勢(shì)在于實(shí)現(xiàn)程序的防破解堵漏洞的功能。也是本項(xiàng)目設(shè)計(jì)的亮點(diǎn)所在。
經(jīng)過(guò)比較方案三是最佳選擇。
2.系統(tǒng)硬件電路設(shè)計(jì)
2.1總體構(gòu)架框圖如下
總體模塊由熱敏電阻模塊、LM393模塊、電機(jī)驅(qū)動(dòng)模塊、單片機(jī)最小系統(tǒng)模塊組成,實(shí)現(xiàn)了整個(gè)系統(tǒng)的功能。
2.2模塊電路的說(shuō)明如下:
A.比較器模塊:
該模塊采用了通用電壓比較器LM393,由于其線性度好。是由兩個(gè)集成的高精度電壓比較器。失調(diào)電壓最低為2.0mv,具有低功耗的特性??梢詼p少由于溫漂引起的失調(diào)電壓。輸入共模電壓接近地電平。模塊中熱敏電阻與固值電阻進(jìn)行串聯(lián)分壓,將其電壓加到比較器的反向輸入端。其同向輸入端由電位器進(jìn)行分壓,采用該方式的好處是系統(tǒng)傳感部分的靈敏度可調(diào)??梢愿淖儌鞲衅鞯奶綔y(cè)距離,方便硬件調(diào)試。
B.電機(jī)驅(qū)動(dòng)模塊:該電機(jī)驅(qū)動(dòng)模塊采用了ULN2803,該芯片內(nèi)部集成了8個(gè)達(dá)林頓管,可以承載較大的電壓、電流。芯片非常適合邏輯電平接口電路,故我們使用單片機(jī)進(jìn)行邏輯電平的輸出是較理想的。模塊預(yù)留了外部供電的端口,必要時(shí)可以使用外部的大電流。使系統(tǒng)穩(wěn)定的運(yùn)行。
C.單片機(jī)最小系統(tǒng)模塊:
SC89F51單片機(jī)最小系統(tǒng)由主控芯片、復(fù)位電路、晶振電路組成。這三種電路是單片機(jī)工作的最基本方式。我們?cè)倬幊虝r(shí)采用外部晶振,有方便替換的有點(diǎn)。使用上電復(fù)位目的是為了使用方便。我們將串行發(fā)送口RXD以及串行接收口TXD端口引出,其目的在于方便程序的燒寫(xiě)。
3.相關(guān)參數(shù)的計(jì)算
由于要使熱敏電阻的靈敏度達(dá)到最大,就必須計(jì)算出其最佳的串聯(lián)電阻。依據(jù)經(jīng)驗(yàn)公式當(dāng)固值電阻R=時(shí)其功率最大。(其R1為熱電阻熱R2為冷電阻)。經(jīng)過(guò)多次的測(cè)量得到熱敏電阻在常溫下阻值平均為10K,在37度時(shí)為平均為9K,計(jì)算得到R=9.5K.
步進(jìn)電機(jī)旋轉(zhuǎn)角度的計(jì)算。由于步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)時(shí)靠電平一步一步執(zhí)行的。其工作方式有A-B-C-D和A-AB-B-BC-C-CD-D-DA-A等幾種節(jié)拍的運(yùn)行方式。步距角:對(duì)應(yīng)一個(gè)脈沖信號(hào),電機(jī)轉(zhuǎn)子轉(zhuǎn)過(guò)的角位移用θ表示。θ=360度(轉(zhuǎn)子齒數(shù)J*運(yùn)行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒為50齒電機(jī)為例。四拍運(yùn)行時(shí)步距角為θ=360度/(50*4)=1.8度(俗稱(chēng)整步),八拍運(yùn)行時(shí)步距角為θ=360度/(50*8)=0.9度(俗稱(chēng)半步)。這兩個(gè)概念清楚后,我們?cè)賮?lái)計(jì)算轉(zhuǎn)速,以基本步距角1.8°的步進(jìn)電機(jī)為例(現(xiàn)在市場(chǎng)上常規(guī)的二、四相混合式步進(jìn)電機(jī)基本步距角都是1.8°),四相八拍運(yùn)行方式下,每接收一個(gè)脈沖信號(hào),轉(zhuǎn)過(guò)0.9°,如果每秒鐘接收400個(gè)脈沖,那么轉(zhuǎn)速為每秒400*0.9°=360°,相當(dāng)與每秒鐘轉(zhuǎn)一圈,每分鐘60轉(zhuǎn)。
4.軟件設(shè)計(jì)
4.1程序流程圖
4.2程序流程圖的說(shuō)明
該流程圖設(shè)計(jì)是按照,項(xiàng)目所需的功能實(shí)現(xiàn)的,其中有邏輯電平的判斷以及電機(jī)執(zhí)行機(jī)構(gòu)的電平輸出。全面考慮了系統(tǒng)可能出現(xiàn)的疏漏。在防破解方面也作出了許多方面的算法考慮。
5.系統(tǒng)測(cè)試結(jié)果
5.1測(cè)試儀器:萬(wàn)用表、數(shù)字示波器
5.2測(cè)試方法:
首先進(jìn)行的是傳感器模塊的測(cè)試,在靠近熱源時(shí),測(cè)量LM393的引腳電平的高低。在測(cè)試時(shí)如果未能達(dá)到相應(yīng)引腳電平的變化那么就必須通過(guò)調(diào)節(jié)電位器,使LM393同向端與反向端的電壓最靠近。是系統(tǒng)的靈敏度最高。
測(cè)量結(jié)果如下:
6.總結(jié)
由測(cè)試結(jié)果知道,本設(shè)計(jì)完成了該項(xiàng)目所需的全部基本要求。