0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解Arduino Uno控制直流電機之應(yīng)用

ss ? 作者:工程師譚軍 ? 2018-10-07 11:35 ? 次閱讀
直流電機
直流電機(direct current machine)是指能將直流電能轉(zhuǎn)換成機械能(直流電動機)或?qū)C械能轉(zhuǎn)換成直流電能(直流發(fā)電機)的旋轉(zhuǎn)電機。它是能實現(xiàn)直流電能和機械能互相轉(zhuǎn)換的電機。當(dāng)它作電動機運行時是直流電動機,將電能轉(zhuǎn)換為機械能;作發(fā)電機運行時是直流發(fā)電機,將機械能轉(zhuǎn)換為電能。
組成結(jié)構(gòu)
直流電機的結(jié)構(gòu)應(yīng)由定子和轉(zhuǎn)子兩大部分組成。直流電機運行時靜止不動的部分稱為定子,定子的主要作用是產(chǎn)生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。運行時轉(zhuǎn)動的部分稱為轉(zhuǎn)子,其主要作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動勢,是直流電機進行能量轉(zhuǎn)換的樞紐,所以通常又稱為電樞,由轉(zhuǎn)軸、電樞鐵心、電樞繞組、換向器和風(fēng)扇等組成。
定子
(1)主磁極
主磁極的作用是產(chǎn)生氣隙磁場。主磁極由主磁極鐵心和勵磁繞組兩部分組成。
鐵心一般用0.5mm~1.5mm厚的硅鋼板沖片疊壓鉚緊而成,分為極身和極靴兩部分,上面套勵磁繞組的部分稱為極身,下面擴寬的部分稱為極靴,極靴寬于極身,既可以調(diào)整氣隙中磁場的分布,又便于固定勵磁繞組。勵磁繞組用絕緣銅線繞制而成,套在主磁極鐵心上。整個主磁極用螺釘固定在機座上,
(2)換向極
換向極的作用是改善換向,減小電機運行時電刷與換向器之間可能產(chǎn)生的換向火花,一般裝在兩個相鄰主磁極之間,由換向極鐵心和換向極繞組組成。換向極繞組用絕緣導(dǎo)線繞制而成,套在換向極鐵心上,換向極的數(shù)目與主磁極相等。
(3)機座
電機定子的外殼稱為機座。機座的作用有兩個:
一是用來固定主磁極、換向極和端蓋,并起整個電機的支撐和固定作用;
二是機座本身也是磁路的一部分,借以構(gòu)成磁極之間磁的通路,磁通通過的部分稱為磁軛。為保證機座具有足夠的機械強度和良好的導(dǎo)磁性能,一般為鑄鋼件或由鋼板焊接而成。
(4)電刷裝置
電刷裝置是用來引入或引出直流電壓和直流電流的。電刷裝置由電刷、刷握、刷桿和刷桿座等組成。電刷放在刷握內(nèi),用彈簧壓緊,使電刷與換向器之間有良好的滑動接觸,刷握固定在刷桿上,刷桿裝在圓環(huán)形的刷桿座上,相互之間必須絕緣。刷桿座裝在端蓋或軸承內(nèi)蓋上,圓周位置可以調(diào)整,調(diào)好以后加以固定。
轉(zhuǎn)子
(1)電樞鐵心
電樞鐵心是主磁路的主要部分,同時用以嵌放電樞繞組。
一般電樞鐵心采用由0.5mm厚的硅鋼片沖制而成的沖片疊壓而成,以降低電機運行時電樞鐵心中產(chǎn)生的渦流損耗和磁滯損耗。疊成的鐵心固定在轉(zhuǎn)軸或轉(zhuǎn)子支架上。鐵心的外圓開有電樞槽,槽內(nèi)嵌放電樞繞組。
(2)電樞繞組
電樞繞組的作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動勢,是直流電機進行能量變換的關(guān)鍵部件,所以叫電樞。它是由許多線圈(以下稱元件)按一定規(guī)律連接而成,線圈采用高強度漆包線或玻璃絲包扁銅線繞成,不同線圈的線圈邊分上下兩層嵌放在電樞槽中,線圈與鐵心之間以及上、下兩層線圈邊之間都必須妥善絕緣。為防止離心力將線圈邊甩出槽外,槽口用槽楔固定。線圈伸出槽外的端接部分用熱固性無緯玻璃帶進行綁扎。
(3)換向器
在直流電動機中,換向器配以電刷,能將外加直流電源轉(zhuǎn)換為電樞線圈中的交變電流,
使電磁轉(zhuǎn)矩的方向恒定不變;在直流發(fā)電機中,換向器配以電刷,能將電樞線圈中感應(yīng)產(chǎn)生的交變電動勢轉(zhuǎn)換為正、負(fù)電刷上引出的直流電動勢。換向器是由許多換向片組成的圓柱體,換向片之間用云母片絕緣。
(4)轉(zhuǎn)軸
轉(zhuǎn)軸起轉(zhuǎn)子旋轉(zhuǎn)的支撐作用,需有一定的機械強度和剛度,一般用圓鋼加工而成。
直流電機里邊固定有環(huán)狀永磁體,電流通過轉(zhuǎn)子上的線圈產(chǎn)生安培力,當(dāng)轉(zhuǎn)子上的線圈與磁場平行時,再繼續(xù)轉(zhuǎn)受到的磁場方向?qū)⒏淖?,因此此時轉(zhuǎn)子末端的電刷跟轉(zhuǎn)換片交替接觸,從而線圈上的電流方向也改變,產(chǎn)生的洛倫茲力方向不變,所以電機能保持一個方向轉(zhuǎn)動。
直流發(fā)電機的工作原理就是把電樞線圈中感應(yīng)的交變電動勢,
靠換向器配合電刷的換向作用,使之從電刷端引出時變?yōu)橹绷麟妱觿莸脑怼?/div>
感應(yīng)電動勢的方向按右手定則確定(磁感線指向手心,大拇指指向?qū)w運動方向,其他四指的指向就是導(dǎo)體中感應(yīng)電動勢的方向)。
導(dǎo)體受力的方向用左手定則確定。這一對電磁力形成了作用于電樞一個力矩,這個力矩在旋轉(zhuǎn)電機里稱為電磁轉(zhuǎn)矩,轉(zhuǎn)矩的方向是逆時針方向,企圖使電樞逆時針方向轉(zhuǎn)動。如果此電磁轉(zhuǎn)矩能夠克服電樞上的阻轉(zhuǎn)矩(例如由摩擦引起的阻轉(zhuǎn)矩以及其它負(fù)載轉(zhuǎn)矩),電樞就能按逆時針方向旋轉(zhuǎn)起來。

