完整word版電子秤課程設(shè)計(jì)試驗(yàn)報(bào)告word文檔良心出品_第1頁
完整word版電子秤課程設(shè)計(jì)試驗(yàn)報(bào)告word文檔良心出品_第2頁
完整word版電子秤課程設(shè)計(jì)試驗(yàn)報(bào)告word文檔良心出品_第3頁
完整word版電子秤課程設(shè)計(jì)試驗(yàn)報(bào)告word文檔良心出品_第4頁
完整word版電子秤課程設(shè)計(jì)試驗(yàn)報(bào)告word文檔良心出品_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、電子設(shè)計(jì)實(shí)驗(yàn)電子科技大學(xué)電子稱 設(shè)計(jì)題目:姓 名:學(xué)生姓名任務(wù)與要求一、任務(wù)使用電阻應(yīng)變片稱重傳感器,實(shí)現(xiàn)電廣秤。用硅碼作稱重比對(duì)。二、要求準(zhǔn)確、穩(wěn)定稱重:稱重傳感器的非線性校正,提高稱重精度;實(shí)現(xiàn)“去皮”、計(jì)價(jià)功能:具備“休眠”與“喚醒”功能,以降低功耗。電子秤第一節(jié)緒論摘要隨著科技的進(jìn)步,在日常生活以及工業(yè)運(yùn)用上,對(duì)電子秤的要求越來越:高。常規(guī)的測(cè)試儀器儀表和控制裝置被更先進(jìn)的智能儀器所取代,使得傳統(tǒng)的電 子測(cè)量?jī)x器在遠(yuǎn)離、功能、精度及自動(dòng)化水平定方面發(fā)生了巨大變化,并相應(yīng)的 出現(xiàn)了各種各樣的智能儀器控制系統(tǒng),使得科學(xué)實(shí)驗(yàn)和應(yīng)用工程的自動(dòng)化程度得 以顯著提高。影響其精度的因素主要有:機(jī)械結(jié)

2、構(gòu)、傳感器和數(shù)顯儀表。在機(jī)械 結(jié)構(gòu)方面,因材料結(jié)構(gòu)強(qiáng)度和剛度的限制,會(huì)使力的傳遞出現(xiàn)誤差,而傳感器輸出 特性存在非線性,加上信號(hào)放大、模數(shù)轉(zhuǎn)換等環(huán)節(jié)存在的非線性,使得整個(gè)系統(tǒng)的 非線性誤差變得不容忽視。因此,在高精度的稱重場(chǎng)合,迫切需要電子秤能自動(dòng)校 正系統(tǒng)的非線性。此外,為了保證準(zhǔn)確、穩(wěn)定地顯示,要求所采用的ADC具有足 夠的轉(zhuǎn)換位數(shù),而采用高精度的ADC.自然增加了系統(tǒng)的成本?;陔娮映拥默F(xiàn)狀, 本文提出了一種簡(jiǎn)單實(shí)用并且精度高的智能電子秤設(shè)計(jì)方案。通過運(yùn)用很好的集 成電路,使測(cè)量精度得到了大大提高,由于采用數(shù)字濾波技術(shù),使穩(wěn)態(tài)測(cè)量的穩(wěn)定 性和動(dòng)態(tài)測(cè)量的跟隨性都相當(dāng)好。并取得了令人滿意的效

3、果。關(guān)鍵詞壓力傳感器,AD620N放大電路,ADC模數(shù)轉(zhuǎn)換,STM32單片機(jī),OLED:顯示屏,矩陣鍵盤,電子秤。1.1引言本課程設(shè)計(jì)的電子秤以單片機(jī)為主要部件,利用全橋測(cè)量原理,通過對(duì)電 路輸出電壓和標(biāo)準(zhǔn)重量的線性關(guān)系,建立具體的數(shù)學(xué)模型,將電壓量綱(V)改 為重量綱(g)即成為一臺(tái)原始電子秤。其中測(cè)量電路中最主要的元器件就是電 阻應(yīng)變式傳感器。電阻應(yīng)變式傳感器是傳感器中應(yīng)用最多的一種,本設(shè)計(jì)采用全 橋測(cè)量電路,是系統(tǒng)產(chǎn)生的誤差更小。輸出的數(shù)據(jù)更精確。而AD620N放大電 路的作用就是把傳感器輸出的微弱的模擬信號(hào)進(jìn)行一定倍數(shù)的放大,以滿足A/D 轉(zhuǎn)換器對(duì)輸入信號(hào)電平的要求。A/D轉(zhuǎn)換的作用是

