欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 基于51單片機的稱重傳感器(電子秤)設計 有原理圖 程序 pcb 視頻 論文 [打印本頁]

作者: hdqstone    時間: 2016-6-12 21:12
標題: 基于51單片機的稱重傳感器(電子秤)設計 有原理圖 程序 pcb 視頻 論文
下面是一個完整的基于51單片機的稱重傳感器設計,


電子秤的實物圖

單片機電子秤的原理圖

電子秤設計
本設計采用以stc89C52單片機為核心的低成本、高精度、微型化數字顯示壓力的硬件電路和軟件設計方法。整個電路采用模塊化設計,由主程序、初始化子程序、顯示子程序等模塊組成。壓力傳感器的信號經單片機綜合分析處理,實現壓力測量并顯示。在此基礎上設計了系統的總體方案,最后通過硬件和軟件實現了各個功能模塊。相關部分附有硬件電路圖、程序流程圖。
關鍵詞:單片機;重力傳感;顯示
1 內容提要····················································
2設計內容及總體方···················································
3單元電路的具體設計··············································
4總體工作電路原理圖··············································
5系統所需元件列表··············································

電子秤具有稱重精確度高,簡單實用,攜帶方便成成本低,制作簡單,測量準確,分辨率高,不易損壞和價格便宜等優點。是家庭購物使用的首選。其電路構成主要有測量電路,差動放大電路,A/D轉換,數據處理,顯示電路。其中測量電路中最主要的元器件就稱重傳感器。稱重傳感器是傳感中應用最多的一種,廣泛應用于電子秤以及各種新型結構的測量裝置。而差動放大電路的作用就是把傳感器輸出的微弱的模擬信號進行一定倍數的放大,以滿足A/D轉換器對輸入信號電平的要求。A/D轉換的作用是把模擬信號轉變成數字信號,進行模數轉換,然后把數字信號輸送單片機處理,再傳輸到顯示電路中去,最后由顯示電路顯示出測量結果。


內容是設計一個電子秤
要求:

首先利用由稱重傳感器組成的測量電路測出物質的重量信號,以模擬信號的方式差動放大器電路。其次,由差動放大器電路把傳感器輸出的微弱信號進行一定倍數的放大,然后送A/D轉換電路中。再由A/D轉換電路把接收到的模擬信號轉換成數字信號,傳送到單片機中進行處理,再有單片機控制顯示電路,最后由顯示電路顯示數據。

具體方案如下:





三、單元電路的具體設計

1測量電路:重力傳感器就是將被測物理量的變化電壓的變化 , 再經相應的測量電路而最后顯示或記錄被測量值的變化。在這里,我們用重力傳感器作為測量電路的核心。并應根據測量對象的要求,恰當地選擇精度和范圍度。

1稱重傳感器的組成以及原理

通過重物使重力傳感器稱重端受力彎曲,視其受力情況的不同輸出相應線性的電壓。通過重力傳感器上的那個孔,可以以各種方式及電路的不同聯接構建整個系統,即可測得重力、變形、扭矩等機械參數

1.產品編號: hl-8
2.技術參數
紅 +
(輸入 +)
白 -
(輸出 -)
黑 -
(輸入 -)
綠 +
(輸出+)

引出線為四芯,為確保精度,一般不要調整線長。

4.受力方式

一般將傳感器的接線端固定,另一端可懸掛重物也可托起重物。

5.傳感器電路部分

(1)原理:本次設計中,要求用一個放大電路,即差動放大電路,主要的元件就是差動放大器。在許多需要用A/D轉換和數字采集的單片機系統中,多數情況下,傳感器輸出的模擬信號都很微弱,必須通過一個模擬放大器對其進行一定倍數的放大,才能滿足A/D轉換器對輸入信號電平的要求,在此情況下,就必須選擇一種符合要求的放大器。儀表儀器放大器的選型很多,這里使用一種用途非常廣泛的儀表放大器,就是典型的差動放大器。它只需高精度LM358和幾只電阻器,即可構成性能優越的儀表用放大器。廣泛應用于工業自動控制、儀器儀表、電氣測量等數字采集的系統中。本設計中差動放大電路結構圖如下:


