導航:首頁 > 操作系統 > 單片機中電機

單片機中電機

發布時間:2022-09-26 21:51:03

單片機中如何使電動機穩定在2000轉/分

做簡單點就用個轉速環,給定2000,與反饋轉速求偏差,用PI控制器,PI參數可由經驗求得或者按照自動控制原理求得,然後通過電力電子器件傳遞函數輸出電壓給電機。再精確點可以用電流轉速雙閉環控制,不同電機的控制方法也不同,上述為最簡單的他勵直流電機調壓控制。

⑵ 單片機是怎樣控制電機的

單片機只輸出信號,經過隔離電路,再經過功率開關電路驅動電機。

控制普通的三項非同步電機可以單片機輸出信號經三極體後驅動一個小功率繼電器,由繼電器來驅動交流接觸器,進而控制電機,也可以單片機信號經三極體放大後直接驅動功率繼電器。 方法有很多很多。至於驅動伺服,單片機埠的信號經過光耦隔離後可以直接驅動,伺服驅動器本身需要的驅動信號都是弱電信號。

單片機注意事項

一般在單片機的數據手冊(Datasheet)中都會提到該單片機需要的復位信號的要求。一般復位信號的寬度應為。復位電平的寬度和幅度都應滿足晶元的要求,並且要求保持穩定。還有特別重要的一點就是復位電平應與電源上電在同一時刻發生,即晶元一上電,復位信號就已產生。

不然,由於沒有經過復位,單片機中的寄存器的值為隨機值,上電時就會按PC寄存器中的隨機內容開始運行程序,這樣很容易進行誤操作或進入死機狀態。

⑶ AT89C51單片機中電機應該怎樣接

首先一點,單片機肯定是不能直接控制電機的。
再看電機的功率有多大,是交流,還是直流。
交流電機要用交流接觸器控制,單片機通過交流光耦MOC3083控制交流接觸器的線圈。
直流電機,可以用繼電器。如果電機的功率比較大,電壓也高,就得用一個大電流的繼電器控制電機,單片機控制一個低壓的繼電器再去控制大功率的繼電器。

⑷ 單片機是怎樣控制電機的

單片機只輸出信號,經過隔離電路,再經過功率開關電路驅動電機。

控制普通的三項非同步電機可以單片機輸出信號經三極體後驅動一個小功率繼電器,由繼電器來驅動交流接觸器,進而控制電機,也可以單片機信號經三極體放大後直接驅動功率繼電器。 方法有很多很多。至於驅動伺服,單片機埠的信號經過光耦隔離後可以直接驅動,伺服驅動器本身需要的驅動信號都是弱電信號。

單片機注意事項

一般在單片機的數據手冊(Datasheet)中都會提到該單片機需要的復位信號的要求。一般復位信號的寬度應為。復位電平的寬度和幅度都應滿足晶元的要求,並且要求保持穩定。還有特別重要的一點就是復位電平應與電源上電在同一時刻發生,即晶元一上電,復位信號就已產生。

不然,由於沒有經過復位,單片機中的寄存器的值為隨機值,上電時就會按PC寄存器中的隨機內容開始運行程序,這樣很容易進行誤操作或進入死機狀態。

⑸ 單片機怎麼控制電機轉動圈數

