<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 一文解釋電機伺服控制的原理

          一文解釋電機伺服控制的原理

          作者: 時間:2024-09-23 來源: 收藏

          技術(shù)是確定位置的必要手段。本章將介紹的原理。我們還將介紹可編程伺服/順序控制器(PSC)在中的應(yīng)用。

          本文引用地址:http://www.ex-cimer.com/article/202409/463107.htm

          我們將解釋伺服控制,首先讓我們從伺服控制的基礎(chǔ)“反饋控制”開始。

          反饋控制

          是一種把電能轉(zhuǎn)換成旋轉(zhuǎn)運動的裝置。為了正確地旋轉(zhuǎn)電機,必須執(zhí)行反饋控制。反饋控制將監(jiān)控電機的旋轉(zhuǎn)方式,并根據(jù)結(jié)果確定提供給電機的電流量。換句話說,通過以下步驟可以保持適當(dāng)?shù)霓D(zhuǎn)速:1、檢測電機轉(zhuǎn)速。2、決定應(yīng)該增加還是降低電機的轉(zhuǎn)速。3、根據(jù)決定,增加或減少提供給電機的電流。

          圖片.png

          旋轉(zhuǎn)編碼器

          為了執(zhí)行反饋控制,需要獲取轉(zhuǎn)子上的旋轉(zhuǎn)信息。獲取信息的其中一個設(shè)備便是旋轉(zhuǎn)編碼器。旋轉(zhuǎn)編碼器的說明如下。

          轉(zhuǎn)子上有許多開孔的圓盤。一個光電探測器放在圓盤的一邊,一個光源放在另一邊。圓盤與轉(zhuǎn)子一起旋轉(zhuǎn)。當(dāng)圓盤的孔位于光源前面時,光到達(dá)光檢測器,于是檢測到圓盤的孔。如果轉(zhuǎn)子轉(zhuǎn)動緩慢,孔移動的周期將變長。如果轉(zhuǎn)子轉(zhuǎn)動很快,孔的檢測周期就會變短。從而可以檢測轉(zhuǎn)子的轉(zhuǎn)速。另外,在圓盤上多開一個孔,用它來決定圓盤的起點。這樣,即使孔一個接一個地出現(xiàn),也可以從起點開始計算孔的數(shù)量。用這種方法可以檢測轉(zhuǎn)子的當(dāng)前旋轉(zhuǎn)位置。但是也會丟失轉(zhuǎn)換的重要信息。也就是說,無法獲取轉(zhuǎn)子是順時針旋轉(zhuǎn)還是逆時針旋轉(zhuǎn)的信息。所以我們再做一行孔,使每個新孔都稍微偏離原來的孔。這樣,根據(jù)兩排孔的相對位置關(guān)系可以判斷轉(zhuǎn)子是順時針(CW)旋轉(zhuǎn)還是逆時針(CCW)旋轉(zhuǎn)。

          這就是旋轉(zhuǎn)編碼器的工作原理。

          圖片.png

          伺服控制

          伺服控制是一種反饋控制,常用于電機控制。

          伺服控制用于有兩個對象的情況,即一個“指導(dǎo)員”和一個“操作員”,“指導(dǎo)員”發(fā)出命令,“操作員”執(zhí)行命令。使“操作者”嚴(yán)格按順序操作的方法便是伺服控制。例如,當(dāng)老師對學(xué)生說“走”、“?!被颉坝肄D(zhuǎn)”時,學(xué)生會按照指示移動。這就是伺服控制。

          讓我們看一下電機的伺服控制:如何移動手臂機器人。例如,假設(shè)一個手臂固定在大齒輪上,齒輪與安裝在電機上的小齒輪一起旋轉(zhuǎn)。電機的旋轉(zhuǎn)將按照旋轉(zhuǎn)次數(shù)的比例移動手臂。現(xiàn)在,假設(shè)電機必須旋轉(zhuǎn)100次才能使手臂旋轉(zhuǎn)一次。所以為了將手臂旋轉(zhuǎn)90度,電機需要旋轉(zhuǎn)25次。即伺服控制指令為“旋轉(zhuǎn)25次”。如果電機從停止?fàn)顟B(tài)立即開始移動,并且僅轉(zhuǎn)動25次,則手臂可以旋轉(zhuǎn)90度。

          但是經(jīng)驗告訴我們,現(xiàn)實并不是那么簡單。當(dāng)用手臂旋轉(zhuǎn)齒輪時,電機需要一段時間才能從停止?fàn)顟B(tài)開始移動。另外,在暫停電機時,即使發(fā)出停止指令,電機仍會滑行一段短時間。所以即使給電機一個旋轉(zhuǎn)25次的指令,也不能確定電機的實際旋轉(zhuǎn)次數(shù)是25次。

          圖片.png

          在電機伺服控制中,基本配置是控制電機的旋轉(zhuǎn)次數(shù)和轉(zhuǎn)速。當(dāng)手臂開始移動時,電機緩慢轉(zhuǎn)動,速度逐漸增加。在達(dá)到最大指令速度后,速度保持不變,并且旋轉(zhuǎn)逐漸變遲緩,并以適當(dāng)?shù)亩〞r進行。執(zhí)行控制使其在末端停止。但是應(yīng)控制電機在該運動中的旋轉(zhuǎn)次數(shù),以匹配要求的旋轉(zhuǎn)次數(shù)。

          圖片.png

          旋轉(zhuǎn)次數(shù)是指令梯形的面積。需要控制實際電機運行的面積,以匹配指令的面積。

          控制

          采用控制來控制伺服控制的速度。

          控制將并行執(zhí)行每個控制:P控制(比例控制)、I控制(積分控制)和D控制(微分控制)。

          由于每個控制都具有有用的作用,因此這些控制的組合可以輕松地處理各種變化。比例(P)控制是簡單的放大:如果當(dāng)前值小于設(shè)定值,則該值將以正方向進行控制,如果當(dāng)前值較大,則該值將以負(fù)方向進行控制。在許多情況下,使用比例(P)控制不能達(dá)到目標(biāo)值,因此我們增加了積分(I)控制。積分(I)控制將根據(jù)當(dāng)前狀態(tài)決定與總差異(積分值)成比例的電機驅(qū)動電流。換言之,它是校正累積變化的控制。

          相反,微分(D)控制是一種處理意外狀態(tài)的控制。變化程度越大,微分(D)控制使得狀態(tài)恢復(fù)原位的力就越大。這對于下列情況而言是一種有效的控制:突然增加/移除過大的負(fù)載,電壓變得不穩(wěn)定或突然降低,當(dāng)外部干擾影響時,需要將狀態(tài)恢復(fù)到原來的位置。

          因此,PID控制可以使電機轉(zhuǎn)速達(dá)到理想轉(zhuǎn)速。

          圖片.png

          我們介紹了伺服控制的概況。使用微控制器可以很容易地實現(xiàn)伺服控制。

          微控制器的作用

          近年來,微控制器被用于伺服控制。微控制器通過軟件實現(xiàn)伺服控制。微控制器通常用作系統(tǒng)控制器,不僅控制伺服控制,還能控制各種各樣的東西。伺服控制與伺服控制以外的控制異步執(zhí)行。此外,伺服控制需要定期執(zhí)行。如果同時發(fā)生,微控制器必須優(yōu)先考慮伺服控制或者是作為系統(tǒng)控制器的控制。但是接收到低優(yōu)先級的那個微控制器不能延遲到所需的時間。微控制器控制的系統(tǒng)功能越高或者控制精度越高,這種現(xiàn)象就越頻繁發(fā)生。為了避免這種情況,需要提高微控制器的處理速度。

          一般來說,它可以通過加快系統(tǒng)時鐘來實現(xiàn),但這會增加功耗,從而產(chǎn)生噪音和熱量。此外,有時會因為微控制器的操作限制,您可能無法加速。為了解決這一問題,我們可采用幾種方法降低微控制器的處理負(fù)載:采用微控制器協(xié)處理器進行伺服控制,將伺服控制和系統(tǒng)控制的硬件分開??删幊趟欧樞蚩刂破鳎≒SC)可以與系統(tǒng)控制異步啟動,并執(zhí)行伺服控制過程。它是一個單一IC,但伺服控制和系統(tǒng)控制由硬件單獨處理。系統(tǒng)時鐘可以保持在低頻率。



          關(guān)鍵詞: 電機 伺服控制 PID

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();