基于89C52的免燒磚配料(壓力傳感器)控制系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書1_第1頁
基于89C52的免燒磚配料(壓力傳感器)控制系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書1_第2頁
基于89C52的免燒磚配料(壓力傳感器)控制系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書1_第3頁
基于89C52的免燒磚配料(壓力傳感器)控制系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書1_第4頁
基于89C52的免燒磚配料(壓力傳感器)控制系統(tǒng)設(shè)計畢業(yè)設(shè)計說明書1_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2014屆畢業(yè)生畢業(yè)設(shè)計說明書題目:基于89c52的免燒磚配料控制系統(tǒng)設(shè)計 院系名稱:電氣工程學(xué)院 專業(yè)班級: 自動1002 學(xué)生姓名: 學(xué) 號: 201046820422 指導(dǎo)教師: 教師職稱: 2014年 5月 22日目 錄1概述31.1研究背景31.2 任務(wù)要求32 方案論證42.1 配料控制系統(tǒng)方案42.2 方案設(shè)計43 硬件電路設(shè)計63.1晶振與復(fù)位電路63.2 傳感器73.3 放大電路與ad轉(zhuǎn)換電路83.4 配方存儲器件103.5 繼電器電路113.6 電源電路123.7 按鍵123.8 顯示電路134 系統(tǒng)軟件設(shè)計154.1 系統(tǒng)主程序流程圖154.2 按鍵的掃描174.3 ee

2、prom的操作174.4 a/d轉(zhuǎn)換的處理194.5 顯示電路20總 結(jié)23致 謝24參考文獻(xiàn)25附錄a 原理圖26附錄b 程序271概述1.1研究背景配料控制系統(tǒng)在目前的工業(yè)生產(chǎn)中占據(jù)了舉足輕重的位置, 由于半導(dǎo)體技術(shù)的發(fā)展配料控制系統(tǒng)由原來的純?nèi)斯げ僮靼l(fā)展到后來的通過機(jī)械以及人工進(jìn)行半自動控制,隨著可編程電子邏輯器件的不斷發(fā)展,現(xiàn)在的配料控制系統(tǒng)已經(jīng)逐步采用以微控制器為核心的自動化智能化控制系統(tǒng),擁有良好的人機(jī)界面,便于操作和修改,可靠性能和生產(chǎn)效率大大提高。1.2 任務(wù)要求本課題是對物料稱重的研究,我們要在系統(tǒng)稱量誤差上,便于維護(hù)、效率上,改變物料配方的操作上,自動化程度上,能耗上,造價

3、上等兼顧。因此,配料控制系統(tǒng)要達(dá)到以下要求:本設(shè)計屬于對不同的配料按照配方的要求進(jìn)行精確稱量的控制系統(tǒng)。尤其是配方的可變性和可修改性。本設(shè)計中開發(fā)的基于mcu的控制器最新技術(shù),實(shí)現(xiàn)物料的稱量,配方的替換,系統(tǒng)的啟??刂频裙δ?。本設(shè)計是一種物料稱重系統(tǒng),在料倉的下方有送料皮帶,控制送料的量,皮帶下方是稱量料斗,物料送入后由重力傳感器檢測出物料的重量信息并通過放大器,a/d轉(zhuǎn)換后送入mcu中,當(dāng)mcu檢測到物料達(dá)到配方要求時,控制停止送料皮帶電機(jī),停止送料,并開始下一物料的稱量,當(dāng)所有物料稱量完成后啟動稱量料斗電機(jī)轉(zhuǎn)移物料至混合料斗。mcu通過繼電器來控制電機(jī)的工作狀態(tài),電機(jī)帶動機(jī)械裝置來控制送料

4、的多少,人機(jī)交互界面由鍵盤和液晶顯示電路來實(shí)現(xiàn)。2 方案論證 本章先通過對總體方案,傳感器、電壓放大電路,信號處理方法,人機(jī)交互方法,軟件的編譯環(huán)境及其選用的語言等技術(shù)方面進(jìn)行了對比論證和選擇,然后提出配料控制系統(tǒng)的主要技術(shù)指標(biāo),最后確定了配料控制系統(tǒng)的總體設(shè)計方案。2.1 配料控制系統(tǒng)方案早期的配料控制系統(tǒng)基本由人工進(jìn)行操作和控制,精度和快速性都要依靠人工的熟練操作程度,因此系統(tǒng)難以長時間保持高效率的工作,而且因?yàn)楣ぷ鳝h(huán)境的惡劣對工作人員的身心健康有很大的不利的影響。因此這種方法現(xiàn)在已經(jīng)基本被各個廠家淘汰。隨著電子技術(shù)、傳感技術(shù)、計算機(jī)技術(shù)以及智能控制理論的發(fā)展,工業(yè)生產(chǎn)過程中對配料的精度、

