Robofun 機器人論壇

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

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

[複製鏈接]
41#
 樓主| 發表於 2006-6-14 00:31:37 | 只看該作者
原帖由 marbol 於 2006-6-11 23:56 發表


1.說真的,那些用PIC寫的程式真像天書,很難硬K,
所以現在只有一步一步慢慢從PIC硬體架構跟組語去搭配瞭解~~~

2.c語言我不太會寫,不過就簡易的C程式還是能看的出它的意思,所推薦的C程式串列伺服控制器最主 ...


ayu大大,您還沒畫出來喔??:lo
l這個波形是有玄機的,做不做的出連續輸出的PWM就看這個了~~~~~~
這兩天趁著有空用手繪的方式繪出波形圖與測試電路圖,如附檔~~~有點亂,不過還可以啦

依照友站的做法,可以用輪序的方式輸出四通道PWM信號,這裡改寫後準備提昇到八通道PWM信號輸出,如能參透這個波形圖!!您就可以做出十六通道甚至更多的PWM信號輸出

原理是這樣的,pwm的duty cycle一定要在1ms~2ms之間以對應0~90度的伺服機擺動角度,而PWM週期就沒有一定要20ms連續輸出,基本上雖然PWM的週期從10ms~50ms變化肉眼是看不出來的,但是能做到的通道數還是有限制,這方面大家可以試試看~~~~

範例中波形圖的最後一個波形變"L"就觸發一個計時10ms,然後再由第一個波形重新設定為"H",依此類推一個個波形就這樣產生出來~~~~

這裡是以最大的PWM訊號"H"的時間2ms來做邊界條件,等到做出8通道連續輸出PWM後,就可以再加點料...............讓PWM訊號的duty cycle隨我們的意思在1ms~2ms間變化,對應到伺服機的角度就可以控制0~90度變化了~~~~加油

[ 本帖最後由 marbol 於 2006-7-16 23:08 編輯 ]

輪序PWM波形時序示意圖.jpg (81.54 KB, 下載次數: 362)

輪序PWM波形時序示意圖.jpg

8通道PWM訊號產生器測試電路圖.jpg (94.27 KB, 下載次數: 348)

8通道PWM訊號產生器測試電路圖.jpg

8通道PWM訊號產生器測試電路圖.jpg (162.58 KB, 下載次數: 347)

8通道PWM訊號產生器測試電路圖.jpg
42#
發表於 2006-6-14 06:12:18 | 只看該作者
LEO大大也是如此設計的,伺服機最大是脈波是2.5ms,8x2.5ms=20ms,在這個週期中,可以作8的倍數個輸出。

LEO大大作到16個輸出了,我也用力想了好久,可是我用的是從電腦下指令來操作它,假如只讓51自已動作的話,

我想是作得出來,但是用電腦下指令的話,我還是卡在那裏,這幾天,腦袋不知道在作什麼????  沒什麼勁??

真的很感謝您,我會用力想的。謝謝。真的太感謝您了。

[ 本帖最後由 ayu 於 2006-6-14 06:20 編輯 ]
43#
 樓主| 發表於 2006-6-14 07:34:52 | 只看該作者
原帖由 ayu 於 2006-6-14 06:12 發表
LEO大大也是如此設計的,伺服機最大是脈波是2.5ms,8x2.5ms=20ms,在這個週期中,可以作8的倍數個輸出。

LEO大大作到16個輸出了,我也用力想了好久,可是我用的是從電腦下指令來操作它,假如只讓51自已動作的話 ...


喔!!原來您早就從LEO大大那邊挖到寶囉!!所以LEO大大還沒有辦法用PC來操控半身機器人囉!!相當不錯,合作發揮各自的強項來達成目標~~~~~~

如果看過一些日本翻譯過來,像是CQ出版社集結成的書,可能在音響,電視,通信之類的工業叢書可以看到一些波型時序,因為傳輸通道不多,又沒有利用rs232之類的協定,通常都會看到"分時多工"技巧,就是把一個計時空間做切割,然後儘量塞不同的訊號進去,看所要的空間有多少,反過來要求整個系統的規格或者挑選滿足效能的控制晶片~~~~

給個提示,為什麼最後一個波形要設定一個10ms的計時中斷??其實這個計時空間增減幾ms只要不會影響其它波形弟兄,那麼,可以做的事情太多了,換句話說,您可以把一些雜七雜八的事放在這個計時空間中來做,例如說串列中斷等等,而其它中斷插隊怎麼辦,那就安排BUSY旗標禁止插隊的行為,這樣說明白了嗎? wake up!!您還有三天的時間

[ 本帖最後由 marbol 於 2006-6-17 14:11 編輯 ]
44#
發表於 2006-6-14 10:12:56 | 只看該作者

回覆 #43 ayu 的文章

各位大大:

          最近也想買一些伺服機來玩一些花樣,看到各位大大的成果,也覺得蠻好玩的。
個人是想結合一些新花樣,像LED 或音樂的東西。
         因為,目前在完一顆多核心的單晶片。他可以很輕易的產生多組的PWM,而且不用跑很高的工作頻率:
可以參考小弟作的一些實驗:
        http://chamberplus.myweb.hinet.net/fppa_ic0.htm
        http://chamberplus.myweb.hinet.net/fppa_sa3.htm
        http://chamberplus.myweb.hinet.net/fppa_sa2.htm

     也希望各位大大可以給小弟一點意見!
謝謝!
45#
發表於 2006-6-14 10:36:50 | 只看該作者
原帖由 chamber 於 2006-6-14 10:12 發表
各位大大:

          最近也想買一些伺服機來玩一些花樣,看到各位大大的成果,也覺得蠻好玩的。
個人是想結合一些新花樣,像LED 或音樂的東西。
         因為,目前在完一顆多核心的單晶片。他可以很輕易 ...

這個晶片搭配最佳化的演算法對視覺辨識的資料模式處理很有幫助...因為可以一次辨識多個區域再用一顆整合起來...這個東西在機器人應用簡直是如魚得水阿....
不知要如何玩到...拜讀了您的介紹看的小的心裡癢癢的...
以前要搞多顆處理器透過"超慢"共用匯流排執行,現在通通可以不用管了,直接用這個微控制器搞定...

這顆處理器的多工根本不用弄啥作業系統...直接指派工作給其他處理器就好了...多方便阿...>w<
46#
發表於 2006-6-14 15:52:19 | 只看該作者

回覆 #46 chamber 的文章

請問這一模組要多少錢???
如何燒錄程式??
謝謝。
47#
 樓主| 發表於 2006-6-14 22:51:04 | 只看該作者
原帖由 chamber 於 2006-6-14 10:12 發表
各位大大:

          最近也想買一些伺服機來玩一些花樣,看到各位大大的成果,也覺得蠻好玩的。
個人是想結合一些新花樣,像LED 或音樂的東西。
         因為,目前在完一顆多核心的單晶片。他可以很輕易 ...



chamber大大沒想到您竟然出現了,真的要隆重推薦,之前經由友站拜讀文章,發人深省,是相當有料的資深工程師,在USB ,MP3及汽車引擎方面更是高手中的高手,大家別客氣,儘量請教~~~~

[ 本帖最後由 marbol 於 2006-6-14 22:54 編輯 ]
48#
發表於 2006-6-15 01:03:49 | 只看該作者
找到一個稱作"eTPU"的特殊微控制器硬體(和主核心各為獨立的內建裝置,eTPU有自己的處理器)....貼來給各位大大看看..:3

http://www.freescale.com/webapp/ ... LC6807&tid=tcnl
The eTPU is a programmable I/O controller with its own core and memory system, allowing it to perform complex timing and I/O management independently of the CPU. The eTPU is essentially an independent microcontroller designed for timing control, I/O handling, serial communications, motor control and engine control applications.

