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