1、首先電機要是可調速的;
2、用兩個按鈕,分別接入單片機的兩個輸入腳,一個按鈕作為增速計數用,一個作為減速計數用。每按一次增速按鈕,單片機計數一次,並輸出控制信號控制電機增加速度,減速按鈕反之。
3、例如用單片機pwm控制電機轉速:
帶注釋軟體清單
;
==========使用單元設定==========
//.
.................................使用單元設定
DIS0
EQU
30H
DIS1
EQU
31H
DIS2
EQU
32H
DIS3
EQU
33H
LED
EQU
34H
TM1
EQU
35H;
TM2
EQU
36H;
INTV
BIT
37H;
中斷標志
THX
EQU
38H;
定時脈寬高電平
CISHU
EQU
39H
FIRST
BIT
41H;
檢測加減是否第一次按下
SET1
BIT
42H
SETZ0
EQU
43H;設定當前設定值SETZ0~SETZ3
SETZ1
EQU
44H
SETZ2
EQU
45H
SETZ3
EQU
46H
TM3
EQU
47H;
循環次數單元
JIA1
BIT
48H;
單步加標志
LIANJIA
BIT
49H;
連加標志
JIAN1
BIT
50H;
單步減標志
LIANJIAN
BIT
51H;
連減標志
SETDATA
EQU
52H;
設定速度暫存單元
REALDATA
EQU
53H;
實測速度暫存單元
YK1
EQU
54H;
上次輸出數據暫存單元
KP
EQU
56H;比例系數
KI
EQU
57H;
積分系數
EK
EQU
58H;
設定值和實測值的差值
EK1
EQU
59H;
上次的EK值
OUTPUT
EQU
60H;
EK2
EQU
61H;
EK-EK1的值
ONPRESS
BIT
62H;
判定ENTER鍵是否彈起標志
TMS
EQU
63H;
閃爍時長
SHAN
BIT
64H;
閃爍標志
;
==========主程序==========
ORG
0000H
SJMP
MAIN
ORG
0013H;
外部中斷1入口地址
AJMP
INX1
ORG
001BH;
定時器T1中斷入口地址
AJMP
ITX1
ORG
0070H
MAIN:
MOV
SP,#70H;
設定堆棧指針入口地址
ACALL
INIT;
調用初始化程序
M1:
JB
SET1,FLASH;
當前為設置狀態則跳到閃爍顯示模塊
ACALL
DISP;
否則為一般顯示
SJMP
NEXTT
FLASH:
ACALL
DISP1
NEXTT:
ACALL
DELAY;
調用按鍵延時程序
ACALL
M2;調用按鍵程序
DJNZ
CISHU,M1;
第隔100MS刷新一下實測值
MOV
CISHU,#20
ACALL
CONTROL;
調用控制調速模塊
SJMP
M1
//
==========初始化模塊==========
INIT:MOV
DPTR,#0FD00H
;
設置PA、PB為輸出口,PC為輸入口
MOV
A,#03H
MOVX
@DPTR,A
MOV
TMOD,#21H
;
定時器/計數器T1為方式2,定時器/計數器T0為方式1
MOV
TL0,#00H
;
定時器/計數器T0賦初值#00H
MOV
TH0,#00H
MOV
THX,#0BBH
;
輸出單元賦初值#0BBH,即脈沖高電平寬度
MOV
TH1,THX
MOV
TL1,THX
SETB
TR1
;
啟動定時器/計數器T1
SETB
TR0
;
啟動定時器/計數器T0
SETB
ET1
;
允許定時器/計數器T1溢出中斷
SETB
EX1
;
允許外部中斷1中斷
SETB
IT1
;
選擇邊沿觸發
SETB
EA
;
CPU開中斷
SETB
07H;
SETB
SHAN
CLR
11H;
檢測是否成功
MOV
LED,#7FH。

⑹ 單片機中步進電機原理

你說的是單片機怎麼控制步進電動機吧。
1.步進電動機例如8位的,由八個小線圈組成步進電動機定子。每轉一步為45度,例如:你通過單片機引腳控制,先給第1個線圈通電,然後通過單片機控制單獨給第二個線圈通電,此時轉子會轉45度,然後通過單片機控制單獨給第三個線圈通電,此時在往前轉45度。加起來就90度了。然後這樣循環下去,所以你通過單片機程序可以非常准確的控制步進電機旋轉多少度,或多少圈

⑺ 單片機如何控制電機轉速

利用單片機的定時器TIMER_A(TA)中斷產生脈沖信號,通過在響應的中斷程序中實現步進電機步數和圈數的准確計數,通過PWM實現轉速控制。

可以利用P10埠的中斷關閉TA中斷程序,並推入堆棧,停止電機;P11中斷則開啟TA中斷,堆棧推入程序計器(PC),開啟電機。

P31埠輸出高電平由PMM8713的U/D埠控制電機的轉向;P3.0~P37埠接8279的8個數據介面。

單片機掃描到矩陣鍵盤有鍵按下時,利用P2埠的中斷設置TA,控制啟停、調速和轉向等,同時單片機反饋給8279控制LED管顯示轉速和轉向。

(7)單片機中電機擴展閱讀

1、單片機所接收到控制命令暫存在RXBUFFER中,與存儲在片內Flash的中斷程序的入口地址相比較,相同就進入中斷,實現步進電機的控制。

2、當P1.0中為高電平時,其內部三極體導通,使電機轉動。當P1.0為低電平時,內部三極體截止,電路斷開,電機停止轉動。所以在程序中可以利用P1.0口輸出PWM波來控制電機的轉速。