4、把模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào), OLED最后由然后把數(shù)字信號(hào)輸送到顯示電路中去,進(jìn)行模擬量轉(zhuǎn)數(shù)字量轉(zhuǎn)換, 屏幕顯示出測(cè)量結(jié)果。配置有矩陣鍵盤可以對(duì)電子秤進(jìn)行一定的操作如去皮,計(jì) 價(jià),并可當(dāng)下手動(dòng)錄入價(jià)格,并顯示價(jià)格。1. 2系統(tǒng)的設(shè)計(jì)與理論分析2. 2.1系統(tǒng)設(shè)計(jì)根據(jù)設(shè)計(jì)要求,設(shè)計(jì)的主要內(nèi)容如下:1)利用電阻應(yīng)變式傳感器,并采用全橋測(cè)量電路2)設(shè)計(jì)一款電子秤,利用OLED屏幕顯示被稱物體的重量3)利用矩陣鍵盤對(duì)電子秤進(jìn)行去皮,計(jì)價(jià),錄入價(jià)格的操作。4)電路分成以下幾個(gè)部分:a .運(yùn)放電路b.電路的濾波及電壓跟隨器電路c.單片機(jī)數(shù)據(jù)處理及控制電路,包括矩陣鍵盤,OLED屏幕等。d.雙電源供電及變壓電

5、路。1.2.2基本工作原理及原理框圖單電源10V 雙電10V 單電 源供電3.3V供電源供電圖:基本硬件系統(tǒng)結(jié)構(gòu)圖電阻值發(fā)生改變,全橋電阻應(yīng)變式傳感然輸入電壓,當(dāng)標(biāo)準(zhǔn)重物放 置在傳感器之上時(shí),儀表放大10mV到3mV變化范圍約為使加載到全橋電路上的輸出電壓發(fā)生變化,運(yùn)用AD620X單片機(jī)中STM32送至搭建的電壓跟隨器電路濾波。LM358并經(jīng)過電路將微弱模擬信號(hào)放大,進(jìn)行A/D模數(shù)轉(zhuǎn)換,將模擬信號(hào)轉(zhuǎn)變成單片機(jī)能夠識(shí)別的數(shù)字信號(hào),并且利用單片機(jī)控制整個(gè)電 路的同時(shí),處理數(shù)字信號(hào),并且控制在OLED中顯示實(shí)時(shí)結(jié)果。由于其激勵(lì)電壓越高,準(zhǔn)確度越高的特性,本次設(shè)計(jì)使川10V電源供電。2. 2信號(hào)放大電

6、路的設(shè)計(jì)與選擇山上文中可知,10V單電源供電的壓力傳感器輸出最大值只有10mV, Stm32的AD 量程為0、3.3V,則可以放大330倍。此處由于信號(hào)源僅有10mV,并且放大倍數(shù)較大,選用AD620N儀表放大器而非一 般的運(yùn)算放大器做放大電路,以得到較高的精確度和輸出電壓的良好的線性性。放大電路為:圖3運(yùn)算放大器電路是一種低功耗,高精度的儀表放大器,它只需要一個(gè)外界電阻,即可設(shè)AD620 與分離元件組成的儀表放大器相比較具有體AD6201000)。置各種增益(1到5V 均可以。之前曾經(jīng)使用正積小,功耗低,精度高等優(yōu)點(diǎn)。電源電壓上15V由于 分度值的要3.6V到之間,的單電源供電,但是使用時(shí)發(fā)

7、現(xiàn)輸出電壓在L 3V的 雙電源供電。10V求,不能滿足本題的要求,故選用雙電源供電。此處使用49.9kQ,gR由此公式可計(jì)算出我們所需要的電阻,放大330倍約需要使用1501-GQ電阻。2. 4電壓跟隨器電路設(shè)計(jì)(勵(lì)電)MU牙之一由于精度要求,為了降低信號(hào)的噪聲,此處增用一個(gè)電壓跟隨器電路已達(dá)成接近 濾波的效果。電壓跟隨器的顯著特點(diǎn)就是,輸入阻抗高,而輸出阻抗低。一般來說,輸入阻抗可以達(dá)到幾兆歐姆,而輸出阻抗低,通常只有兒歐姆,甚至更低。在電路中,電壓跟隨器一般做緩沖級(jí)(buffer)及隔離級(jí)。因?yàn)?,電壓放大器的輸出阻抗一般比較高,通常在幾干歐到幾十千歐,如果后級(jí)的輸入阻抗比較小,那么信號(hào)就會(huì)

