Robofun 機器人論壇

標題: 機械手臂的控制 [打印本頁]

作者: nichal    時間: 2008-11-28 14:35
標題: 機械手臂的控制
1. MCU選用
2. 電路規劃
3. 角度確認
4. PWM程式

以上為目前進度
接下來是完成連線通訊的部分
敬請期待


[ 本帖最後由 nichal 於 2008-11-28 14:38 編輯 ]

1977649455.jpg (26 KB, 下載次數: 324)

1977649455.jpg

1977649461.jpg (73.81 KB, 下載次數: 303)

1977649461.jpg

作者: wboe    時間: 2008-11-28 22:00
請問一下大大不知道什麼原因,我家伺服機分開供電就會有問題!

電源->8051->訊號線->伺服機  沒問題
└---------------┘

電源1->8051->訊號線->伺服機  有問題
電源2--------------┘
作者: yyy    時間: 2008-11-28 22:18
原帖由 wboe 於 2008-11-28 22:00 發表
請問一下大大不知道什麼原因,我家伺服機分開供電就會有問題!

電源->8051->訊號線->伺服機  沒問題
└---------------┘

電源1->8051->訊號線->伺服機  有問題
電源 ...

兩電源的接地有共接嗎?
作者: wboe    時間: 2008-11-29 00:47
經大大提醒,發現....沒有共地
然後又發現...一樣會亂轉。

突然想到電源供應器的電流可能太低了

調高之後,解決問題了~^^
作者: nichal    時間: 2008-11-29 07:17
恭喜大大解決問題了~~

電源問題在SERVO控制也是一門大學問唷~~~
因為碳刷馬達在啟動時都會有一股強勁的瞬間電流
如果POWER不夠力的話
光是在啟動那瞬間
就可能讓所有信號都亂掉了!!!

所以我的電路才規畫了開關元件
一次只開一個SERVO就好
可以避開一下子全開的大電流問題
不過這是治標不治本的作法
先期實驗才這樣處理
最好還是要強固一下電源的規劃
作者: nichal    時間: 2008-11-30 19:07
5. 通訊準備
6. MCU程式
7. 通訊配線
8. 連線測試

以上為最新進度
持續更新中~~~

2468PIC.jpg (61.41 KB, 下載次數: 281)

2468PIC.jpg

ECA8PIC.jpg (71.24 KB, 下載次數: 269)

ECA8PIC.jpg

作者: wboe    時間: 2008-12-1 00:46
大大進度神速阿!!!~~

強一點的8051跑起來真的不用顧慮太多><!!

目前用的8052只能跑到16通道!!!~還在測試中
作者: nichal    時間: 2008-12-1 07:25
wboe大大加油~~~
傳統51雖然限制很多
但卻可以激發更好的創意與程式功力唷~~~

您給我的程式可能會晚一點再試
我會先把手上這個基本的手臂動作完成
一起努力吧!!!
作者: wboe    時間: 2008-12-1 09:37
傳統51真的是給他有夠慢!!!

不過真的可以激發程式能力>"<

我給你得程式押~有空再看就好了!!!

應該是沒有什麼難度~^^有問題在交流交流

看來這禮拜你家的機器手就可以完成了~嘿嘿~~恭喜阿

----------------------------------順便問一下程式-------------------------------

  pm_width_h[1][um_count]  =  (65536-pwm_width_temp)/256;
  pm_width_l[1][um_count]  =  (65536-pwm_width_temp)%256;

這是我用來在算8051中斷時間的程式碼

是否可以簡化/256與%256呢??

除法與餘數實在太慢了!!!!!不知道是否有更好的方法?!

除法可以用位移的!!那餘數呢??

[ 本帖最後由 wboe 於 2008-12-1 09:45 編輯 ]
作者: nichal    時間: 2008-12-1 10:29
標題: 回復 9# 的帖子
用mask跟型態宣告就可以了

