手提電子稱設計_第1頁
手提電子稱設計_第2頁
手提電子稱設計_第3頁
手提電子稱設計_第4頁
手提電子稱設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 武漢理工大學專業綜合課程設計說明書課程設計任務書學生姓名: 劉 瀟 專業班級: 電信1104 指導教師: 王緒國 工作單位: 信息工程學院 題 目:手提數字顯示電子秤設計初始條件:具備電子電路的設計知識和能力;具備單片機系統的設計方法;具備單片機軟件編程技術;熟悉單片機常用軟件的使用;要求完成的主要任務: 其電路構成主要有測量電路,差動放大電路,A/D轉換,顯示電路。其中測量電路中最主要的元器件就是電阻應變式傳感器。電阻應變式傳感器是傳感器中應用最多的一種,廣泛應用于電子秤以及各種新型結構的測量裝置。而差動放大電路的作用就是把傳感器輸出的微弱的模擬信號進行一定倍數的放大,以滿足A/D轉換器對

2、輸入信號電平的要求。A/D轉換的作用是把模擬信號轉變成數字信號,進行模數轉換,然后把數字信號輸送到顯示電路中去,最后由顯示電路顯示出測量結果。(1)用電阻應變式傳感器(2)重范圍為5kg(3)電路由測量電橋,差動放大電路,A/D轉換電路,顯示電路組成時間安排: 設計時間2周,其中3天原理設計,3天仿真,3天電路調試,1天答辯指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日目錄摘要21. 手提數字顯示電子秤總體設計方案31.1數字顯示電子稱的組成31.2電阻應變片傳感器工作原理32. 系統具體實現設計52.1測量電路設計52.2差分放大電路設計52.3 A/D芯片的選型和實現63

3、. 系統主要電路設計74.系統程序設計85. 心得體會9參考文獻10附錄:11本科生課程設計成績評定表2221摘要本文介紹了一種簡單手提數字顯示電子秤的設計,系統主要利用了電阻應變片傳感器來將物體重量轉化為相應的電信號,然后經過差分放大電路將微小的電信號進行線性放大,只有由A/D轉換電路采集放大后的信號,再將采集的數字信息傳送給單片機,由單片機將數字信號通過數碼管顯示出來,從而完成系統電子稱的設計。整個系統中關鍵的元件是電阻應變式傳感器,由傳感器感知外界信息并將其轉化為便于處理的電信號。此外系統包含了基本信號放大和處理電路,以及需要熟練掌握單片機程序調試的方法和技巧。關鍵詞:電阻應變式傳感器

4、,A/D轉換,單片機1. 手提數字顯示電子秤總體設計方案1.1數字顯示電子稱的組成首先,數字顯示電子稱需要一個重量傳感器,利用這個傳感器將物體的質量信號轉換為電信號,然后再利用一些測量電路,差動放大電路,A/D轉換和顯示電路,即可構成一個簡易的數字電子稱。其具體實現框圖1.1如下:顯示電路A/D轉換電路差分放大電路電阻應變傳感器 單片機作為系統控制器圖1.1數字顯示電子稱基本結構圖1.2電阻應變片傳感器工作原理整個系統設計的核心元件是電阻應變式傳感器,其基本組成是由彈性敏感元件、電阻應變計、補償電阻和外殼組成。彈性敏感元件受到所測量的力而產生變形,并使附著其上的電阻應變計一起變形,電阻應變計就

5、會將變形值轉換為電阻值的變化,從而通過具體電路就會轉換為電信號的變化。電阻應變片應用在電橋中主要有三種接法,即單臂橋、半橋和全橋。以下以圖1.2單臂橋電路來說明電阻應變片傳感器的應用原理。 R2 R4 R3 圖1.2單臂橋電路應變片單臂橋如圖1.2所示,橋臂AD為工作臂,接應變片;R1為應變片靜態電阻,為工作時應變片電阻的變化量。此變化量可以是正值,稱之為正應變,此時應變片承受拉應變,圖中符號箭頭向上表示為正應變;當變化量為負值時,稱之為負應變,此時應變片承受壓應變。單橋臂只有一個橋臂接應變片,其它橋臂均接性能參數穩定的標準電阻,為便于進行簡化分析,一般都是先取,按照電路理論分析,可得電橋的輸

