跳至內容

使用 Leaf 程式設計 AI/Leaf 附加元件:SD84 伺服控制器

來自 Wikibooks,開放世界中的開放書籍

從 Leaf 新增和執行 SD84 伺服控制器

[編輯 | 編輯原始碼]

目前,Leaf 只能控制兩個 Phidget USB 伺服電機。這些通常用於傾斜和旋轉 Leaf 的攝像頭。在為 SD84 控制器新增程式碼之前,沒有簡單的方法為 Leaf 機器人新增更多伺服電機。如果您想嘗試為您的 Leaf 機器人新增關節式手臂或腿,這將是一個很大的問題。

SD84 是一個 84 通道伺服控制器,可以驅動多達 84 個 RC 伺服電機。它可以保持 20 毫秒的重新整理率。它允許分別控制每個伺服電機的速度和位置。它擁有 USB 介面,使其連線起來相當容易。

Devantech,這款伺服控制器的製造商表示,“...這是一款出色的動畫機器人控制器。”

在 Windows xP 計算機上執行

[編輯 | 編輯原始碼]

本文件僅介紹 Windows xP 計算機的安裝。

與大多數硬體裝置一樣,在安裝軟體之前,請勿連線硬體!

安裝驅動程式

[編輯 | 編輯原始碼]

SD84 模組使用 FTDI FT232R USB 晶片處理所有 USB 協議。必須下載並安裝驅動程式。

  1. 從此處下載 FTDI (CDM20814_WHQL_Certified 32 bit) USB 驅動程式
     http://www.ftdichip.com/Drivers/CDM/CDM20814_WHQL_Certified.zip
  1. 解壓縮並安裝。

配置 SD84 USB 驅動程式軟體

[編輯 | 編輯原始碼]
  1. 將 SD84 模組插入備用 USB 埠。(一個黃色 LED 將亮起。)
  2. 透過右鍵單擊“我的電腦”桌面圖示並選擇“裝置管理器”選項卡,找到分配給它的 COM 埠。選擇“埠(COM & LPT)”選項卡。“您應該看到列出的 USB 序列埠。要更改 COM 埠號,右鍵單擊它,選擇屬性,選擇高階,然後從可用列表中選擇 COM 埠號。在 Windows XP 中,選擇“開始”,然後右鍵單擊“我的電腦”,然後選擇“屬性”,然後選擇“裝置管理器”選項卡。”
  3. 寫下埠號!
  4. 編輯 COM 埠引數,使其設定為 115200 波特率、8 個數據位、無奇偶校驗和兩個停止位。
  5. 根據需要選擇“確定”關閉所有開啟的視窗。
  6. 關閉裝置管理器視窗。

使用示例程式測試 SD84

[編輯 | 編輯原始碼]
  1. 此時,您應該已將 SD84 板連線到計算機上的備用 USB 埠。(一個黃色 LED 將亮起,表示它已通電。)
  2. 將一個 RC 伺服電機插入伺服電機埠 1(USB 聯結器左側第一個)。
  3. 將 5 到 6 VDC 連線到 USB 聯結器左側第一個接線端子。這將是您的伺服電機的電源。SD84 僅接收來自 PC 的訊號。每組 4 個伺服電機的電源必須分別連線到 SD84 板。
  4. 從以下地址下載 SD84 演示程式:
     http://www.robot-electronics.co.uk/files/sd84.exe
  1. 啟動它。
  2. 將其設定為之前寫下的 COM 埠號。
  3. 將“當前活動通道”設定為“1”。
  4. 左右移動伺服電機位置小部件。當您移動位置小部件時,伺服電機軸應轉動。

下載並安裝 Leaf 介面程式碼

[編輯 | 編輯原始碼]
  1. 從 Leaf 網站下載 Alex 的最新 SD84 zip 檔案並解壓縮。
   http://www.leafproject.org/software/Utilities/SD84%20release%20%2010-30-10%20ver%201011.zip

安裝剩餘的軟體

[編輯 | 編輯原始碼]
  1. 將 SD84.dll 和 SD84Monitor.exe 的單個副本分別放在 System32 資料夾(通常為 c:\Windows\System32)中(適用於 XP、Vista 或 Windows 7 的 32 位版本),以及 SysWOW64 資料夾中(適用於 64 位版本)。
  2. 在桌面上放置一個指向 SD84Monitor.exe 的 Windows 快捷方式。您需要執行 SD84Monitor.exe 才能使用 SD84 板。
  3. 將 SD84.ini 的單個副本放在 Windows 資料夾(通常為 c:\Windows)中。提供的示例 .ini 檔案適用於以下測試程式,但必須修改以匹配您自己的硬體介面集。
  4. 將 SD84.ini 檔案中的 comport 編號更改為與計算機中的埠分配匹配。您可以在裝置管理器中找到它。如果 comport 是一個數字,您可以按示例 SD84.ini 檔案中所示的指定它,例如“ComPort = COM5”。但是,如果埠是兩位數,請指定為“ComPort = \\.\COM15”。
  5. 如果 LispWorks 尚未執行,請啟動它並開啟 Leaf Interfaces.lisp。
  6. 將 LispPatch.txt 中的所有文字複製到 Leaf Interfaces.lisp 檔案。一個合適的位置是 Phidget 伺服電機介面程式碼之後。
  7. 儲存檔案。
  8. 像往常一樣編譯和載入 Leaf Interfaces.lisp 檔案。
  9. 安裝“Microsoft Visual C++ 2010 Redistributable Package (x86)”。
    http://www.microsoft.com/download/en/details.aspx?id=5555
  1. 透過啟動 SD84test.exe(位於您從 Leaf 網站下載的 .zip 檔案中)來測試您是否可以執行 SD84 監視器軟體。(注意:監視器程式 SD84Monitor.exe 應該位於 System32 資料夾中,並且必須執行才能使用 SD84 板。)
  1. 在 Leaf.lisp 檔案的 InitializeSystems() 函式末尾插入 SD84Initialize,如下所示。請記住將閉合的右括號從當前文字中移動,並將其放在新增內容之後。

;; 已安裝 SD84 I/O 板
   (SD84Initialize "" 1))

從 Leaf 測試 SD84

[編輯 | 編輯原始碼]
  1. 將以下程式碼貼上到 Leaf.lisp 檔案中的“列印 Hello”下方
列印 Hello
  (format t (concatenate 'string "Hello!  My name is " robot " ~% ~% ~%"))
  (SD84SetRCPosn 1 1000)
  (sleep 2)
  (SD84SetRCPosn 1 2000)
  (sleep 2)
  (SD84SetRCPosn 1 1000)
  (sleep 2)
  (SD84SetRCPosn 1 2000)
  (sleep 2)


  1. 編譯並載入 Leaf.lisp。
  2. 如果監控程式 SD84Monitor.exe 未執行,請啟動它。
  3. 在 Listener 視窗中啟動 Leaf "(leaf)"。
  1. 然後,你的伺服器應該來回旋轉兩次。
華夏公益教科書