5、安全、穩(wěn)定、自動化程度都提出了新的要求。配料控制也有人工控制轉(zhuǎn)向電子自動控制,通過傳感器,放大電路,微控制器等電子設(shè)備組成自動控制系統(tǒng),大大提高了配料精確度和生產(chǎn)效率。通過對比,本系統(tǒng)采用第二種設(shè)計方案,即以傳感器、信號處理電路、微處理器等電子器件構(gòu)成的自動控制系統(tǒng)。2.2 方案設(shè)計配料控制系統(tǒng)實(shí)物圖如圖2-1所示:圖2-1配料控制系統(tǒng)實(shí)物圖上方三個料斗分別為不同物料的存放料斗,料斗下方有一個傳送帶,最下方的料斗為混合料斗,混合料斗下方的傳送帶上裝有壓力傳感器,開始工作時,電機(jī)帶動存放料斗的物料傳送皮帶將物料下泄到下方的混合料斗中,壓力傳感器實(shí)時檢測物料重量并將數(shù)據(jù)傳送給單片機(jī),單片機(jī)根據(jù)設(shè)定

6、好的配方比來確定是否停止送料,當(dāng)該物料達(dá)到配方要求值時控制皮帶電機(jī)停轉(zhuǎn),停止送料,并啟動下一物料皮帶電機(jī)開始下一物料的送料,等所有物料按配方要求送到混合料斗時,單片機(jī)控制皮帶電機(jī)將混合料斗物料送給混合攪拌機(jī);并開始準(zhǔn)備下一輪送料過程,整個送料過程的實(shí)時物料重量數(shù)據(jù)及其當(dāng)前的配方序號顯示在液晶上,物料配方可通過鍵盤進(jìn)行更改。根據(jù)以上工作過程,配料控制系統(tǒng)總體框圖如圖2-2所示: 圖2-2 配料控制系統(tǒng)總體框圖 由系統(tǒng)總體框圖可以看出由四個壓力傳感器t105組成的電阻橋經(jīng)過電壓放大24位a/d轉(zhuǎn)換芯片hx711-bf芯片進(jìn)行信號處理后送入微控制器at89c52單片機(jī)中進(jìn)行運(yùn)算,單片機(jī)將處理的實(shí)時過

7、程和結(jié)果送到12864液晶顯示同時控制繼電器的吸合和斷開。鍵盤負(fù)責(zé)命令數(shù)據(jù)的輸入。3 硬件電路設(shè)計3.1晶振與復(fù)位電路該配料控制系統(tǒng)要求實(shí)現(xiàn)對傳感器電壓信號的采集,放大,a/d轉(zhuǎn)換并交由單片機(jī)進(jìn)行數(shù)據(jù)處理,從而通過繼電器來控制電機(jī)達(dá)到控制物料重量的目的。結(jié)構(gòu)并不十分復(fù)雜,因此可選用stc公司的8位微處理器單元89c52rc40i-pdip。該單片機(jī)最高工作頻率可達(dá)40mhz,片內(nèi)程序存儲空間為512字節(jié);程序存儲空間為8k字節(jié);工作電壓為5.5v3.8v。單片機(jī)復(fù)位電路如圖3-1所示:圖3-1 單片機(jī)復(fù)位電路復(fù)位電路的作用是對單片機(jī)進(jìn)行系統(tǒng)的初始化,確保單片機(jī)開始正常工作前所有工作部件都保持在

8、設(shè)置的默認(rèn)狀態(tài)下。51單片機(jī)的復(fù)位要求是:rst保持兩個機(jī)器周期以上的高電平時自動復(fù)位。 因?yàn)榭紤]到芯片剛剛上電時由于供電不穩(wěn)定而做出錯誤的計算,所以增加一個上電復(fù)位以達(dá)到延時啟動cpu的目的,使芯片能夠正常工作。當(dāng)單片機(jī)電源電路開始供電時s0未按下,此時rest因?yàn)閞15的存在保持高電平狀態(tài)(保持時間大于兩個機(jī)器周期)。然后10uf電容開始充電,充電完成后rest恢復(fù)為低電平,復(fù)位工作完成,單片機(jī)開始正常運(yùn)行。當(dāng)s0按下時rest為高電平狀態(tài)(時間大于兩個機(jī)器周期),松開時又恢復(fù)低電平狀態(tài),手動復(fù)位工作完成。單片機(jī)晶振電路如圖3-2所示:圖3-2 單片機(jī)晶振電路晶振電路用來給單片機(jī)提供精確的

9、時鐘頻率,單片機(jī)的時鐘頻率就如一首歌的節(jié)拍一樣,所有運(yùn)行在單片機(jī)里的指令要按照時鐘頻率來一步步執(zhí)行,否則就會出錯。容量為30pf電容c1,c2的兩端分別接晶振的一段并和gnd相連。其作用是消除單片機(jī)外部晶振與單片機(jī)直接相連時產(chǎn)生偕波,保持晶振電路的可靠性和穩(wěn)定性的要求。3.2 傳感器本設(shè)計為配料控制系統(tǒng),考慮到工作環(huán)境的惡劣多變性,要求壓力傳感器具有較大的量程,以及比較精確的靈敏度要求,能夠很好的適應(yīng)不同溫度下的工作環(huán)境,其非線性和重復(fù)性以及抑制溫漂的能力要強(qiáng)。但鑒于市場上高性能的完全符合要求壓力傳感器價格較為昂貴。在這里我選擇ti公司的半橋式壓力傳感器t105,量程為50kg,靈敏度1.10