6、出表達式如下: (式1-1),由式1-1得到單臂橋輸出表達式為:(式1-2)單臂電橋的靈敏度為 (式1-3)當時,由式1-2和式1-3可得,由該關系,輸出與輸入呈近似線性關系,輸出電壓與應變量成正比,應變量越大,則輸出電壓越大,也即將物體的重量信息轉化為電阻應變片上的應變量,進而轉化為輸出電壓信號的變化,最終經過后續的信號差分放大電路,A/D測量電路,以及單片機控制電路和顯示電路,即完成了數字顯示電子稱設計。2. 系統具體實現設計2.1測量電路設計測量電路中主要電路結構類似上圖1.2所示,主要由電阻應變片傳感器將物體重量信號轉為電信號的變化。系統為了提高靈敏度,采用全橋電路實現。當系統輸入電壓

7、,輸出電壓,則輸出電壓大小隨應變量的成線性變化,物體越重,應變量越大,輸出電壓隨之增大,則測量輸出電壓的大小,即可知物體重量。2.2差分放大電路設計由于通過電阻應變式傳感器轉換的得到的電信號比較小,為此設計差分放大電路將微小信號進行線性放大,便于后續中A/D轉換進行采集和處理。差放電路具體實現可通過運放來實現,由于考慮到微小信號的放大,設計中可以考慮用高精度儀表放大器或者精密型運放來實現。為便于實現簡單,此次系統實現選擇用高精度的儀表放大器OPA128來實現,其電路結構簡單 圖2.2差分放大電路2.3 A/D芯片的選型和實現本次要求設計數字顯示電子稱沒有明確的精度要求,為此A/D芯片的選擇可以

8、考慮簡單8位或者10位精度的A/D芯片,常用的有ADC0809,AD7810,TLC549等芯片。系統實現以TLC549為例說明系統實現電路及其實現原理,其基本的電路圖如下圖2.3所示:圖2.3 A/D轉換電路2.4顯示電路實現系統的數字顯示可以用八段數碼管或者液晶顯示器來進行顯示,為便于觀察的方便和顯眼,常用的數字顯示電子稱一般為便于顯眼會選擇用高亮度的數碼管進行顯示,其基本顯示電路如下圖所示 圖2.4數碼管顯示電路3. 系統主要電路設計整個系統的設計主要包含了如下圖3.1所示的電路結構,主要由差分放大電路來放大電阻應變片傳感器的微弱信號,再經過A/D轉換電路,以及由單片機作為控制器處理電路

9、和顯示電路構成。圖3.1系統整體主要電路4.系統程序設計系統在程序上主要是單片機上的控制程序,程序部分比較簡單,主要包括數碼管顯示電路和A/D轉換中讀取TLC549轉換結果。主體程序框圖如下圖4.1所示: 開始 結束 分別送予數碼管各位顯示 將讀取值按千百十個位分離 讀取A/D轉換寄存器結果 啟動A/D轉換 配置數碼管位選和段選位初始化A/D芯片 圖4.1系統主要程序結構框圖5. 心得體會為期一個星期的綜合課程設計已經結束,在這一星期的學習了基本電路設計和單片機編程調試。通過本次課題數字電子稱的設計,掌握了基本電路調試和單片機的應用技巧和調試方法。專業綜合課設本來就是一個實踐性很強的課程,只有

10、在理論的指導下,在付諸于實踐,才能真正掌握設計電路的竅門。我們需要多動手,多實際連接一些電路,分析電路,才能在理論的基礎上,學到實用的電路。綜合課程設計正是為了提高我們的實踐能力,才要求大家去實際地設計電路,調試電路,學到更實用的知識。只有在真正弄懂其原理,以及每個參數怎么得來的,理論計算與實際測量之間的差距的原因到底是什么原因造成的。實際的波形與理論預測的不相符合時,該怎么去調試,只有把理論與實踐相結合在一起時,才能真正的設計出實用的電路。數字顯示電子稱本身是生活中常用的器件,通過學習聯系實際制作,提高動手能力,有利于促進我們學習的興趣。本課題數字顯示電子稱本來就是一個實踐性很強的課程,只有

