李明 熊奧運(yùn) 王成鵬
摘要:為增加酒精傳感器測量點(diǎn)數(shù),同時(shí)監(jiān)測傳感器是否損壞,基于UCOS操作系統(tǒng)和STM32F4單片機(jī),設(shè)計(jì)實(shí)現(xiàn)了多通道實(shí)時(shí)酒精測量與數(shù)據(jù)存儲系統(tǒng)。傳感序列共可連接10個(gè)MQ-3酒精傳感器,并為每個(gè)傳感器預(yù)留了DS18B20溫度檢測接口,實(shí)時(shí)監(jiān)測傳感器溫度變化。傳感序列任務(wù)設(shè)置相同優(yōu)先級為10,采用時(shí)間片輪轉(zhuǎn)調(diào)度實(shí)現(xiàn)序列任務(wù)間的切換。配置LCD觸摸屏實(shí)現(xiàn)人機(jī)交互,基于STemWin設(shè)計(jì)制作了系統(tǒng)圖形化界面,設(shè)置啟動與停止按鈕實(shí)現(xiàn)系統(tǒng)的啟停,定義任務(wù)標(biāo)志寄存器TASK_FLAG記錄序列任務(wù)的運(yùn)行狀態(tài)。配置SD卡與FATFS文件系統(tǒng)實(shí)時(shí)存儲酒精與溫度數(shù)據(jù),預(yù)留串口總線可與車載上位機(jī)進(jìn)行通訊,提高系統(tǒng)擴(kuò)展性。通過開發(fā)板試驗(yàn)可知,系統(tǒng)功能良好、運(yùn)行穩(wěn)定,可應(yīng)用于多種酒精檢測場合。
關(guān)鍵詞:UCOS操作系統(tǒng);STM32單片機(jī);溫度傳感器;STemWin;FATFS
我國已開展了車載酒精檢測裝置系統(tǒng)的研發(fā)[1-3]。在汽車上安裝使用預(yù)防酒后駕駛裝置,主動防患于未然,讓酒駕者不能駕駛車輛。目前汽車生產(chǎn)企業(yè)正致力于通過多種技術(shù)結(jié)合來檢測駕駛者是否酒后駕車,這是當(dāng)今研究的主流趨勢。2007年,薩博在其新款的9-5系列車型上,率先使用了Alcokey酒精鑰匙技術(shù),而日本汽車廠家也在研發(fā)他們的酒精鑰匙,其原理與薩博基本一致。德國Volvo公司開發(fā)了酒后駕駛閉鎖裝置,利用先進(jìn)的燃料電池技術(shù)分析駕駛員呼出的氣體,將分析結(jié)果通過無線信號傳送給汽車電子控制系統(tǒng),當(dāng)檢測結(jié)果達(dá)到20 mg/100 ml以上時(shí),發(fā)動機(jī)無法啟動。趙麗君[4]應(yīng)用酒精傳感器、STM32單片機(jī)等硬件,利用Altium Designer進(jìn)行了電路設(shè)計(jì),通過模糊算法將酒精數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,通過實(shí)驗(yàn)驗(yàn)證了該檢測儀功能運(yùn)行正常。秦永益、孫艷波等[5-6]基于STM32單片機(jī),使用MQ-3酒精傳感器和LCD等硬件,并使用了RT-Thread操作系統(tǒng),設(shè)計(jì)制作了一套酒駕檢測系統(tǒng)。程麗麗[7]等設(shè)計(jì)了一種需經(jīng)過酒精檢測才能啟動汽車的系統(tǒng),改善了傳統(tǒng)酒駕系統(tǒng)檢測的靈敏度。任建鵬[8]等采用前后雙MQ-3酒精傳感器自動進(jìn)行檢測,并由單片機(jī)對數(shù)字信號進(jìn)行處理,利用將檢測到的數(shù)據(jù)顯示出來。通過對以往關(guān)于酒精檢測系統(tǒng)研究分析可知,酒精檢測主要采用的是單點(diǎn)檢測設(shè)計(jì),對傳感器發(fā)生故障時(shí)不能自動檢測出傳感器離線及時(shí)顯示通知用戶;采用51單片機(jī)作為控制器的處理性能不佳[9-11];在軟件設(shè)計(jì)中移植了操作系統(tǒng)[10,12]對數(shù)據(jù)處理和任務(wù)的劃分具有重要意義,同時(shí)對傳感器是否損壞的檢測也是保證正常檢測的必要措施。
本文基于UCOSIII操作系統(tǒng),在STM32F4單片機(jī)上創(chuàng)建酒精檢測序列任務(wù),根據(jù)UCOS操作系統(tǒng)對相同優(yōu)先級的任務(wù)進(jìn)行時(shí)間片輪轉(zhuǎn)調(diào)度,基于STemWin設(shè)計(jì)制作系統(tǒng)人機(jī)交互界面,并使用觸摸屏實(shí)現(xiàn)數(shù)據(jù)顯示與人機(jī)交互。系統(tǒng)配置SD卡用于存儲酒精和溫度數(shù)據(jù),使用FATFS文件系統(tǒng)進(jìn)行數(shù)據(jù)的讀寫操作,通過預(yù)留串口總線提高系統(tǒng)擴(kuò)展性,方便與上位機(jī)進(jìn)行聯(lián)接。
1? ? 系統(tǒng)硬件設(shè)計(jì)
1.1? 系統(tǒng)整體設(shè)計(jì)
整體由酒精和溫度傳感器采集模塊和STM32主控制器模塊組成。在傳感器采集模塊上集成有MQ-3傳感芯片和與其相對應(yīng)的DS18B20溫度傳感器,傳感器數(shù)量為20個(gè),包括MQ-3傳感器10個(gè)和DS18B20傳感器10個(gè)。酒精檢測指示燈分別對應(yīng)MQ-3傳感器,也為10個(gè),當(dāng)酒精檢測任務(wù)序列切換到某一任務(wù)時(shí),對應(yīng)的檢測指示燈點(diǎn)亮,而序列中的其它任務(wù)的指示燈熄滅。
STM32主控制模塊包括STM32單片機(jī)、復(fù)位電路、觸摸屏、LED指示燈、預(yù)留的串口總線、SD存儲卡、功率放大器及其揚(yáng)聲器、短信發(fā)送器等。其中LED指示燈為周期亮滅的工作狀態(tài),該狀態(tài)表明控制器已開始工作。觸摸屏為電容式觸摸屏,其分辨率及結(jié)構(gòu)大小可根據(jù)需要進(jìn)行配置,實(shí)驗(yàn)采用的是4.3英寸的液晶電容式觸摸屏,并以此型號的觸摸屏進(jìn)行交互界面的設(shè)計(jì)。SD存儲卡為系統(tǒng)的硬件存儲組件,在單片機(jī)上集成存儲設(shè)備是非常常見的,考慮到數(shù)據(jù)轉(zhuǎn)移的簡便性,選擇移動SD卡,同時(shí)集成與其配套的數(shù)據(jù)轉(zhuǎn)換芯片。功率放大器與揚(yáng)聲器是一個(gè)大功率的警報(bào)設(shè)備,與普通蜂鳴器相比,加入功放電路后可明顯提高報(bào)警響度,同時(shí)功放芯片可外接音頻電路,如車載音響系統(tǒng)、藍(lán)牙系統(tǒng)等,實(shí)現(xiàn)優(yōu)質(zhì)音樂報(bào)警功能。短信發(fā)送器為系統(tǒng)的附屬設(shè)備,配置該功能可完成對指定短信內(nèi)容的指定終端發(fā)送,可購買該設(shè)備模塊。
1.2? STM32F4單片機(jī)
F4系列的STM32單片機(jī)采用Cortex-M4 ARMv7-ME架構(gòu),使得其運(yùn)算能力進(jìn)一步提升,同時(shí)可開啟DSP數(shù)據(jù)計(jì)算系統(tǒng)[13],讓復(fù)雜的數(shù)學(xué)算法快速地完成。STM32F429的晶振頻率最高可達(dá)168 MHz,擁有1 M的閃存存儲器以及更多的GPIO接口。芯片內(nèi)部集成有ADC轉(zhuǎn)換通道[14]:ADC1、ADC2和ADC3。其中ADC1包括18個(gè)轉(zhuǎn)換通道,ADC2包括16個(gè)轉(zhuǎn)換通道,ADC3包括13個(gè)轉(zhuǎn)換通道,如表1所示。試驗(yàn)可配置這些轉(zhuǎn)換通道對酒精傳感器的信號輸出端進(jìn)行模擬量的采集。通過GPIO端口配置DS18B20的單總線接收模式,實(shí)現(xiàn)對溫度的采集。
1.3? ?酒精檢測模塊
酒精檢測模塊包括MQ-3酒精傳感器和DS18B20溫度傳感器各10個(gè)。其中酒精傳感器將酒精濃度轉(zhuǎn)換成電信號,敏感元件需固定,由陶瓷管和二氧化硅敏感層、測量電極和加熱器構(gòu)成,其中加熱器為敏感元件提供了工作條件,如圖 2所示。傳感器的AO輸出端為模擬信號輸出端,輸出電壓范圍為0 ~5 V,檢測酒精濃度在0.04 ~4 mg/L,所以通過STM32的GPIO模擬量輸入功能開啟,可直接與傳感器的AO輸出端進(jìn)行連接。
DS18B20溫度傳感器的電路簡單、測溫精度較高、傳輸速度較快且價(jià)格實(shí)惠[15-16],其三腳直插式封裝芯片的控制電路圖如圖 3所示,DS18B20采用的是單總線結(jié)構(gòu),GPIO引腳是DS18B20的通信總線,可連接到STM32單片機(jī)的通用GPIO引腳上實(shí)現(xiàn)數(shù)據(jù)間的通信。
1.4? 觸摸屏
4.3英寸電容觸摸屏模塊TFTLCD的分辨率為800×480,16位真彩顯示,驅(qū)動芯片為自帶GRAM的NT35510,無需外加驅(qū)動器。觸摸屏的最高刷屏速度在理論上可達(dá)78.9幀/秒,支持5點(diǎn)同時(shí)觸摸,其操控效果很好,電路連接如圖 4所示。與電阻式觸摸屏相比電容屏只需輕微的手指觸碰就能激活,很容易進(jìn)行多點(diǎn)觸摸,電容屏采用鋼化玻璃材料,其硬度較大,使得使用壽命延長。
1.5? ?SD存儲卡
SD卡的電路連接如圖 5所示。SD卡是基于FLASH的存儲卡,使用卡內(nèi)智能控制模塊進(jìn)行FLASH操作控制,包括協(xié)議、安全算法、數(shù)據(jù)存取、ECC算法、缺陷處理和分析、電源管理、時(shí)鐘管理等。電路配置好后可選擇不同的存儲卡容量,對酒精和溫度數(shù)據(jù)的文本文件來說,1 GB的存儲容量就已經(jīng)足夠。
1.6? ?D2822A功率放大器
使用功率放大器的目的是進(jìn)一步提高報(bào)警器的響度,D2822A功放芯片可使用低電壓驅(qū)動,進(jìn)行單聲道和雙聲道的配置,電路配置為單聲道,音頻輸出端采用USB接口,如圖 6所示。Audio為音頻輸入端,可與車載音頻線纜連接,也可與短信發(fā)送器模塊的音頻輸出端進(jìn)行連接,同時(shí),也可連接在其他音頻輸出設(shè)備上。此功放連接的揚(yáng)聲器需配置USB接口,接口的第一位和第三位為音頻線,第二位和第四位為地線,如圖6中的J4元器件。D2822A的IN2為地線連接,取消了一條聲道進(jìn)入,這樣做的目的是保證揚(yáng)聲器的功率,同時(shí)又不引起功放芯片的過度發(fā)熱。
1.7? ? 預(yù)留串口總線電路
CH340G芯片可實(shí)現(xiàn)USB轉(zhuǎn)接打印口、USB轉(zhuǎn)接串口等,實(shí)現(xiàn)USB總線的轉(zhuǎn)接的功能,在許多設(shè)備中都標(biāo)配有該類型的接口。實(shí)驗(yàn)配置串口的波特率115 200 Hz,不使用奇偶校驗(yàn)位,采用8位數(shù)據(jù)幀傳輸格式,設(shè)置1位停止位,數(shù)據(jù)模式設(shè)置為收發(fā)模式,并使能串口中斷,芯片外接晶振頻率為12 MHz。其電路連接如圖 7所示。
2? ? 系統(tǒng)軟件設(shè)計(jì)
2.1? ?系統(tǒng)的軟件架構(gòu)
系統(tǒng)的軟件架構(gòu)如圖 8所示,包括了UXOSIII操作系統(tǒng)核心的移植代碼、SD存儲卡的驅(qū)動函數(shù)包、FATFS文件系統(tǒng)、STemWin的核心代碼包、STM32的標(biāo)準(zhǔn)配置包、以及建立在此基礎(chǔ)上的短信代碼包和GPRS代碼包。在這些底層軟件的基礎(chǔ)上,可進(jìn)一步編寫針對某些硬件的用戶方法庫,用戶書寫的集成多種界面的界面方法庫。在庫建立完成的基礎(chǔ)上,本文再次向上抽象形成了公用頭文件和公用任務(wù)函數(shù),主函數(shù)在執(zhí)行完所有硬件初始化后可直接訪問公用任務(wù)函數(shù),通過公用任務(wù)函數(shù)調(diào)用底層的核心代碼,最終驅(qū)動相應(yīng)的硬件運(yùn)行。
2.2? ?系統(tǒng)的任務(wù)配置
系統(tǒng)的任務(wù)配置包括了兩大部分:系統(tǒng)核心模塊的任務(wù)劃分和附屬短信發(fā)送模塊的任務(wù)劃分,分別如表 2和表 3所示。在兩個(gè)模塊中start_task和led_task分別為系統(tǒng)任務(wù)的創(chuàng)建函數(shù)和系統(tǒng)工作指示燈任務(wù)。在led_task中配置指示燈的亮滅周期為1秒,用于表示系統(tǒng)正在工作。在核心模塊任務(wù)劃分中的emwin_task為界面任務(wù),用于界面的創(chuàng)建和顯示,并及時(shí)更新要顯示的數(shù)據(jù)。酒精和溫度數(shù)據(jù)測量任務(wù)為AT_task1~AT_task10,分別對應(yīng)10個(gè)端口的測量任務(wù),設(shè)置時(shí)間片長度為20毫秒。beep_task為打開功放的任務(wù),任務(wù)需要酒精濃度和溫度數(shù)據(jù),通過判斷酒精濃度是否超標(biāo)和溫度是否過高進(jìn)行功放的閉開操作。MsgTask和GPRSTask分別為信息發(fā)送任務(wù)和GPRS定位任務(wù),信息發(fā)送任務(wù)讀取位置信息一并發(fā)送給相應(yīng)聯(lián)系人。
2.3? ?任務(wù)標(biāo)志寄存器配置
定義任務(wù)標(biāo)志寄存器的目的是方便查看任務(wù)的運(yùn)行狀態(tài),在軟件設(shè)計(jì)中定義任務(wù)標(biāo)志寄存器的位邏輯功能如表 4所示。任務(wù)標(biāo)志寄存器名稱為TASK_FLAG,為32位的寄存器。根據(jù)任務(wù)標(biāo)志寄存器的位值可判斷測量任務(wù)是否開始或掛起、單個(gè)測量任務(wù)是否掛起等,如通過位0邏輯的值可判斷測量任務(wù)序列是否全部開始,邏輯值為1則表示測量任務(wù)全部開始,反之則未全部開始。任務(wù)標(biāo)志寄存器的默認(rèn)值為0。寄存器的21-31位為保留位,不起邏輯判斷的功能。
2.4? 界面設(shè)計(jì)
界面最上層顯示的是系統(tǒng)名稱:Drunk Driving Detection System,界面的左上角顯示了酒精測量單位指示為Alcohol: mg/L,溫度單位指示為攝氏度:Temp: Celsius。界面右下角為系統(tǒng)的版本號:AT SYS 1.0.1。系統(tǒng)啟動“START”按鈕用于創(chuàng)建序列任務(wù),此時(shí),左右測量的任務(wù)開始時(shí)間片輪轉(zhuǎn)調(diào)度運(yùn)行,若有某些測量點(diǎn)任務(wù)處于掛起狀態(tài)時(shí),點(diǎn)擊“START”按鈕用于恢復(fù)序列任務(wù)運(yùn)行?!癝TOP”按鈕用于掛起序列任務(wù),無論測量點(diǎn)任務(wù)全部開始還是部分開始都掛起所有測量點(diǎn)任務(wù)。測量點(diǎn)按鈕AT共有10個(gè):AT1~AT10,用于掛起或恢復(fù)測量點(diǎn)任務(wù),測量點(diǎn)任務(wù)的數(shù)據(jù)包括兩種:酒精濃度,酒精傳感器溫度。如果某些溫度傳感器沒有測量傳感器溫度,而是暴露在環(huán)境中,則溫度測量的是環(huán)境溫度數(shù)據(jù)。測量得到的酒精濃度數(shù)據(jù)和傳感器的溫度數(shù)據(jù)是通過顯示ANULL(ANULL1~ANULL10)和TNULL(TNULL1~TNULL10)來通知用戶的,通過這些值的顯示可得知某些傳感器可能損壞或者離線了,人機(jī)界面的設(shè)計(jì)具有方便觀察系統(tǒng)的工作狀況,并及時(shí)發(fā)現(xiàn)損壞的傳感器等功能。
2.5? ?系統(tǒng)的整體流程
在整體流程中并不考慮某些功能的具體流程細(xì)節(jié)。整體流程包括系統(tǒng)時(shí)鐘初始化、STM32的HAL庫的初始化、串口初始化、觸摸屏及LCD的初始化、SPI總線初始化、SD存儲卡初始化和FATFS文件系統(tǒng)的初始化、UCOSIII操作系統(tǒng)初始化等;任務(wù)的創(chuàng)建、人機(jī)界面的交互等。在任務(wù)池中,任務(wù)調(diào)度器在不同優(yōu)先級的任務(wù)之間進(jìn)行切換,在相同優(yōu)先級任務(wù)間進(jìn)行時(shí)間片輪轉(zhuǎn)調(diào)度。
根據(jù)界面設(shè)計(jì),在交互界面中,按住并釋放“START”按鈕,STM32單片機(jī)通過TASK_FLAG的位0邏輯值判斷任務(wù)序列是否已經(jīng)創(chuàng)建,如果已經(jīng)創(chuàng)建或開始,則執(zhí)行任務(wù)恢復(fù)操作。按住并釋放“STOP”按鈕,單片機(jī)通過TASK_FLAG的位0邏輯值判斷序列任務(wù)是否已經(jīng)開始,如果還未開始,不執(zhí)行任何操作,如果已經(jīng)開始,通過TASK_FLAG的位1邏輯值判斷任務(wù)是否已經(jīng)掛起,如果任務(wù)還未掛起,則將序列任務(wù)掛起。按住并釋放AT按鈕,單片機(jī)通過判斷TASK_FLAG的相應(yīng)位的邏輯值來判斷某個(gè)測量點(diǎn)任務(wù)是否已經(jīng)恢復(fù)或掛起。如按住并釋放AT8按鈕,通過TASK_FLAG的位1邏輯值判斷序列任務(wù)是否已經(jīng)停止,如果已經(jīng)停止,不執(zhí)行任何操作,如果沒有停止,則判斷TASK_FLAG的位13判斷測量點(diǎn)任務(wù)8是否已經(jīng)開始或恢復(fù),如果處于掛起狀態(tài),執(zhí)行恢復(fù)操作,如果已經(jīng)恢復(fù),則執(zhí)行掛起操作。
2.6? ?測量任務(wù)流程
測量任務(wù)流程包括兩大部分:酒精傳感器數(shù)據(jù)測量和傳感器溫度數(shù)據(jù)測量。酒精傳感器數(shù)據(jù)測量通過STM32的ADC功能即可完成,而溫度傳感器則需編制單總線才能完成對數(shù)據(jù)的采集。任務(wù)流程如圖 11所示。通過ADC1的前十個(gè)通道即可完成與酒精傳感器的連接,DS18B20的總線接口分別接在PG0~PG9十個(gè)引腳上。
中ad為酒精的數(shù)字量值,通過數(shù)字量值與MQ-3傳感器的測量范圍進(jìn)行對比可得到酒精的濃度數(shù)值。temperature為存儲溫度數(shù)據(jù)用的short類型變量,要得到溫度數(shù)據(jù)需要啟動溫度測量函數(shù),溫度測量函數(shù)中的tem為溫度暫存變量,函數(shù)出口返回tem給調(diào)用它的變量賦值。
2.7? ?功放與短信發(fā)送流程
報(bào)警和短信發(fā)送為酒精濃度超標(biāo)時(shí)需要執(zhí)行的任務(wù),報(bào)警任務(wù)的功能是開啟功放電路,接收報(bào)警音頻,該任務(wù)較為簡單,易于實(shí)現(xiàn)。短信發(fā)送任務(wù)的功能是將指定的信息和位置信息發(fā)送給相關(guān)的聯(lián)系人,功放與短信發(fā)送流程如圖 12所示。
圖中的ad為酒精濃度暫存變量,temp為溫度數(shù)據(jù)暫存變量,err為操作系統(tǒng)錯誤返回變量。圖中Amax為判斷是否酒駕的酒精濃度最小值,TMax為傳感器溫度的最大值,無論酒精濃度過大還是傳感器溫度過大都會啟動功放電路和短信發(fā)送器,短信發(fā)送由短信發(fā)送器完成,用戶可根據(jù)需要定制發(fā)送器的功能。
3? ? 系統(tǒng)調(diào)試
實(shí)驗(yàn)裝置如圖 13所示,裝置組成主要包括:酒精傳感器、溫度傳感器、STM32F4開發(fā)板、觸摸屏、排針、LED指示燈、短信發(fā)送器等,其中傳感器和短信發(fā)送器均外接。
根據(jù)開發(fā)板調(diào)試可得:
(1)人機(jī)界面顯示與更新正常。通過“START”按鈕實(shí)現(xiàn)序列任務(wù)的創(chuàng)建與恢復(fù)。通過“STOP”按鈕實(shí)現(xiàn)序列任務(wù)的掛起。通過AT按鈕實(shí)現(xiàn)測量點(diǎn)任務(wù)的掛起或恢復(fù)。
(2)傳感器數(shù)據(jù)測量正常。通過測量點(diǎn)任務(wù)可自動檢測哪些點(diǎn)已經(jīng)連線并開始了數(shù)據(jù)測量任務(wù),數(shù)據(jù)顯示在觸摸屏對應(yīng)的位置。
(3)任務(wù)標(biāo)志寄存器賦值正常。通過寄存器的位邏輯功能正確判斷了序列任務(wù)的開始、恢復(fù)、掛起,正確判斷了測量點(diǎn)任務(wù)的恢復(fù)和掛起。
(4)音頻功放和短信發(fā)送器能夠正常開啟。當(dāng)酒精濃度過大或者溫度值過大時(shí)都能夠正常開啟功放繼電器和短信發(fā)送器。
4? ? 結(jié)論
基于STM32F4單片機(jī)、UCOS操作系統(tǒng)和界面設(shè)計(jì)等設(shè)計(jì)實(shí)現(xiàn)了一套酒精濃度檢測系統(tǒng)。設(shè)計(jì)交互界面方便觀察測量數(shù)據(jù)和實(shí)時(shí)通知用戶故障傳感器,實(shí)現(xiàn)了測量點(diǎn)的自檢測功能,并可根據(jù)需要恢復(fù)或掛起某個(gè)測量點(diǎn)任務(wù)。預(yù)留USB轉(zhuǎn)串口接口為上位機(jī)開發(fā)與數(shù)據(jù)處理提供了技術(shù)支持,功放電路設(shè)計(jì)提高了報(bào)警音頻響度,外接短信發(fā)送器實(shí)現(xiàn)指定信息的指定人發(fā)送。系統(tǒng)調(diào)試結(jié)果表明該系統(tǒng)運(yùn)行穩(wěn)定,順利完成了給定功能。
參考文獻(xiàn):
[1] 蘆芝萍.基于物聯(lián)網(wǎng)的嵌入式酒駕自動檢測系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù), 2014,4(7): 8-11.
[2] 黃志鵬.預(yù)防酒駕的新型無鑰匙啟動系統(tǒng)研究[D].廣州:華南理工大學(xué), 2014.
[3] 孫恩民.一種基于單片機(jī)的汽車駕駛員酒駕檢測系統(tǒng)[J].汽車實(shí)用技術(shù), 2018(17): 179-181.
[4] 趙麗君.非接觸式車載酒精檢測儀研制[D].馬鞍山:安徽工業(yè)大學(xué), 2017.
[5] 秦永益.基于STM32的車載酒精檢測系統(tǒng)設(shè)計(jì)[D].曲阜:曲阜師范大學(xué), 2014.
[6] 孫艷波, 蘇鳳, 劉美麗.基于STM32的車載酒精檢測系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)與軟件工程, 2015(24): 112-113.
[7] 程麗麗, 劉志剛, 畢明巖.基于平臺Arduino的防酒駕汽車安全啟動系統(tǒng)[J].汽車安全與節(jié)能學(xué)報(bào), 2018,9(3): 265-271.
[8] 任建鵬, 李勤.基于單片機(jī)的智能防酒駕控制系統(tǒng)[J].科技創(chuàng)新與應(yīng)用, 2017(20): 16-17.
[9] 李曉靜, 劉書倫.基于物聯(lián)網(wǎng)的嵌入式酒駕智能辨識系統(tǒng)[J].制造業(yè)自動化, 2012,34(21): 33-36.
[10]? 高炎萃, 武一, 都鑫, 等.基于單片機(jī)的電動機(jī)保護(hù)裝置的設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版), 2010,23(1): 102-104.
[11] 孫自文, 伊建玉, 夏梅.車載酒精測量及限制車輛啟動系統(tǒng)研究[J].時(shí)代汽車, 2018(9): 23-24.
[12] 范縣成, 孫新柱, 房穩(wěn), 等.基于STM32F407的新型迷宮機(jī)器人系統(tǒng)設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版), 2016,29(1): 48-53.
[13] 徐宇寶, 林華, 王子權(quán).基于STM32智能溫控自調(diào)速風(fēng)扇PID控制研究[J].齊齊哈爾大學(xué)學(xué)報(bào)(自然科學(xué)版), 2018,34(5): 7-11.
[14] 王子權(quán).基于STM32的PWM調(diào)光器[J].電氣自動化, 2018,40(6): 98-100.
[15] 黃琦, 韓廣源, 吳瑞東, 等.基于STM32的高精度恒溫控制系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器, 2017(5): 71-74.
[16] 陳富忠, 翁桂琴.智能溫控調(diào)速風(fēng)扇的設(shè)計(jì)[J].上海電機(jī)學(xué)院學(xué)報(bào), 2009(4): 297-300.
Abstract: In order to increase the number of alcohol sensor measurement points and monitor the sensor damage, based on UCOS operating system and STM32F4 microcontroller, multi-channel real-time alcohol measurement and data storage system is designed. A total of 10 MQ-3 alcohol sensors can be connected to the sensing sequence, and the DS18B20 temperature detection interface is reserved for each sensor to monitor the sensor temperature change in real time. The sensing sequence task has the same priority level of 10, and uses time slice rotation scheduling to realize switching between sequence tasks. The LCD touch screen is configured to realize human-computer interaction. The system graphical interface is designed based on STemWin. The start and stop buttons are set to realize the start and stop of the system, and the running status of the task flag register TASK_FLAG record sequence task is defined. The SD card and the FATFS file system are configured to store alcohol and temperature data in real time, and the serial port bus can be reserved for communication with the vehicle host computer to improve system scalability. Through the development board test, the function of the system is stable and can be applied to a variety of alcohol detection occasions.
Key words: UCOS operating system; STM32 singlechip; temperature sensor; STemWin; FATFS
責(zé)任編輯? ? 祁秀春