版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的5kg電子稱的設(shè)計(jì)一、意義:隨著科技的發(fā)展,電子稱在生活中的應(yīng)用很是廣泛,幾乎在稱重時(shí)都會用到,小到超市,菜場的稱重,大到工程中的稱重。電子秤的主要特點(diǎn)是體積小,電路比較簡單,應(yīng)用廣泛,有很多量程和精度可以選擇,滿足了很多場合的要求,電子秤的應(yīng)用對普通的杠桿原理的稱重有著很大的優(yōu)點(diǎn),精度比杠桿稱重精度高的多,應(yīng)用不受太大的限制,所以應(yīng)用非常廣泛。研究和制作各種不同精度和量程的電子秤對人們的生活有著重要的意義。背景:中國是發(fā)展中國家,在國際上,電子秤行業(yè)與發(fā)達(dá)國家相比有很大的差距,如美國,德國,西歐,電子稱重已經(jīng)達(dá)到了很高的水平。特別是在準(zhǔn)確度和可靠性等方面有了很大的提高。特別是近3
2、0年來,工藝流程中的現(xiàn)場稱重、配料定量稱重、以及產(chǎn)品質(zhì)量的監(jiān)測等工作,都離不開電子衡器。這是由于電子衡器不僅得出質(zhì)量或重量信號,而且也能作為總系統(tǒng)中的一個(gè)單元承擔(dān)著控制和檢驗(yàn)功能。隨著稱重傳感器各項(xiàng)性能的不斷突破,為電子秤的發(fā)展奠定了基礎(chǔ),早在20世紀(jì)60年代就出現(xiàn)了0.1%稱量準(zhǔn)確度的電子秤,并在70年代中期約對75%的機(jī)械秤進(jìn)行了機(jī)電結(jié)合改造。如今電子秤已經(jīng)發(fā)展到全電子化,智能化,網(wǎng)絡(luò)的階段。外國產(chǎn)智能化程度相當(dāng)高,通過對原始信息的數(shù)字處理,更好的排除了外部干擾對信息影響,提高了產(chǎn)品的耐環(huán)境性和測量真實(shí)性而且電子秤產(chǎn)品的網(wǎng)絡(luò)化在國外已經(jīng)進(jìn)入實(shí)用階段。如今,國外電子秤品種和結(jié)構(gòu)又有創(chuàng)新,技術(shù)
3、功能和應(yīng)用范圍不斷擴(kuò)大。二、方案選?。?,用霍爾元件實(shí)現(xiàn) 2,用金屬應(yīng)變片實(shí)現(xiàn)在選取方案的時(shí)候,覺得霍爾元件原理比較復(fù)雜,在設(shè)計(jì)上有一些難度而且霍爾元件在工作時(shí)容易被磁場和電場干擾,所以選擇方案2來設(shè)計(jì)電子秤?;驹O(shè)計(jì)思路:當(dāng)物體放在秤盤上時(shí),物體產(chǎn)生的壓力施給傳感器,該傳感器發(fā)生形變,使阻抗發(fā)生變化,同時(shí)使用激勵(lì)電壓發(fā)生變化,傳感器輸出一個(gè)變化的模擬信號。該信號經(jīng)過放大電路放大輸出到電壓-頻率轉(zhuǎn)換電路轉(zhuǎn)換成便于處理的數(shù)字信號輸出到微處理器,單片機(jī)根據(jù)鍵盤命令將這種結(jié)果輸出到LED顯示電路,顯示出要顯示的結(jié)果,如圖1所示。系統(tǒng)方框圖:51單片機(jī)壓力傳感器v/f轉(zhuǎn)換信號放大壓力傳感器壓力傳感器圖
4、1傳感器輸出的模擬信號被放大整形后由運(yùn)算放大器組成的v/f轉(zhuǎn)換電路完成電壓-頻率轉(zhuǎn)換,再經(jīng)過單片機(jī)對測量信號進(jìn)行處理并根據(jù)相應(yīng)的數(shù)據(jù)關(guān)系譯碼顯示出被測物體的重量。單片機(jī)控制適合于功能比較簡單的控制系統(tǒng),算術(shù)運(yùn)算功能強(qiáng)、技術(shù)成熟。因此,選用單片機(jī)STC89C52來實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。三、芯片簡介:1、 HX711芯片Hx711采用了海芯科技集成電路專利技術(shù),是一款專為高精度電子秤而設(shè)計(jì)的24位A/D轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源,片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該
5、芯片與后端MCU芯片的接口與編程非常簡單,所有控制信號由管腳驅(qū)動(dòng),無需對芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對應(yīng)的滿額度差分輸入信號幅值分別為20mv或40mv。通道B則為固定的64增益,用于系數(shù)參數(shù)檢測。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時(shí)鐘振蕩器不需要任何外接器件。上電自動(dòng)復(fù)位功能簡化了計(jì)算機(jī)的初始化過程。該芯片有兩路可選擇差分輸入,片內(nèi)低噪音可編程放大器,可選擇增益為64和128。片內(nèi)穩(wěn)壓電路可直接向外部傳感器和芯片內(nèi)A/D
6、轉(zhuǎn)換器提供電源。片內(nèi)時(shí)鐘振蕩器無需任何外接器件,必要時(shí)也可以使用外接晶振或時(shí)鐘,它能上電自動(dòng)復(fù)位,能夠?qū)崿F(xiàn)簡單的數(shù)字控制和串口通訊:所有控制由管教輸入,芯片內(nèi)寄存器無需編程,可選擇10hz或80hz的輸出數(shù)據(jù)速率,能同步抑制50hz和60hz的電源干擾。封裝如圖2圖2VSUP:電源:穩(wěn)壓電路供電電源;2.65.5v(不用穩(wěn)壓電源時(shí)應(yīng)接AVDD)BASE:模擬輸出:穩(wěn)壓電路控制輸出(不用穩(wěn)壓電路時(shí)無連接)AVDD:電源:模擬電源:2.65.5vVFB:模擬輸入:穩(wěn)壓電路控制輸入(不用穩(wěn)壓電路時(shí)應(yīng)接地)AGND:地:模擬地VBG:模擬輸出:參考電源輸出INA-:模擬輸入:通道A負(fù)端輸入INA+:模
7、擬輸入:通道A正端輸入INB-:模擬輸入:通道B負(fù)端輸入INB+:模擬輸入:通道B負(fù)端輸入PD_SCK:數(shù)字輸入:斷電控制(高電平有效)和串口時(shí)鐘輸入DOUT:數(shù)字輸出:串口數(shù)據(jù)輸出XO:數(shù)字輸入輸出:晶振輸入XI:數(shù)字輸入:外部時(shí)鐘或晶振輸入(0:使用片內(nèi)振蕩器)RATE:數(shù)字輸入:輸出數(shù)據(jù)速率控制(0:10hz;1:80hz)DVDD:電源:數(shù)字電源:2.65.5vHx711在電子秤方面應(yīng)用典型方案圖,如下圖3圖32、 STC89C52STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)
8、核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口
9、、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。管腳情況如圖4:圖4這里就不一一對管腳進(jìn)行介紹了。各部分硬件電路設(shè)計(jì): 1、LCD1602顯示電路(如圖5)圖52管腳接VCC,4到14管腳分別接在單片機(jī)對應(yīng)的管腳。3、 hx711接口電路(如圖6)圖6這里只用到4個(gè)端口,VCC接穩(wěn)壓電路供電電源,單片機(jī)P32接HX711數(shù)字輸入端口,P33接HX711的數(shù)字輸出端口,實(shí)現(xiàn)A/D轉(zhuǎn)換。4、 蜂鳴器電路(如圖7)圖7從單片機(jī)P24引出來接一個(gè)電阻R3,接到三極管上,三極管的發(fā)射極在于電鈴相連
10、。5、 復(fù)位電路(如圖8)Reset端接單片機(jī)的9管腳,實(shí)現(xiàn)復(fù)位功能。6、 按鍵電路(如圖9)圖9通過單片機(jī)的P14,P15,P16,P17端口實(shí)現(xiàn)對按鍵的控制。7、 主體電路(如圖10)圖10該電路為主體部分電路為單片機(jī)模塊。8、 晶振電路(如圖11)圖11軟件設(shè)計(jì)部分:主程序流程圖開機(jī)系統(tǒng)初始化調(diào)用顯示程序測重物V/F轉(zhuǎn)換數(shù)據(jù)處理調(diào)用按鍵處理程序整體程序:#include "main.h"#include "LCD1602.h"#include "HX711.h"#include "EEPROM.H"/定義變量
11、unsigned char KEY_NUM = 0; /用來存放按鍵按下的鍵值unsigned long HX711_Buffer = 0; /用來存放HX711讀取出來的數(shù)據(jù)unsigned long Weight_Maopi = 0; /用來存放毛皮數(shù)據(jù)long Weight_Shiwu = 0; /用來存放實(shí)物重量long Max_Value = 0; /用來存放設(shè)置最大值char maxValueTable4 = 1,0,0,0;unsigned char state = 0; /用來存放設(shè)置狀態(tài)unsigned char Blink_Speed = 0;#define Blink_S
12、peed_Max 6 /該值可以改變設(shè)置指針閃爍頻率/校準(zhǔn)參數(shù)/因?yàn)椴煌膫鞲衅魈匦郧€不是很一致,因此,每一個(gè)傳感器需要矯正這里這個(gè)參數(shù)才能使測量值很準(zhǔn)確。/當(dāng)發(fā)現(xiàn)測試出來的重量偏大時(shí),增加該數(shù)值。/如果測試出來的重量偏小時(shí),減小改數(shù)值。/該值可以為小數(shù)#define GapValue 365/傳感器最大測量值,單位是g#define AlarmValue 5000/*/主函數(shù)/*void main()Init_LCD1602();/初始化LCD1602LCD1602_write_com(0x80);/設(shè)置LCD1602指針LCD1602_write_word("Welcome t
13、o use!");Get_Maopi();Get_Maopi();Delay_ms(2000); /延時(shí)2sGet_Maopi();Get_Maopi();/稱毛皮重量/多次測量有利于HX711穩(wěn)定 LCD1602_write_com(0x01); /清屏 /讀取EEPROM中保存的報(bào)警值 maxValueTable0 = byte_read(0x2000); maxValueTable1 = byte_read(0x2001); maxValueTable2 = byte_read(0x2002); maxValueTable3 = byte_read(0x2003); Max_V
14、alue = maxValueTable0*1000+maxValueTable1*100+maxValueTable2*10+maxValueTable3; /計(jì)算超限報(bào)警界限值while(1) Get_Weight();/顯示當(dāng)前重量LCD1602_write_com(0x80); LCD1602_write_word("Weight=");LCD1602_write_data(Weight_Shiwu%10000/1000 + 0x30);LCD1602_write_data('.');LCD1602_write_data(Weight_Shiwu%1
15、000/100 + 0x30); LCD1602_write_data(Weight_Shiwu%100/10 + 0x30);LCD1602_write_data(Weight_Shiwu%10 + 0x30);LCD1602_write_word("Kg");KEY_NUM = Scan_Key(); if(KEY_NUM = 1) /按鍵1切換設(shè)置狀態(tài) state+; if(state = 5) state = 0; SectorErase(0x2000); byte_write(0x2000,maxValueTable0);/保存EEPROM數(shù)據(jù) byte_writ
16、e(0x2001,maxValueTable1); byte_write(0x2002,maxValueTable2);/保存EEPROM數(shù)據(jù) byte_write(0x2003,maxValueTable3); Max_Value = maxValueTable0*1000+maxValueTable1*100+maxValueTable2*10+maxValueTable3; /計(jì)算超限報(bào)警界限值 if(KEY_NUM = 2) /按鍵加 if(state != 0) maxValueTablestate-1+; if(maxValueTablestate-1 >= 10) maxV
17、alueTablestate-1 = 0; if(KEY_NUM = 3) /按鍵減 if(state != 0) maxValueTablestate-1-; if(maxValueTablestate-1 <= -1) maxValueTablestate-1 = 9; if(KEY_NUM = 4)Get_Maopi();/去皮 if(state != 0) Blink_Speed +; if(Blink_Speed = Blink_Speed_Max) Blink_Speed = 0; switch(state) case 0: LCD1602_write_com(0x80+0x
18、40); LCD1602_write_word("MAX="); LCD1602_write_data(maxValueTable0+0x30); LCD1602_write_data('.'); LCD1602_write_data(maxValueTable1+0x30); LCD1602_write_data(maxValueTable2+0x30); LCD1602_write_data(maxValueTable3+0x30); LCD1602_write_word("Kg"); break; case 1: LCD1602_w
19、rite_com(0x80+0x40); LCD1602_write_word("MAX="); if(Blink_Speed < Blink_Speed_Max/2) LCD1602_write_data(maxValueTable0+0x30); else LCD1602_write_data(' '); LCD1602_write_data('.'); LCD1602_write_data(maxValueTable1+0x30); LCD1602_write_data(maxValueTable2+0x30); LCD1602_
20、write_data(maxValueTable3+0x30); LCD1602_write_word("Kg"); break; case 2: LCD1602_write_com(0x80+0x40); LCD1602_write_word("MAX="); LCD1602_write_data(maxValueTable0+0x30); LCD1602_write_data('.'); if(Blink_Speed < Blink_Speed_Max/2) LCD1602_write_data(maxValueTable1+0
21、x30); else LCD1602_write_data(' '); LCD1602_write_data(maxValueTable2+0x30); LCD1602_write_data(maxValueTable3+0x30); LCD1602_write_word("Kg"); break; case 3: LCD1602_write_com(0x80+0x40); LCD1602_write_word("MAX="); LCD1602_write_data(maxValueTable0+0x30); LCD1602_write_
22、data('.'); LCD1602_write_data(maxValueTable1+0x30); if(Blink_Speed < Blink_Speed_Max/2) LCD1602_write_data(maxValueTable2+0x30); else LCD1602_write_data(' '); LCD1602_write_data(maxValueTable3+0x30); LCD1602_write_word("Kg"); break; case 4: LCD1602_write_com(0x80+0x40);
23、LCD1602_write_word("MAX="); LCD1602_write_data(maxValueTable0+0x30); LCD1602_write_data('.'); LCD1602_write_data(maxValueTable1+0x30); LCD1602_write_data(maxValueTable2+0x30); if(Blink_Speed < Blink_Speed_Max/2) LCD1602_write_data(maxValueTable3+0x30); else LCD1602_write_data(
24、39; '); LCD1602_write_word("Kg"); break; default: break; /超限報(bào)警 if(Weight_Shiwu >= Max_Value | Weight_Shiwu >= AlarmValue) /超過設(shè)置最大值或者傳感器本身量程最大值報(bào)警Buzzer = 0;elseBuzzer = 1;/*/稱重/*void Get_Weight()Weight_Shiwu = HX711_Read();Weight_Shiwu = Weight_Shiwu - Weight_Maopi;/獲取凈重if(Weight_
25、Shiwu >= 0)Weight_Shiwu = (unsigned long)(float)Weight_Shiwu/GapValue); /計(jì)算實(shí)物的實(shí)際重量elseWeight_Shiwu = 0;/*/獲取毛皮重量/*void Get_Maopi()Weight_Maopi = HX711_Read(); /*/MS延時(shí)函數(shù)(12M晶振下測試)/*void Delay_ms(unsigned int n)unsigned int i,j;for(i=0;i<n;i+)for(j=0;j<123;j+);/*/蜂鳴器程序/*void Buzzer_Di()Buzzer
26、 = 0;Delay_ms(10);Buzzer = 1;Delay_ms(10);/*/按鍵掃描程序/*unsigned char Scan_Key() if( KEY1 = 0 )/按鍵掃描Delay_ms(10);/延時(shí)去抖if( KEY1 = 0 )Buzzer_Di();while(KEY1 = 0);/等待松手return 1; if( KEY2 = 0 )/按鍵掃描Delay_ms(10);/延時(shí)去抖if( KEY2 = 0 )Buzzer_Di();while(KEY2 = 0);/等待松手return 2; if( KEY3 = 0 )/按鍵掃描Delay_ms(10);/延
27、時(shí)去抖if( KEY3 = 0 )Buzzer_Di();while(KEY3 = 0);/等待松手return 3;if( KEY4 = 0 )/按鍵掃描Delay_ms(10);/延時(shí)去抖if( KEY4 = 0 )Buzzer_Di();while(KEY4 = 0);/等待松手return 4; return 0;四、問題及結(jié)果分析經(jīng)過本次傳感器的大作業(yè),我們做的是雙平行梁的電子秤,我們的實(shí)驗(yàn)電路分為三個(gè)模塊,分別是采集模塊,控制模塊,顯示處理模塊,在傳感器的設(shè)計(jì)中最困難的地方無非在于如何將重力轉(zhuǎn)化為電信號,然后在LCD1602上顯示出來,因?yàn)樵跇蚴诫娐分须妷旱膲翰詈苄《疫€是模擬信號,所以我們采用了集成24位AD轉(zhuǎn)化芯片,將電信號先放大128倍然后在進(jìn)行AD轉(zhuǎn)換,通過P32口給出高電平啟動(dòng)信號,然后通過I2C
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度集合大合集人員管理篇
- 單位管理制度匯編大合集人力資源管理
- 《家具導(dǎo)購圣經(jīng)》課件
- 單位管理制度分享匯編職員管理篇十篇
- 單位管理制度分享大全職工管理十篇
- 2024教科室工作計(jì)劃
- 單位管理制度呈現(xiàn)合集職工管理篇十篇
- 《投資管理復(fù)習(xí)》課件
- 《市場考察報(bào)告》課件
- 《廣告效果的測定》課件
- 電氣領(lǐng)域知識培訓(xùn)課件
- 金融產(chǎn)品分類介紹
- 2024-2025學(xué)年上學(xué)期深圳初中語文七年級期末模擬卷2
- 河南省鄭州市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試題含解析
- BOSS GT-6效果處理器中文說明書
- 2024廣東煙草專賣局校園招聘筆試管理單位遴選500模擬題附帶答案詳解
- 2024房地產(chǎn)合同更名申請表
- 病例報(bào)告表(樣板)
- 定金協(xié)議書范文范本簡單一點(diǎn)
- 劉潤年度演講2024
- 初三第一學(xué)期沖刺中考期末家長會
評論
0/150
提交評論