推導過程:I=

Vo=(R8+R7+R8)I

=(1+

)Vi,

則Avf=1+

2)所用芯片:

  LM358內部包括有兩個獨立的、高增益、內部頻率補償的雙運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。   

3A/D轉換:A/D轉換的作用是進行模數轉換,把接收到的模擬信號轉換成數字信號輸出,我們這里選用ADC0832, ADC0832 是美國國家半導體公司生產的一種8 位分辨率、雙通道A/D轉換芯片。由于它體積小,兼容性,性價比高而深受單片機愛好者及企業歡迎,其目前已經有很高的普及率。A/D轉換誤的位數確定與整個測量控制系統所需測量控制的范圍和精度有關,系統精度涉及的環節很多,包括傳感器的變換精度,信號預處理電路精度A/D轉換器以及輸出電路等。
(1)ADC0832的特點
· 8位分辨率;
  · 雙通道A/D轉換;
  · 輸入輸出電平與TTL/CMOS相兼
  · 5V電源供電時輸入電壓在0~5V之間;   
  · 工作頻率為250KHZ,轉換時間為32μS;
  · 一般功耗僅為15mW;
  · 8P、14P—DIP(雙列直插)、PICC 多種封裝;
  · 商用級芯片溫寬為0°C to +70°C,工業級芯片溫寬為−40°C to +85   °C;

(2)ADC0832芯片接口說明
· CS_ 片選使能,低電平芯片使能。
  · CH0 模擬輸入通道0,或作為IN+/-使用。
  · CH1 模擬輸入通道1,或作為IN+/-使用。
  · GND 芯片參考0 電位(地)。
  · DI 數據信號輸入,選擇通道控制。
  · DO 數據信號輸出,轉換數據輸出。
  · CLK 芯片時鐘輸入。
  · Vcc/REF 電源輸入及參考電壓輸入(復用)。
     ADC0832