8、有相當(dāng)?shù)牟糠謸p耗在前級(jí)的輸出電阻中。在這個(gè)時(shí)候,就需要電壓跟隨器進(jìn)行緩沖。起到承上啟下的作用。電壓跟 隨器還可以提高輸入阻抗,可以大幅度減小輸入電容的大小,為應(yīng)用高品質(zhì)的電 容提供保證。此處菜用如圖所示的電路。經(jīng)過電壓跟隨器處理的信號(hào)噪聲有明顯的減少,使數(shù) 據(jù)的穩(wěn)定性提高。電壓跟隨器)的電路如圖所示LM358儀表放大器和AD620X信號(hào)部分2. 5單片機(jī)數(shù)據(jù)處理及控制電路3. 5. 1 STM32STM32系列芯片是由ST公司開發(fā)并發(fā)布系列相關(guān)固件庫以方便開發(fā)人員進(jìn)行開發(fā)的- 款實(shí)用性強(qiáng),功能強(qiáng)大,開發(fā)較容易的32位微處理器(單片機(jī))。在工業(yè)上適用于高性能、低成 本、低功耗的嵌入式開發(fā)。作為款

9、32位單片機(jī)芯片,它使用了 ARM公司的Cortex-M3高性 能內(nèi)核,并集成/12通道的DMA處理器,定時(shí)器,3個(gè)12位的us級(jí)的A/D轉(zhuǎn)換器,2通道 12位D/A轉(zhuǎn)換器,3個(gè)SPI接口,2個(gè)IIC接口和串行接口 UART,并因其集成度之高及價(jià)格低廉 而被廣泛使用。在目前的時(shí)代發(fā)展中,電廣產(chǎn)品對(duì)于傳感器的使用逐漸增多,ADC功能也相應(yīng)變得重要。而 在這方面,STM32系列芯片上集成的外設(shè)ADC也可以算得上非常強(qiáng)大。增強(qiáng)型產(chǎn)品(STM32F103xC.STM32F103xD.STM32F103xE系列為ST推出的增強(qiáng)型產(chǎn)品)內(nèi)城3個(gè)12位的 ADC.每個(gè)多達(dá)21個(gè)外部通道,可以實(shí)現(xiàn)單次或多次掃

10、描轉(zhuǎn)換。ADC的結(jié)果可以左對(duì)齊或右對(duì) 齊的方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。對(duì)于ADC來說,分辨率,轉(zhuǎn)換時(shí)間和ADC類型是最重要的。32的外設(shè)ADC有12位的分 辨率,不能直接測(cè)量負(fù)電壓;轉(zhuǎn)換時(shí)間是可編程的,采樣時(shí)間最短為lum: ADC類型則是逐次 比較性的ADCo ADC的參考電壓引腳分別為V (模擬參考量正極)V (模DW 擬電源),V (模 擬參考負(fù)極).V (模擬電源地)和模擬量輸入腳(16個(gè))。在過程中,SSARa輸入信號(hào)經(jīng)過通道 被送到ADC部件,ADC部件需要收到觸發(fā)信號(hào)才開始進(jìn)行轉(zhuǎn)換,如EXTI觸發(fā),定時(shí)器觸發(fā)或 軟件觸發(fā)。ADC部件接收到觸發(fā)信號(hào)后,在ADCCLK時(shí)鐘的驅(qū)動(dòng)下對(duì)

11、輸入通道信號(hào)進(jìn)行采樣, 并進(jìn)行模數(shù)轉(zhuǎn)換,其中ADCCLK是來自ADC預(yù)分頻器的。得到的數(shù)據(jù)被保存在16位的規(guī)則通 道寄存器中,可以通過CPU指令或DMA把它讀取到內(nèi)存(變量)中。在ADC的程序設(shè)置上,可以設(shè)置多種模式,如同步注入模式,同步規(guī)則模式等,并可以進(jìn)行 多通道的輪流采集等設(shè)置,功能強(qiáng)大,簡(jiǎn)便易用。有STM32在定時(shí)器方面,還有同樣強(qiáng)大的定時(shí)器功能。,ADC系列芯片不僅有強(qiáng)大的32 8個(gè)16位的定時(shí)器,其中TIM6, TIM7為基本定時(shí)器,TIM1, TIM8是高級(jí)定時(shí)然,其他為通 用定時(shí)器。這些定時(shí)器有定時(shí),信號(hào)頻率測(cè)量,信號(hào)的PWM測(cè)量,PWM輸出,三相六步電機(jī) 控制及編碼器接口等功

