吳建清,羊大立,張鐵民,嚴(yán)世勝
(海南師范大學(xué) 物理與電子工程學(xué)院,海南 ???571158)
釀造米酒在中國(guó)有著悠久的歷史,在中國(guó)南方的農(nóng)村,米酒是常見的傳統(tǒng)地方風(fēng)味食品,多是自家釀制食用,生產(chǎn)米酒的小作坊也以自產(chǎn)自銷為多。酒釀和米酒歷來受到人們的喜愛,不僅是因?yàn)槠浔旧砭哂泄阄?、酒香味等?dú)特風(fēng)味和口感的緣故,更重要的是它營(yíng)養(yǎng)十分豐富、酒精度數(shù)低、酸甜可口且富含多種氨基酸、葡萄糖、麥芽糖以及適量的有機(jī)酸、維生素和各種礦物質(zhì)。酒釀中的低糖成分人體極易吸收,具有健脾、健胃,快速補(bǔ)充能量的功效,適量的有機(jī)酸和各種維生素礦物質(zhì)亦能被人體快速地消化和吸收,達(dá)到均衡營(yíng)養(yǎng)和保健的作用[1]。
米酒的釀造步驟為:洗米、浸米、蒸煮、冷卻、配曲、糖化和發(fā)酵。制作好米酒的關(guān)鍵除了在全部制作過程中要做好人手、工具和容器的清潔衛(wèi)生外,還要控制好酵母菌生長(zhǎng)過程中發(fā)酵的溫度[2]。通常酵母菌所處的環(huán)境溫度如果低于0 ℃或者高于47 ℃,那么它就不能正常生長(zhǎng),米酒就不能正常發(fā)酵。最適合酵母菌生長(zhǎng)的溫度范圍是25~30 ℃,所以在釀造米酒的時(shí)候最好能保持在這個(gè)溫度范圍之內(nèi)。
在現(xiàn)代生活中,恒溫箱廣泛應(yīng)用于各行各業(yè),特別是實(shí)驗(yàn)室、物流、醫(yī)藥、釀酒和工業(yè)生產(chǎn)方面,為了得到精確的實(shí)驗(yàn)數(shù)據(jù)和保持精確的恒定溫度,這些領(lǐng)域?qū)銣叵溆蟹浅?yán)格的要求。在當(dāng)今市場(chǎng)上,已存在很多種恒溫箱,但大多數(shù)溫度精度不高、波動(dòng)范圍較大,制熱制冷效率不高、體積不可變、適應(yīng)性差。本文設(shè)計(jì)的釀酒恒溫箱,具有精度高、實(shí)時(shí)性好、控制器和箱體可分離等特點(diǎn),可用于家庭一年四季的糯米酒等的釀造中。
如圖1 所示為系統(tǒng)總體結(jié)構(gòu)框圖,主控芯片采用STM32F103C8T6,接收溫度傳感器DS18B20 發(fā)送過來的溫度值[3],并顯示在0.96″的OLED顯示屏上,獨(dú)立按鍵模塊可以設(shè)定目標(biāo)溫度和PID 3個(gè)參數(shù)。根據(jù)設(shè)定好的3個(gè)參數(shù),通過驅(qū)動(dòng)芯片SI4336加熱或制冷用泡沫做成的恒溫箱,并運(yùn)行PID算法,使恒溫箱內(nèi)部的溫度慢慢穩(wěn)定于設(shè)定溫度。用C#語言在Visual Studio 2019上編寫了上位機(jī)軟件,通過串口實(shí)時(shí)描繪溫度曲線并存儲(chǔ)這些溫度值。最后用SolidWorks軟件設(shè)計(jì)了釀酒恒溫箱控制器的外殼,并3D打印。如果恒溫箱溫度超過警示溫度值,系統(tǒng)會(huì)超溫報(bào)警[4-5]。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖Figure 1 Overall structure block diagram of the system
系統(tǒng)硬件電路主要包括了主控電路、顯示電路、加熱模塊電路、制冷模塊電路、電源模塊電路、溫度數(shù)據(jù)采集電路和按鍵電路,下面主要介紹前4個(gè)模塊。
根據(jù)釀酒恒溫箱系統(tǒng)的功能要求,需要一個(gè)運(yùn)算速度快、通信接口多、成本相對(duì)低廉的嵌入式芯片。本設(shè)計(jì)采用了意法半導(dǎo)體公司的STM32F103C8T6作為系統(tǒng)的核心芯片。它基于超低功耗的ARM Cortex-M3處理器核心、64 KB的FLASH存儲(chǔ)器和20KB的SRAM,采用LQFP48的封裝方式,具有37個(gè)通用I/O口,工作電壓為2.0~3.6 V,4個(gè)16位定時(shí)器,1個(gè)CAN接口,2個(gè)12位ADC,2個(gè)I2C接口,3個(gè)USART接口,2個(gè)SPI接口,支持串口調(diào)試(SWD)和JTAG調(diào)試,其內(nèi)部時(shí)鐘振蕩器頻率為8 MHz,具有可靈活配置的PLL[6-8],最小系統(tǒng)原理圖如圖2所示。
圖2 STM32F103C8T6最小系統(tǒng)圖Figure 2 Minimum system diagram of STM32F103C8T6
顯示屏模塊采用0.96″的OLED液晶屏幕,分辨率為128×64,4線的I2C接口方式,屏幕所用的驅(qū)動(dòng)IC為SSD1306,其具有內(nèi)部升壓功能,所以在設(shè)計(jì)的時(shí)候不需要再專門設(shè)計(jì)升壓電路,模塊電路圖如圖3所示。
圖3 0.96”O(jiān)LED屏幕電路圖Figure 3 Circuit diagram of 0.96"OLED screen
加熱模塊的功能是對(duì)釀酒恒溫箱進(jìn)行加熱,輸入的電源是12V/10A,STM32 發(fā)出脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號(hào),MOS管功率芯片SI4336接收PWM信號(hào),然后輸出大功率的信號(hào)給電熱絲對(duì)恒溫箱進(jìn)行加熱。芯片SI4336是N型管,最大耐壓30V,最大通過電流22A,導(dǎo)通電阻4.2MΩ。對(duì)加熱模塊設(shè)置了一個(gè)開關(guān)K1,如圖4所示,當(dāng)按下K1時(shí),加熱電路模塊接通,如果DS18B20檢測(cè)到的環(huán)境溫度低于設(shè)定溫度,就開始加熱,還設(shè)計(jì)了一個(gè)用于檢測(cè)加熱模塊是否通電的電路,如果通電了,紅色的發(fā)光二極管LEDR1就會(huì)亮,如果電熱絲開始工作,LEDRED會(huì)亮,電熱絲功率越大,LEDRED會(huì)越亮。
圖4 加熱電路圖Figure 4 Heating circuit diagram
制冷模塊的功能是對(duì)釀酒恒溫箱進(jìn)行制冷,輸入電源是12V/10A,STM32發(fā)出PWM信號(hào),MOS管功率芯片SI4336接收PWM信號(hào),然后輸出大功率的信號(hào)給半導(dǎo)體制冷片TEC1-12706進(jìn)行制冷,在制冷片的制冷面和散熱面都裝有散熱片和風(fēng)扇,使冷氣和熱氣快速散開,2個(gè)散熱風(fēng)扇的風(fēng)速可以通過滑動(dòng)變阻器進(jìn)行調(diào)節(jié)。對(duì)制冷模塊設(shè)置了一個(gè)開關(guān)K2,如圖5所示,當(dāng)按下K2時(shí),制冷電路模塊接通,如果DS18B20檢測(cè)到的環(huán)境溫度高于設(shè)定溫度,就開始制冷,還設(shè)計(jì)了用于檢測(cè)制冷模塊是否通電的電路,如果通電了,綠色的發(fā)光二極管LEDRB2就會(huì)亮,如果制冷半導(dǎo)體片開始工作,LEDBLUE會(huì)亮,制冷半導(dǎo)體片功率越大,LEDBLUE會(huì)越亮。
圖5 制冷電路圖Figure 5 Refrigeration circuit diagram
在釀酒恒溫箱系統(tǒng)中,系統(tǒng)的主要功能是通過軟件來實(shí)現(xiàn)的,軟件設(shè)計(jì)的好壞決定著系統(tǒng)的性能,所以軟件設(shè)計(jì)是一個(gè)重要環(huán)節(jié)。系統(tǒng)要實(shí)現(xiàn)的功能是首先測(cè)量恒溫箱內(nèi)的溫度,然后與設(shè)定溫度值相比較,通過PID算法,用STM32的PWM去控制MOS管功率芯片SI4336,使電熱絲加熱或半導(dǎo)體制冷片制冷[9-10]。
整個(gè)控制板的軟件采用模塊化設(shè)計(jì)思路,控制板上的軟件由多個(gè)模塊組成,每個(gè)模塊實(shí)現(xiàn)不同的功能。主要由主程序模塊、PID算法模塊、加熱模塊和制冷模塊等組成。
為了方便釀酒恒溫箱的PID參數(shù)整定、溫度設(shè)定、系統(tǒng)調(diào)試和查看,使用C#在Visual Studio 2019環(huán)境下編寫了上位機(jī)程序,還設(shè)計(jì)并制作了控制器的外殼。
恒溫釀酒箱主程序流程圖如圖6所示,主程序首先對(duì)系統(tǒng)進(jìn)行初始化,當(dāng)系統(tǒng)上電后,主程序?qū)TM32、DS18B20、串口和OLED等進(jìn)行初始化操作,然后通過3個(gè)獨(dú)立的按鍵,設(shè)定系統(tǒng)將要穩(wěn)定在的目標(biāo)溫度和3個(gè)PID參數(shù),當(dāng)設(shè)定溫度高于釀酒恒溫箱內(nèi)的環(huán)境溫度時(shí),系統(tǒng)需要加熱才能達(dá)到設(shè)定的溫度,所以要按加熱按鍵;當(dāng)設(shè)定溫度低于釀酒恒溫箱的環(huán)境溫度時(shí),系統(tǒng)需要制冷才能達(dá)到設(shè)定的溫度,所以要按制冷按鍵。要是加熱和制冷按鍵同時(shí)按下,加熱優(yōu)先。
圖6 主程序流程圖Figure 6 Main program flow chart
PID控制算法是最經(jīng)典、最簡(jiǎn)單、最成熟而又應(yīng)用最廣泛的控制方法,它具有原理簡(jiǎn)單,易于實(shí)現(xiàn),適用面廣,控制參數(shù)相互獨(dú)立,參數(shù)的選定比較簡(jiǎn)單等優(yōu)點(diǎn)。雖已被提出有幾十年之久,但仍然廣泛應(yīng)用在工程領(lǐng)域。
PID 算法的執(zhí)行流程是非常簡(jiǎn)單的,即利用反饋來檢測(cè)偏差信號(hào),PID 算法將控制偏差e(t)的比例、積分、微分進(jìn)行線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制。PID控制系統(tǒng)框圖如圖7所示。控制量u(t)可以由式(1)表示,
圖7 PID算法框圖Figure 7 PID algorithm block diagram
其中,KP為比例系數(shù),TI為積分時(shí)間常數(shù),TD為微分時(shí)間常數(shù)。
在嵌入式系統(tǒng)中,實(shí)現(xiàn)PID算法需要用數(shù)字PID算法,本設(shè)計(jì)采用位置式算法,將實(shí)際溫度與設(shè)定溫度之差經(jīng)比例積分微分運(yùn)算后擬合成PWM占空比數(shù)值,輸出給MOS管功率芯片SI4336去驅(qū)動(dòng)加熱或制冷電路,對(duì)式(1)進(jìn)行離散化處理可得:
通常把式(2)稱為位置式PID算法[11]。
PID算法模塊主要功能是實(shí)現(xiàn)位置式PID控制,先將偏差值e(k)的初值置零,然后讀取設(shè)定溫度的值和恒溫箱內(nèi)的實(shí)測(cè)溫度值,算出溫度偏差值e(k),接著根據(jù)位置式PID算法計(jì)算出增量u(k),最后用增量去控制STM32輸出的PWM占空比。
STM32依據(jù)PID算法輸出的控制信號(hào)來確定要輸出的PWM占空比,當(dāng)設(shè)定溫度高于恒溫箱內(nèi)部環(huán)境溫度并按下加熱鍵,系統(tǒng)通過調(diào)節(jié)STM32輸出的PWM 占空比來控制加熱絲的功率,PWM 占空比越大表示加熱絲在一個(gè)周期內(nèi)工作的時(shí)間越長(zhǎng),平均功率也大,發(fā)熱增多;反之,平均功率小,發(fā)熱少。
系統(tǒng)的上位機(jī)軟件采用Microsoft Visual Studio2019開發(fā)環(huán)境作為開發(fā)平臺(tái),用C#語言編寫上位機(jī)程序,首先設(shè)置好串口相關(guān)參數(shù),接著打開串口,發(fā)送設(shè)定溫度、PID參數(shù)和PWM最大值給控制器,在上位機(jī)軟件上就實(shí)時(shí)顯示恒溫箱內(nèi)的溫度,同時(shí)也用曲線實(shí)時(shí)顯示溫度,并將這些數(shù)據(jù)保存到.txt文本中,圖8~9就是正在運(yùn)行中的上位機(jī)界面[12]。
圖8 目標(biāo)溫度為31℃時(shí)的溫度數(shù)據(jù)曲線Figure 8 Temperature data curve when the target temperature is 31 ℃
在目前市場(chǎng)上所見到的三維CAD解決方案中,SolidWorks是設(shè)計(jì)過程比較簡(jiǎn)便的軟件之一,功能強(qiáng)大、易學(xué)易用,能夠提供不同的設(shè)計(jì)方案,減少設(shè)計(jì)過程中的錯(cuò)誤以及提高產(chǎn)品質(zhì)量。由于SolidWorks軟件是在Windows環(huán)境下重新開發(fā)的,因此能夠充分利用Windows的優(yōu)秀界面資源,為設(shè)計(jì)師提供友好、簡(jiǎn)便的工作界面。采用SolidWorks 2014版進(jìn)行釀酒恒溫箱控制器的外殼設(shè)計(jì),并用愛能特(Anet)ET43D打印機(jī)打印的釀酒恒溫箱控制器的外殼和按鈕。
采用54.0 cm×39.0 cm×17.5 cm大小的泡沫箱作為系統(tǒng)的箱體,系統(tǒng)上電后,對(duì)各個(gè)模塊進(jìn)行初始化,控制器的右下面有3個(gè),左邊第一個(gè)是“設(shè)置”功能切換鍵,每按一下切換一種功能,功能依次是:溫度設(shè)定、P設(shè)定、I設(shè)定和D設(shè)定。當(dāng)系統(tǒng)處于上面任何一種功能時(shí),第二個(gè)鍵按下時(shí)參數(shù)值加1,第三個(gè)鍵按下時(shí)參數(shù)值減1,控制電路板運(yùn)行的實(shí)物圖如圖10所示。
圖10 釀酒恒溫箱控制器實(shí)物圖Figure 10 Physical drawing of brewing incubator controller
對(duì)釀酒恒溫箱系統(tǒng)的加熱功能進(jìn)行測(cè)試,上位機(jī)軟件采集恒溫箱的溫度數(shù)據(jù)并實(shí)時(shí)顯示在軟件上,測(cè)試時(shí)恒溫箱所處環(huán)境的溫度為26.6 ℃,目標(biāo)溫度為31.0 ℃,PID的參數(shù)為400、8、380,采集到的溫度數(shù)據(jù)曲線如圖8所示。
對(duì)系統(tǒng)進(jìn)行制冷測(cè)試時(shí),測(cè)試時(shí)恒溫箱所處環(huán)境的溫度為26.6 ℃,目標(biāo)溫度為19.0 ℃,PID 的參數(shù)為400、30、100,采集到的溫度數(shù)據(jù)曲線如圖9所示。
圖9 目標(biāo)溫度為19℃時(shí)的溫度數(shù)據(jù)曲線Figure 9 Temperature data curve when the target temperature is 19 ℃
從圖8~9中可以看出,釀酒恒溫箱系統(tǒng)的加熱和制冷都正常運(yùn)轉(zhuǎn),系統(tǒng)經(jīng)過2個(gè)振蕩后箱體內(nèi)的溫度穩(wěn)定在目標(biāo)值附近,系統(tǒng)運(yùn)行30 min后,恒溫箱內(nèi)的溫度都穩(wěn)定于目標(biāo)溫度。
對(duì)釀酒恒溫箱系統(tǒng)內(nèi)的溫度控制精度進(jìn)行測(cè)試,測(cè)試時(shí)恒溫箱所處環(huán)境的溫度28.6 ℃,目標(biāo)溫度為40、35、30、25、20 ℃,系統(tǒng)運(yùn)行1 h后,對(duì)恒溫箱內(nèi)溫度進(jìn)行測(cè)量,測(cè)量的結(jié)果如表1所示。由表1得到的數(shù)據(jù)可知,當(dāng)系統(tǒng)運(yùn)行1 h后,系統(tǒng)溫度控制的最大偏差為0.1 ℃,所以系統(tǒng)的溫度控制精度可以達(dá)到0.1 ℃。
表1 溫度控制精度測(cè)量數(shù)據(jù)與超調(diào)量測(cè)量數(shù)據(jù)Table 1 Temperature control accuracy measurement data and overshoot measurement data
超調(diào)量是指輸出量的最大值減去穩(wěn)態(tài)值的差與穩(wěn)態(tài)值之比的百分?jǐn)?shù),對(duì)系統(tǒng)內(nèi)的超調(diào)量進(jìn)行測(cè)試,測(cè)試時(shí)所處環(huán)境的溫度為28.8 ℃,目標(biāo)溫度為40、35、30、25、20 ℃,系統(tǒng)運(yùn)行1 h后,記錄下恒溫箱內(nèi)溫度的最大偏差,然后計(jì)算出系統(tǒng)的超調(diào)量,由表1的數(shù)據(jù)可知系統(tǒng)的超調(diào)量在2%以內(nèi),超調(diào)量是比較小的[13]。
用相同的釀酒恒溫箱控制器、加熱絲和制冷模塊,分別接尺寸為29 cm×26.5 cm×16.5 cm、54 cm×39 cm×17.5 cm、59 cm×35 cm×32.5 cm的小、中和大3個(gè)泡沫箱,整定的PID參數(shù)分別為360、6、100,360、10、100,360、14、100。圖11為3個(gè)不同體積箱子的初始溫度28.6 ℃,系統(tǒng)經(jīng)過1 h運(yùn)行后,3條曲線都慢慢恒溫于25 ℃,即3個(gè)不同體積的恒溫箱經(jīng)過1 h的運(yùn)行后箱內(nèi)溫度都恒溫于系統(tǒng)設(shè)定溫度25 ℃。
圖11 3個(gè)不同體積的恒溫箱恒溫到25℃Figure 11 Constant temperature of three thermostats with different volumes to 25℃
用上面做好的釀酒恒溫箱來發(fā)酵米酒。將3 kg糯米浸泡1d,上蒸鍋蒸0.5 h,完全熟透后,冷卻到室溫,放酒曲和涼開水,拌均勻,再把糯米放于盆中,中間掏一個(gè)洞,最后把盆放在尺寸為54 cm×39 cm×17.5 cm的恒溫箱里,恒溫在25 ℃發(fā)酵3 d,圖12是發(fā)酵3 d的甜糯米酒。如果要酒味濃烈些,用薄膜蓋住盆保持厭氧發(fā)酵,發(fā)酵越久甜味越少,酒味越濃,最長(zhǎng)1個(gè)月即可。
圖12 釀酒恒溫箱釀糯米酒Figure 12 Brewing glutinous rice wine in a brewing incubator
釀酒恒溫箱以STM32F103C8T6單片機(jī)作為系統(tǒng)的核心芯片,使用加熱絲加熱和半導(dǎo)體制冷片制冷,系統(tǒng)具有加熱、制冷和恒溫功能,通過按鍵或上位機(jī)都可以進(jìn)行溫度和PID參數(shù)的設(shè)定與溫度顯示,系統(tǒng)溫控范圍為19~40 ℃,溫度精度達(dá)0.1 ℃,超調(diào)量2%,箱體體積可變,運(yùn)行0.5 h后系統(tǒng)趨于穩(wěn)定,滿足人們一年四季任意時(shí)刻釀米酒的需求。