Robofun 機器人論壇

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

Serial 伺服馬達控制器

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-2-14 11:57:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近有點時間,想做一個 Serial 的 Servo Controller (SSC)
預計用 Atmega8 來作,不知大家有沒有什麼建議?

像是要作多少個 Channel 及每個 Channel 的解析度?
大家討論一下吧 :D
2#
發表於 2007-2-14 12:51:14 | 只看該作者
原帖由 TroyLee 於 2007-2-14 11:57 發表
最近有點時間,想做一個 Serial 的 Servo Controller (SSC)
預計用 Atmega8 來作,不知大家有沒有什麼建議?

像是要作多少個 Channel 及每個 Channel 的解析度?
大家討論一下吧 :D

    對不起,小弟比較駑鈍一點,不知SSC 這種東西在規格上有何特別之處?!
小弟想用多核心的FPPA 也來作一個?!這樣子好了,您用Atmega8 小弟用FPPA 我們一起作看看!?
小弟也是剛開始在研究這個東西。這次去日本拜訪了當地大學教授。

想去瞭解一下人家機械人研究方式與現狀。結果:人家一看到我們用一顆14 pins 多核心FPPA DEMO同時
控制七支伺服馬達與紅外線接收機還外帶唱『兩隻老虎』!
就開了一大堆條件『要脅』我們要不要跟他們歷年ROBO CUP的設計團隊合作?!....
[email=....@#$&%]....@#$&%[/email].... 結果呢?!...... 我在想:我是不是弄錯歌曲了?!我應該放一首比較當地歌曲?!
不應該啊~我也特別準備了一首:Keroro軍曹_-_地球侵略音頭 啊!!
唉~真是搞不懂日本人耶!       :L
3#
發表於 2007-2-14 20:36:27 | 只看該作者
雖然小弟我沒實地做過
但我想這個ssc 的精華也就是結合GUI 與 RS232 順便搞個傳輸封包
只要伺服端可以收電腦端下的指令
並成功的完成電腦端所下的指令
我想就算是完成了SSC 吧
或許AYU大大又可以出來講解了
好像有一個更厲害的marbol 大大消失很久了
呵呵
小弟認為  
chamber  大大或許可以搞個USB Servo Controller
小弟認為這個對chamber大大應該不是難事才是
或許這就是chamber大大所說的「藍海」了
4#
發表於 2007-2-14 21:36:49 | 只看該作者
原帖由 TroyLee 於 2007-2-14 11:57 發表

1、最近有點時間,想做一個 Serial 的 Servo Controller (SSC) 預計用 Atmega8 來作,不知大家有沒有什麼建議?像是要作多少個
    Channel 及每個 Channel 的解析度?大家討論一下吧 :D

2、小弟想用多核心的FPPA 也來作一個?!這樣子好了,您用Atmega8 小弟用FPPA 我們一起作看看!?

3、chamber  大大或許可以搞個USB Servo Controller

綜合各位大大們的意見,小弟插一下話,請見諒喔

1、uucww大大在這一篇文章中提到這個控制器 http://www.robofun.net/forum/viewthread.php?tid=519&extra=page%3D1
    可作到16個控制用,理論亦可增加至24個控制用,當然51亦可使用來作(解析度都是255)。但前提是用組合語言來開發的。
   TroyLee 大大,冒昧請教一下喔 ,請問要用什麼語言來開發呢? chamber 大大部落格中連結的robot_a15大大用的是basic語言來
   開發的喔。

2、好期待chamber大大 大顯身手囉 ,希望也可學到這個領域的應用喔 。大家玩玩喔

3、doubletime大大您好,國外已有人用pic作出 24 usb servo controller,用的是basic語言來開發的。很奇怪,國內都沒人在這領域
  玩玩,國外好多人在玩這個領域。
5#
發表於 2007-2-14 22:04:46 | 只看該作者
原帖由 ayu 於 2007-2-14 21:36 發表

綜合各位大大們的意見,小弟插一下話,請見諒喔

1、uucww大大在這一篇文章中提到這個控制器 http://www.robofun.net/forum/vie ... &extra=page%3D1
    可作到16個控制用,理論亦可 ...


我是Robot_a15小小
.................
感謝ayu介紹
6#
發表於 2007-2-14 22:17:59 | 只看該作者
原帖由 doubletime 於 2007-2-14 20:36 發表
雖然小弟我沒實地做過
但我想這個ssc 的精華也就是結合GUI 與 RS232 順便搞個傳輸封包
只要伺服端可以收電腦端下的指令
並成功的完成電腦端所下的指令
我想就算是完成了SSC 吧
或許AYU大大又可以出來講解了 ...


好像很熱鬧的樣子,doubletime大大好久不見....
哎哎哎~~看您把我說成那樣~~~~小弟只不過有興趣罷囉!!!
最近埋頭在串列雙馬達控制器以及遙控解譯控制雙馬達的工作樂雙馬達平台,
也完成的差不多了,畢竟雙輪平衡車才是王道~~~~,我那只算基礎研究咧!!
doubletime大大.....是不是完成了.....拿出來聞香一下~~~

tonylee大大要用atmega8做SSC是有點浪費了它的ADC的功能~~~
不過還是可以讓這28隻腳的AVR擠出20幾支腳來做輸出pwm的工作,
解析度也一定沒問題可以到達255,這樣用在機器人身上一定夠用.....
7#
 樓主| 發表於 2007-2-14 22:25:12 | 只看該作者
如果採用 16Bit 的 Output Compare 去作的話, 16Mhz OSC 可以產生最少 8~16 Channel 的 Servo Pulse
如果在加上像是 4017 的 Counter, 應該可以在拓展一些
至於解析度的話, 用16Bit的話可以到1000個位置(不過實際測好像不是每個 Step 都會改變)
用 AVR-GCC 或是組合語言都可以(程式碼其實蠻簡單的 XD )

GUI 部份的話我會一些 BCB 可以寫,不過僅止於簡單的程式
會寫到抓電腦有哪些 COM Port,加幾個 Track Bar 讓他可以送不同的 Command
以前都在寫 uC/OS或Linux Driver 所以對這方面GUI不熟。

--
PS1. 順帶問一下, 大部分看到的 Servo 都是+90°~-90°,小弟的自走車(專題)
裝有一個超音波測距,目前只能轉前轉後,希望能夠轉360°,但是要能夠控制位置(At least 8方向)
不知道有沒有這種Servo(裝兩個?)
PS2. 網路上看的文件都說 1ms ~ 1.5ms ~ 2ms,有的地方又說中心點在 1520uS,左右各 560uS
這樣都是對的嗎?還是說這是"Dead Zone"?

謝謝
8#
發表於 2007-2-14 22:26:34 | 只看該作者
超強陣容都出現了!!
9#
發表於 2007-2-14 22:47:46 | 只看該作者
別別別害我了-  -
小弟的二輪平衡車還是一堆廢鐵
話說那台機構長什麼樣子 還有何時機構會出來還搖搖無期啊  (南無)
空有一堆想法和概念,沒機構還是小弟的死穴啊
小弟還是先來搞點小弟長官的夢想
和春盃、電腦鼠 、 馬達控制   

話說這和春盃太有趣了
先別說控制法則
機構就先把小弟打槍n次了
還好最後有個比較ok的版本
不然另一個同學會把小弟殺了

二輪平衡車小弟還是等marbol大大做好與小弟分享吧
不然要等我做好可能還要到年底吧
呵呵  小弟我是不是太懶了
還是大大您有好的機構要教我怎麼做的
小弟手頭極缺機構
也缺機構顧問
或許小弟有機構就可以先測試一下小弟的想法會如何了
目前的想法是用encoder配合加速規
但如果是工作樂的話,純用加速規也不是不無可能
但是到底能不能辦法就有待商榷了
但我想是可以行得通的 小弟有實驗過2次積分後的加速規
感覺上穩定性比沒有2次積分的效果高很多
好了,小弟別浪費這個主題
不然版主會先把小弟殺了
10#
發表於 2007-2-14 23:03:39 | 只看該作者
原帖由 TroyLee 於 2007-2-14 22:25 發表
如果採用 16Bit 的 Output Compare 去作的話, 16Mhz OSC 可以產生最少 8~16 Channel 的 Servo Pulse
如果在加上像是 4017 的 Counter, 應該可以在拓展一些
至於解析度的話, 用16Bit的話可以到1000個位置(不過 ...


嗯~~~AVR的SSC期待中~~~

至於伺服機因廠牌不同中立點或者舵桿的擺幅相對於pwm的duty cycle
當然會有些許不同,不過這微小的差異,在遙控上是可接受的,
因為伺服機搭配機搆調整後,接下來就是使用上反覆的修正來習慣
這個系統的特性!!!

不太瞭解您的動力底盤的結構,如果用雙馬達配合履帶來做差速驅動,
是可以左右轉前進後退~~~~

若是要讓伺服機做360度轉動,需要改裝!!把舵桿連動的電位計移開,並把齒輪上的限制塊刮除!!
若是要讓伺服機做360度轉動但又要可控位置,可以考慮買AI馬達!!!
11#
發表於 2007-2-14 23:14:12 | 只看該作者
原帖由 doubletime 於 2007-2-14 22:47 發表
別別別害我了-  -
小弟的二輪平衡車還是一堆廢鐵
話說那台機構長什麼樣子 還有何時機構會出來還搖搖無期啊  (南無)
空有一堆想法和概念,沒機構還是小弟的死穴啊
小弟還是先來搞點小弟長官的夢想
和春盃、 ...

拜託~~~機構製作不是一天兩天,要有工具!!
這邊不是鐵工廠,所以只能使用商用現貨件囉!!!

那個n-BOT考慮到平衡配重後讓整個裝置處在相對穩定的狀態,
所以用了PID就成功了....這點倒是可以考慮看看~~
12#
發表於 2007-2-14 23:36:35 | 只看該作者
TroyLee 大大您好,

    修正伺服機轉動法  世界各國大大們的作法,

     http://tw.search.yahoo.com/search?fr=fp-tab-web-t&ei=UTF-8&p=Modifying+Servo   。marbol大大的方法也是另類的途徑喔。

希望又可學到另外的gui介面學習喔,
可否請大大用c來開發 ? CodeVisionAVR C Compiler 亦可用嗎?這方面不懂,請教導一下喔
13#
 樓主| 發表於 2007-2-14 23:45:33 | 只看該作者
AI 馬達我會去研究研究 XD
不過我剛剛發現我搞笑了, SSC-32好像就用 Atmega8
而且也是 OpenSource ... 不過自己研究也蠻好玩的

另外 ayu 大提供的可能跟我需求不太相同
我是只要轉 360° 但是不需要連續的轉,因為要控制偵測方向...
不過也謝謝 :D

CVAVR 應該也是可以...而且比AVR-GCC好用
--
至於為什麼會想這樣作
SSC-32 一塊要1800上下
自己研究可能效果沒有他好,但是可以將成本降到 200 上下
又有 DIY 樂趣
14#
發表於 2007-2-14 23:52:08 | 只看該作者
是不是這個飆產品啊? http://www.robofun.net/forum/viewthread.php?tid=438&extra=page%3D4
研究看看喔!不太懂喔。
15#
發表於 2007-2-19 17:09:15 | 只看該作者
小弟目前製作的控制板是用一顆8051同時控制16個 channel 的 pwm.
小弟想問上面說解析度是255是指什麼?
小弟目前製作的控制板是一度為控制單位,是不是可以說解析度是一度呢?請指教.

控制板1.JPG (44.22 KB, 下載次數: 340)

控制板1.JPG
16#
 樓主| 發表於 2007-2-19 22:23:02 | 只看該作者
伺服馬達要控制轉 n° 應該不是件容易的事(跟步進馬達比起)
我所說得解析度 1024bit 指的是說從 1ms~2ms(伺服馬達脈波的寬度) 可以切為1024個位置,

事實上我測試的結果
雖然可以達到那麼多的位置
伺服馬達並不是真的產生1024個位置
17#
發表於 2007-2-22 01:09:38 | 只看該作者
小弟目前製作的控制板可以控制轉 n°,從0 到180度. 如在程式中輸入90,馬達便會轉到90度(中間)停止.輸入40,馬達便會轉到40度停止. 目前用來控制我的機器人.
18#
 樓主| 發表於 2007-2-22 16:02:00 | 只看該作者
這樣也蠻不錯的,可以分享一下實做方式嗎?
對於不同的伺服馬達也適用嗎
19#
發表於 2007-2-23 16:28:52 | 只看該作者
原帖由 TroyLee 於 2007-2-22 16:02 發表
這樣也蠻不錯的,可以分享一下實做方式嗎?
對於不同的伺服馬達也適用嗎

嗯~~~~
LEO大大的做法,應該是把0.5ms~2.5ms用180來做分割,
這樣是可以輸入90就回到中立點,這樣就有1度的效果,
如果要0.5度的效果就用360來分割0.5ms~2.5ms,依此類推......
只是解析角度那麼小,應該應用在精確的動作調整上才是~~~
目前手上有的廣X或者雙X的伺服機都適用這種方式

[ 本帖最後由 marbol 於 2007-2-23 16:33 編輯 ]
20#
發表於 2007-2-23 19:58:37 | 只看該作者
謝謝MARBOL大大幫我回答
小弟用的正是這個方法
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-16 03:58 , Processed in 0.162554 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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