11、在理論的指導下,在付諸于實踐,才能真正掌握設計電路的竅門。學好電子技術,我們需要多動手,多實際連接一些電路,分析電路,才能在理論的基礎上,學到實用的電路。綜合課程設計正是為了提高我們的實踐能力,才要求大家去實際地設計電路,調試電路,學到更實用的知識。由此看來,此次綜合課程設計意義重大。參考文獻1吳友宇主編.模擬電子技術基礎.北京:清華大學出版社,20092李群芳,肖看.單片機原理接口與應用.北京:清華大學出版社,20053陳光東,趙性初.單片微型計算機原理與接口技術.武漢:華中科技大學出版 社,1999 4李萬臣主編模擬電子技術基礎與課程設計.哈爾濱:哈爾濱工程大學出版社,20015康華光主編

12、. 電子技術之模擬部分.武漢:華中科技大學出版社,20056陳大欽,電子技術基礎實驗電子電路實驗、設計、仿真.高等教育出版社,2004附錄:主程序:#include <msp430x14x.h>#include "cry1602.h"#include "ADC_Func.h"typedef unsigned int uint;typedef unsigned char uchar;static uint result33; /定義其元素的個數uchar DC="Quality="uchar ptr=" "

13、;uint sum;void main() /*下面六行程序關閉所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; WDTCTL=WDTPW+WDTHOLD; /關閉看門狗 LcdReset(); /初始化液晶 P6SEL|=BIT0; /選擇A0作為轉換通道 ADC12CTL0|=ADC12ON+SHT0_

14、1+MSC;/采樣周期為四倍的ADC12CLK的周期 ADC12CTL1|=CONSEQ_2+SHP;/采樣源來自定時器 ADC12MCTL2= SREF_2; / ADC12MCTL0=INCH_0; ADC12CTL0|=ENC; ADC12IE|=BIT0; /enble interrupt ADC12CTL0|=ADC12SC; /strat covert DispStr(0,0,DC); while(1) Delay5ms(); Delay5ms(); Delay5ms(); Delay5ms(); sum=ADC12MEM0; sum=(sum*3.3)-270; if(sum/1

15、000=0) ptr0=sum/100+0x30; ptr1=(sum%100)/10+0x30; ptr2=sum%10+0x30; ptr3='g' ptr4=' ' else ptr0=sum/1000+0x30; ptr1=(sum%1000)/100+0x30; ptr2 = (sum/10)%10+0x30; /shuzi表中第10位對應符號"." ptr3=sum%10+0x30; ptr4='g' DispStr(8,0,ptr); _EINT(); LPM0; 液晶顯示程序:#include <msp4

16、30x14x.h>#include "cry1602.h"typedef unsigned char uchar;typedef unsigned int uint;/*宏定義*/#define DataDir P2DIR#define DataPort P2OUT#define Busy 0x80#define CtrlDir P6DIR#define CLR_RS P6OUT&=BIT3; /RS = P3.0#define SET_RS P6OUT|=BIT3;#define CLR_RW P6OUT&=BIT4;/RW = P3.1#defin

17、e SET_RW P6OUT|=BIT4;#define CLR_EN P6OUT&=BIT5;/EN = P3.2#define SET_EN P6OUT|=BIT5;/*函數名稱:DispStr功 能:讓液晶從某個位置起連續顯示一個字符串參 數:x-位置的列坐標 y-位置的行坐標 ptr-指向字符串存放位置的指針返回值 :無*/void DispStr(uchar x,uchar y,uchar *ptr) uchar *temp; uchar i,n = 0; temp = ptr; while(*ptr+ != '0') n+; /計算字符串有效字符的個數 fo