10、.15mv/v,輸入電阻10005,推薦激勵電壓510v,工作溫度范圍-10+50,尺寸規(guī)格34*34*7.8mm。同時為了提高量程,將四個傳感器組成電阻橋形式,將單片機(jī)電源+5v做激勵電壓,能實(shí)現(xiàn)基本功能。硬件接線圖如圖3-3所示:圖3-3 t105壓力傳感器接線圖其中e+,e-兩個引線分別直接接hx711-bf輸入端電源正負(fù)極,a+,a-引線為差分電壓信號,直接接hx711-bf輸入端a信號正負(fù)極。3.3 放大電路與ad轉(zhuǎn)換電路傳感器選擇t105,滿量程輸出=激勵電壓(5v)*靈敏度(1.1mv/v)=5.5mv由于輸出電壓較小,不能直接驅(qū)動單片機(jī)i/o口,因此要對電壓進(jìn)行放大處理,放大過

11、后的電壓要轉(zhuǎn)換為數(shù)字量才能輸送給單片機(jī)處理。鑒于以上考慮,我采用海芯科技公司專為高精度電子稱設(shè)計的24位a/d轉(zhuǎn)換器芯片hx711-bf,片內(nèi)集成低噪聲可編程放大器,通過軟件可選擇不同增益。hx711芯片內(nèi)集成了包括穩(wěn)壓電源,片內(nèi)時鐘振蕩器等外圍電路,也可通過管腳控制選擇使用外部時鐘電路。控制信號由數(shù)據(jù)時鐘管腳來直接實(shí)現(xiàn),無需對內(nèi)部寄存器編程,增益可選擇128或64,對應(yīng)滿額度差分輸入信號幅值分別為20mv,40mv。上電自動復(fù)位功能簡化了開機(jī)初始化過程。工作電壓范圍2.65.5v,工作溫度范圍-40+85。hx711-bf實(shí)物圖如圖3-4所示:圖3-4 hx711-bf實(shí)物圖hx711-bf

12、接線原理圖如圖3-5所示:圖3-5 hx711-bf接線原理hx711 芯片內(nèi)的穩(wěn)壓電路可同時向a/d 轉(zhuǎn)換器和外部傳感器提供模擬電源。穩(wěn)壓電源的供電電壓(vsup)和與數(shù)字電(dvdd)通過c6濾波電容接vcc。將管腳x1接gnd,hx711將自動選擇使用片內(nèi)的時鐘振蕩器,并自動關(guān)閉外部時鐘和晶振相關(guān)電路。e+,e-接壓力傳感器的電源端,在這里,e+通過三極管q2接到電源vcc上,由base控制,e-直接接gnd。信號通道有兩個即a通道和b通道(未標(biāo)出),a通道由a+,a-組成分別接到hx711的ina+,ina-端。c4為a通道濾波電容,r10為限流電阻。串口通訊由管腳pd_sck和dou

13、t組成,用來輸入數(shù)據(jù),選擇輸入通道和增益。本次設(shè)計中選擇a通道128倍信號增益,可將壓力傳感器電橋t105輸出的5.5v電壓放大128倍(通過軟件實(shí)現(xiàn)),然后采樣輸出24bitad轉(zhuǎn)換值,單片機(jī)通過時序?qū)?4bit數(shù)據(jù)讀出。傳感器供電電壓計算:應(yīng)變片電阻橋的供電電壓(e+,e-)由hx711-bf提供即avdd和agnd。其中電壓v(avdd)=vbg(r1+r2)/r2計算,vbg為模塊基準(zhǔn)電壓1.265v。r1選用阻值為20k的電阻;r2選用阻值為20k的電阻。因此計算得v(avdd)=4.35v。即傳感器供電電壓為4.35v。在。4.35v供電電壓下200kg的傳感器最大輸出電壓是4.3

14、5v*1.1mv/v=4.785mv。經(jīng)過128倍放大后最大電壓為4.785mv*128=612.48mv。經(jīng)過a/d轉(zhuǎn)換后輸出的24bit數(shù)字值最大為:612.48*224/4.35v=2362232。再交由程序處理數(shù)據(jù)。3.4 配方存儲器件為了實(shí)現(xiàn)配方的保存,采用掉電后數(shù)據(jù)不丟失的存儲芯片eeprom,由于配方所占的存儲空間并不大,我采用atmel公司的eeprom產(chǎn)品at24c02a,工作電壓為1.8v5.5v,具有256*8(2k bits)的存儲空間,直流輸出5.0ma,采用兩線串行接口,完全兼容iic總線。at24c02原理接線圖如圖3-6所示:圖3-6 at24c02原理接線圖a

15、0,a1,a2引腳為器件的地址輸入引腳器件地址為0x1010 a2a1a0(r/w),用于單片機(jī)對器件的尋址操作,由于系統(tǒng)只用一片at24c02a芯片,為了簡便操作在這里將地址選擇引腳全部接地,地址為0x1010 000(r/w),sda是串行數(shù)據(jù)輸入輸出引腳,負(fù)責(zé)與單片機(jī)進(jìn)行數(shù)據(jù)交換,sck是串行時鐘輸入引腳,由單片機(jī)來控制時鐘的輸入來保證數(shù)據(jù)的輸入正常。sda,sck通過兩個阻值為10k的電阻與vcc相連,默認(rèn)保持為高電平。wp引腳為寫保護(hù)引腳,wp引腳接高電平時at24c02允許單片機(jī)進(jìn)行讀寫操作;wp接vcc時,使能寫保護(hù),芯片的高半存儲陣列只能讀不能寫。由于要對eeprom進(jìn)行讀寫,

