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