Robonova's Wiki: http://mablresearch.rit.edu/wiki/index.php/Robonova
1. MR-C3024控制器
Atmega128 微控制器+ RoboBASIC程式直譯器(Interpreter)
功能應就像BASIC Stamp (Atmega128 + BASIC)
或 Arduino ((ATMEGA 8–328) + C)一樣
功能應就像BASIC Stamp (Atmega128 + BASIC)
或 Arduino ((ATMEGA 8–328) + C)一樣
2. HSR-8498HB servos(伺服馬達)
=Atmel ATmega8 微控制器+直流馬達+馬達驅動電路
直流馬達(resistance of 4.4 ohms): 1.35A at 6 Volts, or 1.7A at 7.4 Volts
300:1 的齒輪組
馬達驅動電路: IRF7389 MOSFET
控制介面: 雙向控制, 可以串聯多個servos(daisy chained)
接到外面的一條控制訊號線透過兩個NPN電晶體連到微控制器的Port D0和Port D1腳位(也是UART的 TX 和RX腳位) , 達到雙向的功能 (參考datasheet的第3頁電路圖)
Port B0/ICP 也連接到UART RX腳位, 可以利用ATmega8的PWM模式測量脈寬
Hitec HMI Interface(介面)
提供三種模式 (標準模式,擴充模式及雙向串列介面模式)
直流馬達(resistance of 4.4 ohms): 1.35A at 6 Volts, or 1.7A at 7.4 Volts
300:1 的齒輪組
馬達驅動電路: IRF7389 MOSFET
控制介面: 雙向控制, 可以串聯多個servos(daisy chained)
接到外面的一條控制訊號線透過兩個NPN電晶體連到微控制器的Port D0和Port D1腳位(也是UART的 TX 和RX腳位) , 達到雙向的功能 (參考datasheet的第3頁電路圖)
Port B0/ICP 也連接到UART RX腳位, 可以利用ATmega8的PWM模式測量脈寬
Hitec HMI Interface(介面)
提供三種模式 (標準模式,擴充模式及雙向串列介面模式)
透過上述Servo內部ATmega8測量的外部送來的脈寬來決定進入那種模式
a.標準模式: Standard Pulse servo mode compatible with radio control servos
就是一般的輸出控制
脈寬範圍為550 to 2450 us(Pulse width 550 to 2450 Microseconds = Standard Pulse Mode)
此範圍內馬達轉動的角度
轉動角度的公式為Servo Angle (degrees) = (Pulse Width (•S) – 1500) / 10
b.擴充模式: Extended Pulse mode to add position feedback and change settings
位置回饋及改變設定
脈寬範圍為50 to 200 us(Pulse width 50 to 200 Microseconds = Extended Pulse Mode)
b.1 位置回饋
如下圖, 當連接Servo的外部控制器(Controller)送出50us(A)的脈波,然後拉低2-20us等候
Servo內部控制器辨識(B)
若Servo內部控制器辨識這是擴充模式的脈寬設定, 就會拉低125us表示它認得了(C)
然後Servo內部控制器就會送出550 to 2450 us代表目前馬達轉動的角度(D)
再來Servo內部控制器拉低250us等外部控制器回應(E)
外部控制器再拉低結束讀取的程序(F)
以上動作就像I2C一樣,兩控制器通訊是靠對方拉低訊號表示回應, 因此, 此訊號線
一定要有提升電阻(pull-up)做為預設狀態
b.2 改變設定
如b.1 , 當連接Servo的外部控制器(Controller)送出100us/150us/200us(A)的脈波,
可以分別設定Servo內部的三個參數, 如PID控制的P增益/D增益及dead band參數
(待下回分解)
沒有留言:
張貼留言