⑻ 單片機控制步進電動機的運動的原理及單片機程序

51單片步進電機控制原理與控制設計程序
51單片步進電機是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合於單片機控制。步進電機可分為反應式步進電機(簡稱vr)、永磁式步進電機(簡稱pm)和混合式步進電機(簡稱hb)。
51單片步進電機區別於其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數決定,而電機的轉速由脈沖信號頻率決定。
51單片步進電機的驅動電路根據控制信號工作,控制信號由單片機產生。其基本原理作用如下:
(1)控制換相順序
通電換相這一過程稱為脈沖分配。例如:三相步進電機的三拍工作方式,其各相通電順序為a-b-c-d,通電控制脈沖必須嚴格按照這一順序分別控制a,b,c,d相的通斷。
(2)控制步51單片進電機的轉向
如果給定工作方式正序換相通電,步進電機正轉,如果按反序通電換相,則電機就反轉。
(3)控制51單片步進電機的速度
如果給步進電機發一個控制脈沖,它就轉一步,再發一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發出的脈沖頻率,就可以對步進電機進行調速。步進電機是機電控制中一種常用的執行機構,它的用途是將電脈沖轉化為角位移,通俗地說:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。通過控制脈沖個數即可以控制角位移量,從而達到准確定位的目的;同時通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。

⑼ 51單片機控制電機運轉,用什麼繼電器

採用固態繼電器即可。

控制方法:

1、單片機輸出端接光電耦合器,加上三極體、繼電器組合的電路。

2、看繼電器對應的是多大電壓驅動,繼電器有一端要接上這個電壓,另一端接三極體。

3、繼電器一端接適合交流電機的交流電壓,另一端接交流電機。

4、正反轉用兩個繼電器控制。

繼電器

繼電器(英文名稱:relay)是一種電控制器件,是當輸入量(激勵量)的變化達到規定要求時,在電氣輸出電路中使被控量發生預定的階躍變化的一種電器。它具有控制系統(又稱輸入迴路)和被控制系統(又稱輸出迴路)之間的互動關系。

通常應用於自動化的控制電路中,它實際上是用小電流去控制大電流運作的一種「自動開關」。故在電路中起著自動調節、安全保護、轉換電路等作用。

⑽ 如何用單片機控制直流電機

通過與單片機相連的按鍵控制直流電機停啟的電路如下圖所示,通過P3.6口按鍵觸發啟動直流電機,P3.7口的按鍵觸發停止直流電機的運行。由圖可知,當P1.0輸出高電平「1」時,NPN型三極體導通,直流電機得電轉動;當P1.0輸出低電平「0」時,NPN型三極體截止,直流電機停止轉動。

(10)單片機中電機擴展閱讀:

通過單片機產生PWM波控制直流電機程序

#include "reg52.h"


#define uchar unsigned char


#define uint unsigned int