Arduino Uno控制直流電機

其實,三年前的東西都已經(jīng)記不清楚了。研究生沒有做硬件,相關(guān)的都快看不懂了!為了讓大家看得懂程序,將總的系統(tǒng)設(shè)計思路貼出來,如下:

整個系統(tǒng)是實現(xiàn)“太陽能智能控制環(huán)保路燈控制器設(shè)計”,主要是用直流電機控制太陽能電池板轉(zhuǎn)動,確保其在每個時間段能夠?qū)崿F(xiàn)最高的發(fā)電效率,仿向日葵實現(xiàn)東西轉(zhuǎn)動。

Arduino Uno手冊上有其關(guān)于控制直流電機的詳細(xì)介紹,如果仔細(xì)閱讀,實現(xiàn)起來很簡單的。可以結(jié)合本文的系統(tǒng),對其進一步理解,則可以編寫響應(yīng)的代碼。

主程序

//#include

int pinI1=8;

int pinI2=9;

int pinI3=2;

//int pinI4=3;

int pinI5=4;

//int pinI6=5;

//int pinI7=6;

int speedin=11;

volatile int state=LOW;

void setup()

{

pinMode(pinI1,OUTPUT);

pinMode(pinI2,OUTPUT);

pinMode(pinI3,INPUT);

// pinMode(pinI4,OUTPUT);

pinMode(pinI5,OUTPUT);

// pinMode(pinI6,OUTPUT);

// pinMode(pinI7,OUTPUT);

pinMode(speedin,OUTPUT);

// myPID.SetMode(AUTOMATIC);

// attachInterrupt(0,light,HIGH);

}

void loop()

