找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3299|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

關(guān)于51單片機驅(qū)動麥克那姆輪的調(diào)速問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:526810 發(fā)表于 2019-5-26 17:36 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
3黑幣
如題 最近在做一個基于51單片機的麥輪遙控小車。由于是第一次接觸麥輪,一開始我想的是不需要調(diào)速,能前進(jìn)后退平移就行了。但是程序?qū)懞煤笈笥迅嬖V我說如果不進(jìn)行調(diào)速,小車并不會走直線,反而會傾斜前進(jìn)。所以我想問下如何對麥輪進(jìn)行調(diào)速控制,以及為什么需要調(diào)速。謝謝!

51單片機的程序在下面 如果可以的話,能幫我講解下需要如何調(diào)整
#define uint unsigned int
#define uchar unsigned char

sbit out1=P2^0;
sbit out2=P2^1;
sbit out3=P2^2;
sbit out4=P2^3;
sbit out5=p2^4;
sbit out6=p2^5;
sbit out7=p2^6;
sbit out8=p2^7;


void qianjin()//前進(jìn)
{
out1=0;out2=1;
out3=0;out4=1;
out5=0;out6=1;
out7=0;out8=1;
}
void houtui()//后退
{
out1=1;out2=0;
out3=1;out4=0;
out5=1;out6=0;
out7=1;out8=0;
}
void zuozhuan()//左轉(zhuǎn)
{
out1=0;out2=0;
out3=0;out4=1;
out5=0;out6=0;
out7=0;out8=1;
}
void youzhuan()//右轉(zhuǎn)
{
out1=0;out2=1;
out3=0;out4=0;
out5=0;out6=1;
out7=0;out8=0;
}
void tingzhi()//停止
{
out1=0;out2=0;
out3=0;out4=0;
out5=0;out6=0;
out7=0;out8=0;
}

void init()        
{
IE=0x90;
SCON=0x50;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TCON=0x40;
TR1=1;
ES = 1;
EA=1;
}

void main()
{
init();

while(1)
{

}
}

void time() interrupt 4
{
                                                                                                                                                                                             
if(RI)
{
RI=0;
switch(SBUF)
{
case 'a':qianjin();break;
case 'b':houtui();break;

case 'c':zuozhuan();break;
case 'd':youzhuan();break;

case 'e':tingzhi();break;

}                                                                                                         
}
}

最佳答案

查看完整內(nèi)容

你朋友的調(diào)速是指通過檢測實際速度進(jìn)行反饋調(diào)節(jié),你可以去了解一PID速度控制
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

板凳
ID:57512 發(fā)表于 2019-6-3 11:34 | 只看該作者
我發(fā)表過的》》麥克納姆輪全向輪戰(zhàn)車程序精髓分享《《   
自己搜索看看
因為:由于麥克輪是將(X,Y,W)轉(zhuǎn)換成(W1,W2,W3,W4)
翻譯:X為橫著走的速度,Y為前進(jìn)走速度,W為原地轉(zhuǎn)速度。W1,W2,W3,W4為各個輪子速度

捷徑:如果你只是玩耍,不是做項目,那么只需要簡單的控制4個電機,不斷地試驗電機組合,看看不同輪子轉(zhuǎn)向得到什么結(jié)果,就能總結(jié)出規(guī)律
回復(fù)

使用道具 舉報

沙發(fā)
ID:526810 發(fā)表于 2019-5-27 09:42 | 只看該作者
liushangming 發(fā)表于 2019-5-27 08:50
你朋友的調(diào)速是指通過檢測實際速度進(jìn)行反饋調(diào)節(jié),你可以去了解一PID速度控制

就是用電機的編碼器進(jìn)行調(diào)速嗎?不需要在程序中修改什么
回復(fù)

使用道具 舉報

樓主
ID:52944 發(fā)表于 2019-5-26 17:36 | 只看該作者
你朋友的調(diào)速是指通過檢測實際速度進(jìn)行反饋調(diào)節(jié),你可以去了解一PID速度控制
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表