基于AVR的精密數字壓力表的設計
該文提出了 一種以ATMEGA32單片機為控制核心的新型精密數字壓力表的設計方法。介紹了該系統整體結構和利用單片機 實現多機通信的工作原理及軟硬件設計。
1.引言
在科技飛速發展的今天,新技術、新產品層出不窮,尤其是電子技術的發展給我們的生活帶來了巨大的變化,計算機微處理器 技術的發展使人類許多夢想變成現實。在儀器、儀表行業,從前單功能的模擬儀器儀表正向著數字化、多功能、智能化方向發展。當 前,在許多需要長時期工作的儀表設計中,儀表的功耗與精度是設計者首先面臨的問題,在精度滿足要求的前提下,選擇低功耗、微 功耗元件及處理器,并在設計時應用低功耗思想成為必然的選擇。下面就筆者在設計數字式壓力表中應用的技術簡要予以介紹。
2.壓力表構成
在壓力表的整個設計過程中,我們始終圍繞微功耗、高性能這一核心來完成項目指標。
所采用的硅壓陽式壓力傳感器抗過載和抗沖擊能力強、溫度漂移小、穩定性高,具有很高的測量精度,由于其具有體積小、安裝 使用方便、靈敏度高、性能穩定等特點,所以在各種正負壓力測量中得到廣泛應用。
MCU采用ATMEGA32,ATMEG32大多數指令執行時間為單個時鐘周期,硬件乘法器只需兩個時鐘周期,32K字節的系統內可 編程Flash及1024字節的EEPROM,其擦寫壽命分別可達10,000次與100,000次。多達6種睡眠模式:空閑模式、ADC噪聲抑制模 式、省電模式、掉電模式、Standby模式以及擴展的Standby模式,速度可達16MHz,是一款名副其實的高性能、低功耗的微處理器。
MCP4921是一款帶串行接口的12位D/A轉換芯片,其設定時間快至4.5us,精度可達±0.2 LSB DNL,±2 LSB INL,兩種增益輸 出模式,多用于一些要求高精度的工業場合。
HT1621是128點內存映象和多功能的LCD驅動器,HT1621 的軟件配置特性使它適用于多種LCD應用場合包括LCD模塊和 顯示子系統,用于連接主控制器和HT1621的管腳只有4或5條,
重要的是HT1621還有一個節電命令用于降低系統功耗。
美信公司的MAX232收發器所具有的低電源、多通道特點又 為實現低功耗、多機通訊提供了條件。系統框圖如圖1。
3.V/I轉換電路
將一個電壓源信號線性地轉換為電流源信號,在儀器儀表及 自動化系統設計中經常會遇到。對這種電路的基本要求是:
1)輸出電流與輸入電壓成正比;
2)輸出電流為恒流源。即當負載電阻在規定范圍內變化時,
輸出電流保持不變;
3)輸出電流對電源變化、環境溫度等的變化不敏感。
一般地,還要附加一個要求,即輸入電壓與輸出電流共地。
一種典型的V/I變換器要求將1~5V輸入電壓線性地轉換為4~
20mA電流源輸出,基本精度在0.3%以內;當負載在0~300D變化 時,輸出電流變化應在規定精度之內。
依此要求我們設計了一種實用化電路(框圖如圖2),其電路 原理在此不再做詳細介紹,經過按照此電路設計的產品驗證,其 精度在要求范圍內,有很好的性價比。
4.多機通信實現
隨著計算機技術和通訊技術的發展,目前在工業過程控制、數據采集、辦公自動化等方面,都出現了利用計算機和單片機組成 主從式系統,以實現集中監控和無紙辦公.在這些系統中,單片機一般是充當從機,用于執行數據采集、處理和控制,而計算機則用于 人機接口管理和系統資源的高層摳制(數據的存儲和檢索、顯示界面的更新、從機的調度等)。這類系統中計算機與單片機的數據通 訊技術是決定整個系統性能的關鍵。
4.1 RS-232串行總線接口
目前RS-232是PC機及通信工業中應用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通信中增加通信距離的 單端標準。RS 一 232采取不平衡傳輸方式,即所謂單端通信。典型的RS-232信號在正負電平之間擺動,在發送數據時,發送端驅動 器輸出正電平在+5V~+15V之間,負電平在-5V—15V之間。當無數據傳輸時,線上為TTL電平,從開始傳送數據到結束,線上電平 從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3V~+12V與-3V—12V之間。經典RS-232接口是為點對 點(即一對收、發設備)通信而設計的。
4.2計算機和單片機通訊接口硬件電路
由于計算機的串行口是采用RS-232C標準,其電器特性與單片機的TTL電平不同,如要互連,必須進行電平轉換。這種電平的 轉換有多種方式,可以采用標準的RS-232C電平轉換器MC1488和MC1489來完成,也可以采用三極管等分立件組成電路進行電 平轉換,還可以利用集成的RS232接口芯片進行電平轉換,本設計就采用了 MAXIM公司的MAX232。綜合各種方式,利用標準的 1488和1489需要正負12V電源;利用分立件組成電路,故障點較多;因此,利用集成的接口芯片是最好的選擇。
4.3 一對多RS-232串口電路的實現
為了實現1臺PC機與多個從機進行數據通信,將各主、從系統的RS-232通信電路按下圖所示進行設計。每個從機使用1個 驅動器作為回送主機驅動電路(圖中驅動器1),使用另一驅動器作為驅動下一從機的驅動電路(圖中驅動器2)只使用1個接收器作 為接收轉換電路。具體方案如下:
主機發送回路TXD:將主機發送TXD及第3腳連接到第1個從機MAX232的接收器。接收器的輸出分為2路,其中l路輸 入到從機的CPU,而另l路再輸人到其MAX232的驅動器2,再將驅動器2的輸出輸入到下一從機接收器。如此將所有從機串聯起 來。這樣主機的負載與點對點時是一樣的,從而大大地減輕了主機的負載;并且傳送距離由主機和各從機共同承擔,相對而言縮短 了傳輸線路的長度,減小了線路上的分布電容,增強了驅動能力,可靠性也得到了提高。
主機接收回路RXD:因各從機在待機時驅動器輸出都處于 低電平,若將它們直接并接到主機的RXD,則當某一從機收到命 令要向主機回送數據時,其驅動器輸出因被其它從機驅動器輸出 拉死在低電平而不能送出高電平。因此,各從機MAX232的驅動 器l輸出需經二極管隔離后再并聯在一起,連接到主機的第2腳 RXD。這樣,各從機驅動器輸出之間的電平互不干擾,且每個從機 回送數據的負載與點對點時也相同。
4.4通訊軟件設計
1)計算機通訊軟件的設計
計算機上通訊軟件可以使用Windows的API函數來實現。其 中用到的函數有:GreatFile,ReadFile,WriteFile,PurgeComm,Get- CommState,SetCommState.這些函數的使用可以參考編程語言的相關資料,設計時主要是對串口參數的設定需要根據與單片機通訊的特點,設置波特率、每幀信息為II位(8位數據位,I位起始位,I 位結束位,還I位第9位),注意這里的第9位是用奇偶校驗位來區分地址幀還是數據命令幀。這種通訊方式可以采用累加和的校驗 方法進行數據的可靠性校驗。
2)單片機通訊軟件的設計
單片機的通訊軟件設計中,使用了串口中斷方式來完成通訊的收發。定時器I(T1)作為波特率發生器,串行口設置為方式2或方 式3,由第9位區分地址幀還是命令幀。當某臺單片機的地址與計算機發出的地址一致時,這臺單片機就發出應答信號給計算機,這 樣就可以實現計算機和多臺單片機的通訊了。
本電路設計為一對多通信方式,每個從機分配一個不同的地址,地址碼和通信數據中的字符不能相同或沖突。主機可呼叫每 一個從機,從機不能呼叫主機,從機之間不能通信。
4.總結
本系統以ATMEGA32為核心,對壓力傳感器發送過來的信號進行處理。可利用液晶和按鍵或PC機界面實現人機交互。主要功 能包括壓力檢測、量程設置、峰值設置、報警設置、與PC機通訊等。通過RS-232總線實現了單片機和PC機的多機通信,具有很高 的測量精度;且系統的硬件電路簡單,軟件編程可靠,具有較高的實用價值。
上一篇:壓力表的正確選擇與安裝
下一篇:精密壓力表誤差分析