彙整

Posts Tagged ‘TK01’

復工第一天

19 六月, 2007 3 留言
早幾天 , 因傷患關係 , 一直未能提起精神制作 , 昨晚終於走左去做全身堆拿 , 雙手終於回復八成握力 , 可以工作 , 今天便再為 TK01 減磅 , 今天大概是減去了 20g 左右 , 明晚繼續 ,
由早幾星期開始已經諗緊 , 如果 TK01 減磅後仍未能走動 ,
1. 是否只有加上 " 避震 " 呢?
2. 如不加上 " 避震 " , 是否要用上碳纖維板呢 ?
3. 如不用以上兩個方案解決 , 會否有第三方案呢 ?
根句以上問題 , 諗左小小野 ,
1. " 避震 " 用過啦 , 但並唔係最好的解決方案 , 因為呢樣零件係無得 control 的 , 換另一個角度睇 , 即是有機會 " out of control " , 係唔可行的 ,
2. 碳纖維板 , 係質量輕 , 但係加工困難 , 碳纖布及碳纖紙亦都好貴 , 如果想盡快
另 TK01 行得可以用 , 但無挑戰性 , 唔想用 .
3. 第三解決方案 ?
用風批的時侯 , 發覺風力可以比電更大力 , 而且市面上亦有一些小型 " 氣唧 " , 而且 " 氣唧 " 的設計大概同 " 油壓 " 相似 , 理論上用 " 氣唧 " 會比用普通 " 避震 " 優勝 , 只要能夠控制每個 " 氣唧 " 的存氣及放氣情況 , 便能在 servo 沒有足夠扭力的時侯 , 加以附助 ,
但新的問題又出現啦 , 到底
1. 氣的流動率 , 應如何計算呢 ? 好似是以 MPA 為單位的 ,
2. 氣由氣泵所產生 , 但市面上一般 DC 氣泵 ( 養魚用品 ) 都是行 " 膠拍 “的 , 跟本不足以用在機體上 ,
3. 在網上找過有 55mm 的旋轉氣缸 , 大概我要找的動力來源是找對了 , 但這旋轉氣缸有沒有存氣功能呢 ? 如沒有 ,
4. 可不可自制一個存氣氣缸呢 ?
5. 這旋轉氣缸能否有足夠流量供給 " 氣唧 " 呢?
等等問題 ….
但現在能做的只有 …. 減磅

以下是 " 氣唧 " 的相片及影片 , 現在只以針筒推動 " 氣唧 "

 

吊高來整

1 六月, 2007 5 留言
   
在制作機體過程中 , 其實測試平衡及調教 Servo 角度都頗難的 , 於是今次決定試下吊高來整 , 睇下會唔會好 D 啦 , 

另外一個小遊戲 , 在相片一裏 , 連同 TK01 在內 , 到底有多小個機械人呢 ?

機友聚會

30 五月, 2007 發表留言
 
由香港機械人討論區 http://hkrobotsforum.myftp.org 所舉辨的機械人聚會 , 不經不覺已經參與了大慨第四次了 , 今次更得到好友光仔相助借出廠房地方舉辨聚會 , 及得到 R 的邀請由小弟講解制作板金的小小心得 , 在此說聲 Thank you . 

另外由 Pacess 所講解的機械制作心路歷程 , 發覺外表斯文的他 , 原來是很風趣的 , 在此見意 Pacess 可將有用資料及心路歷程記錄及第日可以出版一本叫 " Pacess 機械人研究集 " , 咁香港的機械發展就有希望了 .

而 TK01 原來對比起其他機體真係巨大咁多 , 未來的 2 號機及 3 號機 , 真係要留意小型化的問題了 , 未來會暫時停止減磅兩星期 , 會用這兩星期測試 Resolution 提高了的 Servo Controller 先 .

 

只減了上半身的重量

24 五月, 2007 發表留言

在二十天的減磅過程裏 , TK01 身體重量由原本 3.304kg , 減至 3.079kg , 減去了 225g ,
但在分散計算的時候 , 是應該已減去最小 300g 的, 咁唔通我計錯咁普通的加減數 ?
定係個磅唔準 ? 咁果七十幾克去咗邊呢 ? 嘩 … 好邪呀 ….

身體健康

12 三月, 2007 2 留言
  在上星期初,其實已為進行身體建造工程,做了一連串的預備工作,首先是將 TowerPro 及 BlueBird Servo 全部換線加長,另到由 Servo Controller 到 Servo 全程一條線,不用加插口,另出錯斷線或接觸不良機會減低,及用熱縮通 Mark 好晒 D Servo,插錯 Servo 位?No ….
  做完一連串預備後,對住一塊塊的鋁板,開始感覺到暈暈地,到低由邊塊開始做起好呢?幸而呢個問題只在我腦內停留了兩分鐘,因為其實基本上塊塊都要加工,便求其拎起一塊 …. 開始。

