基于MXT8051通用配料控制器的設計
引言
本文引用地址:http://m.butianyuan.cn/article/110392.htm混凝土是建筑行業(yè)最重要的材料,在混凝土的生產(chǎn)原料中,除水泥、沙石外最重要的原料當屬減水劑,減水劑是一種表面活性材料,加入后對水泥顆粒起擴散作用,把水泥膠體中包含的游離水釋放出來,雖然其在混凝土中比例微小,但作用巨大,可減少拌合用水,改善和易性,節(jié)約水泥,提高強度。
減水劑復配裝置主要解決的是減水劑的生產(chǎn)、稀釋、分裝等生產(chǎn)過程,目前多數(shù)減水劑復配裝置控制系統(tǒng)的解決方案是“重儀表+PLC+HMI”或“稱重儀表+工控機+IO板”的方案,在實施過程中發(fā)現(xiàn),這些方案成本高,穩(wěn)定性可靠性差,不適用于一些成本敏感的項目。
根據(jù)上述需求,本文以時代民芯科技的MXT8051芯片為核心設計并測試了通用配料控制器,其集成了稱重儀表、PLC、LCD顯示等功能,很好的滿足了減水劑復配控制的需求,如需應用到其他行業(yè),只需將軟件稍加修改即可。
總體方案設計
本文采用MXT8051芯片驅動稱重芯片,讀取稱重傳感器數(shù)值,根據(jù)預先設定的配方數(shù)據(jù)進行自動產(chǎn)品復配操作,包括自動加水、自動添加配料(固態(tài)或液態(tài))、自動攪拌、自動出料等操作。
系統(tǒng)使用16位7段液晶顯示器顯示重量信息、設定信息、狀態(tài)信息等,通過5個按鍵進行參數(shù)設定、系統(tǒng)標定、運行控制、顯示控制等操作。
配方可由RS232或RS485連接到上位機進行,上位機軟件可讀取、裝載配方數(shù)據(jù),也可實時讀取稱重數(shù)據(jù)。
上位機軟件采用VB.NET 2005開發(fā),可設置串行通信參數(shù)、測試控制器IO、讀取稱重數(shù)值、管理配方數(shù)據(jù)等。
硬件設計
MXT8051是以高速單指令周期 8051 為核的 MCU。擁有豐富的外設,包括 PWM、UART、WDT、Timer 等,1KB大容量外部RAM,內嵌 32Kx8 可在線編程 FLASH,10 位 ADC,8位DAC,若干OP,36x4 LCD driver、POR以及可編程增益放大器(PGA)等模擬電路。電路集成片上調試系統(tǒng),通過標準 JTAG接口,快速診斷復雜 SoC,該調試系統(tǒng)具有不占用任何硬件資源,支持全速運行、單步運行、硬件斷點、軟件斷點以及觀察內部特殊功能寄存器、程序指針和內部RAM 等功能。上位機通過標準 JTAG 接口以及用戶定義指令執(zhí)行在線編程和在線調試。
稱重專用芯片HX711
HX711是一款專為高精度電子秤設計的24位AD轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內時鐘振蕩器等其它同類型芯片所需的外圍電路,具有集成度高、響應速度快、抗干擾性強等優(yōu)點。
硬件電路設計
圖2 所示為系統(tǒng)硬件電路設計框圖,系統(tǒng)設計成兩塊電路板,IO板和MCU板。MCU板上集成有HX711稱重專用24位Σ-ΔDA轉換芯片,RS232或RS485通信,16位7段LCD顯示,IO板上集成有7路繼電器IO輸出,5路光電隔離IO輸入,一路模擬量輸出,2路模擬量輸入,1路PWM光電隔離輸出,5鍵鍵盤輸入。
HX711外圍電路以及電壓基準電路設計,采用TL431芯片,通過電阻設定成5V輸出,同時作為傳感器電橋激勵和HX711的參考電壓,這樣可以有效抵消溫漂造成的系統(tǒng)誤差(如圖3所示)。
軟件設計
控制器軟件設計
HX711芯片的串口通訊線由管腳 PD_SCK 和 DOUT 組成,用來輸出數(shù)據(jù),選擇輸入通道和增益。 當數(shù)據(jù)輸出管腳 DOUT 為高電平時,表明AD 轉換器還未準備好輸出數(shù)據(jù),此時串口時鐘輸入信號 PD_SCK 應為低電平。當 DOUT 從高電平變低電平后,PD_SCK 應輸入25至27個不等的時鐘脈沖(如圖4)。其中第一個時鐘脈沖的上升沿將讀出輸出 24 位數(shù)據(jù)的最高位(MSB),直至第 24 個時鐘脈沖完成,24位輸出數(shù)據(jù)從最高位至最低位逐位輸出完成。第25至27個時鐘脈沖用來選擇下一次AD轉換的輸入通道和增益,見表1。
PD_SCK 的輸入時鐘脈沖數(shù)不應少于25和多于27,否則會造成串口通訊錯誤。 當 AD 轉換器的輸入通道或增益改變時,AD轉換器需要4個數(shù)據(jù)輸出周期才能穩(wěn)定。DOUT 在4 個數(shù)據(jù)輸出周期后才會從高電平變低電平,輸出有效數(shù)據(jù)。
根據(jù)圖4所示的時序邏輯,讀取通道A,增益128倍,其讀取函數(shù)如下:
unsigned int ReadCount()
{
unsigned int ADval;
unsigned long Count;
unsigned char i;
PCR0 = 0xFB; //避免與I2C總線沖突
ADSK = 0;
Count = 0;
while(ADDO);
for (i=0;i<24;i++)
{
ADSK = 1;
Count = Count<<1;
ADSK = 0;
if(ADDO) Count++;
}
ADSK = 1;
;
ADSK = 0;
//判斷是否為負值,并顯示符號
if((Count & 0x800000) == 0x800000)
{
Count = ~(Count - 1);
LCDDATA16 |= 0x80;
}
else
{
LCDDATA16 = 0x00;
}
ADval = (int)(Count >> 8);//取高十六位有效值
B_AdFinish = 1;
return(ADval);
}
主程序流程如圖5所示。
程序主要由初始化代碼和主循環(huán)代碼構成。
上位機軟件設計
上位機軟件采用VB.NET 2005開發(fā),主要功能為串行通信參數(shù)設置、IO測試、稱重數(shù)值讀取、配方數(shù)據(jù)管理。
軟件運行界面如圖6所示。
該軟件的固件技術為串行指令的接收和發(fā)送,指令包括IO設定指令、IO狀態(tài)讀取指令、稱重數(shù)值讀取指令、配方數(shù)據(jù)寫指令、配方數(shù)據(jù)讀指令,其代碼實現(xiàn)如下:
'0.5秒定時發(fā)送 讀重量指令
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
command(0) = &H5A
If SerialPort1.IsOpen Then
SerialPort1.Write(command, 0, 1)
End If
End Sub
十六進制數(shù)5A 表示讀取控制器的稱重數(shù)值;
'IO輸出 指令
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
command(0) = &HF9
Else
command(0) = &HF1
End If
If SerialPort1.IsOpen Then
SerialPort1.Write(command, 0, 1)
End If
End Sub
十六進制數(shù)F?表示該指令為IO輸出指令,其中第3位數(shù)據(jù)表示開關狀態(tài),1表示閉合,0表示斷開,0,1,2位合起來表示IO通道號;
'讀取輸入信息
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
command(0) = &HF0
If SerialPort1.IsOpen Then
SerialPort1.Write(command, 0, 1)
End If
End Sub
十六進制數(shù)F0表示該指令為IO狀態(tài)讀取指令,當單片機接到此指令時,立即發(fā)送重量信息給上位機,格式如下:“I_?”,其中 ?即各個IO的狀態(tài),用1表示接通,0表示關斷。
結語
目前,我國半導體產(chǎn)業(yè)落后于西方巨頭,時代民芯作為國產(chǎn)半導體產(chǎn)業(yè)的領軍企業(yè),擁有雄厚的基礎,本文以時代民芯科技的MXT8051單片機為核心,研發(fā)通用配料控制器,因為該芯片擁有豐富的片內資源,可以簡化設計,同時,選用國產(chǎn)芯片,也是為民族半導體產(chǎn)業(yè)振興添磚加瓦。
本文的通用配料控制器,除了可以提高減水劑復配效率,改善產(chǎn)品質量外,還可應用于其他相關的物料復配行業(yè)。此外,由于設計和測試時間有限,該控制器設計中還存在很多遺憾,有很大改進空間,比如:可以應用片內運放調節(jié)零點,提高稱重精度;也可以將開關電源集成入控制器,這樣可進一步降低用戶成本,并節(jié)省空間。
參考文獻:
【1】MXT8051芯片數(shù)據(jù)手冊,時代民芯科技,2009年
【2】HX711中文 數(shù)據(jù)手冊,芯海科技,2006年
【3】51單片機C語言應用開發(fā)技術大全,人民郵電出版社,劉坤等,2008 年
【4】Visual Basic 2005高級編程,(美)Bill Evjen, Billy Hollis, Rockford Lhotka 等 ,2006 年
51單片機相關文章:51單片機教程
c語言相關文章:c語言教程
稱重傳感器相關文章:稱重傳感器原理
評論