12、能。ri n c n / 48 4? 4. 4f:rcnrir;nn口W 42 41 4*.l 30 9a 9/AVlCD C 1PC13RTC AF1-WKUP2 匚 23C3 VSSNPC14-OSC32 IN C 3* 3RM3PC15 OSC32 OUT C 433 3RM2PHO-OSC IN C s酸nR11pHi-osc dur ccLOFP483i JB10NRST C 730:)伙9VSSA c 229 3RMVDDA r n28 3PB15PA0-V/KUP1 C 10271PB14C ii2區(qū):PB13陽 2 C122s 1P812也母 費(fèi) 98d i had0HO2 .

13、工、一 .ic 一 SIISSAL SSA 二忘 。京 京 Sa * 是 mi磐h貨磐y落吧?包英巨色,單片機(jī)引腳圖STM32圖單片機(jī)的引腳連接關(guān)系單片機(jī)與矩陣鍵盤的連接:PC2-PIN2GPIOPC1-PIN1PC3-PIN3PC5-PIN5PC4-PIN4PC6-PIN6PC8-PIN8PA4-RSTPC7-PIN7單片機(jī)與OLED屏幕的連接:GPIOPA3-CSPA5-DCPA7-SDIN(D1)PA6-SCLK(D0)3.3V-VDD+(非單片機(jī)引腳)GND-GND (非單片機(jī)引腳) 單片機(jī)與傳感電路的連接:VCC-3.3VGND-GNDPA1-電壓跟隨器的信號(hào)口 其中P