數據處理部分我們采用STC89C52單片機系統對ADC0832所采集回來的數據進行處理,然后將輸出處理后的數據顯示在數碼管上。
(1)單片機對ADC0832 的控制原理
    正常情況下ADC0832 與單片機的接口應為4條數據線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO和DI 并聯在一根數據線上使用。當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當要進行A/D轉換時,須先將CS使能端置于低電平并且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數據信號。在第1 個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應輸入2 位數據用于選擇通道功能,其功能項見官方資料。如資料 所示,當此2 位數據為“1”、“0”時,只對CH0 進行單通道轉換。當2位數據為“1”、“1”時,只對CH1進行單通道轉換。當2 位數據為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當2 位數據為“0”、“1”時,將CH0作為負輸入端IN-,CH1 作為正輸入端IN+進行輸入。到第3 個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數據輸出DO進行轉換數據的讀取。從第4個脈沖下沉開始由DO端輸出轉換數據最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數據。直到第11個脈沖時發出最低位數據DATA0,一個字節的數據輸出完成。也正是從此位開始輸出下一個相反字節的數據,即從第11個字節的下沉輸出DATD0。隨后輸出8位數據,到第19 個脈沖時數據輸出完成,也標志著一次A/D轉換的結束。最后將CS置高電平禁用芯片,直接將轉換后的數據進行處理就可以了。作為單通道模擬信號輸入時ADC0832的輸入電壓是0~5V且8位分辨率時的電壓精度為19.53mV。如果作為由IN+與IN-輸入的輸入時,可是將電壓值設定在某一個較大范圍之內,從而提高轉換的寬度。但值得注意的是,在進行IN+與IN-的輸入時,如果IN-的電壓大于IN+的電壓則轉換后的數據結果始終為00H。



  1. #include//包含相應的頭文件
  2. #include
  3. #include
  4. sbit CS=P1^6;//定義數模轉換器硬件對應引腳
  5. sbit CLK=P1^3;
  6. sbit DO=P1^4;
  7. sbit DI=P1^5;
  8. bit ADFlag;
  9. unsigned char code DIS[]={0xf7,0xfb,0xfd};  //定義數碼管位碼
  10. unsigned char code Datatab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//7段數碼管段碼表
  11. data unsigned char  Display[3];//定義臨時存放數碼管數值

  12. void Init_Timer1(void)
  13. {
  14. TMOD |= 0x10;                                             
  15. TH1=0xff;                                          /* Init value */
  16. TL1=0x00;
  17. //PT1=1;                   /* 優先級    */
  18. EA=1;                      /* interupt enable */
  19. ET1=1;                     /* enable timer1 interrupt */
  20. TR1=1;
  21. }

  22. unsigned char ReadADC(unsigned char channel)
  23. {
  24. unsigned char i,j;
  25. unsigned char Temp=0;
  26.   channel <<=3;               
  27.   channel |=3;
  28.      CS =0;                  //按照資料進行時序操作
  29. for(i=0;i<3;i++)            //輸入指令,包含通道選擇
  30.     {
  31.      CLK=0;
  32.               _nop_();
  33.      DI=channel;
  34.      channel>>=1;
  35.      _nop_();
  36.      CLK=1;  
  37.    }  
  38.    CLK=0;
  39.     _nop_();
  40.    CLK=1;
  41. for(j=0;j<8;j++)   //處理讀入8位數據
  42.    {
  43.     CLK=0;
  44.               _nop_();
  45.     Temp=(Temp<<1)|DO;
  46.    _nop_();
  47.     CLK=1;
  48.     }
  49.   CS=1;
  50. return(Temp); //返回轉換值
  51. }

  52. void Timer1_isr(void) interrupt 3 using 1//定時器1執行數碼管動態掃描
  53. {
  54. static unsigned char count,j;
  55. TH1=0xfb;                            /* Init value */
  56. TL1=0x00;
  57. j++;
  58. if(j==200) {j=0;ADFlag=1;}
  59. P0=Display[count];
  60. P2=DIS[count];
  61. count++;
  62. if(count==3)
  63. count=0;
  64. }

  65. main()
  66. {
  67. unsigned char ADtemp;//定義中間變量
  68. // unsigned char temp;
  69. Init_Timer1();
  70.     while(1)
  71.                             {
  72.                             if(ADFlag)      //定時采集輸入模擬量
  73.            {
  74.         ADFlag=0;
  75.                                ADtemp=ReadADC(1);
  76.                             Display[0]=Datatab[((ADtemp)/50)];//處理電壓顯示
  77.                               Display[1]=Datatab[((ADtemp)%50)/10];
  78.                               Display[2]=Datatab[((ADtemp)%50)%10];
  79.                                }
  80.                             }
復制代碼

5.顯示以及電源部分
     關于顯示部分,我們選用4位共陽數碼管進行顯示,電源部分我們采用一般的12V直流電源給重力傳感器和LM358供電,另外單片機,ADC0832, 數碼管供電我們采用LM7805將12V轉成5V直流給它們提供電源。
以下為數碼管顯示部分電路:
以下為12V 以及5V電源部分:
下圖為MAX232串口下載部分電路:
下圖USB供電的下載部分電路:

   


數顯電子秤具有準確度高,易于制作,成本低廉,體積小巧,實用等特點。本電路結構簡單且易于調試。

、系統所需元件列表:

  元件/集成塊

型號

功能

說明

U3

ADC0832

A/D轉換

轉換模-數信號

U4

LM358

高精度低溫標雙運算運放

放大傳感信號

U2

STC89C52

單片機

數據處理

U1

MAX232

串口通信芯片

用于單片機程序下載

Q6~Q8

8550

三極管

數碼管驅動

電容

104P  10uF

22UuF

30P

極性電容  瓷片電容

濾波  震蕩等作用

A1

LM7805

電平轉換

12V轉5V

電阻

51K 330歐

1K  10K

4.7K

精密金屬膜電阻

具體個數請參見電路圖

M1

共陽數碼管

顯示輸出

共陽數碼管

B2

HL-8

壓電轉換

重量傳感器

K1



連接電腦串口

串口頭子(孔)

B1


下載程序通過usb給單片機以及MAX232供電

USB母頭

S2,S3


控制電源通斷

自鎖開關

S1


單片機復位開關

微動開關

J3


單片機上P0口拉電阻

排阻

D1

LED

Usb供電是電源指示燈

LED

雜件


單排排針一排

跳線若干等









五、 調試

調試分為硬件調試與軟件調試兩個方面。

   1 硬件調試

         首先,對PCB板進行打孔和過孔操作,當過完所有孔后用數字萬用表來檢測地線、電源線、信號線是否全部連通,避免虛焊的存在。

其次,在已經過孔的PCB板中焊接電阻、瓷片電容、母頭和晶振等器件,然后插上所有芯片的IC管座和數碼管,在這一過程中,應遵循“先小頭,后大頭”的原則。

最后,裝上所有IC芯片,插上stc89C52,接通電源,連接傳感器、跳線等,先下載一個數碼管示列程序,如果看到數碼管點亮,說明硬件沒有問題,然后就可以開始調試軟件部分了。

   2 軟件調試

為了檢測顯示部分的硬件連接情況,我先將數碼管檢測程序燒寫stc89C52中,然后插進管座接通電源運行程序,如果看到數碼管顯示,證明系統顯示部分的電路連接無誤。

       確認顯示部分電路和下載部分電路連接無誤后,接下來編寫AD0832程序。在這一步的設計中,我首先大量查閱了關于AD0832的pdf資料,弄清它的引腳圖和時序圖,下一步就是編寫它的檢測子程序。這一步的困難較大,在做這一步的過程中,我向在編程方面有經驗的同學和老師請教,經過他們的指點,最后取得了成功。

             最后的一步就是檢查運發電路,確認無誤后,連上壓力傳感器。      

        通過以上幾步調試,確認硬件連接沒有錯誤后,就可以將單片機端的完整程序燒寫進單片機中了。

           當一切準備就緒后,接通系統的電源。此時我們用手按壓力傳感器,傳感器的電壓變化經運放單元放大的電壓信號送給AD采集,轉化為數字信號,送給單片機處理,最后在數碼管上顯示。

由于時間較緊,沒做到高精度,這些看似簡單的要求,實現起來也并不是容易的,這就增加挑戰性和刺激性。




所有資料下載包含電子秤的pcb和原理圖程序,以及課程設計論文等等:
基于51單片機的稱重傳感器設計.rar (1.84 MB, 下載次數: 1262)
作者: 151389477    時間: 2016-8-17 14:01
非常的需要
作者: 151389477    時間: 2016-8-24 10:16
不錯的資料,要是能夠配上相關的程序就更好了
作者: gk18965    時間: 2016-8-24 11:16
6666謝謝分享
作者: Sjhaaan    時間: 2016-10-11 09:37
非常好的
作者: Sjhaaan    時間: 2016-10-11 09:45
非常好的
作者: yanhuayileng    時間: 2016-12-5 16:44
很詳細,謝謝分享
作者: feel義    時間: 2016-12-8 11:45
很好的東西
作者: adls    時間: 2016-12-9 06:13
很詳細,謝謝分享
作者: 王企鵝    時間: 2016-12-11 20:17
6666謝謝分享
作者: 王企鵝    時間: 2016-12-11 20:17

非常感謝樓主的分享
作者: 獨上丶西樓    時間: 2017-1-5 14:58
學習下
作者: 123456ABCD    時間: 2017-1-5 16:06
謝謝樓主
作者: gk204    時間: 2017-2-11 16:48
幣不夠呀
作者: zs3945    時間: 2017-3-14 13:14
挺不錯,謝謝分享

作者: printf8000    時間: 2017-3-23 23:15
資料不錯,多謝了!
作者: printf8000    時間: 2017-3-23 23:20
似乎源代碼不全。
作者: w515748522    時間: 2017-4-6 13:53
最喜歡DIY的那種
作者: KeLe丶    時間: 2017-4-10 10:14
非常需要
作者: julian2008    時間: 2017-4-10 15:17
最近正想做一個,謝謝分享
作者: WE1866    時間: 2017-4-10 16:34
很詳細,很復雜,謝謝分享
作者: LYHKoaty    時間: 2017-4-20 13:06
WE1866 發表于 2017-4-10 16:34
很詳細,很復雜,謝謝分享

你下載下來的可以分享給我么
作者: LYHKoaty    時間: 2017-4-20 13:10
不錯!很詳細
作者: LYHKoaty    時間: 2017-4-20 13:11
謝謝分享。。。
作者: 成森林    時間: 2017-4-23 10:40
謝謝樓主,我正需要,辛苦了!
作者: 萌萌的小吱吱    時間: 2017-5-17 12:32
黑幣不夠秋樓主分享
作者: 萌萌的小吱吱    時間: 2017-5-17 13:27
有人在么?我特別需要這個。有沒有大神能發給我一份   謝謝
作者: 1359147682    時間: 2017-5-20 11:06
很不錯,值得下載
作者: a2242    時間: 2017-5-25 18:59
放大電路的L3的2腳怎么和LM358的4腳連在一起了,LM358的4腳不是GND嗎?按道理不是要接地嗎
作者: a2242    時間: 2017-5-25 21:57
為什么LMV358沒有接GND啊
作者: vody    時間: 2017-10-1 10:28
我特別需要這個。有沒有大神能發給我一份   謝謝
作者: liushui2011    時間: 2017-10-11 09:38
不錯,雖然功能很基本,對于初學者來說也夠了

作者: wangw8155    時間: 2017-10-21 13:46
來參考一下
作者: yyt895213586    時間: 2018-1-22 09:48
謝謝分享
作者: 林大爺    時間: 2018-3-8 14:56
很好!!!
作者: 舒馬赫    時間: 2018-3-12 16:38
感謝樓主分享,參考一下啦
作者: xiegh    時間: 2018-3-14 16:02
先感謝一下,再問一下壓縮包里有相應的程序嗎
作者: tony_chxd    時間: 2018-3-15 11:25
好詳細,值得學習
作者: jianangege    時間: 2018-3-20 18:19
看著挺好的啊
作者: wwyjk    時間: 2018-3-20 21:40
非常不錯

作者: 用戶2111153    時間: 2018-3-21 11:37
這個傳感器用什么實現啊  準備看看但是發現自己做不好
作者: 123741    時間: 2018-3-28 19:55
電腦串口有什么用

作者: p_p_sunday    時間: 2018-3-29 09:42
好東西,學習下。
作者: 孟長信    時間: 2018-4-17 14:56
我很需要這個,希望樓主慷慨
作者: hanmingbo    時間: 2018-4-21 15:22
很不錯,值得下載
作者: LOVE灬    時間: 2018-4-21 21:57
謝謝樓主的分享,我要看懂它
作者: fanggeyishui    時間: 2018-5-1 17:24
怎么仿真
作者: 896877627    時間: 2018-5-3 20:00
收到收到收到
作者: xbwueric    時間: 2018-5-5 11:34
黑幣不夠啊,哪位老哥幫幫忙
作者: mnm    時間: 2018-5-24 18:52
在學習51單片機,樓主可以分享一下嗎
作者: mnm    時間: 2018-5-28 21:28
mnm 發表于 2018-5-24 18:52
在學習51單片機,樓主可以分享一下嗎

謝謝您,很實用
作者: 老干部    時間: 2018-6-10 19:34
有程序嗎?感謝
作者: shengkai540    時間: 2018-6-13 08:49
樓主,問一下,您的程序跑過么

作者: 813382329    時間: 2018-6-19 15:54
學習學習
作者: vip1234517    時間: 2018-6-20 21:48
相當不錯啊!
作者: vip1234517    時間: 2018-6-20 21:48
相當不錯啊!
作者: 畢業生    時間: 2018-6-21 09:42
謝謝樓主,感恩
作者: 赤兔不是馬    時間: 2018-6-22 20:44
max232
作者: tieq1952    時間: 2018-6-23 07:02
謝謝下載了
作者: XINGYALEE    時間: 2018-6-27 11:02
感激不盡了,可以說是
作者: 我來掃落葉    時間: 2019-1-18 15:29
很不錯,值得下載
作者: 354669136    時間: 2019-3-4 10:17
學習一波
作者: 354669136    時間: 2019-3-4 10:17
非常不錯多謝分享
作者: 354669136    時間: 2019-3-4 10:18
謝謝分享
作者: eb900001    時間: 2019-3-4 17:21
資料比較詳細,很值的學習使用。
作者: 帥哥無敵    時間: 2019-3-5 10:48
非常感謝,樓主真好
作者: lm1720755472    時間: 2019-3-5 15:26
很好很感謝
作者: ghy0212    時間: 2019-3-5 15:59
非常感謝
作者: lhb916    時間: 2019-3-6 12:16
還不錯
作者: ckg    時間: 2019-3-24 19:30
很給力!
作者: xiaofuhao    時間: 2019-4-27 09:36
請問有下載下來的嗎?能給我發一份嗎?非常感謝
作者: 遷就    時間: 2019-4-27 10:57
感謝樓主分享
作者: 筑夢者1993    時間: 2019-5-9 16:21
學學,謝謝樓主
作者: sillypoi    時間: 2019-7-1 11:54
流批流批,正好需要這類的
作者: 幽魂布雷德    時間: 2019-7-5 21:40
非常有用,實習正好用得上
作者: hellowC8051    時間: 2019-7-18 13:30
詳細,值得學習
作者: zt2579553032    時間: 2019-12-2 09:04
stc89c52的ea腳為什么懸空啊??求大佬告知,這樣讀程序不會有問題嗎?
作者: Cjh@    時間: 2019-12-14 14:38
程序是錯的
作者: www123lhs    時間: 2019-12-23 09:10
看著挺好的,支持
作者: 序號123456    時間: 2020-1-4 18:27
哇,這也太給力了吧
作者: knight51    時間: 2020-4-21 09:10
很給力!
作者: jx224983    時間: 2020-5-5 17:49
資料很好謝謝分享
作者: 迷路的松鼠    時間: 2020-5-15 15:43
學到很多東西,謝謝
作者: 迷路的松鼠    時間: 2020-5-15 15:44
太方便了,又能學到很多東西
作者: shenguobin    時間: 2020-5-17 01:13
不錯,剛好有需要
作者: zxopenljx    時間: 2020-5-20 14:33
感謝樓主分享
作者: 22583596    時間: 2020-5-20 22:28
里面有可以直接燒錄的hex程序嗎
作者: 電控2001    時間: 2020-5-26 14:54
謝謝分享
作者: rayin    時間: 2020-11-15 17:02
不錯,值得學習。51hei有你更精彩!!
作者: FFZY    時間: 2020-11-29 17:10
這個PCB為什么打不開呢
作者: 鎖菲亞    時間: 2021-10-22 20:03
Hl-7和Hl-8有什么區別嗎

作者: ttttrrr    時間: 2022-4-9 11:14
看了很多用的都是HX711




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1