{

while(1)

{

int m=analogRead(A0);

int n=analogRead(A1);

int err,err1,err2;

int pidspeed1;

float kp=0.1 ,ki=0,kd=0;

err=m-n;

pidspeed1=(int)(err*kp-err1*ki+err2*kd);

err1=err;

err2=err1;

state=digitalRead(pinI3);

digitalWrite(pinI5,state);

if (m》n)

{

// while(1)

// {

digitalWrite(pinI1,LOW);

digitalWrite(pinI2,HIGH);

analogWrite(speedin,100+pidspeed1);

// }

// delay(2000);

}

else if(m

{

// while(1)

// {

digitalWrite(pinI1,HIGH);

digitalWrite(pinI2,LOW);

analogWrite(speedin,100-pidspeed1);

// delay(2000);

// }

}

1

else

{

// while(1)

// {

digitalWrite(pinI1,HIGH);

digitalWrite(pinI2,HIGH);

//delay(2000);

// }

}

}

}

這是我本科畢業(yè)設(shè)計的部分內(nèi)容,之前回答別人相關(guān)問題時留下了QQ號,這幾年總有人加我問相關(guān)的問題。今天也有一個本科生咨詢,趁這個機會,就把相關(guān)資料貼出來吧。

其實,三年前的東西都已經(jīng)記不清楚了。研究生沒有做硬件,相關(guān)的都快看不懂了!為了讓大家看得懂程序,將總的系統(tǒng)設(shè)計思路貼出來,如下:

12

PID算法控制程序

該部分系統(tǒng)原理圖如下,有助于理解代碼,可根據(jù)應(yīng)用環(huán)境不同修改代碼:

int m=analogRead(A0);

int n=analogRead(A1);

int err,err1,err2;

int pidspeed1;

float kp=0.1 ,ki=0,kd=0;

err=m-n;

pidspeed1=(int)(err*kp-err1*ki+err2*kd);

err1=err;

err2=err1;

void light();

SetMotor(Output);

void SetMotor()

{

if (m》n)

{

digitalWrite(pinI1,LOW);

digitalWrite(pinI2,HIGH);

12345

analogWrite(speedin,100+pidspeed1);}

else if(m

{ digitalWrite(pinI1,HIGH);

digitalWrite(pinI2,LOW);

analogWrite(speedin,100-pidspeed1);}

12345

else

{digitalWrite(pinI1,HIGH);

digitalWrite(pinI2,HIGH);}

}


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 直流電機
    +關(guān)注

    關(guān)注

    36

    文章

    1703

    瀏覽量

    69979
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186346
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用MATLB和Arduino控制直流電機

    在本教程中,我們將向您展示如何使用 MATLB 和 Arduino 控制直流電機
    發(fā)表于 11-03 17:18 ?1287次閱讀
    如何使用MATLB和<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>

    Arduino實踐詳細(xì)說明L298N驅(qū)動直流電機

    基于arduino uno 利用l298n驅(qū)動板來控制直流電機的正反轉(zhuǎn)和速度L298N說明這是其中一個板,貌似還有藍(lán)色綠色什么的,但是使用方法差不多接口說明12V供電: 這個是外部電源
    發(fā)表于 06-29 08:06

    一種arduino直流電機

    直流電機(DC)這一期我們來學(xué)習(xí)如何控制直流電機。需要材料:Arduino UNO直流電機——本
    發(fā)表于 06-29 06:45

    如何用Arduino Uno控制直流電機?

    Arduino Uno控制直流電機這是我本科畢業(yè)設(shè)計的部分內(nèi)容,之前回答別人相關(guān)問題時留下了QQ號,這幾年總有人加我問相關(guān)的問題。今天也有一個本科生咨詢,趁這個機會,就把相關(guān)資料貼出來
    發(fā)表于 07-05 06:50

    直流電機速度

    直流電機速度,基于arduino控制帶編碼器直流電機速度模塊:帶減速的直流電機(減速比1:120),霍爾編碼器(每圈13個信號單相)
    發(fā)表于 07-08 10:12

    如何使用Arduino控制直流電機

    如何使用Arduino控制直流電機?
    發(fā)表于 10-19 07:38

    arduino uno如何利用l298n驅(qū)動板來控制直流電機的正反轉(zhuǎn)和速度?

    arduino uno如何利用l298n驅(qū)動板來控制直流電機的正反轉(zhuǎn)和速度?
    發(fā)表于 10-20 07:34

    直流電機原理應(yīng)用和程序詳解

    直流電機原理應(yīng)用和程序詳解
    發(fā)表于 02-28 15:27 ?5次下載

    Arduino直流電機調(diào)速

    Arduino直流電機調(diào)速(深圳市核達中遠(yuǎn)通電源技術(shù)有限公司招聘電話)-基于Arduino直流電機調(diào)速? ? ? ? ? ? ? ? ? ? ? ??
    發(fā)表于 09-18 16:12 ?61次下載
    <b class='flag-5'>Arduino</b>的<b class='flag-5'>直流電機</b>調(diào)速

    如何使用L298N和Arduino控制直流電機

    在這個Arduino教程中,我們將學(xué)習(xí)如何使用Arduino控制直流電機。我們來看看控制直流電機
    的頭像 發(fā)表于 04-08 15:06 ?1.1w次閱讀
    如何使用L298N和<b class='flag-5'>Arduino</b>板<b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>

    arduino直流電機

    這一期我們來學(xué)習(xí)如何控制直流電機。 需要材料:Arduino UNO 直流電機——本文以12V額定
    發(fā)表于 03-30 13:46 ?3次下載
    <b class='flag-5'>arduino</b><b class='flag-5'>直流電機</b>

    ros與arduino通信控制直流電機

    前言:在成功通過arduino開發(fā)板控制直流電機后,開始嘗試用ros與arduino通信來控制直流電機
    發(fā)表于 03-31 11:45 ?4次下載
    ros與<b class='flag-5'>arduino</b>通信<b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>

    使用Arduino直流電機MOSFET控制速度

    電子發(fā)燒友網(wǎng)站提供《使用Arduino直流電機MOSFET控制速度.zip》資料免費下載
    發(fā)表于 06-27 15:13 ?0次下載
    使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>直流電機</b>MOSFET<b class='flag-5'>控制</b>速度

    使用Arduino控制直流電機

    電子發(fā)燒友網(wǎng)站提供《使用Arduino控制直流電機.zip》資料免費下載
    發(fā)表于 07-03 11:04 ?0次下載
    使用<b class='flag-5'>Arduino</b>來<b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>

    如何使用Arduino UNO和TIP120晶體管驅(qū)動和控制直流電機的速度

    在本 Arduino 電機指南中,您將學(xué)習(xí)如何使用 Arduino UNO 和 TIP120晶體管驅(qū)動和控制
    的頭像 發(fā)表于 02-11 10:08 ?1065次閱讀
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和TIP120晶體管驅(qū)動和<b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>的速度