16、為了方便起見將wp直接接gnd。3.5 繼電器電路繼電器采用匯科的hk4100f-dc24v-shg,觸點(diǎn)負(fù)載3a 250v ac/30v dc,工作溫度:-25+70阻值(士10%): 2880線圈功耗:0.2w 額定電壓:dc24v吸合電壓:dc 18v釋放電壓:dc2.4v,線圈與觸點(diǎn)間耐壓:4000vac/1分鐘觸點(diǎn)與觸點(diǎn)間耐壓:750vac/1分鐘。 由于繼電器吸合電壓為18v,超出了89c52單片機(jī)直接的驅(qū)動范圍,因此需要加一個uln2003功率驅(qū)動電路芯片來保證繼電器的正常工作。驅(qū)動電路原理圖如圖3-7所示:圖3-7 驅(qū)動電路原理圖驅(qū)動芯片由輸出端,輸入端和兩個公共端口組成,co

17、m1端口接gnd,com1端口接vcc, in1in5為芯片的輸入端,直接接單片機(jī)的p23p26口驅(qū)動芯片的輸出口直接接繼電器。繼電器接線圖如圖3-8所示:圖3-8 繼電器接線圖繼電器線圈一端直接與vcc相連,另一端并聯(lián)一個1k的電阻與功率驅(qū)動電路芯片uln2003輸出端相連。當(dāng)p22為高電平時rl1線圈不通電,繼電器斷開,p22為低電平時,rl1線圈通電繼電器吸合。3.6 電源電路系統(tǒng)電源電路如圖3-9所示:圖3-9 系統(tǒng)電源電路直接采用直流適配器供電,供電電壓為7.5v12v,作為穩(wěn)壓電源模塊采用仙童半導(dǎo)體公司的lm7805芯片。dc7.5-12v經(jīng)過7805的in端口輸入,同時并聯(lián)一個容

18、量為0.1uf的濾波電容。此電壓經(jīng)過7805的穩(wěn)壓和c12電容的濾波作用后形成一個比較穩(wěn)定的電壓信號。c104作用是消減7805自激振蕩副作用。3.7 按鍵按鍵電路如圖3-10所示:圖3-10 按鍵電路s1s9按鍵代表數(shù)字09;s10代表“確定”;s11代表“取消”;s12代表“修改”;s13代表“+”;s14代表“-”s15代表“開始”。按鍵電路負(fù)責(zé)系統(tǒng)的啟動,停止;當(dāng)前物料配方的選擇,物料配方的改變。為了節(jié)省單片機(jī)i/o口的占用,16個按鍵采用4*4矩陣方式連接成,橫向四個引線分別接單片機(jī)p30,p31,csda,int1口,豎排引線接單片機(jī)lcden,rs,wr,rd端口。按鍵品牌:海飛

19、ts037;規(guī)格:6*6mm直插式3.8 顯示電路12864液晶顯示電路實(shí)物圖如圖3-11:圖3-11 12864實(shí)物圖jm12864m漢字圖形點(diǎn)陣液晶顯示模塊主要技術(shù)參數(shù):邏輯工作電壓:4.55.5v工作溫度:-1060。12864自帶中文字庫可以很方便的實(shí)現(xiàn)漢字顯示,界面更加清楚明白。相比于數(shù)碼管它在不多占用單片機(jī)io口時不用增加額外的數(shù)碼管段選、位選鎖存器。外部接線也大大減少,設(shè)計更加簡潔。12864液晶顯示電路圖3-12所示:圖3-12 12864液晶顯示電路芯片共有20位引腳d0d7為數(shù)據(jù)的傳輸引腳負(fù)責(zé)與單片機(jī)進(jìn)行數(shù)據(jù)傳輸,r/w(sid)接單片機(jī)p10口負(fù)責(zé)并行的讀寫選擇,e(sc

20、lk)接單片機(jī)的p13口負(fù)責(zé)并行的使能信號,bla+接vcc背光源的正極,bla-接gnd背光源的負(fù)極。v com端口通過一個阻值為2k的滑動變阻器分別接vcc和gnd,通過改變滑動變阻器的阻值用來調(diào)節(jié)12864屏幕的亮度。4 系統(tǒng)軟件設(shè)計4.1 系統(tǒng)主程序流程圖由于真?zhèn)€系統(tǒng)程序較長,為了簡便起見采用模塊化編程方法,將12864液晶顯示程序,按鍵掃描程序,延時程序,hx711操作程序,eeprom讀寫操作程序,主程序單獨(dú)羅列成模塊,以便相互調(diào)用,使程序更加清晰明朗。系統(tǒng)主流程圖如圖4-1所示:圖4-1 系統(tǒng)主流程圖如系統(tǒng)主流程圖所示,初始化主要是對12864液晶的顯示初始化即顯示的初始界面,對

