廖智舟
(柳州鐵道職業(yè)技術(shù)學(xué)院自動(dòng)控制學(xué)院,廣西柳州,545000)
滑動(dòng)變阻器在電學(xué)實(shí)驗(yàn)電路中使用廣泛,在電路中起到分壓或者分流的作用。使用的時(shí)候,一般和電壓表或者電流表連在同一個(gè)電路中,用手滑動(dòng)滑動(dòng)手柄調(diào)節(jié)電阻大小,從而把電壓或電流調(diào)節(jié)到某個(gè)值。本設(shè)計(jì)能實(shí)現(xiàn)通過按向左或向右運(yùn)動(dòng)按鍵控制電動(dòng)機(jī)來拖動(dòng)滑動(dòng)手柄,從而調(diào)節(jié)滑動(dòng)變阻器的電阻,減少用手滑動(dòng)的麻煩。在電學(xué)實(shí)驗(yàn)中,常常需要在原來接入滑動(dòng)變阻器的電路的位置接入某個(gè)阻值的電阻,并且有時(shí)候希望能改變?yōu)槠渌柚?。本設(shè)計(jì)可以設(shè)定阻值然后在滑動(dòng)變阻器上準(zhǔn)確地自動(dòng)調(diào)節(jié)出該阻值的電阻,不用重新連接電路,使得做實(shí)驗(yàn)更加方便、快捷。
本設(shè)計(jì)由左右滑動(dòng)控制系統(tǒng)和給定阻值系統(tǒng)組成。左右滑動(dòng)控制系統(tǒng)可以在按下向左或向右按鍵后使得電動(dòng)機(jī)帶動(dòng)滑動(dòng)手柄向左或向右運(yùn)動(dòng),實(shí)現(xiàn)手動(dòng)控制功能。該系統(tǒng)由單片機(jī)模塊、控制按鍵和電動(dòng)機(jī)拖動(dòng)模塊組成。給定阻值系統(tǒng)能輸入需要調(diào)到的阻值,顯示在顯示器上,并且自動(dòng)調(diào)節(jié)滑動(dòng)變阻器到該阻值,實(shí)現(xiàn)阻值設(shè)定自動(dòng)調(diào)節(jié)功能。該系統(tǒng)由鍵盤、顯示器、分壓電阻電壓測(cè)量模塊和電動(dòng)機(jī)拖動(dòng)模塊組成。左右滑動(dòng)控制系統(tǒng)的控制按鍵與給定阻值系統(tǒng)的阻值輸入按鍵是在同一個(gè)鍵盤上。電動(dòng)機(jī)拖動(dòng)模塊和鍵盤是兩個(gè)系統(tǒng)共用的,只是控制程序不同。另外,這兩個(gè)系統(tǒng)使用時(shí)是分開的,使用切換按鍵進(jìn)行功能切換。
本設(shè)計(jì)硬件部分由單片機(jī)模塊、分壓電阻電壓測(cè)量模塊、電動(dòng)機(jī)拖動(dòng)模塊、鍵盤與顯示器通過電路連接而成,具體電路見圖1。
圖1 系統(tǒng)電路原理圖
單片機(jī)模塊是本設(shè)計(jì)的核心部分,是整個(gè)設(shè)計(jì)的中樞。單片機(jī)通過執(zhí)行程序?qū)崿F(xiàn)功能。鍵盤和分壓電阻電壓測(cè)量模塊向單片機(jī)輸入數(shù)字信號(hào),單片機(jī)接收、處理信號(hào),再向顯示器輸出數(shù)字信號(hào),或者向電動(dòng)機(jī)拖動(dòng)模塊發(fā)送正反轉(zhuǎn)命令信號(hào)。
該模塊使用的主要器件是AT89C51 單片機(jī)。這種單片機(jī)是一種將多功能8 位微處理器和閃速存儲(chǔ)器組合在單個(gè)芯片中的高效微控制器。它與MCS-51 指令集相兼容[1]。其包含的128×8 位內(nèi)部RAM 能夠滿足本設(shè)計(jì)的數(shù)據(jù)處理要求。它的32 個(gè)可編程I/O 線能夠滿足該模塊與其它模塊進(jìn)行信號(hào)交換。
該模塊除了與其他模塊連接的電路以外,本身具有單片機(jī)最小系統(tǒng)。最小系統(tǒng)包括晶振電路、復(fù)位電路、電源、接地等。
該模塊主要由ADC0809 芯片、中間繼電器和分壓電阻組成。其中ADC0809 芯片是8 路8 位逐次逼近型A/D 轉(zhuǎn)換CMOS 器件,可對(duì)8 路0-5V 的輸入模擬電壓進(jìn)行分時(shí)轉(zhuǎn)換,并能鎖存三態(tài)輸出,能與8 位微處理器接口。本設(shè)計(jì)中該芯片8 個(gè)數(shù)字信號(hào)輸出口與單片機(jī)P1 口分別連接,用于將轉(zhuǎn)換后的8 位數(shù)字信號(hào)傳遞給單片機(jī)。只利用其一個(gè)模擬輸入通道,作為分壓電阻兩端電壓U2 采集輸入通道[2]。由于采樣速度很快,相對(duì)于滑動(dòng)變阻器滑動(dòng)時(shí)U2 的變化來說,可以滿足單片機(jī)對(duì)其采集時(shí)間的要求。在該模塊,滑動(dòng)變阻器、中間繼電器一個(gè)常開觸點(diǎn)與分壓電阻串聯(lián)接在電源為5V 的電路中。中間繼電器在需要測(cè)量分壓電阻兩端電壓時(shí),由單片機(jī)通過I/O 口控制其導(dǎo)通;在滑動(dòng)變阻器阻值與設(shè)定阻值相等后,不需要測(cè)量分壓電阻兩端電壓時(shí),控制其斷開,使滑動(dòng)變阻器與5V 電源分離,以避免5V 電源干擾滑動(dòng)變阻器的使用。
該模塊的機(jī)械結(jié)構(gòu)包括電動(dòng)機(jī)、齒輪組、齒條、滑道等。其中齒條和滑道與滑動(dòng)變阻器的滑條平行且等長。電動(dòng)機(jī)與滑動(dòng)變阻器的滑動(dòng)手柄固定在一起。且電動(dòng)機(jī)軸與齒輪組的一個(gè)齒輪同軸。齒輪組為齒數(shù)為3 比1 的兩個(gè)齒輪嚙合組成,能將電動(dòng)機(jī)的轉(zhuǎn)速減速變?yōu)樵D(zhuǎn)速的三分之一,同時(shí)轉(zhuǎn)矩增大3 倍。齒輪組的另外一個(gè)齒輪與齒條嚙合。這樣電動(dòng)機(jī)正反轉(zhuǎn)的時(shí)候,能通過齒輪組的傳動(dòng),在齒條上左右運(yùn)動(dòng),從而帶動(dòng)滑動(dòng)手柄,整體在滑條和滑道上左右運(yùn)動(dòng)。
該模塊電路的主要功能是實(shí)現(xiàn)電動(dòng)機(jī)正反轉(zhuǎn)控制,分為主電路和控制電路。主電路由電動(dòng)機(jī)正轉(zhuǎn)電路和電動(dòng)機(jī)反轉(zhuǎn)電路組成。這兩條電路中分別用到一個(gè)中間繼電器,每個(gè)繼電器有兩個(gè)常開觸點(diǎn)。這兩個(gè)觸點(diǎn)一個(gè)用于接通與斷開電源,一個(gè)用于接通與斷開接地。兩個(gè)繼電器的線圈接在控制電路中,分別用兩個(gè)單片機(jī)的I/O 通道控制其接通與斷開。由于主電路的正、反轉(zhuǎn)電路共用一個(gè)電動(dòng)機(jī),因此共用電動(dòng)機(jī)的兩個(gè)電源線端子,為了防止主電路短路,控制時(shí)單片機(jī)不能讓兩個(gè)繼電器線圈同時(shí)接通[3]。
該部分主要由鍵盤、顯示器和8155 芯片組成。鍵盤是4×4 矩陣鍵盤,有16 個(gè)按鍵,其中數(shù)字0-9、小數(shù)點(diǎn)、“確定”鍵作為設(shè)定滑動(dòng)變阻器阻值使用;“左”、“右”、“?!边@三個(gè)鍵作為手動(dòng)調(diào)節(jié)阻值大小時(shí)使用;“切換”鍵作為切換阻值設(shè)定自動(dòng)調(diào)節(jié)功能與手動(dòng)調(diào)節(jié)功能使用。顯示器是四位數(shù)字帶小數(shù)點(diǎn)LED 數(shù)碼管顯示器,作為顯示設(shè)定的四位數(shù)阻值使用。8155 芯片是通用可編程單片機(jī)I/O 口擴(kuò)展芯片。由于鍵盤和顯示器需要的I/O 口比較多,如果直接連單片機(jī),I/O 口將不夠用,所以本設(shè)計(jì)采用增加一片8155 芯片,擴(kuò)展單片機(jī)I/O 口。通過擴(kuò)展I/O 口可以實(shí)現(xiàn)掃描矩陣鍵盤和顯示器數(shù)碼管的動(dòng)態(tài)顯示[4]。該部分的功能是控制命令的輸入以及設(shè)定阻值的輸入與顯示。
本設(shè)計(jì)程序使用C 語言編寫,下載并保存在單片機(jī)內(nèi)。軟件主要實(shí)現(xiàn)阻值設(shè)定自動(dòng)調(diào)節(jié)功能和手動(dòng)控制功能。這兩個(gè)功能分別由兩組程序?qū)崿F(xiàn)。另外,由于這兩種功能不能同時(shí)進(jìn)行,只能一個(gè)完成之后再進(jìn)行下一個(gè),因此本設(shè)計(jì)還增加了實(shí)現(xiàn)兩種功能之間相互切換的程序,用于實(shí)現(xiàn)切換功能。
在單片機(jī)及其他模塊接通電源之后,可以直接進(jìn)行手動(dòng)控制。如果需要阻值設(shè)定自動(dòng)調(diào)節(jié),就要按一下“切換”鍵。假如完成阻值設(shè)定自動(dòng)調(diào)節(jié)功能后,需要再進(jìn)行手動(dòng)控制,還要按一下“切換”鍵。按“切換”鍵能實(shí)現(xiàn)兩種功能的變換,具體流程見圖2。
圖2 切換程序流程圖
切換到手動(dòng)控制功能時(shí),如果需要滑動(dòng)變阻器的滑桿向右滑動(dòng),就按一下“右”鍵,需要停止向右滑動(dòng)時(shí),要按一下“停”鍵。如果需要滑動(dòng)變阻器的滑桿向左滑動(dòng),就按一下“左”鍵,需要停止向左滑動(dòng)時(shí),要按一下“停”鍵。這些命令按鍵被按下后,單片機(jī)接收到相應(yīng)信號(hào)就會(huì)通過I/O口向電動(dòng)機(jī)控制模塊發(fā)出控制信號(hào),從而控制電動(dòng)機(jī)的運(yùn)動(dòng)狀態(tài),具體流程見圖3。
圖3 手動(dòng)控制程序流程圖
切換到阻值設(shè)定自動(dòng)調(diào)節(jié)功能時(shí),首先要通過鍵盤輸入需要設(shè)定的阻值,然后按下“確定”鍵。這時(shí)程序就會(huì)根據(jù)串聯(lián)分壓原理計(jì)算出當(dāng)滑動(dòng)變阻器為設(shè)定阻值R1 時(shí)分壓電阻兩端的電壓U1,同時(shí)計(jì)算出滑動(dòng)變阻器阻值R 變化最小變化量時(shí)分壓電阻兩端電壓U2 對(duì)應(yīng)的變化量U0。分壓電阻兩端的電壓U2 單片機(jī)將會(huì)通過電阻測(cè)量模塊實(shí)時(shí)進(jìn)行測(cè)量,測(cè)量之前將控制與分壓電阻串聯(lián)的繼電器常開觸點(diǎn)閉合,讓這個(gè)電路接通5V 電源。如果U2 大于U1+U0,單片機(jī)將控制電動(dòng)機(jī)正轉(zhuǎn),滑桿就向右運(yùn)動(dòng)。如果U2 小于U1-U0,單片機(jī)將控制電動(dòng)機(jī)反轉(zhuǎn),滑桿就向左運(yùn)動(dòng)。如果U2大于等于U1-U0 且U2 小于等于U1+U0,單片機(jī)將控制電動(dòng)機(jī)停轉(zhuǎn),滑柄就停止運(yùn)動(dòng)。通過這樣的運(yùn)動(dòng)控制,滑桿最多在幾次不同方向的運(yùn)動(dòng)后就會(huì)停在一個(gè)位置,這時(shí)滑動(dòng)變阻器的阻值就是在誤差范圍內(nèi)的設(shè)定阻值。在自動(dòng)調(diào)節(jié)完成后,也就是U1 停止變化后,單片機(jī)將控制繼電器閉合著的觸點(diǎn)斷開,使滑動(dòng)變阻器斷開電源。具體流程見圖4。其實(shí)實(shí)現(xiàn)該部分功能的原理是:比較滑動(dòng)變阻器實(shí)際阻值R 與設(shè)定阻值R1 的大小,若R 小于R1,則調(diào)大滑動(dòng)變阻器的阻值;若R 大于R1,則調(diào)小滑動(dòng)變阻器的阻值。由于R 是由U2 通過關(guān)系式:R=(5-U2)*R1/U2 計(jì)算而來,每次比較都要進(jìn)行計(jì)算,浪費(fèi)了單片機(jī)的資源和時(shí)間,由于R 與U2 一一對(duì)應(yīng),可以采用U2 與U1 的比較取代R 與R1 的比較,從而消除這個(gè)弊端。
圖4 阻值設(shè)定自動(dòng)調(diào)節(jié)程序流程圖
本設(shè)計(jì)實(shí)現(xiàn)了滑動(dòng)變阻器手動(dòng)控制和阻值設(shè)定自動(dòng)調(diào)節(jié)雙重功能,使其成為電動(dòng)滑動(dòng)變阻器,使用起來更便捷,同時(shí)擴(kuò)展了阻值設(shè)定自動(dòng)調(diào)節(jié)功能。擴(kuò)展的功能給滑動(dòng)變阻器的使用帶來新的選擇,特別是對(duì)于量程阻值大的滑動(dòng)變阻器,設(shè)定阻值自動(dòng)調(diào)節(jié)的阻值范圍也隨著增大,使用起來選擇余地也就越大。另外,實(shí)現(xiàn)本設(shè)計(jì)功能使用的單片機(jī)控制的電動(dòng)機(jī)拖動(dòng)系統(tǒng),結(jié)構(gòu)簡單,操作方便,可靠性強(qiáng),性價(jià)比較高。