張思瑤(安徽大學電子信息工程學院,合肥 230601)
步進電機控制系統設計
張思瑤
(安徽大學電子信息工程學院,合肥230601)
本設計通過開發運用微型計算機系統,輸出控制時序來控制步進電機運轉,針對步進電機的工作狀態,輸出對應的音頻或光、顯示信息。本次設計的創新點是結合溫度保護程序,通過比較當前溫度與設定的溫度值控制步進電機停止轉動,保護步進電機。
步進電機;微機;匯編;控制
(1)提供DOS、WIN95/98/ME/NT/2000/2003/XP二個版本的集成環境軟件,與KEIL公司提供的C51調試軟件很大部分相同,也有自己的特色。集編輯編譯器(VC++風格)、項目管理、編譯、連接、錯誤定位、下載于一體,并提供調試功能。
(2)功能強大的項目管理功能:現在單片機軟件越來越大,也越來越復雜,維護成本也很高。通過項目管理可化大為小、化整為零,便于管理。項目管理功能也使多模塊、多語言混合調試成為可能。支持宏匯編、C、PLM語言混合編程,有強大的項目管理功能,含并且包含調試與該項目相關的仿真器件、相關文件、編譯軟件以及編譯連接控制等硬軟件信息。
(3)本次設計基于星研集成環境,所有硬件、軟件環境都已集成。
2.18255可編程并行接口芯片介紹
8255可編程外圍接口芯片是Intel公司生產的通用并行I/0接口芯片,它具有A、B、C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:
方式0—基本輸入/出方式;方式1—選通輸入/出方式;方式2—雙向選通工作方式。
2.2 編程中三個重要的參數
(1)運轉步數N:操控步進電機的定位精度。
(2)延時時間DELAY:控制步進電機步進的速率。
(3)溫度:控制步進電機停止工作的最大溫度。
3.1步進電機的概述及四相八拍步進電機的工作原理:
步進電機是一種將電脈沖信號轉換成角位移或線位移的機電元件。此步進電機工作方式為四相八拍,由單極性直流電源進行供電。只需變換不同合適的時序對步進電機的各相繞組通電,就可以使步進電機步進轉動。
四相步進電機按根據電順序的不同,可以分為單四拍、雙四拍等工作方式。單四拍和雙四拍的步距角相等,但是單四拍的轉動力矩較小。而八拍工作方式的步距角是單四拍以及雙四拍的一半,所以,八拍的工作方式不但可以保持較高的轉動力矩而且可以提高控制精度。
3.2步進電機的工作方式:
35BYJ46有四個相“ABCD”,如果對每個相單獨依次通電,"A-B-C-D",旋轉一周需要磁場換相四次,稱為四相單四拍;如果每次兩相一組同時通電,"AB-BC-CD-DA",這稱為四相雙四拍;而單四拍和雙四拍相互交替使用,則稱為四相八拍,如:"A-AB-B-BC-C-CD-D-DA"、"AB-ABC-BC-BCD-CD-CDA-DA-DAB",此時磁場旋轉一周需要換相八次。四相八拍與四相四拍相比,步距角減少了一倍,這有利于削弱振蕩,從而提高了電機的帶負載能力。
3.3 控制原理
步進電機通過順序切換它的每相線圈電流來使電機作步進式旋轉運動,相應的驅動電路通過脈沖控制,因此調節脈沖頻率可調整步進電機的轉速。另外,由于電機存在轉動慣量,故其轉動速度還受到驅動功率大小的影響,若脈沖的頻率大于某一固定值(本系統f>100hz),電機將不再轉動。
4.1 怎樣改變電機的轉速
程序下載好后在試驗箱上可以通過按鍵改變步進電機的轉速,按鍵A可以改變步進電機的轉動方向,‘1’是順時針,‘0’是逆時針;B按鍵可增大步進電機的轉速,C鍵可減小步進電機的轉速,D鍵能控制步進電機工作,A、B、C任一按鍵的改變都會使步進電機停止轉動。
4.2 通過實驗找出電機轉速的上限,如何能進一步提高最大轉速
例示程序速度最大顯示為B,即“11”,通過更改步進延時可以增大轉動速度。當轉速調至C,即“12”時,步進電機開始轉速很快,然后會停止轉動,因為步進電機轉動慣量的存在,故其轉動速度還受到驅動功率大小的影響,若脈沖的頻率大于某一固定值(本系統f>100hz),電機將不再轉動。故想要進一步提高轉速,應該增大驅動功率。
4.3 怎樣能使電機反轉
按鍵A可以改變步進電機的轉動方向,‘1’是順時針,‘0’是逆時針;若在程序中修改,則只需將MOVbclockwise,1改為MOVbclockwise,0則會使按鍵控制效果相反。
4.4 通過其它外設的檢測(如光電),控制步進電機的停、轉
本次設計我通過將步進電機與溫度計結合,設計出了一個用溫度控制步進電機停止轉動的程序,即當溫度超過40度時控制步進電機停止轉動。可以實現步進電機的基本功能,也可以實現溫度的測量。
實驗測得的數據因計時水平有限以及視覺誤差存在誤差,故不是很精確,但卻很明顯的反應了增加速度等級可以增加轉速,B級速度為最大值。若速度再次增加,因為步進電機轉動慣量的存在,故其轉動速度還受到驅動功率大小的影響,若脈沖的頻率大于某一固定值(本系統f>100hz),電機將不再轉動。在具體實驗中可通過溫度控制部分將設定溫度值改為15度進行測試,理論上可以在15度時將步進電機的轉動終止。
[1]http://wenku.baidu.com/link?url=Srp-vooRrIlVcyvz5DKKFTvRr 5A4d9ES1VG696cL5GWLCPJkVWth9V01YdUjq1fM2_8zbrpN3CfL8f6TkIAcb Qgiz99DM_BdeS3Endi5jK3
[2] 楊季文著.80X86匯編語言程序設計教程[M].清華大學出版社,1998.
[3](美)Kip R. Irvine著:Intel匯編語言程序設計(第四版)[M].電子工業出版社,2004.
張思瑤(1993-),男,安徽巢湖人,安徽大學12級通信專業,本科在讀。