//Logo Image
作者:蔡宗成 (2000-07-28);核可:徐業良 (2000-08-03)

由外部電壓輸入控制步進馬達運轉

本文為學習使用A/D卡的analog input的功能,讀取電源供應器的電壓訊號,並且顯示在人機介面上,讓使用者由電腦螢幕讀取電壓值,再以邏輯判斷,以電壓值為執行條件,驅動步進馬達正轉、反轉或運轉的速度。

1.     類比輸入

PCL-818卡的analog inputsingle-enddifferential mode兩種型式,本文為使用single-end模式,將電源訊號正端連接腳位1,訊號負端連接地線(腳位17~20皆可)。要使用類比輸入讀取訊號,必須先規劃PCL-818卡內部的相關設定,例如取樣頻率、解析度、電壓範圍值等等,這些設定都可利用VB程式下達Address位址來規劃,讀取電壓訊號後,加以整理,便能顯示和電源供應器上的電壓值一樣。

2.     程式說明

本實驗以VB程式利用PCL-818卡讀取外部電壓值(0~5V),並顯示在電腦螢幕上,圖1為程式外觀。程式是以計時器功能,每一間隔時間執行讀取信號程式,達到連續讀取的功能,當使用者調整電源供應器電壓值時,電腦螢幕便會隨著電壓改變而顯示其數值,最後使用Digital Output功能,以電壓值為判斷條件,加上步進馬達運轉的副程式,便能控制步進馬達。

1 程式外觀

2.1 程式碼

本實驗所使用的程式語法與先前控制步進馬達有些許不同,控制步進馬達是以VB控制A/D卡其中一個Channel的腳位產生電壓變化,成為一連續脈波,使用外掛I/O程式agOutp;但由A/D卡讀取訊號所使用的外掛程式為agInp,用法為【Data(數值) = agInp(&H位址)】,從連接訊號的腳位之位址讀取所要的資料數值,讀取的訊號為0101等類比訊號,以程式轉成十六進位數值,便可換算成電壓實際數值,圖2為程式原始碼。

2(a)  程式原始碼

2(b) 程式原始碼

3.     步進馬達控制判斷

使用If語法,將電壓值分為三個判斷條件,當電壓值大於5伏特時,程式便停止執行,此為保護A/D卡的措施;當電壓值在2.5~5伏特時,步進馬達便正轉,反之,電壓值小於2.5伏時,步進馬達便反轉,達到由外部訊號控制步進馬達,作為一簡單的自動控制範例,圖3為步進馬達原始程式碼。

3 步進馬達原始程式碼

4.     應用

了解如何使用VB設計人機介面來控制步進馬達運轉和讀取外部訊號的程式後,可將此技術運用在很多方面,例如勞委會的安全眼鏡視野實驗,控制步進馬達運轉,並接收照度計因照度不同所產生的電壓差,接收進來後,加以整理,便可測量安全眼鏡的視野範圍。

由於程式可設計成自動讀取功能,如果以溫度感測器或是光線感測器作為外部電壓訊號來源,便可由外部訊號的改變自動地控制步進馬達作出反應,可作為自動控制回饋的實例。

參考資料

洪錦魁,1999Visual Basic 6.0,文魁出版社。