21、eeprom對系統(tǒng)上電后默認(rèn)配方的設(shè)定,繼電器的初始化。初始化完成后開始檢測按鍵值,先檢測設(shè)置鍵是否被按下,若是,開始檢測是否數(shù)字鍵被按下,若被按下則進(jìn)行數(shù)字鍵處理,再檢測確定鍵是否按下,若是進(jìn)行確定鍵處理。系統(tǒng)確定鍵流程圖如圖4-2所示:圖4-2 系統(tǒng)確定鍵流程圖確定鍵處理流程圖,當(dāng)檢測到開始鍵按下時單片機(jī)控制繼電器閉合,從而啟動電機(jī)開始送物料,稱重傳感器將實(shí)時重量數(shù)據(jù)傳給單片機(jī),單片機(jī)將傳感器數(shù)據(jù)實(shí)時與配方進(jìn)行比較看是否達(dá)到設(shè)定值若達(dá)到即可控制繼電器斷開停止送料,同時檢測是否物料全部送完若沒送完則繼續(xù)送物料,若送完即返回主程序繼續(xù)執(zhí)行。4.2 按鍵的掃描按鍵掃描流程圖如圖4-3所示:圖4-

22、3 按鍵掃描流程圖按鍵掃描:通過程序?qū)3.0,p3.1,csda,int1置位為0111,然后檢測lcden,rs,wr,rd電平高低得知s1,s2,s3,s4哪個按鍵被按下,然后再將p3.0,p3.1,csda,int1置位為1011,檢測第二橫排是否有按鍵按下,這樣循環(huán)依次檢測完四排按鍵是否被按下,如果有鍵被按下則進(jìn)行消抖,消抖后在檢測按鍵是否按下如果按下再檢測是哪個按鍵被按下,按照程序設(shè)定的鍵值進(jìn)行操作。4.3 eeprom的操作sda引腳默認(rèn)為高電平(通過外部電子器件實(shí)現(xiàn))只有在scl為低電平時才允許改變sda,scl為高電平時改變數(shù)據(jù)引腳sda將被視為開始或終止信號。at24c02

23、a讀寫開始/停止時序圖如圖4-4所示:圖4-4 at24c02a讀寫開始/終止時序圖在開始對at24c02a進(jìn)行操作時必須先發(fā)送一個開始信號,即當(dāng)scl保持高電平期間sda從高電平轉(zhuǎn)換為低電平。停止信號:當(dāng)scl保持高電平期間sda從低電平轉(zhuǎn)換為高電平。停止信號將eeprom保持在待命狀態(tài)。at24c02a應(yīng)答信號時序圖如圖4-5所示:圖4-5 at24c02a應(yīng)答信號時序圖當(dāng)對eeprom進(jìn)行數(shù)據(jù)輸入完成后由eeprom發(fā)送一個應(yīng)答信號(第9個時鐘周期內(nèi)sda至低電平),單片機(jī)通過應(yīng)答用來判斷寫操作是否成功。at24c02a按寫一個字節(jié)操作時序圖如圖4-6所示:圖4-6 at24c02a按字

24、寫操作時序圖對eeprom進(jìn)行寫操作時按時序圖要求依次發(fā)送開始信號,8位器件地址(由高到低)且選擇寫操作,應(yīng)答信號,8位字節(jié)地址(由高到低),8位數(shù)據(jù)(由高到低),應(yīng)答信號,停止信號。應(yīng)答信號由eeprom發(fā)送,單片機(jī)通過應(yīng)答用來判斷寫操作是否成功。at24c02a按隨機(jī)讀操作時序圖如圖4-7所示:圖4-7 at24c02a按隨機(jī)讀操作時序圖 對eeprom進(jìn)行特定地址讀操作時依次發(fā)送開始信號,8位地址(由高到低)且選擇寫操作,應(yīng)答信號,字節(jié)地址,應(yīng)答信號,開始信號,8位地址(由高到低)且選擇讀操作,讀數(shù)據(jù),非應(yīng)答信號(1),停止信號1。4.4 a/d轉(zhuǎn)換的處理hx711-bf增益選擇時序圖如

25、圖4-8所示:圖4-8 hx711-bf增益選擇時序圖增益的選擇:hx711芯片通過軟件來實(shí)現(xiàn)對內(nèi)部放大電路增益的選擇,每傳輸一個數(shù)據(jù)芯片就要求單片機(jī)選擇處理下一個傳感器數(shù)據(jù)選擇的增益。即在每次發(fā)送完24位數(shù)據(jù)后若單片機(jī)再發(fā)送一個時鐘脈沖信號即選擇128倍增益,若再發(fā)送2個時鐘脈沖即選擇32倍增益,若發(fā)送3個時鐘脈沖即選擇64位增益。數(shù)據(jù)的處理:傳感器的數(shù)據(jù)經(jīng)過放大處理a/d轉(zhuǎn)換后最大值是2362232,程序中通過hx711_buffer=hx711_read();獲得當(dāng)前采樣的ad值存放在變量hx711_buffer中,因?yàn)?4bit數(shù)據(jù)在8位單片機(jī)89c52中存放較為不便,在后續(xù)的數(shù)據(jù)處理

