Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6069|回復: 8
打印 上一主題 下一主題

請教有誰做過自走車的呢?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-20 15:35:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大大們好,小弟想做一台自走車,車體已經做好了但是程式不知道該怎麼寫因為網路資源有限 想請問各位大大們會寫嗎??我的車子是五顆感測器置於前*1左右各*2田宮雙獨立直流馬達

ORG     0
START:
        MOV     A,P3                         ;顯示感測器狀態
        MOV     P2,A                         ;
        JB         P3.0,LEFT                 ;左SENSOR壓線
        JB         P3.1,FORWARD         ;中SENSOR壓線
        JB         P3.2,RIGHT             ;右SENSOR壓線
        JMP START
LEFT:
        MOV     P1,#00001110B     ;左轉
        JMP     START
FORWARD:
        MOV     P1,#00001010B     ;直走
        JMP     START
RIGHT:
        MOV     P1,#00001011B     ;右轉
        JMP     START


這是他用三顆的寫法,我用五顆有要改哪裡嗎?? 感謝大大指教!
2#
發表於 2008-4-20 18:11:14 | 只看該作者
重點是看你要讓你的自走車怎麼跑吧!

方式有很多,還要看你的感測試是為什麼而裝的,避障、還是讀黑膠帶,有很多喔!(你好像是讀膠帶的)

你說的雙馬達又是怎麼樣,是左邊一顆,右邊一顆,來控制轉彎的嗎?

我記得TAMIYA的大型RC車都是用伺服機控制轉彎以及前後的。

你的車子怎麼跑的,以及一些細項。

重點是,自走車的程式絕對不是給妳了就沒問題了,還要測試看看適不適合,O不OK。

還有一個比較重要的就是你的電路,不然我不知道我要控制哪一隻腳的IO

--------------------------------------------------------------------------------------------------------------------
你應該是用51的吧,我在作自走車時的步驟是

把馬達、感測器以及一些我想要裝在車子上的零件,一一測試。

先設馬達正逆轉,用程式先單獨測試

再來是感測器,單獨測試。

如果有用到伺服機的話,也是一樣單獨測試。

以及其他妳要裝的功能,也是一樣單獨測試。

最後在整合。

如果你要在網路上找自走車的資料,我建議你把妳的功能分開,個別去找控制方式。然後再結合。

不太可能一開始就把全部的元件裝上以及程式打好,就成功的。

一定要重複再重複的測試吧!

還有一個重點,你程式如果不懂的話,真的要花時間看,然後與實作做配合練習,這樣學很快的。


其實我對C比較懂啦!所以你打的組合語言,我也不能幫上忙。

-----------------------------------------------------------------------------------------------------------------------------

我也不是電機底的,(機械底的)

也是硬著頭皮去看,去做。

現在也是做得有點心得了。

重點還是程式(這是核心呀)。

不難啦!肯去做,一定行。真的!!

[ 本帖最後由 draw3299 於 2008-4-20 18:16 編輯 ]
3#
 樓主| 發表於 2008-4-20 19:11:13 | 只看該作者
感謝大大你的回覆...我是用雙軌道的方式下去跑的路徑是偵測兩條黑色膠帶(走迷宮之類的),馬達是控制轉彎跟減速的,應該不是伺服馬達,是直流馬達,我是用89s51沒錯,我知道你的說法就是先分開測試最後再整合,現在的問題就是不知道程式該如何寫...我有馬達測試的程式,只是不知道正不正確而已可以麻煩你幫我看一下嗎??謝謝!!(C語言應該OK吧??

#include <reg51.h>
sbit motor1 = P1^0;
sbit motor2 = P1^1;
sbit pb0 =P2^0;
sbit pb1 =P2^1;
void delay 1ms(int);
//=================================
main()
{motor1=0;
motor2=0;
pb0=1;
pb1=1;
while(1)
{    if(pb0==0 & pb1==1)
      {motor1=0;
       motor2=1;
       delay 1ms(500);
       motor2=0;}
      if(pb0==1 & pb1==0)
      {motor1=1;
       motor2=0;
       delay 1ms(500);
       motor1=0;}
}}
//=================================
void delay 1ms(int x)
{    int i,j;
for (i=0;i<x;i++)
      for(j=0;j<120;j++);
}

其實能用c我也想用c啦,只是網路書籍都是用組合語言,如果大大樂意的話可以教我嗎??因為我感測器想不出要怎麼寫,
我會附電路圖跟車體結構圖,如果你看的懂請指導我怎麼做可以嗎??感激!!!

1.電路圖(解析度可能不好,如果要Protel的檔請跟我說!!)
http://pix.nofrag.com/8/a/7/475527ac7e0e114f1389dbb6c6901.html

2.結構圖
http://pix.nofrag.com/8/c/1/8bca345bf4624e2c90747775b9f7d.html

如果圖無法看,我在補圖上去!!

001.jpg (572.91 KB, 下載次數: 447)

電路圖

電路圖

96.jpg (42.21 KB, 下載次數: 348)

96.jpg
4#
 樓主| 發表於 2008-4-22 00:14:00 | 只看該作者
請問還有哪位大大會的??小弟很急....
m490521 該用戶已被刪除
5#
發表於 2008-5-4 22:07:15 | 只看該作者
我程式剛剛大概看了一下
似乎你的程式是純循電工膠帶的
但是軌道是以迷宮的方法排列
所以你的Sensor排列方法似乎有點問題....
能夠先請你說說 你想怎麼偵測嗎
6#
 樓主| 發表於 2008-5-4 23:56:56 | 只看該作者
感謝m490521大大回覆,我的感測器偵測到黑色膠帶是LO,白色部分是HI
前面三個L1.M.R1是主偵測器,後面兩個L2.R2是偵測偏移用的
比如說當L1.R1是HI的時候,M是LO表示已經走到T型路口,準備要轉彎.....
路徑雖然是迷宮沒錯,但是我們程式是寫死的,它只要從頭走到尾再回頭走一次就可以了
以上說明大大不知道看不看的懂,我是還有寫另一個程式,因為這是原始版的程式,有需要我再PO上!!
7#
發表於 2008-5-5 09:49:08 | 只看該作者
小弟的豪華型自走車

DCP_0014.JPG (207.96 KB, 下載次數: 273)

DCP_0014.JPG
8#
發表於 2008-6-25 21:40:33 | 只看該作者
哇~~真的是六星級的自走車,不過還是有個問題,圖中那4層的電路板有何功用,可以請大大解說依下嗎?
9#
發表於 2008-6-26 09:37:40 | 只看該作者
就是     裝飾用

屬於  壯大聲勢  功能
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-11-24 02:56 , Processed in 0.282338 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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