不停地鑽,不停地 Mark 位,不停地摺,到今日終於可以連起對腳同個身的外殼了 …. 相信下星期初,全個身可以做好了。

 

新的身體設計

6 三月, 2007 發表留言

新的身體設計已預留空間安裝主板及制面 , 而且亦定了鋰電及 232 program 的接口了 ,

只要完成以上工作 , 做出身體 , 好快可以行了 ,

解體後又重組

5 三月, 2007 發表留言
幾經一番手續 , 終於把腳部全換上 tower Pro 的 Servo 了 ,
連換 Servo 的電線 , 加上要做埋第二個鋰電箱及重新設計身體 ,
足足搞了兩晚 , 過多兩日 , 應該可以開始做身了 ,

大腦三號

1 三月, 2007 2 留言
 

由於之前所做的大腦 1 號及 2 號並不完善 , 亦只為測試用途 ,

所以決定加做大腦 3 號 ,

3 號特點在於加上 Relay , 另到可以同時開關 2 排 Servo 電源 ,

及加上排阻在 Servo Control Signal Output , 經 R 的題示已銲接成功 ,

只要在 78L05 的射極位接到排阻的 Common 腳便可以了 , 聽 R 講可以另到

Servo Control 的 Output Signal 更加完美 , 經測試後 ,

BlueBird 時着時唔着的情況似乎得以解決 ( 唔知關唔關事?? ) ,

及亦可 Control 到剛買的 7隻 TowerPro 其中六隻 , 因其中一隻是壞的 ,

現在只要重新設計身體 , 完成另一個鋰電箱及把腳其中八隻換上更大力的 Servo ,

就可以嘗試 Program 靜態步行了。

 

我張枱越來越亂了 , 要揾日執執枱了

 正在制作大腦三號中

模型神童 34郎第二輯

(模型神童 VAN ) 講述 三四郎 20 年後 , 主角是 VAN 及明王丸 , 可惜故事欠張力 , 四期完。

未完成的 Shift Left to Right

24 二月, 2007 2 留言
因為現在的電池重量關係 , 及重心偏移了 , 另到機械腳動作不平衡 , 唯一解決方法是重做
主板及 Mounting , 以及更換更輕的電池 , 而且 S3003 的表現也不太理想 , 現在可以見到每當
完成一個動作後 , S3003 會因主體的重量另到有部份關節出現回振現像 , 情形就好似射箭時一樣 ,
當箭發出去後 , 弓的弦線還在振一樣 , 要解決想信要用大力及慢一點的 Servo ,

現在 Program 的 source code :

// First Leg test of TK01
// Action: Standup Only
// by Blood Keith 24 Feb 2007
#define SERVO_START 0  // first servo pin
#define SERVO_END 20  // last servo pin
int i,speed;     // Varibles
//int Pos[21];
main()
{
writes(“9600″, 500);
// sys(0, 0);                               // select COM port 0
sys(0, 0);                                  // select COM port 0
setcomm(9600);
delay(2000);
set_allspeed(1);
loop
{
servo_func1();
delay(4000);
servo_func2();
delay(4000);
servo_func3();
delay(4000);
servo_func4();
delay(4000);
}
}