(unsigned char) ((65536-pwm_width_temp) & 0x00ff);
作者: wboe    時間: 2008-12-1 17:26
感謝nichal大大呀
一語點破夢中人~~呵呵

的確編譯之後程式碼少非常多。

不知道是能力不夠還硬體不足,最近一值再想用89S52做16通道有點無言的感覺。

像精度這麼高的控制用這麼低階的MCU使用起來還真的有點綁手綁腳的。

不知道大大是否看過有人成功用89S52做出16通道呢??
作者: nichal    時間: 2008-12-1 17:54
標題: 回復 11# 的帖子
我想應該是有啦~~~
只是很多高手都對網路不熟
再不就是打字速度不快
所以我們就比較沒機會看到了~~~

仔細想想
如果用52的話
有四組8bits的Timer0,1
加上一組16bits的Timer2
應該是可以變化很多東西了
把52的datasheet多K幾次
再把所有功能排列組合試試看
有需要的話可以再對52超頻(22.1MHz)
這樣就很夠用了

如果再啟動外部中斷
並外掛振盪信號
........
(這樣系統資源應該會全被吃光光 )


先求有再求好囉~~~


[ 本帖最後由 nichal 於 2008-12-1 17:58 編輯 ]
作者: wboe    時間: 2008-12-1 20:46
nichal大大這句話@@

如果再啟動外部中斷
並外掛振盪信號

看不太懂>"<

啟動外部中斷外掛振盪器??89S52好像就一定要接外部振盪吧@@?

目前使用的是11.0592MHZ 不知道你所指的是這個嗎??

[ 本帖最後由 wboe 於 2008-12-1 21:29 編輯 ]
作者: nichal    時間: 2008-12-1 22:51
標題: 回復 13# 的帖子
您誤解了
我的意思是利用外部中斷的INT0與INT1
掛上低頻的振盪器(50Hz)
就多兩組Timer可以用了
拿來當20mS的切換信號剛好
作者: wboe    時間: 2008-12-2 00:55
大大~請容許我叫你~~~神~~

完全沒想到~可以這樣用~哈哈~~~~~果真超厲害的啦!!>"<

薑還是老的辣!!!!~嘿嘿~~要多多在你身上挖寶一下了~><
作者: nichal    時間: 2008-12-2 06:56
大大您過獎了
多K幾次datasheet就會多一些想法出來
林先生的書
我前前後後看不下20次
每次看都有新的想法唷~~~

不過外部中斷是系統最高優先的中斷
所以一旦這樣用了之後
系統資源會被外部中斷吃掉很多
所以一定要低頻
頻率太高的話整個系統都不用工作了.....

作者: wboe    時間: 2008-12-3 19:11
看來應該去借本8051回來讀一下!!~

有些觀念還真的不是很好!!!



網路資料固然多,但是真的零零散散。
作者: nichal    時間: 2008-12-3 22:27
9. 控制板組裝
10. PC操作界面

總算完成了~~~
應該花了三個星期有囉!!!
雖然不滿意
但勉強可以接受
下次要換好一點的馬達來用~~~

作者: stanley21    時間: 2008-12-6 09:02
可喜可賀, 完成度百分百!!

抖動的問題是不是因為壓克力板的剛性不足(太有彈性了)??

還是因為伺服馬達無法精準的固定在所定位的角度上呢?
作者: nichal    時間: 2008-12-6 20:38
史丹利大大
其實兩個原因都有
一個是在靜止狀態就不停抖動
這屬於馬達問題
另一個是在動作中因慣性導致的抖動
這是壓克力的問題
不過兩個問題其實都能解決
第一個就是換馬達
不過現在沒預算
只好再等等.......
第二個就是我文章中提到的漸進式PWM控制
將送出的PWM自動切割
每次修正的間隔不超過1count
這樣就可以改善很多
只是動作會變得比較慢
大概是這樣囉~~~




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2