26、中將它除以100,轉(zhuǎn)化為單片機(jī)方便處理的數(shù)據(jù)再結(jié)合傳感器的特性性能和系統(tǒng)對精度的要求進(jìn)行操作。由a/d值反算重力值:設(shè)重力值為a(kg),測量出的的ad值為b,此時傳感器輸出的數(shù)據(jù)為a(kg)*4.35mv/200(kg)=0.02175a(mv);經(jīng)128倍增益后為128*0.02175a(mv)=2.784a(mv);轉(zhuǎn)換為24bit數(shù)字信號為2.784a(mv)*224/4.35v=10737a;因此b=10737a/100=107a;得出a=b/107(kg)由此得出計算公式實(shí)際重量=ad轉(zhuǎn)換值/107(kg)。其中107這個數(shù)據(jù)是理想狀態(tài)下計算出來的,實(shí)際情況還要對傳感器進(jìn)行校準(zhǔn),根

27、據(jù)實(shí)際情況改變107這個數(shù)據(jù)以達(dá)到精確測量的目的。4.5 顯示電路12864原理接線圖如圖4-9所示:圖4-9 12864接線圖12864初始化流程圖如圖4-10所示:圖4-10 12864初始化流程圖12864液晶的初始化要先進(jìn)行液晶的功能設(shè)定然后延時后開顯示再延時然后再清除屏幕內(nèi)容,最后進(jìn)行模式設(shè)定。12864軟件設(shè)計中重要通過89c52單片機(jī)程序控制12864的數(shù)據(jù)傳輸端口及其控制端口。本次設(shè)計中12864選擇8位并行數(shù)據(jù)傳輸模式(將psb并串行接口選擇置1,rs為并行數(shù)據(jù)/指令選擇信號,高電平時接受指令,低電平時接收數(shù)據(jù)。r/w為并行的讀寫選擇信號,高電平時為讀,低電平時為寫。d0d7

28、接單片機(jī)的p0口,通過程序控制單片機(jī)相應(yīng)的i/o即可實(shí)現(xiàn)對12864液晶的控制。12864時序圖如圖4-11所示:圖4-11 12864時序圖12864時序圖分析,單片機(jī)對12864進(jìn)行寫命令操作時,先將rs置0,選擇命令;接著將r/w置0,選擇寫方向;完成后即表示可以向12864液晶進(jìn)行寫命令操作。延時后將使能信號e置1,使能12864;緊接著通過d0d7向液晶輸送命令。命令在rs,r/w為低電平期間有效。 若要寫數(shù)據(jù)則將rs置高電平;其他步驟與寫命令一致。即在對12864進(jìn)行操作時先要選擇命令數(shù)據(jù)選項(xiàng),再選擇讀寫選擇項(xiàng),然后才可以向12864進(jìn)行具體的操作。總 結(jié)在4個多月的畢業(yè)設(shè)計中前期

29、多看一些相關(guān)的論文,書籍,對自己的設(shè)計有一個大體的了解,難易程度上有一個整體的把握。整體設(shè)計方案的規(guī)劃時元器件的選型很重要,確定正確的合適的元器件對整個設(shè)計過程有很大的幫助,可以免去后來的麻煩,用什么樣的傳感器,傳感器是否符合設(shè)計要求,傳感器的輸出數(shù)據(jù)是否要經(jīng)過放大處理,要選用多大增益的放大器,傳感器的數(shù)據(jù)要進(jìn)行怎樣的處理,是選用a/d轉(zhuǎn)換還是v/f轉(zhuǎn)換。應(yīng)該說傳感器的選擇是確定其它元器件選擇的基礎(chǔ),元器件選擇也要考慮自己的專長,比如a/d和v/f轉(zhuǎn)換,我選擇的是a/d轉(zhuǎn)換,因?yàn)関/f轉(zhuǎn)換并沒有接觸過,而且還要轉(zhuǎn)換后加光電耦合器,設(shè)計較為復(fù)雜,而a/d轉(zhuǎn)換就很熟悉,選擇高位數(shù)的a/d轉(zhuǎn)換既能保

30、證轉(zhuǎn)換精度由非常方便。最后確定的是hx711-bf24位a/d轉(zhuǎn)換芯片,集成了放大轉(zhuǎn)換,設(shè)計更加方便。顯示器件原來選的是數(shù)碼管,但后來更改為12864,因?yàn)?2864在顯示上比數(shù)碼管更加的清楚明白,還可以顯示漢字,優(yōu)勢巨大,且在程序上個人感覺12864要比數(shù)碼管來的清楚明白,更適合模塊化編程,用到的器件相對于數(shù)碼管也要少(至少不用段選,位選兩個鎖存器和限流電阻了)。設(shè)計中遇到的最大的困難還是硬件上的焊接,這是我當(dāng)時所萬萬想不到的,由于焊接設(shè)備的性能問題和焊錫的品質(zhì)問題以及本人經(jīng)驗(yàn)不足導(dǎo)致焊接接觸不良,系統(tǒng)時靈時不靈,當(dāng)時由于不知道原因糾結(jié)了好長時間(以為是器件焊燒了,程序出錯了),不得不從新開

