Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
樓主: marbol
打印 上一主題 下一主題

機器蟲hexapod的零件-串列伺服機控制板自製達成

[複製鏈接]
121#
 樓主| 發表於 2008-3-16 07:05:39 | 只看該作者
原帖由 ayu 於 2008-3-16 06:06 發表

師父大大,不能下載解壓縮吶??
猜想一下,可以分別控制幾個伺服機??


ayu大大~~~
重試了一下,可以下載觀看呢!!手邊只有三顆伺服機,就湊合著用啦 !!

目前設定16軸伺服機使用,指令延時都由PC人機介面來設定與計算後送出,
最主要的考量是每個動作的連續性,這個效果相當常見也必需,
自定的通訊協定為"前同步碼,各軸位置(目前16個)...........,速度碼,後同步碼"
解析度10us,換算為100步階~~~~~
要調成4us也是可行的喔,因為配合51的8位元極限256步階(用到250步階,251~255保留給同步碼用),
以伺服機1ms=1000us,除以250步階後得到的是4us/步階

接著要試的是指令下載儲存於eeprom後脫機運行demo,外部多加個switch與內部旗標運用應該可行,再探!!

[ 本帖最後由 marbol 於 2008-3-16 08:16 編輯 ]
122#
發表於 2008-3-17 06:03:20 | 只看該作者
原帖由 marbol 於 2008-3-16 07:05 發表


ayu大大~~~
重試了一下,可以下載觀看呢!!手邊只有三顆伺服機,就湊合著用啦 !!

目前設定16軸伺服機使用,指令延時都由PC人機介面來設定與計算後送出,
最主要的考量是每個動作的連續性,這個效果相當常見也必需 ...

樓主大大,果然厲害,那整個控制系統到現在就完成了喔。

請問eeprom用的是那個型號呢??  容量多少??
用什麼方式傳輸資料到51呢(並列(不太可能吧)、串列、IIC…)??

樓主大大,這樣下一步應該要設計GUI 介面了吧??

抱歉,影片還是看不到吶,解壓縮都會失敗喔。可否請樓主大大再麻煩一下,公用網站,如何??

謝謝樓主大大喔。
123#
 樓主| 發表於 2008-3-17 22:50:02 | 只看該作者
原帖由 ayu 於 2008-3-17 06:03 發表

樓主大大,果然厲害,那整個控制系統到現在就完成了喔。

請問eeprom用的是那個型號呢??  容量多少??
用什麼方式傳輸資料到51呢(並列(不太可能吧)、串列、II ...


ayu大大 ~~~
並列的方式比較佔腳位,不在考慮之列,
容量當然越大越好,考慮串列傳輸用的 eeprom為93C66,容量512bytes,以20bytes/動作,可以有50組動作
構想只要外加sw切換,就可以沿用目前PC連線控制的方式,來進行eeprom的寫入,
另外一種I2C方式的eeprom為24C128,有16Kbytes的容量,容納的動作更多囉~~~~~

至於讀出的速度與動作展示的方式有關,需要好好計算一下~~~~
124#
發表於 2008-3-18 07:42:57 | 只看該作者
原帖由 marbol 於 2008-3-16 07:05 發表
指令延時都由PC人機介面來設定與計算後送出,

自定的通訊協定為"前同步碼,各軸位置(目前16個)...........,速度碼,後同步碼"

接著要試的是指令下載儲存於eeprom後脫機運行demo,外部多加個switch與內部旗標運用應該可行,再探!!

謝謝樓主大大,小的看到影片啦



那現在也是由gui介面送資料給s51來做速度控制的囉??

[ 本帖最後由 ayu 於 2008-6-5 05:17 編輯 ]
125#
 樓主| 發表於 2008-3-18 22:25:26 | 只看該作者
原帖由 ayu 於 2008-3-18 07:42 發表

謝謝樓主大大,小的看到影片啦

VnkJisPYP4A&hl

那現在也是由gui介面送資料給s51來做速度控制的囉??  
要如何寫s51內的速度控制程式呢??

請大大講解一下好了,謝囉。


ayu大大~~~
或許您已經忘記了,在前幾樓的練功中,有個影片是PWM脈波掃頻的圖像,
脈波掃得快,伺服機轉的速度就較快
脈波掃得慢,伺服機轉的速度就較慢
相當直觀~~~~
至於說速度控制方面,轉慢不是問題,轉快總有個極限,那個極限就是伺服機的規格1xx~2xxms/60度
請用心體會喔~~~~~~~~
126#
 樓主| 發表於 2008-3-25 07:41:56 | 只看該作者
原帖由 ayu 於 2008-3-19 07:02 發表

現在想說,把數值傳送到51晶片,
比如說,伺服機的現在值是127中立點,傳250的話,127-250看多少??傳10的話,127-10看多少??
那應該需要絕對值的指令吧(用那一個呢??),減的話用cjne,加的話,用那一個指令呢?
...


ayu大大~~~~
run的結果如何??提報一下啊!!!

p.s加ADD與減SUBB可配合進位旗標CARRY來判定進位或借位與否!!
127#
 樓主| 發表於 2008-3-26 07:20:21 | 只看該作者
原帖由 ayu 於 2008-3-25 11:22 發表

Hi marbol,

    減了後,變成負的話,那怎麼辦呢??卡在這裡吶。

ayu大大~~~~困心衡慮一陣子,消化的比較快喔!!!
暫存器或ram區的使用方式應該瞭解吧!!
就設定30H,31H為減數,被減數,32H為結果暫存
如果30H-31H>0,這個沒問題
如果30H-31H<0會有借位產生,
這個借位可以用JC來做一個分歧選擇,
絕對值的做法大致如下,(51不是avr,有些運算需要透過累積器Acc)

        CLR    C
        MOV   A,30H
        SUBB  A,31H
       JC  L1
       MOV   32H,A             ;30H-31H>0
       JMP    RESULT
L1:   CLR    C
        MOV   A,31H            ; if  30H-31H<0,就反過來減,
        SUBB  A,30H            ;另一個方法可以取2的補數加一給換算回來
        MOV   32H,A            ;不過第一種方式比較直覺
RESULT:
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-24 01:05 , Processed in 0.148120 second(s), 6 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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