通過對使用環境的考察,設計了一種雙層CPU控制的智能工業電子秤.分析了該秤的硬件控制電路 和軟件的設計情況,采用串行通訊實現了雙GPU之間的數據交換.
作為重量測量儀器,智能電子秤在各行各業中 呈現出測量精度高、測量速度快、操作簡單易學、可 以實時監控的優點,正逐漸取代傳統的機械杠桿測 量秤成為主流產品.和普通民用電子秤比較,工業用 電子秤更注重抗干擾設計.本文設計了一種應用于 工業生產線自動打包機上的智能自動稱量電子秤. 它將現代傳感器技術、電子技術和計算機技術融為 一體,能滿足“快速、準確、連續、自動”稱量的要求, 同時能有效地消除人為誤差,滿足計量管理和工業 生產過程控制的要求.
1.系統功能分析
本系統適用于需要自動稱量物品重量的場合, 重點提高速度、精度、穩定性和可靠性,并與自動包 裝機外圍設備相配套.本設計主要針對某藥廠自動 打包機的稱重環節進行,采用自動稱量.系統功能示 意圖如圖1,主要包括智能電子秤控制器和外圍控 制機構2部分.當系統檢測到有鍵盤輸入稱量的數 值并檢測到量具為空時,開始進行自動稱量,漏斗內 的物品(顆粒狀或粉末狀)開始下降到量具中,重量 達到鍵盤預設值后,相應的開關動作,電機運轉,控 制升降臺下降,傳送帶移動,并有報警提示,下一個 量具移到漏斗下方.重復上一次的操作即可實現自 動稱量并進行報警提示.
2.系統硬件設計
為了避免輸入數據與輸出顯示之間互相干擾, 設計時采用了雙CPU和串行通信技術.系統整體 電路包括:電源控制電路、語音報警電路、單片機輸入輸出控制電路、串行通信控制電路、曰歷時間電 路(附加功能)、鍵盤輸入電路和數碼管顯示電路等, 如圖2所示.主要模塊有:電源控制模塊、原始數據采 集模塊、濾波和放大電路、A/ D轉換模塊、單片機控 制模塊、輸入電路模塊、輸出控制模塊等.電源控制模 塊主要將220 V的交流電轉換為單片機使用的12 V 和5 V的直流電;原始數據采集模塊實現對壓力的測 量和容器的檢測,由壓力傳感器和紅外傳感器實現; 濾波和放大電路主要通過調整電路將采集到的有用 信號放大,過濾掉沒用的噪聲信號;A/ D轉換電路主 要將電壓信號轉換為數字信號,以便于單片機控制; 單片機控制模塊主要進行信息的響應、處理和控制; 輸入控制模塊主要是按鍵的設計及識別;輸出控制模 塊完成報警、顯示及相應的開關動作。
電子秤的硬件原理電路如圖3所示.它采用兩 個單片機控制組成雙層系統.內層單片機完成數據 采集、數字濾波、標度變換、零點跟蹤、重量顯示等任 務;外層單片機通過與內層單片機的數據通信,獲得 重量數值并完成前述工作.本系統以雙CPU作為 控制中心,單片機為核心程序存儲器.放大器由四運 放組成.轉換器采用A/D轉換器.鍵盤、顯示器接口 選用芯片顯示器,共設置兩組5位數碼管顯示器,一 組顯示通過鍵盤設定的值,另一組顯示實際測量值; 鍵盤采用20按鍵設計,能滿足設計的輸入要求和中斷要求.
本設計采用電阻應變式稱重傳感器.根據電阻 應變計原理,將4片應變片分別貼在彈性梁上,組成 全橋平衡電路.橋路電壓選用兩極穩壓,第一級選用 W7815輸出15 V電壓,第二級采用AD581精密穩 壓電路輸出10 V電壓,以保證供橋電源的精度.來 自傳感器的微弱電壓信號送入放大器被放大成 0 V?10 V信號,以滿足V/F轉換器的輸入要求. 放大器選用LF444四運放,接成差動放大電路。
3.系統軟件設計
軟件系統設計的基本思想是充分利用單片機控 制的優勢,實現稱重過程的一系列要求,提高系統的 可靠性.軟件系統由主程序、中斷服務程序、顯示程 序、鍵識別及鍵功能程序、運算程序等模塊構成. 在主程序中,首先進行整機自檢及初始化,然后判斷 定時時間是否達到0.5 s,如達到0.5 s,則轉入各功 能程序進行稱量并進行其他處理;否則,直接進入顯 示程序.而后判別有無鍵按下,若有,則進入鍵識別 及鍵功能處理程序;如無,則返回主程序開始端.主 程序流程框圖如圖4所示.A/D轉換器采用連續采 樣、定時計數的方式工作,定時周期為0.5 s.設置單片機的T0為定時器,當定時時間為0. 5 s時,產生 定時中斷,在中斷服務程序中由單片機取回重量信 號,進行標度變換后存入內存,并置0.5 s到”標志, 然后返回主程序,進行其他操作.
單片機之間雙向通信的主程序如下:
神 include〈reg51. h^>
井 define uint unsigned int 神 define uchar unsigned char sbit LED1 = P103 ; sbit LED2 = P1^3 ; sbit K1 = P1^7 ; uchar Operation NO = 0 ; uchar code DSY_CODE□二 {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f
void Delay (uint x)
{
uchar i; while(x )
{
for(i = 0 ; i〈120 ; i+ + );
}
}
void putc to SerialPortCuchar c)
{
SBUF 二 c; while(TI = = 0);
TI 二 0;
}
void mainC)
{
LED1 二LED2二1;
P0 二 0x00;
SCON 二 0x50;
TMOD 二 0x20;
PCON 二 0x00;
TH1 = 0xfd;
TL1 = 0xfd;
TI 二 0;
RI = 0;
TR1 二 1;
IE = 0x90; while(1)
{
Delay(100); if(K1 = = 0)
{
while(K1= =0);
Operation _NO = ( Operation _NO +
1)%4;
switch (Operation_NO)
{
case 0 :
putc to Serial Port CX');
LED1 = LED2 = 1; break; case1 :
putc to SerialPort'A');
LED1 = 0 ; LED2 = 1; break;
case 2:
putc_to_SerialPort('B'); LED2 = 0 ; LED1 = 1 ; break ; case 3:
putc to SerialPortC'CQ ; LED1 = 0 ; LED2 = 0 ; break ;
if(SBUF> = 0& &SBUF< = 9) P0 = DSY』ODE[SBUF]; else P0 = 0x00;}
}
void Serial INTO interrupt 4
{
if(RI)
{
RI = 0 ;
4.結語
本設計選擇了高性能、低價格的元器件,并充分 利用了雙層單片機的控制優勢,提高了電子秤的性價 比和電子秤的自動化水平.由于在設計中考慮了測量 信號的遠距離隔離傳送,所以適合在工業環境下應 用.雙層CPU結構使兩個CPU相互獨立又相互聯 系,便于并行處理多種任務.由試制的第一臺電子秤 的現場服務情況來看,該秤功能齊全,運行穩定,基本 實現了設計功能,完全滿足用戶自動稱量的要求。