14、A1復(fù)用ADC1功能軟件程序的設(shè)計(jì)與選擇第三節(jié).3.1軟件程序計(jì)算經(jīng)過放大,濾波與電壓跟隨器的信號(hào)電壓從adc中取值,經(jīng)過20組測(cè)量數(shù) 據(jù),我們測(cè)量出了電源電壓(伏)與重量(千克)的關(guān)系(數(shù)據(jù)沒有保存,測(cè)試成功之后只留下了變換函數(shù)),經(jīng)過非線性校準(zhǔn)之后的函數(shù)為y = 07835k1-1.38D2(:-1010.3x()/1000 o4. 2最終軟件程序(部分)RCC.c, OLED.c, ADC.c, TIM.c, keyboard main.co其中adc.c如下:#include ProHead.hinclude ADC.hextern float mass;extern float ma

15、ssO;extern float massaget;extern u8 danjia4;extern u8 danjia_point;float adc_get| 1000;extern float massOO;extern float adc;u8 x;void ADC_Config(void) GPIO_InitTypeDef GPIO_InitStructure;ADC_InitTypeDef ADCnitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_l ;/l GPIO_Pin_l I GPIO_Pin_2;GPIO_InitStr

16、ucture.GPIO_Mode = GPIO_Mode_AIN;GPIOnit(GPIOA. &GPIOnilStructure);ADC_InitStructure.ADC_Mode= ADC_Mode_Independent; 獨(dú)立模式ADCnitStructure.ADC_ScanConvMode = DISABLE;連續(xù)多通道模式ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; 連續(xù)轉(zhuǎn)換ADCnitStructure.ADC_ExtemalTrigConv= ADC_ExternalTrigConv_None: 轉(zhuǎn)換不受外界決定AD

17、CnitSlructure.ADC_DataAlign= ADC_DataAlign_Right; 右對(duì)齊ADCnitStructure.ADC_NbrOfChannel = 1;掃描通道數(shù)ADCnit(ADC 1, &ADC_InitStincture);ADC_RegularChannelConfig( ADC 1, ADC_Channel_l, 1 , ADC_SampleTime_7 1Cycles5);通道X,采樣時(shí)間為1.5周期,1代表規(guī)則通道第1個(gè)這個(gè)1是啥意思我不太清楚只有是1的時(shí)候 我的ADC才正常。ADC_Cmd(ADCL ENABLE);使能或者失能指定的ADCADC_R

18、esetCalibration(ADCl); ADC1 校準(zhǔn)寄存器while(ADC_GetResetCalibrationStatus(ADCl)等待 ADC1 校準(zhǔn)重置完成ADC_StartCalibration(ADC 1);/ 開始 ADC 1 校準(zhǔn)while(ADC_GetCalibrationStatus(ADCl);/ 等待 ADC 1 校準(zhǔn)完成ADC_SoftwareStartConvCmd(ADCl .ENABLE);使能或者失能指定的ADC的軟件轉(zhuǎn)換啟動(dòng)功能 void ADC_Read(void) static u!6 i;float he = 0;ul6j;mass =

19、0;for(i=0;il 000;i+)while(ADC_GetFlagStatus(ADCLADC_FLAG_EOC)=RESET);檢查制定 ADC 標(biāo)志位置 1 與 否ADC_FLAG_EOC轉(zhuǎn)換結(jié)束標(biāo)志位mass_get = (float)ADC_GetConversionValue( ADC 1) / 4096 * 3.3;adc_geti = mass_get;for(j=0:jl 000;j+)he = he+adc_getj;mass_get = he/1000:mass_get = mass_get - massOO: adc = mass_get - massO;mass

20、 = (0.7835*adc*adc*adc - 1.3802*adc*adc +1010.3*adc )/1000: void insertsort(float x|.int n) int i, j;float a;for (i=0:in-l:i+)a=x i+1; 尸;j-;Keyboard.c 部分程序如下:void update_key(void) unsigned char i, j;i?.?for(i = 0; i 4; i+)GPIO_ResetBits(key_outputi.GPIO_x, key_outputi.GPIO_pin); for(j = 0: j 4; j+)/

21、)?,?(if(GPIO_ReadInputDataBit(key_inputj.GPIO_x,key_inputj.GPIO_pin) = 0) u!6t = 40000:while (t-);if (GPIO_ReadInputDataBit(keyJnputj.GPIO_x, keyJnputj.GPIO_pin) =0)keyiUJ = 1;key_down(ij);/printf(i=%drn,i);/printf(j=%driLj);/keypoint = 0;/delay_ms(300);else keyi(j = 0;GPIO_SetBits(key_outputi.GPIO_

22、x. key_output(i.GPIO_pin); Oled.c中部分程序如下:void show_mass(void)svvitch(oled_point)case 1 : 正常顯示重量show_string_and_mass();break:case 0 :顯示系統(tǒng)內(nèi)存已有單價(jià),可以進(jìn)行價(jià)格選擇OLED_ShowCHinese(O.OJ4);OLED_ShowCHinese( 16.0.15);OLED_ShowNum(28.3.danjia0.l);OLED_ShowNum(36,3,danjia 1 , 1J);OLED_ShowNum(443Janjia2JJ);OLED_Show

23、Num(523Janjia3JJ);break:鍵入單價(jià)界面case 2 :break;/case 3 :計(jì)價(jià)界面jiage = mass * (danjia0*10 + danjiaj 1J + danjia2*0.1 + danjia3*0.01); get_char(price,jiage);OLED_ShowNum(20,3.price4, 1.1);OLED_ShowNum(28,3,price3, 1,1);OLED_ShowNum(36,3price2, 1,1);OLED_ShowNum(44,3.price 1 J J);OLED_ShovNum(52,3.price0, 1

24、);OLED_ShowCHinese(60.3.16);/ ?void show_m_by_number(void) get_char( fanhaoyangjnass);OLED_ShowNum(20 J,fanhaoyang4. 1J);OLED_ShowNum(28.3 Janhaoyang3, 1J);OLED_ShowNum(36,3 Janhaoyang2, 1J);OLED_ShowNum(44.3 Janhaoyang 1 J J);OLED_ShowNum(52,3 Janhaoyang0, 1J);void get_char(u8 getJ.float from)u16 i

25、 = (ul6)(from*1000):get4 =(u8)(i/10000);get3 =(u8)(i - get4*10000)/1000);get2 =(u8)(i - get4*I0000 - get3*1000) / 100);getl =(u8)(i - get4* 10000 - get3*1000 - get2* 100)/10);getO =(u8)(i - get4*10000 - get3*1000 - get2*100 - getl*10);get5 = AO;void shov_string_and_mass(void)OLED_ShowString(0,0,weig

26、ht);OLED_ShowString(683,weight2); get_char(fanhaoyang,mass);OLED_ShowNum(20,3 Janhaoyang|4, 1J);OLED_ShowNum(28.3 Janhaoyang3, 1J);OLED_ShowNum(36,3 Janhaoyang2, 1J);OLED_ShowNum(44.3 Janhaoyang 1 J J);OLED_ShowNum(52,3 Janhaoyang0, 1J);if(qupi_point = 0)OLED_ShowCHinese(0,5,17);OLED_ShowCHinese( 16

27、,5.18);OLED_ShowCHinese(32,5.19);如下:Main.c#include Prohead.h#include mp.h float mass_get;float massO;float mass;float massOO = 0;u8 key point:u8 oled_point;u8 get5;u8 stop_point = 1;float adc;extern 118 fanhaoyang5;void ALL_Config(void) RCC_Config();LED_Config();USART_Config();ADC_Config();keyboard_init();oled_point = 1;OLED_Init();OLED_Clear();massO = 0;int main() delay_ms(5000);ALL_Config();ADC_Read();massOO = adc;vvhile(l) TIM4ntnit( 10,719

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論