基于stm32的電子秤方案大全(二)
基于STM32的語音電子秤的電路設(shè)計(jì)
本設(shè)計(jì)采用STM32F103RBT6作為主控芯片,通過TFT液晶屏幕顯示數(shù)據(jù),以觸控方式操作電子秤,DS18B20作為溫度傳感器采集實(shí)時(shí)溫度,播報(bào)重量、價(jià)格、商品名等語音信息使用Flash芯片存儲(chǔ)配合語音芯片WT588D發(fā)音,采用電阻應(yīng)變片橋式連接的稱重傳感器采集重量,以24位的HX711作為A/D轉(zhuǎn)換芯片。系統(tǒng)結(jié)構(gòu)框圖如圖2-1。
架構(gòu)為Cortex-M3的STM32F103RBT6工作頻率為72MHz,16位并行連接TFT液晶屏,能實(shí)現(xiàn)快速刷屏,顯示效果良好,通過SPI通訊方式連接觸控芯片XPT2046,以觸控方式操作電子秤,以單總線方式連接DS18B20采集實(shí)時(shí)溫度,主控芯片以一線串口模式控制語音芯片WT588D播報(bào)重量、價(jià)格、商品名等信息,以上模塊對(duì)速度都有苛刻的要求,普通的51單片機(jī)達(dá)不到要求,所以采用了工作頻率為72MHz的STM32F103RBT6,它內(nèi)部的單周期乘法和硬件除法方便了價(jià)格計(jì)算和累計(jì),采用型號(hào)為YZC-1B的電阻應(yīng)變片式電橋結(jié)構(gòu)的稱重傳感器,以24位的電子秤專用A/D芯片HX711作為A/D轉(zhuǎn)換芯片。
1、系統(tǒng)基本功能及其性能指標(biāo)
本論文設(shè)計(jì)的電子秤測量系統(tǒng)包括重量測量、液晶屏顯示、觸摸控制、語音播報(bào)、實(shí)時(shí)時(shí)鐘、實(shí)時(shí)溫度、單價(jià)存儲(chǔ)、自動(dòng)計(jì)價(jià)、價(jià)格累計(jì)、去皮、超重報(bào)警等功能,主要技術(shù)指標(biāo)如表2-1。
2、稱重傳感器要求及選擇
稱重傳感器是將非電量(質(zhì)量或重量)轉(zhuǎn)換成電量的轉(zhuǎn)換元件,它把重量變換成電信號(hào)或其它形式適合計(jì)量的信號(hào)以方便數(shù)字處理器處理。稱重傳感器一般由敏感元件、轉(zhuǎn)換元件以及后續(xù)處理部分組成。
按照稱重傳感器的結(jié)構(gòu)形式不同,可分為應(yīng)變式傳感器(電阻應(yīng)變式、聲表面諧振式)和直接位移式傳感器(電位計(jì)式、電容式、電感式、空腔諧振器式、振弦式等)或是利用壓電、壓阻和磁彈性等物理特性的傳感器??紤]到本設(shè)計(jì)的產(chǎn)品應(yīng)用在市場、工廠和戶外等環(huán)境比較惡劣潮濕的場合,使用直接位移傳感器和物理效應(yīng)的傳感器容易受到外界干擾,綜合各方面因素選擇電阻應(yīng)變式傳感器。
本設(shè)計(jì)對(duì)稱重傳感器的要求主要有:輸入的重量與輸出的電量應(yīng)該保持一一對(duì)應(yīng),即具有良好的線性關(guān)系;具有較高的靈敏度;能在惡劣的條件下工作;對(duì)被稱物體的狀態(tài)的影響要??;具有較好的頻率響應(yīng)特性;具有重現(xiàn)性;穩(wěn)定可靠。就以上要求本設(shè)計(jì)所使用的稱重傳感器為YZC-1B型傳感器,該傳感器是10kg量程的電阻應(yīng)變片式傳感器,在激勵(lì)電壓為5V的條件下輸出,滿量程時(shí)輸出為10mV,該稱重傳感器的實(shí)物如圖2-2。
其結(jié)構(gòu)為由電阻應(yīng)變片搭接的惠更斯全臂電橋貼于鋁塊載體上。應(yīng)變片是鎳鉻絲或康銅絲繞成柵狀(或使用薄金屬箔腐蝕成柵狀)夾在兩層絕緣的薄片中制成。YZC-1B稱重傳感器上表面鑲嵌兩片應(yīng)變片,同時(shí)下表面也有兩個(gè)同樣的應(yīng)變片,上下連接形成全臂電橋,當(dāng)應(yīng)變片不受外力時(shí),輸出的電壓為零,當(dāng)受外力作用時(shí),上表面的應(yīng)變片電阻變大,下表面的應(yīng)變片電阻變小,使電橋不平衡,由于相同的電阻絲其電阻的變化量相同,所以輸出的電壓與電阻的變化量成線性關(guān)系,再經(jīng)相應(yīng)的測量電路把這一電阻變化轉(zhuǎn)換為電壓信號(hào),此過程完成了將外力轉(zhuǎn)換為電信號(hào)的過程,這樣就測量出重量的大小。
外接的5根線分別是一根屏蔽線,兩根輸出線,兩根供電線。當(dāng)未載物時(shí)傳感器內(nèi)部電橋橋臂上的電阻滿足這樣的條件:R1*R3=R2*R4,電橋平衡,輸出的電壓為零;載物時(shí)鋁塊發(fā)生微小形變,致使貼在上面的電阻應(yīng)變片也發(fā)生形變,從而導(dǎo)致應(yīng)變片電阻發(fā)生變化,破壞電橋平衡,使電橋輸出微弱電壓,其輸出的電壓與電阻的變化量(外力變化量)成近似的線性變化,線性度小,這極大地方便了后續(xù)軟件根據(jù)A/D值計(jì)算處理得到重量。
3、質(zhì)量的計(jì)算
由于本設(shè)計(jì)所選的YZC-1B型電阻應(yīng)變片式電橋結(jié)構(gòu)的稱重傳感器具有良好的線性度,所以為后續(xù)數(shù)據(jù)處理帶來了很大方便。本設(shè)計(jì)使用線性擬合軟件CurveExpert 1.3來擬合A/D值與實(shí)際重量之間的函數(shù)關(guān)系。主控芯片內(nèi)部的單周期乘法和硬件除法為重量的快速計(jì)算提供硬件支持。隨著質(zhì)量的增大,稱重傳感器的線性度下降,再配以人工補(bǔ)償,以保證精度。在校正精度時(shí),選用了M1等級(jí)的高精度不銹鋼砝碼以確保電子秤的精度。
二、電子秤硬件電路設(shè)計(jì)
1、A/D采集的電路設(shè)計(jì)
對(duì)于電子秤的設(shè)計(jì),核心問題是A/D轉(zhuǎn)換。只有正確的選擇A/D轉(zhuǎn)換芯片的類型才能才能做出高精度的電子秤。
本論文設(shè)計(jì)的電子秤使用一款24位的Σ-Δ(Sigma-Delta)型A/D轉(zhuǎn)換芯片HX711。
在電子秤的實(shí)際使用中,由于人們對(duì)重量測量速度的要求不高,所以使用這款高分辨率的慢速A/D轉(zhuǎn)換芯片。
Σ-Δ型的A/D芯片是由1位A/D轉(zhuǎn)換器、數(shù)字濾波器、積分器和比較器等組成[8]。在原理上近似于積分型A/D,將輸入電壓量變換成脈沖寬度(即時(shí)間信號(hào))信號(hào),經(jīng)過數(shù)字濾波器的處理之后得到數(shù)字量[9]。電路的數(shù)字部分容易做到單片化,因此極易做到高分辨率。由于輸出的數(shù)字量與模擬輸入量之間有較長的延時(shí),所以這類A/D芯片適用于那些模擬信號(hào)近似直流或變化很慢的應(yīng)用場合,如溫度測量、流量測量和壓力測量等。
HX711與同類型其它A/D芯片相比,其內(nèi)部集成其它同類型芯片所需要的外圍電路,如內(nèi)部時(shí)鐘振蕩器和穩(wěn)壓電源等,具有集成度高、抗干擾性強(qiáng)、響應(yīng)速度較快等優(yōu)點(diǎn),使用該芯片設(shè)計(jì)的電子秤既能降低了整機(jī)成本又提高了電子秤的可靠性和抗干擾性。
該芯片與主控芯片的連接電路非常簡單,只有DATA和SCLK兩條線連接與主控芯片連接,兩個(gè)控制信號(hào)由管腳驅(qū)動(dòng),且無需對(duì)芯片內(nèi)部的寄存器編程。在輸入指定的脈沖數(shù)可任意選取通道A或通道B以及增益,通道A的可編程增益為128和64,對(duì)應(yīng)滿額度的差分輸入信號(hào)幅值分別為±40mV和±20mV,通道B則為固定為64增益。芯片內(nèi)部的穩(wěn)壓電源可以直接向外部傳感器供電,系統(tǒng)板上無需另外提供電源,可以保證傳感器的準(zhǔn)確度。HX711的工作溫度范圍為-20~ +85℃,工作電壓范圍為2.6~5.5V,可同步抑制50Hz和60Hz的電源干擾,典型工作電流:《1.7mA(含穩(wěn)壓電源電路),斷電電流:《1μA,可見該芯片是功耗極低的,適合運(yùn)用于充電的便攜式設(shè)備中,較大的工作溫度范圍和寬電壓決定了該芯片能應(yīng)用在較惡劣的場合。 HX711的硬件電路如圖3-1。
圖中E+和E-分別連接5V和地線,為芯片供電,S+和S-連接稱重傳感器的輸出端。本設(shè)計(jì)使用HX711內(nèi)部時(shí)鐘振蕩器(引腳XI接地),10Hz的輸出數(shù)據(jù)速率(引腳RATE接地)。芯片供電電壓取用5V,片內(nèi)穩(wěn)壓電源電路通過片外三級(jí)管8550和滑動(dòng)變阻器R11向傳感器提供穩(wěn)定的低噪聲模擬電源(圖中E+和E-)。在程序設(shè)計(jì)中選用通道A,所以INNA和INPA與傳感器相連,通道B接地。
2、單片機(jī)外擴(kuò)電路設(shè)計(jì)
2.1、STM32F103RBT6的最小系統(tǒng)硬件設(shè)計(jì)
本設(shè)計(jì)采用STM32F103RBT6作為主控芯片。該芯片使用Cortex-M3架構(gòu),支持Thumb-2指令集,最高支持72MHz工作頻率,在存儲(chǔ)器的0等待周期訪問時(shí)可達(dá)1.25DMips/MHz,而且具備單周期乘法和硬件除法。在存儲(chǔ)器方面,該片有128K字節(jié)的閃存程序存儲(chǔ)器和高達(dá)20K字節(jié)的SRAM。片內(nèi)的帶校準(zhǔn)功能的32kHz RTC振蕩器和后備供電VBAT,可為實(shí)時(shí)時(shí)鐘提供精確的定時(shí)和掉電不掉時(shí)提供支持[1][2]。2.0~3.6V的供電電壓和睡眠、停機(jī)和待機(jī)模式可為電子秤的低功耗提供硬件支持。該芯片還擁有多達(dá)51個(gè)快速I/O端口,并且所有I/O口可以映像到16個(gè)外部中斷,幾乎所有端口均可容忍5V信號(hào),即兼容5V數(shù)字電平。STM32F103RBT6的引腳圖如圖3-2。
主控芯片外接8MHz和32.768kHz的石英晶振,最高工作頻率達(dá)72MHz,其中,32.768kHz的晶振作為RTC的輸入頻率,為實(shí)時(shí)時(shí)鐘提供精確的頻率[14]。外接晶振的硬件電路如圖3-3。
圖3-3為主控芯片的復(fù)位電路和后備電源電路。當(dāng)系統(tǒng)上電時(shí),電容C1充電,此時(shí)RESET為0電位,芯片復(fù)位,C1充滿電后,電路相當(dāng)于斷路,RESET為高電平,進(jìn)入工作狀態(tài)。當(dāng)按鍵KP1按下時(shí),RESET接地,使RESET為0電位,產(chǎn)生復(fù)位,一般低電平持續(xù)20us之后,可實(shí)現(xiàn)有效復(fù)位[15]。后備電池BAT1通過二極管D2連接到主控芯片的VBAT腳,實(shí)現(xiàn)系統(tǒng)“掉電不掉時(shí)”的功能,如圖3-4。
2.2、TFT液晶屏的硬件電路設(shè)計(jì)
TFT-LCD(Thin Film Transistor-Liquid Crystal Display)即薄膜晶體管液晶顯示器。TFT-LCD與無源TN-LCD、STN-LCD的簡單矩陣不同,它在液晶顯示屏的每一個(gè)象素上都設(shè)置有一個(gè)薄膜晶體管(TFT),可有效地克服非選通時(shí)的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此大大提高了圖像質(zhì)量。實(shí)物如圖3-5。
本設(shè)計(jì)使用的TFT-LCD液晶屏使用的控制芯片為ILI9320,屏幕尺寸為2.8寸,320*250像素,26萬真彩,通過16位并行方式連接主控芯片。該液晶刷頻速度快,顯示效果能滿足實(shí)際需求。該液晶模塊中還整合了觸控芯片XPT2046,通過SPI通訊和主控芯片連接,以實(shí)現(xiàn)快速觸摸識(shí)別。該液晶模塊和主控芯片的硬件連接圖3-6。
2.3 WT588D語音模塊的硬件電路設(shè)計(jì)
本設(shè)計(jì)的語音功能采用WT588D語音模塊來實(shí)現(xiàn)。這是帶32Mbit的SPI-Flash存儲(chǔ)器、內(nèi)嵌DSP高速音頻處理器、13Bit的DA轉(zhuǎn)換器和12Bit的PWM輸出的DIP28封裝的語音模塊。DSP高速音頻處理器讓該模塊有較快的音頻處理速度,12Bit的PWM輸出讓該快具有良好的音質(zhì),可直接驅(qū)動(dòng)0.5W/8Ω揚(yáng)聲器,推挽電流充沛。該模塊可以通過專業(yè)的上位機(jī)軟件VoiceChip V-B建立語音工程,可隨意組合語音塊、插入10ms~25min的靜音,插入的靜音不占用內(nèi)存的容量,一個(gè)已加載語音可重復(fù)調(diào)用到多個(gè)地址,語音工程編譯之后用USB下載方式下載到模塊中,支持在線下載和脫機(jī)下載,在WT588D語音芯片通電的情況下,也一樣可以正常下載數(shù)據(jù)到模塊中。語音塊支持WAV格式的6K~22KHz采樣率的音頻。該模塊的BUSY引腳能輸出語音播放狀態(tài)信號(hào),為編程提供方便。該模塊的工作電壓為直流2.8V~5.5V,在語音播放停止時(shí)會(huì)馬上進(jìn)入休眠模式,芯片轉(zhuǎn)為完全停止?fàn)顟B(tài),靜態(tài)休眠電流小于10uA,這些都決定了該模塊是一個(gè)低功耗的模塊。WT588D語音模塊的結(jié)構(gòu)如圖3-7。
WT588D與主控芯片的硬件連接如圖3-8。
圖中P2為0.5W/8Ω的揚(yáng)聲器,與模塊的正負(fù)PWM輸出連接,該模塊的復(fù)位引腳連接主控芯片的IO口PA3,由于該模塊與主控芯片為一線串口通訊模式,所以只需使用模塊的P03引腳即可,這里我們連接主控芯片的PA2口。該模塊的VDD供電為DC2.8~5.5V,VCC為DC2.8~3.6V。采用DC3.3V供電時(shí),可以直接短接VDD跟VCC,但考慮到使用環(huán)境聲音嘈雜,故VDD供5V以提供較大的音量。BUSY連接發(fā)光二級(jí)管指示模塊的工作狀態(tài),當(dāng)模塊發(fā)音時(shí)二極管亮,不發(fā)音時(shí)不亮。
2.4 電源模塊的硬件電路設(shè)計(jì)
本設(shè)計(jì)的主控芯片和TFT觸控液晶模塊需要3.3V電壓,WT588D語音模塊、HX711芯片和蜂鳴器需要5V電壓??紤]到本設(shè)計(jì)產(chǎn)品的功耗較低和方便攜帶的問題,使用9V層積電池作為主電源供電,具體電路如圖3-9。
如圖使用9V層積電池為主電源,通過穩(wěn)壓芯片AMS1117-3.3得到3.3V的電壓,供主控芯片和TFT觸控液晶模塊使用,通過穩(wěn)壓芯片LM7805得到5V的電壓,供WT588D語音模塊、HX711芯片和蜂鳴器使用。
評(píng)論