欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3710|回復: 3
打印 上一主題 下一主題
收起左側

關于51單片機驅動麥克那姆輪的調速問題

[復制鏈接]
跳轉到指定樓層
樓主
3黑幣
如題 最近在做一個基于51單片機的麥輪遙控小車。由于是第一次接觸麥輪,一開始我想的是不需要調速,能前進后退平移就行了。但是程序寫好后朋友告訴我說如果不進行調速,小車并不會走直線,反而會傾斜前進。所以我想問下如何對麥輪進行調速控制,以及為什么需要調速。謝謝!

51單片機的程序在下面 如果可以的話,能幫我講解下需要如何調整
#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()//前進
{
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()//左轉
{
out1=0;out2=0;
out3=0;out4=1;
out5=0;out6=0;
out7=0;out8=1;
}
void youzhuan()//右轉
{
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;

}                                                                                                         
}
}

最佳答案

查看完整內容

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

使用道具 舉報

沙發
ID:52944 發表于 2019-5-26 17:36 | 只看該作者
你朋友的調速是指通過檢測實際速度進行反饋調節,你可以去了解一PID速度控制
回復

使用道具 舉報

板凳
ID:526810 發表于 2019-5-27 09:42 | 只看該作者
liushangming 發表于 2019-5-27 08:50
你朋友的調速是指通過檢測實際速度進行反饋調節,你可以去了解一PID速度控制

就是用電機的編碼器進行調速嗎?不需要在程序中修改什么
回復

使用道具 舉報

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

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

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表