谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

基於TM7705的高精度AD轉換稱重器在水泥包裝機中的應用

發布時間:2021-06-30 13:50:43 |來源:網絡轉載

0引言
在現有水泥包裝機的稱重器中總結有如下問題:AD數據采集轉換器精度不夠,影響整體稱重效果,自行設計轉換器導致電路複雜,成本上升;顯示部分采用驅動芯片和達林頓管擴流設計,使電路板麵積、成本均增加;普通鍵盤采用矩陣式設計,程序查詢單片機端口並響應中斷,導致程序執行時間較長,在生產中出現死機、設定值不能寫入等情況。本設計就是在實際生產中針對以上問題,並考慮信號輸入範圍、信號放大、轉換精度、程序執行、製作成本等因素,提出的如下解決方案。
1控製硬件電路設計
該設計以51係列單片機為核心,數據采集係統中應用TM7705對壓力傳感器的毫伏級信號進行采集。這裏充分利用了TM7705的內置前置放大器放大倍數可以隨時由程序更改的特點,根據係統精度要求對TM7705的輸入通道進行設定增益,然後計算所需數據。顯示電路由數碼管顯示驅動芯片CH451采用動態掃描動態驅動5位數碼管,由8/3線八進位優編碼器74LS148,通過外部中斷“0”進行鍵盤輸入。硬件電路連接如圖1所示。

包裝機硬件電路鏈接圖

包裝機硬件電路鏈接圖

1.1AD數據采集轉換電路
TM7705利用Σ-△轉換技術實現了16位無失碼性能。該器件可以接受直接來自傳感器的低電平的輸入信號,然後產生串行的數字輸出。TM7705為4.75~5.25V單電源。TM7705是雙通道全差分模擬輸入,有一個差分基準輸入。當電源電壓為5V、基準電壓為2.5V時,它的雙極性輸入信號範圍是±10mV~±1.225V。TM7705以AIN(-)輸入端為參考點,增益值可編程:1~128、信號極性以及更新速率的選擇可用串行輸入口由軟件來配置。該器件還包括自校準和係統校準選項,以消除器件本身或係統的增益和偏移誤差。
傳感器直接與TM7705的輸入端相連。由於模擬輸入和基準輸入是差分的,模擬調製器的大部分電壓都是共模電壓,TM7705良好的共模抑製性能能消除這些共模輸入信號裏的共模噪聲,數字濾波器能抑製供電電源產生的除了調製器采樣頻率整數倍的頻率以外的寬帶噪聲。P1.0口是外部的串行時鍾發送脈衝給SCLK的輸入端口,以訪問TM7705的串行數據。2.4576MHz晶振接在CLKIN和MCLKOUT二引腳之間。注意在讀寫過程中串行數據的傳輸順序為高位在先,低位在後。在讀取A/D轉換結果時,需先檢測DRDY位,隻有在該位為低電平時,才能讀取已更新的A/D轉換結果。通過向CS加低電平,TM7705串行接口能在三線模式下工作,CLK、IN、OUT線用來與TM7705進行通信。
1.2CH451驅動顯示電路
數碼管驅動芯片CH451與單片機的連接如圖1
所示。CH451對數碼管采用動態掃描驅動,順序為DIG0~DIG7,當其中一個引腳吸入電流時,其它引腳則不吸入電流。CH451內部具有大電流驅動級,段電流不小於25mA,字電流不小於150mA,可以直接驅動0.5英。段驅動引腳SEG0~SEG6分別對應數碼管的段A~G,段驅動引腳SEG7對應數碼管的小數點,字驅動引腳DIG0~DIG7分別連接5個數碼管的陰極。CH451的段驅動引腳串接的200Ω電阻用於限製和均衡段驅動電流。
CH451的串行接口是由硬件實現的,單片機可以頻繁地通過串行接口進行高速操作,而不會降低CH451的工作效率。將TXD與DCLK連接可提供串行時鍾,以使CH451在其上升沿從DIN輸入數據,並在其下降沿從DOUT輸出數據。LOAD用於加載串行數據,CH451一般在其上升沿加載移位寄存器中的12位數據以作為操作命令進行分析和處理。也就是說,LOAD的上升沿是串行數據幀的幀完成標誌,此時無論移位寄存器中的12位數據是否有效,CH451都會將其當作操作命令來處理。應注意的是,在級聯電路中,單片機每次輸出的串行數據必須是單個CH451的串行數據的位數乘以級聯的級數。
1.3優先編碼器74LS148擴展中斷
標準的51係列單片機隻有2個外部中斷輸入端。而當係統的外部中斷源大於或等於3個時,則考慮通過中斷擴展獲得更多的外部中斷端口。該係統由8/3線八進位優編碼器74LS148,通過外部中斷“0”進行鍵盤輸入。1片74LS148連接有8個按鍵,分別是“清零”、“瞬時計重”、“設置”、“複位”、“計重”、“↓計數”、“+”、“—”鍵,用來完成用戶與係統的通信,方便用戶對稱重器的數值設置,控製係統的一切行為。
2軟件程序設計
該控製係統具備瞬時計重顯示、自動清零、目標值設定、袋數記憶、總重記憶等多種功能。其程序如下:
#include
#define nop _nop_();
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define th0_con 0xfe //500us定時
#define tl0_con 0x1c
#define t0_times 8 //4ms選通切換
//AD轉換器SPI總線定義
sbit tmdrdy= P1^4; //AD轉換準備完畢信號
sbit tmrst=P1^1; //AD轉換器複位信號
sbit tmlk = P1^0; //AD轉換器時鍾信號
sbit tmdin= P1^2; //AD轉換器數據輸入輸出口(複用)
uchar drdy,dat0_7705,dat1_7705;
sbit buzzer=P1^7; //蜂鳴器控製(高電平開)
sbit chload=P0^0; //CH451 load
sbit rxd1=rxd; //CH451 din
sbit txd1=txd; //CH451 dclk
float idata dianya; //AD轉換電壓值
float idata auto_shuju; //AD轉換讀取16進製值
void display(uchar xs_data,uchar xs_contrl);
uint rd_7705(void);
uchar rd_7705_b(void);
voidwr_7705(uchar x);
void ad7705_int(uchar pga);
uchar read_7705(void);
uint sam_7705(void);
void cath(void);
void delay(uint i);
uint rd_7705(void);
void main(void)
{
buzzer=0;
TMOD=0x21;
TH0=th0_con;
TL0=tl0_con;
ET0=1;
TR0=1;
EA=1;
reset=0;
delay(50);
reset=1;//AD7705複位命令
nop;
nop;
⋯⋯
}
3總結
該係統中的元件以低耗、高能、耐用、精確、易於操作等為優先考慮因素,經對實驗樣機的多次檢驗,證明該設計合理、結構簡單、故障率低、操作簡單、袋重合格率高、成本相對較低,達到了設計的預期目標,並且具有較好的通用性。
在實際自作時應注意:若電路板為雙麵板,要把模擬地和數字地嚴格分開,隻在最後一點與電源地相連,地線盡量寬;TM7705的自校準功能能有效地抑製漂移,在編程時要定期進行校準;有條件的場合應做到印製線路板每一器件的“單點接地”,並且TM7705的器件下麵不走信號線。

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8