31、始焊接,導(dǎo)致后來的設(shè)計時間明顯緊張??傊麄€畢業(yè)設(shè)計過程中,讓我真正的有所進(jìn)步,對專業(yè)知識的認(rèn)識上有了一個飛躍,其中有苦惱有喜悅,真不錯。致 謝本次的配料控制系統(tǒng)整體設(shè)計過程中得到了老師和同學(xué)們的大力幫助,沒有他們我的畢業(yè)設(shè)計也不會這么快完成。從前期的選題xx老師及時幫助我們規(guī)劃了整個畢業(yè)設(shè)計時間中各個階段工作的重點(diǎn)到中期元器件的選型,設(shè)計的整體規(guī)劃,pcb的修改,以及設(shè)計過程中遇到的各種問題都給與了極大的耐心與支持,不管xx老師工作有多忙每周都會抽出時間來了解我們的工作進(jìn)度,對我們遇到的困難進(jìn)行答疑解惑,印象最深的還是老師因?yàn)榘滋旃ぷ髅υ缟掀唿c(diǎn)半在qq上與我們交流畢業(yè)設(shè)計中的問題,及時幫我

32、們指出設(shè)計中的錯誤,到后來畢業(yè)設(shè)計說明書的規(guī)范,說明書的一些技巧,小到一個貼圖的位置,大小等不妥之處也會很細(xì)心的進(jìn)行指導(dǎo)。而且,在設(shè)計的過程中x同學(xué)、x同學(xué)也對我的軟件設(shè)計以及在硬件選型優(yōu)化上提出了寶貴的意見和建議, 再次特謝。同時在設(shè)計配料控制系統(tǒng)中也參考了很多專業(yè)的參考書籍,引用了數(shù)位學(xué)者的著作文獻(xiàn),給了我很大的幫助,也讓我少走了很多彎路,向他們表示感謝。 此次設(shè)計中若有因本人的粗心而造成的閱讀上困難和不便請多多包涵。參考文獻(xiàn)1邱關(guān)源,羅先覺.電路m.北京:高等教育出版社,2006.52閻石.數(shù)字電子技術(shù)基礎(chǔ)m.北京:高等教育出版社,2009.13馬鏡澄.低壓電器m.北京:機(jī)械工業(yè)出版社,

33、19934強(qiáng)錫福.傳感器m.北京:機(jī)械工業(yè)出版社,19895王兆安,劉進(jìn)軍.電力電子技術(shù)m.北京:機(jī)械工業(yè)出版社,2009.56黃堅.自動控制原理m.北京:高等教育出版社,20047譚浩強(qiáng). c語言程序設(shè)計m.北京:清華大學(xué)出版社,2010.68湯蘊(yùn)璆. 電機(jī)學(xué)m.北京:機(jī)械工業(yè)出版社,2011.7 9王靜. altium designer winter 09電路設(shè)計案例教程m.北京:中國水利水電出版社,2010.2 10夏路易,石宗義.電路原理圖與電路板設(shè)計教程m.北京:北京希望電子出版社,2002.611david culler, deborab esrtin, mani sivastav

34、a. “overview of sensor networks”, ieee computer society, august 2004 12hu ke,guo zhuang-hui,wang lei , research on wireless communicationtechnologyzigbeej; computer knowledgeandt echnology; 2008-06doi:cnki:sun:dnzs.0.2008- 06-025 13m. vainio, p. apppelqvist und a. halme, generic control architecture

35、 for a cooperative robot system, in ieee iros, october 1998, p. 1119-p.1125 14e. kruse und f.m. wahl,camera-based monitoring system for mobile robot guidance, in ieee iros,october 1998, p.1248-p.1253 15jing wang1,jia liu ,huan wang .applied mechanicsand mechatronics automation. jun 2012,p.1464-p.146

36、8附錄a 原理圖附錄b 程序main.c#include lcd12864.h#include delay.h#include hx711.h#include key.h#include eeprom.h#include uchar shuzi=0123456789;sbit ji1=p23;sbit ji2=p24;sbit ji3=p25;sbit ji4=p26;void main()uint i=0,temp=0,bai,shi,ge,num,a=4,;/12864初始化 init();delay_1ms(10); weight1=read_random(1);weight2=read

37、_random(2);weight3=read_random(3);while(1)/hx711數(shù)據(jù)轉(zhuǎn)換 temp=hx711_read()/100;num=temp/107+0.05-58;bai=num/100;shi=(num%100)/10;ge=num%10;while(1)/數(shù)字鍵掃描判斷key_luoji();key_scan();if(key=15) break; /顯示傳感器重量(第二行) write_com(0x0c); delay_ms(1); write_com(0x93); delay_ms(1); write_data(shuzibai); delay_1ms(1)

38、;write_data(shuzishi);delay_1ms(1);write_data(shuzige);delay_1ms(1);if(num=weight1)ji1=0;if(num=weight1+weight2)ji2=0;if(num=weight1+weight2+weight3)ji3=0;ji4=0;delay.c#include delay.hvoid delayshu(void)int k;for(k=0;k1000;k+);/*/void delay_1ms(uchar x)uchar i=0,j=0;for(i=0;ix;i+)for(j=0;j113;j+);de