set_allspeed(speed)
{
for(i=SERVO_START; i <= SERVO_END; i++)
{
writec(232, 250, 1);
writec(232, i, 0);
writec(232, speed, 0);
}
}
servo_func1() // Position shift left
{
writec(232, 1,  0); writec(232, 81, 0); // Servo 1
writec(232, 2,  0); writec(232, 58, 0); // Servo 2
writec(232, 3,  0); writec(232, 90, 0); // Servo 3
writec(232, 4,  0); writec(232, 48, 0); // Servo 4
writec(232, 5,  0); writec(232, 29, 0); // Servo 5
writec(232, 6,  0); writec(232, 78, 0); // Servo 6
writec(232, 15, 0); writec(232, 79, 0); // Servo 15
writec(232, 16, 0); writec(232, 123, 0); // Servo 16
writec(232, 17, 0); writec(232, 95, 0); // Servo 17
writec(232, 18, 0); writec(232, 75, 0); // Servo 18
writec(232, 19, 0); writec(232, 107, 0); // Servo 19
writec(232, 20, 0); writec(232, 62, 0); // Servo 20
}
servo_func2() // Position stand center
{
writec(232, 1,  0); writec(232, 83, 0); // Servo 1
writec(232, 2,  0); writec(232, 50, 0); // Servo 2
writec(232, 3,  0); writec(232, 90, 0); // Servo 3
writec(232, 4,  0); writec(232, 48, 0); // Servo 4
writec(232, 5,  0); writec(232, 29, 0); // Servo 5
writec(232, 6,  0); writec(232, 88, 0); // Servo 6
writec(232, 15, 0); writec(232, 89, 0); // Servo 15
writec(232, 16, 0); writec(232, 123, 0); // Servo 16
writec(232, 17, 0); writec(232, 95, 0); // Servo 17
writec(232, 18, 0); writec(232, 75, 0); // Servo 18
writec(232, 19, 0); writec(232, 107, 0); // Servo 19
writec(232, 20, 0); writec(232, 66, 0); // Servo 20
}
servo_func3() // Position shift right
{
writec(232, 1,  0); writec(232, 79, 0); // Servo 1
writec(232, 2,  0); writec(232, 50, 0); // Servo 2
writec(232, 3,  0); writec(232, 90, 0); // Servo 3
writec(232, 4,  0); writec(232, 48, 0); // Servo 4
writec(232, 5,  0); writec(232, 29, 0); // Servo 5
writec(232, 6,  0); writec(232, 98, 0); // Servo 6
writec(232, 15, 0); writec(232, 99, 0); // Servo 15
writec(232, 16, 0); writec(232, 123, 0); // Servo 16
writec(232, 17, 0); writec(232, 95, 0); // Servo 17
writec(232, 18, 0); writec(232, 75, 0); // Servo 18
writec(232, 19, 0); writec(232, 99, 0); // Servo 19
writec(232, 20, 0); writec(232, 62, 0); // Servo 20
}
servo_func4() // Position stand center
{
writec(232, 1,  0); writec(232, 83, 0); // Servo 1
writec(232, 2,  0); writec(232, 50, 0); // Servo 2
writec(232, 3,  0); writec(232, 90, 0); // Servo 3
writec(232, 4,  0); writec(232, 48, 0); // Servo 4
writec(232, 5,  0); writec(232, 29, 0); // Servo 5
writec(232, 6,  0); writec(232, 88, 0); // Servo 6
writec(232, 15, 0); writec(232, 89, 0); // Servo 15
writec(232, 16, 0); writec(232, 123, 0); // Servo 16
writec(232, 17, 0); writec(232, 95, 0); // Servo 17
writec(232, 18, 0); writec(232, 75, 0); // Servo 18
writec(232, 19, 0); writec(232, 107, 0); // Servo 19
writec(232, 20, 0); writec(232, 66, 0); // Servo 20
}

站立 Video

19 二月, 2007 2 留言
現時因為仍然屬於了解 Program 的階段及測試 Servo 力度及平衡, 所以只作出站立便已足夠 ,
已發現其中四隻 Servo 可能要換上更大力度的了 , 及因未能解決平均供電問題 , 以致電芯重量 loading 過重 ,
但已很開心能另雙腳站立了 ,
現在開機及load Program 的程序 :
1) download program 到大腦 ,
2) 接上 Servo 電源 , ( 8 x AA Battery for 6 servo = 16 pcs battery , 6 x AA battery for arm board , servo controller 及 lcd Display )
3) 將 " 三刀雙 " 制選到 arm board rs-232 接到 servo controller  , 第日會改用行 com 1 或 com 2 , 咁可以用小粒制 ,
現在的程式 , 是用 R 的 Source code 改出來的 , sorry R 借了一用 ,
// First Leg test of TK01
// Action: Standup Only
// by Blood Keith 19 Feb 2007
#define SERVO_START 0  // first servo pin
#define SERVO_END 20  // last servo pin
int i,speed;     // Varibles
//int Pos[21];
main()
{
writes(“9600″, 500);
// sys(0, 0);                               // select COM port 0
sys(0, 0);                                  // select COM port 0
setcomm(9600);
delay(2000);
set_allspeed(1);
loop
{
servo_func1();
delay(3000);
}
}

set_allspeed(speed)
{
for(i=SERVO_START; i <= SERVO_END; i++)
{
writec(232, 250, 0);
writec(232, i, 0);
writec(232, speed, 0);
}
}

servo_func1()
{
writec(232, 1,  0); writec(232, 84, 0); // Servo 1
writec(232, 2,  0); writec(232, 50, 0); // Servo 2
writec(232, 3,  0); writec(232, 90, 0); // Servo 3
writec(232, 4,  0); writec(232, 43, 0); // Servo 4
writec(232, 5,  0); writec(232, 45, 0); // Servo 5
writec(232, 6,  0); writec(232, 84, 0); // Servo 6
writec(232, 15, 0); writec(232, 95, 0); // Servo 15
writec(232, 16, 0); writec(232, 112, 0); // Servo 16
writec(232, 17, 0); writec(232, 101, 0); // Servo 17
writec(232, 18, 0); writec(232, 67, 0); // Servo 18
writec(232, 19, 0); writec(232, 107, 0); // Servo 19
writec(232, 20, 0); writec(232, 67, 0); // Servo 20
}
以下是 Video
 

 

%d 位部落客按了讚: