<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PIC16F877單片機的電子秤包裝機控制系統

基于PIC16F877單片機的電子秤包裝機控制系統

作者: 時(shí)間:2011-10-25 來(lái)源:網(wǎng)絡(luò ) 收藏

系統可用于粉末東顆粒物料(如水泥、化肥、糧食等)的定時(shí)包裝,自動(dòng)化程度、計量精度要求越來(lái)越高。針對用戶(hù)的要求,本系統設計了一種控制的秤水泥。

本文引用地址:http://dyxdggzs.com/article/172440.htm

  包括調零、調滿(mǎn)、設定粗細流閾值、插袋、喂料、壓袋、推包、破袋處理等控制功能。另外,對檢測的質(zhì)量進(jìn)行數碼顯示,對狀態(tài)采用LED指示。同時(shí)還完成了與上位機的通信,可以實(shí)時(shí)觀(guān)測質(zhì)量變化及控制狀態(tài)的情況,并在硬件和軟件上分別采用了抗干擾措施和系統保護措施。本系統硬件結構簡(jiǎn)單,運行穩定可靠,軟硬兼備,具有完善的控制功能和抗干擾能力。

  1 控制器工作原理

  秤是的一個(gè)獨立的控制部件,安裝在包裝機電控箱內,從包裝箱觀(guān)察窗可以看到秤的質(zhì)量顯示和狀態(tài)LED指示。其由檢測電路、控制電路、設定顯示電路及與上位機的通信電路等幾部分組成??刂破髟砜驁D如圖1所示。

控制器原理框圖

  系統經(jīng)過(guò)調零調滿(mǎn)后,發(fā)出插袋信號。當檢測到包準備好信號時(shí)開(kāi)始喂料,此時(shí)粗細閾一起打開(kāi),CPU根據由荷重傳感器檢測的質(zhì)量信號,與由按鍵設定輸入的粗細閾流值進(jìn)行比較判斷,先后控制關(guān)閉粗細閾。再由檢測的推包位置到和皮帶脈沖到信號,發(fā)出推包控制信號。另外,閾值設定和與上位機的通信在軟件中通過(guò)中斷來(lái)控制實(shí)現。物料的質(zhì)量由數碼管實(shí)時(shí)顯示。

  2 硬件電路設計

  根據系統的控制功能,并結合包裝機機械構件的工作原理,在軟件設計過(guò)程中,應力求硬件結構簡(jiǎn)單,控制可靠。軟硬協(xié)調,相得益彰。以下將對控制系統的CPU選擇及檢測部分、控制部分、顯示與閾值設定部分及串行通信部分的設計進(jìn)行介紹。

  2.1 CPU的選擇

  用戶(hù)要求包裝質(zhì)量精度比較高,即要求水漏質(zhì)量的測量具有很高的精度,這就要求系統的A/D轉換精度比較高。另外,在喂料過(guò)程中采用粗流細流兩種方式,CPU 需對粗流細流閾的設定值有掉電保護作用。美國Microship公司的能滿(mǎn)足系統的這些要求。內含10位的 A/D轉換器,價(jià)格便宜,外圍接口電路簡(jiǎn)單,轉換精度高,對本系統而言控制精度可達0.05kg。這帶有256字節的電何擦寫(xiě)的EEPROM存儲器。每次工作粗流細流閾值的設定值可以從EEPROM中讀出以前寫(xiě)入的設定值,或重新按鍵設定并寫(xiě)入EEPROM以備下次使用。另外PIC16F877有8K× 14bit的FLASH存儲器,386×8bit的數據SRAM及同步串行模塊。充足的資源可供以后開(kāi)發(fā)改進(jìn)??撮T(mén)狗可以對軟件運行出錯提供保護功能。 RISC(精簡(jiǎn)指令集計算機)指令易學(xué)易用。

  2.2 檢測電路

  檢測部分主要介紹模擬輸入電路和狀態(tài)檢測電路兩部分,電路如圖2所示。

檢測電路

  CPU的RA0、RA1、RA5為內部A/D轉換器的輸入,分別外接調零、調滿(mǎn)、質(zhì)量檢測電路,RA2、RA3連接外部參考電壓。電位器RW1、RW2用于電子秤的標定,定時(shí)檢查標定,以免影響精度。另外,質(zhì)量的測量主要從測量精度出發(fā),荷重傳感器輸出電壓(0~5mV)經(jīng)放大電路產(chǎn)生0~5V電壓,放大電路的微分環(huán)節是為了確保動(dòng)態(tài)垢過(guò)程中質(zhì)量測量的精度,用作動(dòng)態(tài)校正。電位器RW5可以調節滿(mǎn)值。放大電路如圖3所示。

放大電路

  包裝機系統的工作是個(gè)順序的過(guò)程,需要檢測一系列的狀態(tài)信號。的RE0、RE1、RE2口作為由電子秤外部產(chǎn)生的包準備好、推包位置、皮帶脈沖到狀態(tài)信號的檢測口。各種檢測回路中接有發(fā)交二極管,指示狀態(tài)檢測情況。

  2.3 顯示與閾值設定電路

  顯示電路在喂料時(shí)用于顯示物料質(zhì)量,在閥值設定時(shí)用于顯示設定值。閾值設定由按鍵設定來(lái)實(shí)現,電路如圖4所示。

顯示電路

  物料質(zhì)量是不斷變化的,要求可以時(shí)刻觀(guān)測質(zhì)量的值,且精度可達到0.05kg。采用4個(gè)數碼管顯示,單片機的D口輸出8位二進(jìn)制顯示值經(jīng)電阻送到數碼管數據線(xiàn)。另外RB口的RB1、RB2、RB3、RB4經(jīng)反相驅動(dòng)器ULN2003分別驅動(dòng)4個(gè)數碼管,作為片選信號。顯示時(shí)考慮到視覺(jué)暫存現象,每次顯示通過(guò)軟件延時(shí)200ms,使顯示得以正常工作。

  按鍵設定電路中,按鍵S3按下時(shí),粗流設定開(kāi)始,再按下時(shí),細流設定開(kāi)始,再按下就設定退出;按鍵S2、S1進(jìn)行設定值加減,并且每次按鍵按下都有對應的設定值通過(guò)數碼管顯示。如此工作完成對粗細流閾值的設定工作。

  2.4 控制電路

  本系統完成的控制有壓袋、推包、喂料、粗流下料等,分別由單片機雙向I/O端口的RC0、RC1、RC2和RC3輸出控制。單片機輸出的控制信號經(jīng)過(guò)三極管放大、光耦隔離、又一級三極管放大,分別驅動(dòng)控制繼電器K1、K2、K3和K4,使其按照控制的要求通電或斷電,繼而產(chǎn)生壓袋、粗流下料、喂料、推包等相應的控制動(dòng)作;同時(shí),在繼電器開(kāi)關(guān)回路中,接有發(fā)光二極管,用以顯示控制狀態(tài)。此控制電路中的光耦隔離,增加了系統的抗干擾性,也起到了保護作用。單片機的控制電路如圖5所示。

單片機的控制電路

  2.5 串行通信電路

  本系統還要完成與上位機串行通信的功能。上位機為工控機,用來(lái)監測各種狀態(tài)。設置單片機的串行通信接口SC1為可以與工控機進(jìn)行通信的全雙工異步系統。 SCI是一種利用RC6、RC7兩個(gè)引腳作為通信線(xiàn)的二進(jìn)制串行通信接口。把RC6和RC7分別設置成串行通信接口的發(fā)送/時(shí)鐘(TX/CK)線(xiàn)和接收/ 數據(RX/DT)線(xiàn),并把單片機的串行通信接口設置為從動(dòng)方式,由上位控制發(fā)送、接收。單片機通過(guò)響應中斷來(lái)實(shí)現與上位機的通信,其串行通信電路如圖6 所示。

串行通信電路

  串行通信接口(SCI)異步工作方式由以下重要部件組成:波特率發(fā)生器(BRG)、采樣電路、異步接收器、異步發(fā)送器。8位的BRG用來(lái)驅動(dòng)來(lái)自振蕩器的時(shí)鐘產(chǎn)生標準的波特率頻率。接收線(xiàn)RX(RC7)上的數據通過(guò)1個(gè)三中取二檢測電路對其采樣3次,以決定RX(RC7)引腳上的電平是高電平還是低電平。 SCI的發(fā)送器和接收器在功能上是獨立的,但它們所用的數據格式和波特率是相同的。串行通信接口采用標準的不歸零(NRZ)格式,即1位起始位、8位數據位和1位停止位。SCI接收和發(fā)送順序是從最低位(LSB)開(kāi)始的。

  3 軟件設計

  在軟件設計中,既綜合了系統的功能、性能要求及硬件電路,又考慮了軟件的易維護性。采用模塊化結構,并盡量做到模塊的獨立性,減少模塊之間的交疊。整個(gè)軟件設計由主程序、各個(gè)功能子程序、中斷服務(wù)程序組成。下面介紹主程序的設計及中斷服務(wù)程序的設計。

  3.1 主程序設計

  根據系統的工作原理,主程序由初始化、數據采集和處理、調零、調滿(mǎn)、讀設定值、顯示及檢測各種狀態(tài)位和控制各種狀態(tài)等幾部分組成。程序執行行中不循環(huán)檢測各種狀態(tài)位,并執行各種相關(guān)的子程序,完成控制任務(wù)。主程序流程如圖7所示。

主程序流程

  3.2 中斷服務(wù)程序設計

  在此系統程序設計中,中斷程序的設計是個(gè)難點(diǎn)。其中按鍵設定閾值產(chǎn)生外部中斷,另外與上位機的通信也采用中方式實(shí)現,還有同部的定時(shí)中斷??紤]到多種中斷,存在中斷優(yōu)先級的問(wèn)題,選用的PIC16F877單片機的中斷功能有其獨立特性,即它只有一個(gè)中斷入口地址0004h。每種中斷都要由此進(jìn)入中斷程序,因此中斷程序開(kāi)始現場(chǎng)保存垢,要進(jìn)行各種中斷村污位的順序檢測和判斷。當判斷到中斷標志位時(shí),轉到相應的中斷服務(wù)子程序中。根據檢測標志位的順序,可以人為地定義中斷優(yōu)先級。先判斷的優(yōu)先級就高。本系統根據實(shí)際情況,定義串行通信中斷優(yōu)先級最高,其次為定時(shí)中斷,然后是按鍵設定外部中斷,如圖8所示。

中斷服務(wù)程序

  另外,中斷存在嵌套問(wèn)題。由于中斷入口地址只有一個(gè),因此,當出現中斷嵌套時(shí),各級中斷返回的地址正確與否是很關(guān)鍵的。由調試過(guò)程,總結出要處理好每次中斷的現場(chǎng)保護和恢復現場(chǎng)是很重要的,并要注意其中的換頁(yè)位置。

  該系統結構簡(jiǎn)單,運行穩定可靠,控制精度高,具有完善的保護功能;可繼承性好,并為以后的技術(shù)改進(jìn)留有一定的資源;成本低廉,經(jīng)用戶(hù)試和反應良好。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>