崔勇 張振華/內(nèi)蒙古烏海熱電廠
基于單片機控制的簡易繪圖儀
崔勇 張振華/內(nèi)蒙古烏海熱電廠
本文設(shè)計的是由MCS-51系列單片機控制兩臺步進電動機聯(lián)動進行繪圖的控制系統(tǒng)??梢杂糜诮鉀Q一些工控輔助設(shè)備中位置變化的控制工作。用單片機系統(tǒng)控制X-Y平面繪制圖形主要解決三個問題:數(shù)據(jù)輸入、數(shù)據(jù)處理(包括直線和圓弧差補)、脈沖分配。數(shù)據(jù)輸入部分主要師BCD碼撥盤和按鍵輸入;數(shù)據(jù)處理由單片機中央處理器完成。脈沖分配主要用兩臺步進電動機做X-Y軸聯(lián)動表現(xiàn)出來。
AT89C51;步進電機;X-Y平面繪圖
該設(shè)計是數(shù)控技術(shù)的一種基本方法的簡單應用,采用了MCS-51系列單片機最小系統(tǒng),由于控制部分所用接口較多,加裝了一片8155可編程并行I/O芯片進行擴展。輸入控制部分采用了鍵盤及其BCD碼撥盤輸入,來控制繪圖儀的工作。作為輸入控制的鍵盤一共用了四個按鈕開關(guān),用8155的PA口和PB口完成鍵盤的輸入。每當檢測到有鍵盤輸入就產(chǎn)生一個中斷,中斷送入CPU的INT0端口,鍵盤的去抖動通過CPU用軟件實現(xiàn)。CPU的輸出電壓控制字先送到8155,作為控制端。
采用了步進電機作為驅(qū)動器件,無須位置和速度檢測器件,也沒有反饋電路,控制電路簡單,價格低廉。步進電機和現(xiàn)代數(shù)字控制技術(shù)相結(jié)合,可以發(fā)揮其結(jié)構(gòu)簡單,可靠性高和成本低的優(yōu)點。
機械原理框圖如圖所示:
系統(tǒng)采用單片機控制整個過程的運行。數(shù)據(jù)輸入由BCD碼撥盤來實現(xiàn),具有方便快捷等優(yōu)點??刂撇糠钟砂存I組成。由驅(qū)動電路驅(qū)動兩臺步進電動機在平面內(nèi)做X-Y軸聯(lián)動,繪出所要的圖形。
1.單片機時鐘和復位電路。單片機時鐘引腳外接晶體和片內(nèi)的反相放大器構(gòu)成了一個振蕩器,它提供單片機的時鐘控制信號。電容的大小直接影響振蕩器頻率的高低和穩(wěn)定性,本機采用了NPO高頻電容,典型值為30P,晶體陶瓷振蕩器數(shù)值為6MHz。
復位電路為單片機提供了初始化手段,由了它便可以使程序從指定處開始執(zhí)行,即從程序存儲器鐘的0000H地址開始執(zhí)行程序。在時鐘電路工作后,只要在RST引腳上出現(xiàn)兩個周期以上的高電平時,單片機內(nèi)部則初始化復位。只要RST保持高電平,則單片機循環(huán)復位。
只有當RST低電平時,MCS-51才執(zhí)行程序。
圖中復位引腳RST通過施密特觸發(fā)器抑制噪聲,它輸出每個機器周期的S5P2,由復位采樣一次。共采用了上電和手動復位兩種方式。
2.系統(tǒng)的數(shù)據(jù)輸入。本設(shè)計的數(shù)據(jù)輸入采用了十進制BCD碼撥盤,提供個、十、百、千位的數(shù)據(jù),簡單有效,容易操作。4片碼撥盤的輸出端接入同一個4與非門。輸出8、4、2、1端分別接入P1.3、P1.2、P1.1、P1.0。其余的P1.6、P1.5、P1.4分別與千百十個位BCD碼撥盤的控制端相連。當選中某位時,該位的控制端置0,其它三個控制端置1。因此撥盤所配置之數(shù)字輸出位BCD反碼,通過與非門輸出該位的BCD碼值。
當將多個碼撥盤數(shù)據(jù)線連接在一個數(shù)據(jù)總線上時,如果不能進行有效的電氣隔離,數(shù)據(jù)之間會相互影響,導致讀入錯誤和邏輯電平?jīng)_突,使得整個系統(tǒng)癱瘓。利用非門電路和二極管很好地解決了這個問題
3.驅(qū)動部分電路設(shè)計。接口電路采用了同向驅(qū)動器4N25輸入端作為驅(qū)動口,光電耦合器輸入端電流一般位10~15毫安,發(fā)光二極管的壓降位1.2~1.5伏。使用、控制步進電機必須由環(huán)形脈沖,功率放大器等組成的控制系統(tǒng),占空比決定電機轉(zhuǎn)速。
單片機作為系統(tǒng)的控制核心,鑒于前面的硬件設(shè)計,根據(jù)系統(tǒng)的具體要求和性能指標。系統(tǒng)運行過程鐘,8155的PA口、PB口讀出繪圖所需數(shù)據(jù),該數(shù)據(jù)由BCD碼撥盤輸入得到,數(shù)據(jù)包括了圖形的有關(guān)數(shù)據(jù)。通過程序來繪制圖形,具體包括下列子程序:BCD碼盤程序、鍵盤掃描程序、8155讀數(shù)程序、直線圓弧插補程序及步進電機控制程序。
列舉如下:
1.主程序。
2.BCD碼盤子程序。
3.鍵盤掃描子程序。
4.插補算法處理子程序。
以下為部分程序流程圖,具體程序清單限于篇幅,沒有寫出。
[1]易繼鍇:《智能控制技術(shù)》,北京工業(yè)大學出版社.
[2]王新賢:《通用集成電路速查手冊》,山東科學技術(shù)出版社.
[3]唐澤圣:《計算機圖形學基礎(chǔ)學基礎(chǔ)》,清華大學出版社.
[4]陳粵初:《單片機應用系統(tǒng)設(shè)計與實踐》,北京航空航天大學出版社.
崔勇(1977),男,吉林省人,畢業(yè)于長春工程學院,工程師,現(xiàn)從事電廠檢修工作。