『壹』 步進電機控製程序
AT89C51單片機,步進電機驅動器L298N驅動,實現單片機識別並輸出顯示鍵盤輸入的數據信息(轉角)並產生連續脈沖控制步進電機轉動,電機型號是兩相步進電動機42BYG121,其步進角為1.8度,通過半步驅動方式進行細分可獲得0.9度的步進角;環形分配器和電機驅動器...
控制器接收到上位機的命令後,首先獲取需要轉動的步數,然後根據相應命令打開相應定時器的計數功能。控製程序中用定時器1控制二路脈沖輸出,定時器2控制一路脈沖輸出,從而完成3路電機的控制。 定時器2使用CTC模式,匹配中斷使能。通過匹配中斷,在OCR2埠可以輸出脈沖,通過設定寄存器OCR2寄存器的值可以改變輸山脈沖頻率。定時器1使用相位與頻率修正模式...
鍵則反向轉1~9圈;左鍵固定正轉90度,右鍵固定反轉90;Esc 鍵終止轉動。通過這個程序,我們也可以進一步體會到如何用按鍵來控製程序完成復雜的功能,以及控制和執行模塊之間如何協調工作,而你的編程水平也可以在這樣的實踐練習中得到鍛煉和提升。#include<reg52.h> sbitKEY_IN_1=P2...
『貳』 AT89C51單片機控制三相六拍步進電動機正反轉的程序!!! 具體要求看問題補充,跪求高手求救!
當P3.0 和P3.1口信號同時為低電平的時候,發送一個轉動信號給步進電機,與此同時,如果P3.2為低電平而P3.3為高電平的時候,步進電機開始正轉。若當P3.3變成低電平,P3.2為高電平的時候,停止轉動,等待下一次的轉動信號。既當P3.0和P3.1口的信號同時又為低電平的時候,因為此時P3.2為高電平,P3.3為低電平,所以步進電機開始反轉。當轉到P3.2為低電平,P3.3為高電平的時候,則鏈則停止旋轉,又等待下一次的轉動棚肆棚信號。就是這樣反復正反轉。P3.2為低電平,P3.3為高電平,正轉。P3.2為高電平,P3.3為低電平,反轉雹悶。轉動的必要條件是P3.0和P3.1同時為低電平。 P3.0、P3.1、P3.2、P3.2接的都是霍爾感測器。步進電機為三相六線的。
答得好加100分!!!謝謝各位大神!!
『叄』 基於MCS-51系列單片機AT89C51,設計一個步進電機控制器
由於步進電機是一種將電脈沖信號轉換成直線或角位移的執行元件,它不能直接接到交直流電源上,而必須使用專業設備----步進電機控制驅動器,典型步進電機控制系統如圖1所示:控制器可以發出脈沖頻率從幾赫茲到幾千赫茲可以連續變化的脈沖信號,它為環形分配器提供脈沖序列,環形分配器的主要功能是把來自控制環節的脈沖序列按一定的規律分配後,經過功率放大器的放大加到步進電機驅動電源的各項輸入端,以驅動步進電機的轉動,環形分配器主要有兩大類:一類是用計算機軟體設計的方法實現環形分配器要求的功能,通常稱軟環形分配器。另一類是用硬體構成的環形分配器,通常稱硬環形分配器。功率放大器主要對環形分配器的較小輸出信號進行放大,以達到驅動步進電機的目的,步進電機的基本控制包括轉向控制和速度控制兩個方面。從結構上看,步進電機分為三相單三拍、三相雙三拍和三相六拍3種,其基本原理如下:
http://wenku..com/link?url=_X1AbHnS-_AXJSOeGwziD56L7zztQEm_
『肆』 89C51單片機與步進電機驅動器如何連接
我剛做過這個實驗,我用的L298驅動的,L298比ULN2003便宜點,要是用ULN2003的話,可以單路輸入單路輸出,ULN2003的1,2,3,4,5,6,7引腳輸入分別對應的輸出是16,15,14,13,12,11,10,你是4相電機,隨便選擇其中的4對就行拉,然後8腳接地,9腳接12V電壓,實際上ULN2003里有個反相器,所以你可以在單片機輸出時接個反相器,然後再接ULN2003,而我沒有接反相器,我把程序給改了改,就省去了一個晶元,只要把程序里表裡的數據0變1,1變0就行拉
『伍』 89c51單片機最多能控制幾個二相四線步進電機需要同時控制
理論上不添加外設,可以像樓上說的,32個IO口接8個電機,如果接外設,可以和2樓說的一樣,接滿地球,因為有專用的控制步進電機的晶元,單片機控制電機就非常方便了,不過這樣可能就沒體會到提問者的意思。我們僅就不添加外設進行討論。
但是除了IO口的限制,還有單片機的限制,由於單片機運行指令是一條一條執行的,沒有並發機制,所以如果對多個步進電機進行同時操作,如果操作頻率並不高,可以做到幾乎同時(不是嚴格意義上的完全同時,因為指令一次只執行一條,當然兩個電機同步操作同步運轉不在討論范圍之內)。但如果接上比較精密的高速度高頻率操作的步進電機時,可能就會有問題。
通俗的說,你給步進電機發一個指令,電機會運動一個步距,在電機運動到下一個步距之後,單片機再發送下一個指令,在這兩個指令之間單片機可以去做別的事情,比如去控制另一個電機。如果電機操控精細,在最極端的情況下,兩個指令之間的間隔,還不足以執行額外的一條指令,那麼單片機就只能控制一個電機了。即使用中斷也是沒用的,第一個電機的運轉會受到影響。
所以可以控制多少個電機,要參考你單片機的晶振,和你電機到底需要什麼樣的控制,如果需要的操作並不太精細,在第一個電機的兩條指令間隔能夠有時間發送多條指令,那麼就能夠增加控制電機的數量,這個數量需要根據實際情況來看。
『陸』 基於單片機的步進電機控制,有高手懂嗎本人的畢業論文.學哥學姐.懂的都說幾句..謝謝啦..
為1,TH1的預設值為0CH,TL1的預設值為00H。
③ PC機與AT89C51單片機均採用串列口方式3。
④ 幀格式為:1位起始位,8位數據位,1位偶效驗位,1位停
止位。
⑤ PC機發送的數據幀為:
表1 PC機發送數據幀表
幀起始標志為 02H,假設電動機的運行標號為5號,對應的
ASCII碼值為30H,35H兩個位元組表示。若命令為傳送命令MOV
則用0表示,其對應的ASCII碼值為30H,用一個位元組表示。D
表示步進電動機運行的方向標志,若為0則表示電動機正轉,其
對應的ASCII碼值為30H;若為1,則表示電動機反轉,其對應的
ASCII碼值為31H。P表示PC機傳送給單片機的總的走的脈沖
數。若傳送的命令為設置命令SET則用1表示,其對應的ASCII
碼值為31H,用一個位元組表示。需要單片機設置的參數有:a, V
和 L;為了便於PC機與AT89C51的通信編程,數據的長度取6
個位元組。傳送的數據只有5個位元組,剩餘的1個位元組均用ASCII
碼值30H補足,對應的為0。這樣做不影響效驗和。若為傳送命
令幀,則效驗和定義為方向信號D與總的脈沖數P的十六進制之
和再轉換為相對應的ASCII碼值。若為設置命令幀,則效驗和定
義為a、V與L的十六進制之和再轉換為D對應的ASCII碼值。
幀結束標志為03H。
⑥ PC機採用查詢的方式發送和接收數據,AT89C51單片機
採用串列口中斷的方式接收和發送數據。
3.3 控制軟體的設計
控制步進電動機勻加速、恆速、勻減速運行的程序流
程圖如圖2。
圖2 控制步進電機的程序流程圖
4 結束語
參考文獻:
[1] 韓全立。單片機控制技術及應用[M]。北京:電子工業出
採用本方案可以很好的實現對步進電動機的控制。目前此
版社,2004
方案已經成功應用於電機控制的工廠等並取得了良好的效益,並
[2] 求是科技。單片機典型模塊設計實例導航[M]。北京:人
正試圖將其進一步完善以應用於壓縮機、洗衣機等日常設備中。
民郵電出版社,2004
[3] 胡漢才,單片機原理及系統設計[M]。北京:清華大學出
當然,隨著控制產品與控制技術的發展,步進電機的控制也會得到
版社,2002
進一步完善。
[4] 王曉明。電動機的單片機控制[M]。北京:北京航天航空
大學出版社,2002
[5] 楊金岩,鄭應強,張振仁。8051單片機數據傳輸介面擴展
技術與應用實例[M]。北京:人民郵電出版社,2005