|
0.png (44.63 KB, 下載次數(shù): 235)
下載附件
2019-4-16 16:03 上傳
步進(jìn)電機(jī)(也稱(chēng)脈沖電機(jī))(將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或線位移的電磁機(jī)械裝置,具有快速啟動(dòng),停能力,在電機(jī)的負(fù)荷不超過(guò)它能提供的動(dòng)態(tài)轉(zhuǎn)矩時(shí),可以通過(guò)輸入脈沖來(lái)控制它在一瞬間的啟動(dòng)或者停止。在非超載的情況下,步距角和轉(zhuǎn)速只和輸入的脈沖頻率有關(guān),和環(huán)境溫度,氣壓,振動(dòng)無(wú)關(guān),也不受電網(wǎng)電壓的波動(dòng)和負(fù)載變化的影響,因此,控制較為精準(zhǔn))即給電機(jī)一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角
步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理:利用電子電路,將直流電變成分時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器,就是說(shuō):必須用由雙環(huán)形脈沖信號(hào)功率驅(qū)動(dòng)電路等組成的控制系統(tǒng)方可使用。
步距角:控制系統(tǒng)每發(fā)一個(gè)步進(jìn)脈沖信號(hào),電機(jī)所轉(zhuǎn)動(dòng)的角度。電機(jī)出廠時(shí)給了一個(gè)步距角的值,如:86BYG250A型 電機(jī)的值為0.9、1.8(表示半步工作時(shí)為0.9,整步為1.8),被稱(chēng)之為“電機(jī)的固有步距角”,但是不一定是 電機(jī)實(shí)際工作時(shí)的真正步距角,真正的步距角和驅(qū)動(dòng)器有關(guān)
相數(shù):電機(jī)內(nèi)部的線圈組數(shù),目前常用的有二相,三相,四相,五相步進(jìn)電機(jī)。電機(jī)相數(shù)不同,其步距角也就不同了, 一般二相電機(jī)的步距角為0.9/1,8,三相為0.36/0.72,五相為0.36/0.72。在沒(méi)有細(xì)分驅(qū)動(dòng)器的情況下,用戶(hù)主要 靠選擇不同相數(shù)的步進(jìn)電機(jī)來(lái)滿足自己步距角的要求。如果使用細(xì)分驅(qū)動(dòng)器,那么相數(shù)好像也就沒(méi)有了意義
拍數(shù):完成一個(gè)磁場(chǎng)周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài),或指電機(jī)轉(zhuǎn)過(guò)一個(gè)步距角所需脈沖數(shù)。以如下的四相電機(jī)為 例,有四相四拍運(yùn)行方式,AB-BC-CD-DA-AB;四相八拍:A-AB-B-BC-C-CD-D-DA-A
1.png (58.67 KB, 下載次數(shù): 155)
下載附件
2019-4-16 16:06 上傳
失步:電機(jī)運(yùn)轉(zhuǎn)時(shí)運(yùn)轉(zhuǎn)的步數(shù)不等于理論上的步數(shù),稱(chēng)之為失步
開(kāi)環(huán)控制與閉環(huán)控制:(主要看系統(tǒng)中有沒(méi)有反饋環(huán)節(jié))(反饋指的是動(dòng)作所引起的效果)
(反饋簡(jiǎn)單的理解就是:“你打了別人一巴掌,我們看到了它的臉是紅的,嗯嗯,這就是眼睛所得到的反饋”)
閉環(huán)控制:存在反饋環(huán)節(jié)的控制,就是當(dāng)前的系統(tǒng)能夠?qū)崟r(shí)的檢測(cè)控制的輸出結(jié)果,并將檢測(cè)到的信息通過(guò)反饋環(huán)節(jié)反映到輸入端,調(diào)整輸入量,達(dá)到修正控制誤差,提高控制精度的目的,(對(duì)外部擾動(dòng)和系統(tǒng)參數(shù)變化不敏感)如:
2.png (11.52 KB, 下載次數(shù): 168)
下載附件
2019-4-16 16:06 上傳
(閉環(huán))
全自動(dòng)洗衣機(jī),給洗衣機(jī)加水時(shí),里邊有一個(gè)紅外傳感器,掃描到水位高低,當(dāng)水位合適時(shí),洗衣機(jī)自動(dòng)停止加水
家用空調(diào)根據(jù)傳感器采集到當(dāng)前的溫度,然后比較設(shè)定溫度,通過(guò)設(shè)定指令,控制室內(nèi)外機(jī)的工作情況,改變頻率,壓縮機(jī)的轉(zhuǎn)速等進(jìn)行簡(jiǎn)單的調(diào)節(jié),然后不斷地進(jìn)行控制
尋跡小車(chē)時(shí),兩邊的紅外傳感器不斷的檢測(cè)黑線,將返回的結(jié)果輸入到相應(yīng)i/o口上,我們對(duì)這些i/o口進(jìn)行中斷檢測(cè)就可以知道,當(dāng)前時(shí)刻的位置,然后可以執(zhí)行相應(yīng)的操作(左轉(zhuǎn),右轉(zhuǎn));
調(diào)節(jié)平衡天平的時(shí)候,其中一種方法就是利用mpu6050獲取當(dāng)前所處位置的角度,調(diào)用PID算法,對(duì)當(dāng)前的位置或者角度進(jìn)行處理,然后對(duì)調(diào)整后的角度再次進(jìn)行反饋處理
(家用空調(diào)調(diào)節(jié)溫度)
家用空調(diào)調(diào)節(jié)指定的溫度,靠的是電子傳感器,(電子傳感器就是一個(gè)熱敏電阻,不同的溫度會(huì)有不同的阻值),利用也可以理解為電子膨脹,不同的溫度會(huì)有不同的阻值。利用對(duì)入風(fēng)口的空氣進(jìn)行取樣,把數(shù)據(jù)傳輸?shù)娇刂瓢迳希缓螅谂c設(shè)定的溫度進(jìn)行比較,產(chǎn)生一個(gè)指令來(lái)實(shí)現(xiàn)控制。(制冷的話,比較之后:輸出室內(nèi)風(fēng)機(jī)和室外機(jī)的開(kāi)機(jī)指令,內(nèi)外機(jī)開(kāi)始工作(室外機(jī)包括壓縮機(jī),室外風(fēng)機(jī),四通閥等部件),工作一定溫度的話,室內(nèi)溫度將會(huì):1,(定頻空調(diào))達(dá)到設(shè)定值,室外機(jī)停止工作,室內(nèi)機(jī)保持工作,保證空氣循環(huán),當(dāng)室內(nèi)溫度逐漸上升,大于設(shè)定值2-3度時(shí),室外機(jī)重新啟動(dòng)制冷,室內(nèi)溫度將又開(kāi)始下降,重復(fù)這個(gè)過(guò)程,室內(nèi)溫度就能保持在設(shè)定溫度值上下1度左右范圍內(nèi)波動(dòng); 2,(變頻空調(diào))接近設(shè)定值,室外機(jī)的變頻板輸出的頻率下降,壓縮機(jī)轉(zhuǎn)速下降,制冷量也相應(yīng)降低,室內(nèi)溫度保持在與設(shè)定值相同的數(shù)值下。隨著室內(nèi)熱源的變化,室內(nèi)機(jī)溫度傳感器實(shí)時(shí)檢測(cè)溫度的變化,主控板輸出的控制信號(hào)使變頻器跟隨變化調(diào)節(jié)壓縮機(jī)工作頻率,從而改變瞬時(shí)制冷量,確保室內(nèi)溫度穩(wěn)定)
開(kāi)環(huán)控制:不存在反饋環(huán)節(jié)的控制,也就是控制器與被控制對(duì)象間只有順序作業(yè)而無(wú)反方向聯(lián)系且控制單方向進(jìn)行,
,無(wú)自動(dòng)糾偏能力,不用取輸出量變化信號(hào)控制輸入量。
3.png (14.86 KB, 下載次數(shù): 174)
下載附件
2019-4-16 16:08 上傳
如:在開(kāi)車(chē)的過(guò)程中,我們來(lái)控制方向盤(pán)
人工轉(zhuǎn)換電扇的檔位實(shí)現(xiàn)轉(zhuǎn)速的控制,不用反饋回來(lái)實(shí)際的轉(zhuǎn)速
給洗衣機(jī)加水時(shí):我們通過(guò)來(lái)觀察水位來(lái)確定什么時(shí)候關(guān)掉水龍頭
(所以,簡(jiǎn)單的說(shuō):就是看有沒(méi)有反饋:開(kāi)環(huán)沒(méi)有,閉環(huán)有,對(duì)于用到機(jī)器上來(lái)說(shuō),每一件事都是有反饋的,只是情況不同而已,當(dāng)反饋是人自己來(lái)判斷的話,那么這個(gè)系統(tǒng)就是開(kāi)環(huán)的,如果反饋是機(jī)器自己來(lái)判斷的話,那么這個(gè)系統(tǒng)就是閉環(huán)的)
從整體的角度來(lái)看:
單片機(jī)控制電機(jī)正轉(zhuǎn)源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
-
- //引腳連接
- //IN1:PC3、IN2:PC2、IN3:PC0、IN4:PC13、
-
- //步進(jìn)電機(jī)初始化函數(shù)
- void Motor_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//開(kāi)啟時(shí)鐘
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽輸出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOC, &GPIO_InitStructure);
-
- GPIO_ResetBits(GPIOC,GPIO_Pin_13);//默認(rèn)低電平
- GPIO_ResetBits(GPIOC,GPIO_Pin_0);
- GPIO_ResetBits(GPIOC,GPIO_Pin_2);
- GPIO_ResetBits(GPIOC,GPIO_Pin_3);
-
- }
-
- //步進(jìn)電機(jī)正轉(zhuǎn)函數(shù)(反轉(zhuǎn)參考51版本)
- void Motorcw(void)
- {
- GPIO_SetBits(GPIOC,GPIO_Pin_13);//依次高電平輸出
- GPIO_ResetBits(GPIOC,GPIO_Pin_0);
- GPIO_ResetBits(GPIOC,GPIO_Pin_2);
- GPIO_ResetBits(GPIOC,GPIO_Pin_3);
- delay_ms(10);
-
- GPIO_ResetBits(GPIOC,GPIO_Pin_13);
- GPIO_SetBits(GPIOC,GPIO_Pin_0);
- GPIO_ResetBits(GPIOC,GPIO_Pin_2);
- GPIO_ResetBits(GPIOC,GPIO_Pin_3);
- delay_ms(10);
-
- GPIO_ResetBits(GPIOC,GPIO_Pin_13);
- GPIO_ResetBits(GPIOC,GPIO_Pin_0);
- GPIO_SetBits(GPIOC,GPIO_Pin_2);
- GPIO_ResetBits(GPIOC,GPIO_Pin_3);
- delay_ms(10);
-
- GPIO_ResetBits(GPIOC,GPIO_Pin_13);
- GPIO_ResetBits(GPIOC,GPIO_Pin_0);
- GPIO_ResetBits(GPIOC,GPIO_Pin_2);
- GPIO_SetBits(GPIOC,GPIO_Pin_3);
- delay_ms(10);
-
- }
-
- int main(void)
- {
- delay_init();//delay初始化函數(shù)
- Motor_Init();
- while(1)
- {
- Motorcw();
- }
- }
復(fù)制代碼
正轉(zhuǎn)代碼與芯片資料供大家學(xué)習(xí):
ULN2003步進(jìn)電機(jī)正轉(zhuǎn)代碼與資料.7z
(577.56 KB, 下載次數(shù): 1160)
2021-11-20 02:34 上傳
點(diǎn)擊文件名下載附件
32控制 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|