uchar code table[10]={0x3f,0x06,0x5b,


0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共陰數碼管顯示碼(0-9)


sbit xiaoshudian=P0^7;


sbit wei1=P2^4; //數碼管位選定義


sbit wei2=P2^5;


sbit wei3=P2^6;


sbit wei4=P2^7;


sbit beep=P2^3; //蜂鳴器控制端


sbit motor = P1^0; //電機控制


sbit s1_jiasu = P1^4; //加速按鍵


sbit s2_jiansu= P1^5; //減速按鍵


sbit s3_jiting=P1^6; //停止/開始按鍵


uint pulse_count; //INT0接收到的脈沖數


uint num=0; //num相當於占空比調節的精度


uchar speed[3]; //四位速度值存儲


float bianhuasu; //當前速度(理論計算值)


float reallyspeed; //實際測得的速度


float vv_min=0.0;vv_max=250.0;


float vi_Ref=60.0; //給定值


float vi_PreError,vi_PreDerror;


uint pwm=100; //相當於占空比標志變數


int sample_time=0; //采樣標志


float v_kp=1.2,v_ki=0.6,v_kd=0.2; //比例,積分,微分常數


void delay (uint z)


{


uint x,y;


for(x=z;x>0;x--)


for (y=20;y>0;y--);


}


void time_init()


{


ET1=1; //允許定時器T1中斷


ET0=1; //允許定時器T0中斷


TMOD = 0x15; //定時器0計數,模式1;定時器1定時,模式1


TH1 = (65536-100)/256; //定時器1值,負責PID中斷 ,0.1ms定時


TL1 = (65536-100)%6;


TR0 = 1; //開定時器


TR1 = 1;


IP=0X08; //定時器1為高優級


EA=1; //開總中斷


}


void keyscan()


{


float j;


if(s1_jiasu==0) //加速


{


delay(20);


if(s1_jiasu==0)


vi_Ref+=10;


j=vi_Ref;


}


while(s1_jiasu==0);


if(s2_jiansu==0) //減速


{


delay(20);


if(s2_jiansu==0)


vi_Ref-=10;


j=vi_Ref;


}


while(s2_jiansu==0);


if(s3_jiting==0)


{


delay(20);


motor=0;


P1=0X00;


P3=0X00;


P0=0x00;


}


while(s3_jiting==0);


}


float v_PIDCalc(float vi_Ref,float vi_SpeedBack)


{


register float error1,d_error,dd_error;


error1=vi_Ref-vi_SpeedBack; //偏差的計算


d_error=error1-vi_PreError; //誤差的偏差


dd_error=d_error-vi_PreDerror; //誤差變化率


vi_PreError=error1; //存儲當前偏差


vi_PreDerror=d_error;


bianhuasu=(v_kp*d_error+v_ki*vi_PreError+v_kd*dd_error);


return (bianhuasu);


}


void v_Display()


{


uint su;


su=(int)(reallyspeed*10); //乘以10之後強制轉化成整型


speed[3]=su/1000; //百位


speed[2]=(su00)/100; //十位


speed[1]=(su0)/10; //個位


speed[0]=su; //小數點後一位


wei1=0; //第一位打開


P0=table[speed[3]];


delay(5);


wei1=1; //第一位關閉


wei2=0;


P0=table[speed[2]];


delay(5);


wei2=1;


wei3=0;


P0=table[speed[1]];


xiaoshudian=1;


delay(5);


wei3=1;


wei4=0;


P0=table[speed[0]];


delay(5);


wei4=1;


}


void BEEP()


{


if((reallyspeed)>=vi_Ref+5||(reallyspeed


{


beep=~beep;


delay(4);


}


}


void main()


{


time_init();


motor=0;


while(1)


{


v_Display();


BEEP();


}


if(s3_jiting==0) //對按鍵3進行掃描,增強急停效果


{


delay(20);


motor=0;


P1=0X00;


P3=0X00;


P0=0x00;


}


while(s3_jiting==0);


}


void timer0() interrupt 1


{


}


void timer1() interrupt 3


{


TH1 = (65536-100)/256; //1ms定時


TL1 = (65536-100)%6;


sample_time++;


if(sample_time==5000) //采樣時間0.1ms*5000=0.5s


{


TR0=0; //關閉定時器0


sample_time=0;


pulse_count=TH0*255+TL0; //保存當前脈沖數


keyscan(); //掃描按鍵


reallyspeed=pulse_count/(4*0.6); //計算速度


pwm=pwm+v_PIDCalc(vi_Ref,reallyspeed);


if(pwm


if(pwm>100)pwm=100;


TH0=TL0=0;


TR0=1; //開啟定時器0


}


num++;


if(num==pwm) //此處的num值,就是占空比


{


motor=0;


}


if(num==100) //100相當於占空比調節的精度


{


num=0;


motor=1;


}


}



閱讀全文

與單片機中電機相關的資料

熱點內容
安卓怎麼下載正版刺激戰場 瀏覽:235
xrv本田壓縮比 瀏覽:63
空調耗電量手機app怎麼看 瀏覽:723
伺服器怎麼登錄u8 瀏覽:909
明星pdf 瀏覽:270
判斷手機訪問php 瀏覽:119
appstory怎麼設密碼 瀏覽:798
程序員月薪3萬 瀏覽:261
flash反編譯覆蓋碼怎麼找 瀏覽:196
女大男小忘年戀題材電影 瀏覽:83
築業軟體如何查找加密鎖 瀏覽:114
電信盒子系統升級伺服器地址 瀏覽:584
海康威視伺服器如何設置dns 瀏覽:911
空調壓縮機檢測方法 瀏覽:529
程序員的工資多少錢啊 瀏覽:966
faka.369kuai。com/details/022D34D2 瀏覽:626
主角一開始是個小孩子的小說 瀏覽:568
為什麼安卓手機拍抖音沒有蘋果好 瀏覽:367
關鍵點pdf 瀏覽:535
linuxpython版本查看 瀏覽:242