The eTPU is an enhanced version of the TPU module implemented on the MC68332 and MPC500 products. Enhancements of the eTPU include a more powerful processor, which handles high-level C code efficiently and allows for more functionality and increased performance.

Freescale provides an eTPU functions library that is a superset of the standard TPU library functions. These, along with an available C compiler, make it relatively easy to port older applications to the eTPU. By providing source code of the eTPU library, developers are able to create customized functions for specific applications.

Event triggered RISC like processor and timer subsystem
Up to 32 channels per module, with the possibility of multiple modules per device
Double Action hardware timer channels (Input Capture/Output Compare)
24-bit hardware timer resolution
Up to 64K bytes of code memory and 4K bytes data memory (actual amount implemented varies by product)
Flexible allocation of data memory per function
Angle mode support (provide angle reference for engine and motor control applications
DMA and interrupt request support
Debug support
General Timing Functions:
Full Featured and Synchronized PWM, Input Capture/Output Compare (Protected Output Compare), Pulse and Frequency Measurement, Pulse/Period Accumulate, Stepper Motor, Queued Output Match for Complex Outputs, GPIO

Communication Functions:
SPI, UART, UART with Flow Control, plus Proprietary Protocols

Motor Control Functions:
Stepper Motor, DC Motor, Brushless DC Motor, Permanent Magnet Synchronous Motor and AC Induction Motor (including speed control), Current Control, Vector Control techniques

Engine Control Functions:
Engine Position, Spark and Dwell Time, Angle Toggle, Speed Measurement, Knock Window, Angle Toggle

對於PWM或有計時需求的應用這種模組非常有用...而且也有通訊能力...0v0a

[ 本帖最後由 omegaCD 於 2006-6-15 01:09 編輯 ]
49#
 樓主| 發表於 2006-6-17 14:35:31 | 只看該作者
原帖由 chamber 於 2006-6-14 10:12 發表
各位大大:

          最近也想買一些伺服機來玩一些花樣,看到各位大大的成果,也覺得蠻好玩的。
個人是想結合一些新花樣,像LED 或音樂的東西。
         因為,目前在完一顆多核心的單晶片。他可以很輕易 ...


這個多核心的單晶片可以想成把許多單晶片塞在一顆裡面,面臨到的問題可能還是各核心的協調問題吧!!例如說該由誰分配工作,何時把分配下去的工作匯整起來,這方面的編程需要相當的整體考量~~~~~~~~
先初步分類面臨的問題
如果類似生產線的問題,這個道次做完才能輪下個道次做,那就跟現在用的微控器沒什麼不同,換句話說,用一顆微控器無法完成的話,那就用多顆微控器來進行
如果涉及大量運算像是影像處理,類神經網路,就要有一個分配與綜整工作的核心,來進行分散式的處理,這個多核心的單晶片應該相當適用~~~

最主要的還是價格與發展環境及技術資料是不是相當普及,大家應該蠻care的!!

[ 本帖最後由 marbol 於 2006-6-17 14:38 編輯 ]
50#
 樓主| 發表於 2006-6-17 14:43:24 | 只看該作者
原帖由 ayu 於 2006-6-14 08:54 發表
壓力太大了吧!


時間到了喔!!進度如何呀??
有沒有問題呢??
太保 該用戶已被刪除
51#
發表於 2006-6-18 09:51:54 | 只看該作者
好手........利害..........
太保 該用戶已被刪除
52#
發表於 2006-6-18 09:53:59 | 只看該作者
好手......利害........酷......
53#
 樓主| 發表於 2006-6-19 21:15:17 | 只看該作者
原帖由 ayu 於 2006-6-19 09:57 發表
這幾天在玩 pic 和 avr 還有 c 和 cnc 把進度拖了一下下,不過也有想51的程式啦,再看看了喔!


嗯!!真是行動派的,看來我也要加油了,把程式轉成PIC或AVR,順便當作練習~~~~

目前AVR手邊有的是atmega8515以及atmega16L
PIC則有16f877A以及16f628,發展環境都有了~~~~您的是哪些種類的pic 和 avr呢??
54#
發表於 2006-6-19 21:29:26 | 只看該作者

回覆 #56 marbol 的文章

因為51想不出來,為了不讓自已閑著,只好逼自已作進度了,我看了一個AVRSSC32 控制器,用的是atmega8的

晶片,可是買不到,你的atmega16L,去那裏買的,我在台南買不到,atmega8515也是,所以AVR工作停了。

PIC我也有16f877A以及16f628和16F84A, 因為文章都是用16F84,所以我也買了來使用,不曉得差了A的編號,

是不是因此實驗作不出來??

51想不出來,我可能先用硬體來作PWM了,以上報告完畢。

[ 本帖最後由 ayu 於 2006-7-25 13:25 編輯 ]
55#
 樓主| 發表於 2006-6-19 22:33:06 | 只看該作者
原帖由 ayu 於 2006-6-19 21:29 發表
因為51想不出來,為了不讓自已閑著,只好逼自已作進度了,我看了一個AVRSSC32 控制器,用的是atmega8的

晶片,可是買不到,你的atmega16L,去那裏買的,我在台南買不到,atmega8515也是,所以AVR工作停了。

...


呵呵!!還不急,CNC我也有興趣,不過不是在硬體或者驅動電路板,而是在軟體如何規畫透過並列埠控制!!這是最需要瞭解的~~~~
原本就打算把C改寫完成的51PWM程式show出來,您可以試試看這個簡單的程式是不是符合之前述說的波形圖,單獨看每隻腳,都有持續輸出的波形,瞭解程式與實務的關係後,相信您就有改寫的能力了~~~~當然依照慣例do it at your own risk!!!

(奇怪文件無法傳上來,去信箱收吧)

[ 本帖最後由 marbol 於 2006-6-19 22:35 編輯 ]
56#
發表於 2006-6-20 01:11:54 | 只看該作者

回覆 #46 chamber 的文章

chamber大大~
一看就知道是混在業界很久的老鳥@@"
技術相當扎實


這個概念我之前有想過 只是我是想以FPGA實現~
(FPGA有 軟核心 嵌入式處理器 可在NIOS II 寫程式 )
簡單的說 一片FPGA 可以放多個處理器 及自己設計的數位電路(I2C SPI ...都可實現)
不過FPGA目前只能合成數位電路  無法做出類比電路  需要外掛IC來擴充~


我覺得如果這整套系統在一萬左右的話(機率很低@@")
是絕對值得買的
尤其是要做小型的人型機器人 這種多軸運動控制的Project~
[明天偷偷打電話去尋價~~~~!!!]

so..
兩個問題:
1.大大網站中展示的功能 幾乎都是"獨立"的功能
   我的意思是說  在控制機器人時 整個多關節機構動作時
 是"相關"的 需要全雙工資料傳輸  
   所以我的問題是  這個FPPA的8個核心 的溝通機制?
   這決定了這顆IC的未來?!
   
2.FFPA似乎沒有analog的功能ADC DAC...etc.



   襪!!!! 一點多了 ~~ 看到忘我了@@"  趕快去睡ZZZzzz~~
57#
 樓主| 發表於 2006-6-20 17:53:27 | 只看該作者
原帖由 ayu 於 2006-6-19 22:44 發表
您有我的信箱嗎??


我是用之前您傳給我的信回覆的,有收到的話別忘了使用心得~~~~
不過只有產生8通道pwm的功能,所以算是個起頭,其它部分這裡暫時保留,
您要發揮創意把它補齊喔!!

[ 本帖最後由 marbol 於 2006-6-20 18:05 編輯 ]
58#
 樓主| 發表於 2006-6-24 22:59:41 | 只看該作者
原帖由 marbol 於 2006-6-20 17:53 發表


我是用之前您傳給我的信回覆的,有收到的話別忘了使用心得~~~~
不過只有產生8通道pwm的功能,所以算是個起頭,其它部分這裡暫時保留,
您要發揮創意把它補齊喔!!


還是再提醒一下~~~~
要讓這個控制板可以透過電腦來控制伺服機最主要有兩個東西
1.PWM產生器主程式
2.(伺服機編號,伺服機角度)協定解譯副程式

所以您要努力的是第二項的作業,涉及了協定的制定與解譯,當然協定可以參考各家伺服機控制板的格式來做做看,如果協定解譯副程式能原理搞懂做的出來,那麼PC端的VB圖控程式就不是很困難了!!!
59#
 樓主| 發表於 2006-7-2 10:54:27 | 只看該作者

自製的伺服機串列控制編輯軟體概念說明

這裡借用一下ayu大大找的以及h881068大大自製的伺服機串列控制編輯軟體
http://www.robofun.net/forum/viewthread.php?tid=428
讓這系列的說明更完整~~~~~~~~~

搭配這類軟體的目的主要是用來輔助編輯機器人的動作組合,就像是電視冠軍裡的黏土玩偶動畫製作比賽或者是yoyo台的企鵝動畫製作一樣,每做一個小改變就用攝影鏡頭紀錄下來,當所有的改變一次放映時,就可以看到連續的動畫呈現~~

同理,機器人的動作組合若以相同的方式來製作,就可以達到活靈活現的動作出來,現在所有的人型機器人都免不了搭配這個軟體來做動作的編輯,是普遍的現況,也是為了效率的考量,試想如果那麼多軸的伺服機要一個一個來設定,而沒有這類軟體搭配來做線上的即時修正,光是建table的時間就要數倍的時間,不如把這時間花在機器人的AI發展上咧!!!

若是伺服機有回傳角度的設計的話,這類軟體甚至可以當作教導盒來使用~~~
什麼是教導盒???就是透過與PC連線,然後扳動機器人的手腳,這時各個伺服機的角度都會傳回到軟體內,此時只要按下紀錄鈕,就可紀錄這一刻的動作,接下來,把不同的連續動作紀錄下來,就可以得到一連串動作組合的資料,相對於上述的方法就更加便利了~~

若要自製這類軟體,找到的資料如下~~~~用VB來做,該有的重點都在裡面了,
http://www.rentron.com/Mini-ssc.htm

與SSC II這個控制板搭配,主要對應到SSC II板的協定(255,伺服機編號,伺服機角度)~~
說清楚一點就是
VB負責包裝好協定利用串列介面丟出資料給控制板
控制板接收後負責把協定切割出來轉譯出各軸的pwm值給伺服機用


當然!!只要定出自己瞭解的一套協定,不使用SSC II板,而改用diy的控制板來自我開發VB程式也是相當有趣的經驗喔!!

說真的,以這個網頁資料為基礎來發展VB程式,相當容易,若要讓畫面美觀,甚至考量細部功能,例如檔案的資料切割與欄位轉換,那種Slider bar物件更不用說都是現成範例,可以參考"VB6.0實戰講座" 王國榮 旗標,利用實作從書中找答案,很快就可把一本書K完,何樂不為呢!!!

[ 本帖最後由 marbol 於 2006-7-3 22:42 編輯 ]
60#
 樓主| 發表於 2006-7-2 17:59:23 | 只看該作者
原帖由 ayu 於 2006-7-2 16:17 發表


marbol大大您好,

    我記得您有Mini SSC II 吧?? 應該可用來把這個東西作出來喔!!我最近都在準備 CPLD 的硬體和 Quartus II軟體

程式設計,報告一下我的進度,我用 台科大的--數位邏輯設計(VHDL入門實 ...


讚讚~~~~只能說學海無涯,唯勤是岸~~~~
不妨發表學習心得,看看這些新玩意有哪些有趣的玩法~~~~~
有太多的東西可以學習與發揮,想到真是有趣極了~~~~~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 23:46 , Processed in 0.263225 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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