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