㈠ C51單片機控制電機正反轉
這需要你自己完成:走35米需要有你的小車輪子直徑算出來走35M的圈數,實際一定有誤差,需要考慮,此外可以採用終點定標[比如什麼顏色的標記等]用對應的感測器去識別;到達終點後,利用單片機的定時器延時60S後將小車掉轉頭,向回開,直到到達起點。這種情況通常需要有道路標記的——也就是說,小車是按照編輯路線行進和停止的。
㈡ 如何讓單片機驅動直流電機正反轉
㈢ 單片機控制小馬達正反轉 求電路圖與程序
基本上任何型號的單片機都可以滿足此功能,具體看你條件吧。電源的話外接5V的直流適配器就可以了,基本不需要做任何電壓轉化,硬體電路上主要是你要加一個三極體做一下驅動,單片機的IO可能沒有辦法驅動130電機。
程序就更簡單了,直流小電機,兩個IO口,輪詢進行高低切換,在定時器裡面完成就可以了。
㈣ 怎樣用單片機來控制電機的方向
步進電機只需改變繞組的供電順序,可以首先電機的方向控制。
㈤ 單片機控制交流電機正反轉的C語言程序
這個很簡單,我教你怎麼玩,下面是思路和方式
思路:有三個輸入,分別是一個按鈕、兩個霍爾感測器(也就是接近開關),我用P0.0到P0.2來代替;輸出2個或以上(這看你接什麼顯示器,如果是PC的話,就不用數字量輸出,直接串口就可以了)控制正反轉的繼電器管腳用P1.0、P1.1;
PS:顯示那塊我不知道你怎麼處理,但是需要與一個全局變數轉動次數k連接起來,另外兩個輸入接近開關選用NPN感測器或用光電隔離,總之有效信號能把管腳電壓拉低就可以了,具體硬體要注意什麼,有需要就問我
現在我們來寫程序:
#include <reg51.h> //選用晶振11.0592MHz
unsigned char k=0; //k表示正反轉次數
sbit X0=P3^2; //調節按鈕
sbit X1=P1^1; //上限位接近開關信號
sbit X2=P1^2; //下限位接近開關信號
sbit Y1=P0^0; //電機上升(注意:我使用的是管腳輸出為0時候,電機運動,這樣可以避免啟動時候,單片機自復位對電機點動的影響)
sbit Y2=P0^1; //電機下降
void delay50ms(unsigned int i)
{
unsigned int j;
for (i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
IT0=1; //下降沿觸發
EX0=1; //開P3.2外部中斷
EA=1; //總中斷開
while(1)
while(k)
{
Y1=0; //正轉
while(X1==1); //等待正轉接近開關反應
Y1=1; //正轉停
delay50ms(1); //停止時間50ms
Y2=0; //反轉
while(X2==1); //等待反轉接近開關反應
Y2=1; //反轉停
k--; //圈數減一
}
}
void counter0(void) interrupt 0
{
k++; //外部中斷控制圈數加一
//這個位置可以加你顯示程序
}
程序已經通過測試,放上去就能用,很好玩喲,呵呵
㈥ 單片機控制電機的正反轉 程序及電路圖
這個很簡單,我教你怎麼玩,下面是思路和方式
思路:有三個輸入,分別是一個按鈕、兩個霍爾感測器(也就是接近開關),我用p0.0到p0.2來代替;輸出2個或以上(這看你接什麼顯示器,如果是pc的話,就不用數字量輸出,直接串口就可以了)控制正反轉的繼電器管腳用p1.0、p1.1;
ps:顯示那塊我不知道你怎麼處理,但是需要與一個全局變數轉動次數k連接起來,另外兩個輸入接近開關選用npn感測器或用光電隔離,總之有效信號能把管腳電壓拉低就可以了,具體硬體要注意什麼,有需要就問我
現在我們來寫程序:
#include
//選用晶振11.0592mhz
unsigned
char
k=0;
//k表示正反轉次數
sbit
x0=p3^2;
//調節按鈕
sbit
x1=p1^1;
//上限位接近開關信號
sbit
x2=p1^2;
//下限位接近開關信號
sbit
y1=p0^0;
//電機上升(注意:我使用的是管腳輸出為0時候,電機運動,這樣可以避免啟動時候,單片機自復位對電機點動的影響)
sbit
y2=p0^1;
//電機下降
void
delay50ms(unsigned
int
i)
{
unsigned
int
j;
for
(i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
it0=1;
//下降沿觸發
ex0=1;
//開p3.2外部中斷
ea=1;
//總中斷開
while(1)
while(k)
{
y1=0;
//正轉
while(x1==1);
//等待正轉接近開關反應
y1=1;
//正轉停
delay50ms(1);
//停止時間50ms
y2=0;
//反轉
while(x2==1);
//等待反轉接近開關反應
y2=1;
//反轉停
k--;
//圈數減一
}
}
void
counter0(void)
interrupt
0
{
k++;
//外部中斷控制圈數加一
//這個位置可以加你顯示程序
}
程序已經通過測試,放上去就能用,很好玩喲,呵呵
㈦ 用單片機怎麼使直流電機正反轉
單片機控制直流電機正反轉,最簡單的方法是 兩個I/O口 控制兩個繼電器(一組常開、常閉)的就可以,電機 兩個極 接 兩個繼電器 的 動觸點,兩個繼電器 的 常開點接+(電機電源),兩個常閉點接-,就可以了。
單片機控制接通一個繼電器 是正轉,控制接通另一個繼電器 是反轉,兩個繼電器都不接通(或者都接通)電機不轉。
㈧ 51單片機實現電動機正反轉控制如何實現
51單片機的IO口一般不能直接輸出控制電機,必須加裝電機驅動電路,常見的如L298N等,電機正反轉驅動採用H橋電路。你的要求使用很簡單的代碼就能實現。
㈨ 單片機控制電機正反轉動的c語言程序
首先要看你的電機是直流電機還是步進電機。直流電機就簡單了,只有兩根線,電機兩端電壓正負極改變就可以實現正轉反轉。不過要加電機驅動晶元,或者H橋電路,電機驅動晶元可以選擇L298N,加上適當的外圍電路就可以直接用單片機控制電機了。比如讓單片機P1.0 = 0,P1.1 = 1;(單片機I/0口要與電機驅動晶元的輸入腳相連)這樣的話,電機驅動晶元就會輸出一個電壓差,可以使直流電機向一個方向轉,如果使P1.0 = 1,P1.1 = 0,則電機驅動晶元會輸出一個和剛才相反的電壓,使電機向相反的方向轉動。H橋電路和電機驅動晶元的原理差不多,網上多的是。我這說的只是簡單的原理,實際中,L298N的輸入端和單片機相連的時候要加光耦隔離,否則單片機會工作不正常。步進電機就稍微復雜點,也得需要電機驅動晶元才行,只不過控制信號是按一定的規律給的,規律變了,電機轉動的方向也就變了。樓上給出的貌似是步進電機的驅動程序。