18、r (i=0;i<n;i+) Disp1Char(x+,y,tempi); if (x = 0x0f) x = 0; y = 1; /*函數名稱:DispNchar功 能:讓液晶從某個位置起連續顯示N個字符參 數:x-位置的列坐標 y-位置的行坐標 n-字符個數 ptr-指向字符存放位置的指針返回值 :無*/void DispNChar(uchar x,uchar y, uchar n,uchar *ptr) uchar i; for (i=0;i<n;i+) Disp1Char(x+,y,ptri); if (x = 0x0f) x = 0; y = 1; /*函數名稱:Loca

19、teXY功 能:向液晶輸入顯示字符位置的坐標信息參 數:x-位置的列坐標 y-位置的行坐標返回值 :無*/void LocateXY(uchar x,uchar y) uchar temp;temp = x&0x0f; y &= 0x01; if(y) temp |= 0x40; /如果在第2行 temp |= 0x80; LcdWriteCommand(temp,1);/*函數名稱:Disp1Char功 能:在某個位置顯示一個字符參 數:x-位置的列坐標 y-位置的行坐標 data-顯示的字符數據返回值 :無*/void Disp1Char(uchar x,uchar y,u

20、char data) LocateXY( x, y ); LcdWriteData( data );/*函數名稱:LcdReset功 能:對1602液晶模塊進行復位操作參 數:無返回值 :無*/void LcdReset(void) CtrlDir |= 0x38; /控制線端口設為輸出狀態 DataDir = 0xFF; /數據端口設為輸出狀態 LcdWriteCommand(0x38, 0); /規定的復位操作 Delay5ms(); LcdWriteCommand(0x38, 0); Delay5ms(); LcdWriteCommand(0x38, 0);Delay5ms();LcdW

21、riteCommand(0x38, 1);/顯示模式設置 LcdWriteCommand(0x08, 1);/顯示關閉 LcdWriteCommand(0x01, 1); /顯示清屏 LcdWriteCommand(0x06, 1);/寫字符時整體不移動 LcdWriteCommand(0x0c, 1);/顯示開,不開游標,不閃爍/*函數名稱:LcdWriteCommand功 能:向液晶模塊寫入命令參 數:cmd-命令, chk-是否判忙的標志,1:判忙,0:不判返回值 :無*/void LcdWriteCommand(uchar cmd,uchar chk) if (chk) WaitFor

22、Enable(); / 檢測忙信號? CLR_RS; CLR_RW; _NOP();DataPort = cmd; /將命令字寫入數據端口 _NOP(); SET_EN; /產生使能脈沖信號 _NOP(); _NOP(); CLR_EN;/*函數名稱:LcdWriteData功 能:向液晶顯示的當前地址寫入顯示數據參 數:data-顯示字符數據返回值 :無*/void LcdWriteData( uchar data ) WaitForEnable(); /等待液晶不忙SET_RS; CLR_RW; _NOP();DataPort = data; /將顯示數據寫入數據端口 _NOP();SET

23、_EN; /產生使能脈沖信號 _NOP(); _NOP(); CLR_EN;/*函數名稱:WaitForEnable功 能:等待1602液晶完成內部操作參 數:無返回值 :無*/void WaitForEnable(void) P2DIR &= 0x00; /將P4口切換為輸入狀態CLR_RS; SET_RW; _NOP(); SET_EN; _NOP(); _NOP();while(P2IN & Busy)!=0); /檢測忙標志CLR_EN;P2DIR |= 0xFF; /將P4口切換為輸出狀態/*函數名稱:Delay5ms功 能:延時約5ms參 數:無返回值 :無*/vo

24、id Delay5ms(void) uint i=40000; while (i != 0) i-; A/D轉換程序:#include <msp430f149.h>typedef unsigned int uint;typedef unsigned char uchar;/*函數名稱:Init_ADC功 能:初始化ADC參 數:無返回值 :無*/void Init_ADC(void) P6SEL |= 0x01; / 使能ADC通道 ADC12CTL0 = ADC12ON+SHT0_15+MSC; / 打開ADC,設置采樣時間 ADC12CTL1 = SHP+CONSEQ_2; / 使用采樣定時器 ADC12IE = 0x01; / 使能ADC中斷 ADC12CTL0 |= ENC; / 使能轉換 ADC12CTL0 |= ADC12SC; / 開始轉換/*函數名稱:Hex2Dec功 能:將16進制ADC轉換數據變換成十進制 表示形式參 數:Hex_V

溫馨提示

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

評論

0/150

提交評論