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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

為什么加了和尋跡相關(guān)的單片機(jī)代碼之后,小車的速度變慢了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1008389 發(fā)表于 2022-6-5 10:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
為什么加了和尋跡相關(guān)的代碼之后,小車的速度變慢了?有什么解決的方法嗎?
  1. int GraysensorRPin = 18;
  2. int GraysensorLPin = 14;
  3. int motor_01 = 10;
  4. int motor_02 = 6;
  5. int motor_03 = 5;
  6. int motor_04 = 9;
  7. int start_stop_flag = 0;
  8. int stop_num = 0;
  9. int stop_clear_num = 0;
  10. void right();
  11. void left();
  12. void forwards();
  13. void stop();

  14. void setup() {
  15.   pinMode(GraysensorRPin,INPUT);
  16.   pinMode(GraysensorLPin,INPUT);
  17.   pinMode(motor_01,OUTPUT);
  18.   pinMode(motor_02,OUTPUT);
  19.   pinMode(motor_03,OUTPUT);
  20.   pinMode(motor_04,OUTPUT);
  21. }

  22. void loop() {
  23.   if(!(digitalRead(GraysensorRPin)) &&digitalRead(GraysensorLPin))
  24.   {
  25.     right();
  26.   }
  27.     if(digitalRead(GraysensorRPin) && !(digitalRead(GraysensorLPin)))
  28.   {
  29.     left();
  30.   }
  31.     if( (!digitalRead(GraysensorRPin))&& (!digitalRead(GraysensorLPin)))
  32.   {
  33.     forwards();
  34.   }
  35.     if(digitalRead(GraysensorRPin) &&digitalRead(GraysensorLPin))
  36.   {
  37.     stop();
  38.   }
  39.   if(stop_clear_num == 2)
  40.   {
  41.     start_stop_flag = 1;
  42.   }
  43.   
  44. }
  45. void stop()
  46. {
  47.    if(start_stop_flag)
  48.   {
  49.     analogWrite(motor_03, 0);
  50.     analogWrite(motor_02, 0);
  51.     analogWrite(motor_04, 0);
  52.     analogWrite(motor_01, 0);
  53.     start_stop_flag = 0;
  54.     forwards();
  55.   }else
  56.   {
  57.     stop_num++;
  58.   }
  59. }

  60. void right()
  61. {
  62.   analogWrite(motor_03, 175);
  63.   analogWrite(motor_02, 0);
  64.   analogWrite(motor_04, 0);
  65.   analogWrite(motor_01, 175);
  66. }

  67. void forwards()
  68. {
  69.   analogWrite(motor_03, 175);
  70.   analogWrite(motor_02, 0);
  71.   analogWrite(motor_04, 175);
  72.   analogWrite(motor_01, 0);
  73.    if(stop_num > 10)
  74.   {
  75.     stop_num = 0;
  76.     stop_clear_num++;
  77.   }
  78. }

  79. void left()
  80. {
  81.   analogWrite(motor_03, 0);
  82.   analogWrite(motor_02, 175);
  83.   analogWrite(motor_04, 175);
  84.   analogWrite(motor_01, 0);
  85. }
復(fù)制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:844772 發(fā)表于 2022-6-6 08:51 | 只看該作者
我覺(jué)得你程序判斷上有問(wèn)題,因該沒(méi)法循跡。至于循跡時(shí)車速慢很正常,你可以加強(qiáng)動(dòng)力,就是analogwrite那的值大一點(diǎn)唄,它的范圍是255以內(nèi)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1008389 發(fā)表于 2022-6-6 14:44 | 只看該作者
尋跡是能正常尋跡的,只是加了尋跡的代碼之后,小車變得比之前的慢
回復(fù)

使用道具 舉報(bào)

地板
ID:1032698 發(fā)表于 2022-6-6 20:17 | 只看該作者
看樣子你這是四個(gè)電機(jī),在沒(méi)加尋跡之前你是四個(gè)電機(jī)都動(dòng),加了尋跡后只有兩個(gè)電機(jī)工作,其實(shí)轉(zhuǎn)彎時(shí)可以讓四個(gè)電機(jī)都工作的,兩個(gè)正轉(zhuǎn),兩個(gè)反轉(zhuǎn)。
回復(fù)

使用道具 舉報(bào)

5#
ID:1032698 發(fā)表于 2022-6-6 20:20 | 只看該作者
可以兩個(gè)電機(jī)正轉(zhuǎn),兩個(gè)電機(jī)反轉(zhuǎn),這樣甚至能實(shí)現(xiàn)原地轉(zhuǎn)圈,速度和轉(zhuǎn)向能力也會(huì)提高不少。還有就是可如樓上說(shuō)的調(diào)高電壓,選用5V電壓可能也能解決一部分問(wèn)題。
回復(fù)

使用道具 舉報(bào)

6#
ID:1004455 發(fā)表于 2022-6-6 20:27 | 只看該作者
調(diào)pwm
回復(fù)

使用道具 舉報(bào)

7#
ID:844772 發(fā)表于 2022-6-7 09:09 | 只看該作者
新人小白 發(fā)表于 2022-6-6 14:44
尋跡是能正常尋跡的,只是加了尋跡的代碼之后,小車變得比之前的慢

僅僅想速度快點(diǎn),就把a(bǔ)nalogWrite(motor_02, 175);中的175調(diào)大,距離255還有好大的調(diào)節(jié)空間。由于循跡時(shí)用的是差動(dòng)法,導(dǎo)致動(dòng)能損失大,必然會(huì)降低速度的。如果轉(zhuǎn)向時(shí),用一邊轉(zhuǎn)一邊不轉(zhuǎn)方式,這樣轉(zhuǎn)向不那么靈敏,但動(dòng)能損失小點(diǎn)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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