39、lay.h#ifndef _delay_h_#define _delay_h_#include #define uchar unsigned char#define uint unsigned intvoid delayshu(void);void delay_1ms(uchar x);#endifeeprom.c#include eeprom.h /*/ void delaynop() _nop_();_nop_();_nop_();_nop_(); /*/ void start() /開始位 sda = 1; scl = 1; delaynop(); sda = 0; delaynop()

40、; scl = 0; /*/ void stop() / 停止位 sda = 0; delaynop(); scl = 1; delaynop(); sda = 1; /*/ uchar shin() / 從at24c02移出數(shù)據(jù)到mcu uchar i,read_data; for(i = 0; i 8; i+) scl = 1; read_data = 1; read_data |= sda; scl = 0; return(read_data); /*/ bit shout(uchar write_data) / 從mcu移出數(shù)據(jù)到at24c02 uchar i; bit ack_bit

41、; for(i = 0; i 8; i+) / 循環(huán)移入8個位 sda = (bit)(write_data & 0x80); _nop_(); scl = 1; delaynop(); scl = 0; write_data = 1; sda = 1; / 讀取應(yīng)答 delaynop(); scl = 1; delaynop(); ack_bit = sda; scl = 0; return ack_bit; / 返回at24c02應(yīng)答位 /*/ void write_byte(uchar addr, uchar write_data) / 在指定地址addr處寫入數(shù)據(jù)write_data

42、start(); shout(0xa0); shout(addr); shout(write_data); stop(); delayms(10); / 寫入周期 /*/ uchar read_current() / 在當(dāng)前地址讀取 uchar read_data; start(); shout(0xa1); read_data = shin(); stop(); return read_data; /*/ uchar read_random(uchar random_addr) / 在指定地址讀取 start(); shout(0xa0); shout(random_addr); retur

43、n(read_current(); /*/ void delayms(uint ms) / 延時子程序 uchar k; while(ms-) for(k = 0; k 120; k+); eeprom.h#ifndef _eeprom_h_#define _eeprom_h_#include #include #define uchar unsigned char #define uint unsigned intsbit sda = p20; sbit scl = p21; void start();/開始位 void stop();/ 停止位 uchar shin(); / 從at24c

44、02移出數(shù)據(jù)到mcubit shout(uchar write_data);/ 從mcu移出數(shù)據(jù)到at24c02 void write_byte( uchar addr, uchar write_data); / 在指定地址addr處寫入數(shù)據(jù)write_datavoid delayms(uint ms); uchar read_current(); uchar read_random(uchar random_addr);void delaynop();#endifhx711.c#include hx711.h#include/*/void delay_hx711_us(void)_nop_(

45、);_nop_();/*/unsigned long hx711_read(void)unsigned long count;unsigned char i;delay_hx711_us();hx711_sck=0;count=0;while(hx711_dout);for(i=0;i24;i+)hx711_sck=1;count=count1;hx711_sck=0;if(hx711_dout)count+;hx711_sck=1;delay_hx711_us();hx711_sck=0;return(count);hx711.h#ifndef _hx711_h_#define _hx711

46、_h_#includedelay.hsbit hx711_dout=p20;sbit hx711_sck=p21;void delay_hx711_us(void);unsigned long hx711_read(void);#endifkey.c#includekey.hunsigned char key,xiugai,slnum,weight1,weight2,weight3;void key_scan()unsigned char temp = 0;unsigned char com1 = 0 , com2 = 0;p1=0xf0;if(p1!=0xf0)com1=p1;p1=0x0f

47、;com2=p1; p1=0xf0; while(p1!=0xf0)beep=0; beep=1; temp=com1|com2; switch(temp)case 0xee:key=1;break;/數(shù)字1case 0xed:key=4;break;/數(shù)字4case 0xeb:key=7;break;/數(shù)字7case 0xe7:key=11;break;/備用鍵*號鍵case 0xd7:key=0;break;/數(shù)字0case 0xb7:key=14;break;/備用鍵*號鍵case 0xde:key=2;break; /數(shù)字2case 0xdd:key=5;break; /數(shù)字5case

48、 0xdb:key=8;break;/數(shù)字8case 0xbe:key=3;break;/數(shù)字3case 0xbd:key=6;break; /數(shù)字6case 0xbb:key=9;break;/數(shù)字9case 0x7e:key=16;slnum+;break;/數(shù)字a鍵修改鍵,slnum為檢測修改鍵按下的次數(shù) case 0x7d:key=15;break;/數(shù)字b鍵確定鍵case 0x7b:key=12;break;case 0x77:key=13;break; void key_luoji()uchar i=0; key_scan();if(key=16)if(slnum=1)/修改鍵按下一次write_com(0x99);delay_1ms(1);write_com(0x0f);if(slnum=2)write_com(0x9c);if(slnum=3)write_com(0x9f);if(slnum=4)slnum=1;write_com(0x99);if(key=15)slnum=0;write_com(0x0c);/關(guān)游標(biāo)if(slnum!=0)/只有修改鍵按下后,數(shù)字鍵才能用if(slnum=1)key_scan();weight1=key*10;/算重量用write_byte(1, weight1);write

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論