基于 LabVIEW 舵機機械臂控制
2017-5-2 來源:華北理工大學 作者:王夢雅,楊志剛
摘要:分析了六自由度機器人的特點及功能需求,設計了基于 LabVIEW 的多路舵機控制系統,硬件核心采用STC89C52單片機,關節驅動采用舵機控制。通過實驗,實現了六自由度機械臂的關節控制。實驗結果顯示:該系統運行平穩,控制效果良好,且協調性很高,對機械臂的研究具有一定的參考價值。
關鍵詞:LabVIEW;舵機控制;六自由度機器人
0.引言
在我們的日常生活中,有很多勞動強度大、長時間單調重復的工作,或對產品質量要求高的工作,或需要人類在危險、惡劣的環境下作業 的工作,在這種背景下,近年來國內外對機械手臂的研究日趨深入。在機械手臂的研究過程中,多關節的協調控制是實現機械手臂抓取物體的基礎。針對這個問題,本文設計了六自由度機械手,通過多路舵機控制器協調驅動各手部關節,最后通過虛擬儀器 LabVIEW 實驗對其進行了驗證。
1.六自由度機械手硬件結構
六自由度機械手具有6個舵機控制其關節,控制器采用STC89C52單片機,具有速度快、靈活度高、抗干擾的優點。機械手采用32路舵機控制器對各關節進行控制。1.1 機械臂在本文中,設計一個能夠用于物品搬運的六自由度機械手臂,機械手臂的運動包括底座的旋轉、大臂的轉動、小臂的轉動、手腕的上下擺動與左右旋轉、手爪的張合,即機械手臂的自由度為6。六自由度機械臂模擬圖見圖1。本機械手臂中的各軸之間相互聯系并相互獨立運行,各機構互不干涉。
1.2舵機
舵機按照轉動角度分有 180°舵機和 360°舵 機。180°舵機只能在0°到180°之間運動,如果超過這個范圍,舵機就會因為超出量程而發生故障。360°舵機可以連續轉動,我們可以控制它的轉動方向和速度。
以180°舵機為例,它有3條引線:電源線 VCC、地線 GND 與控制信號線。控制信號為直流偏置電壓,由接收機的通道進入信號調制芯片獲得。舵機內部有一個基準電路,產生周期為20 ms、寬度為1.5 ms左右的基準信號,舵機輸出轉角與輸入信號脈沖寬度的關系見圖2。舵機將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出;將電壓差的正負輸出到機驅動芯片來決定電機的正、反轉。

圖1 六自由度機械臂模擬圖

圖2 舵機輸出轉角與輸入信號脈沖寬度的關系
2.舵機控制器通信
2.1舵機控制板
舵機控制器的主要功能是驅動多路舵機,其內部寫有與外部設備進行通信的串口協議,通過 PC 機操作上位機軟件給控制器傳遞控制指令信號,即可實現多路伺服電機單獨控制或同時控制。舵機控制板需要舵機電源和芯片電源兩個電源。本文設計選用的電源在輸出5V 電壓時,可承受2A 的電流,可保證6路舵機的正常運轉。而芯片電源所需的功率較小,PC的 USB口供電即可使證芯片正常工作。
2.2 VISA 通信
VISA 通信部分程序如圖3所示。VISA 是虛擬儀器系統I/O 接口軟件。基于自底向上結構模型的 VISA 創造了一個統一形式的I/O 控制函數集。常用的 VI包括 VISA 配置串口、VISA 寫入、VISA 讀取、VISA 關閉等子函數。VISA 部分 VI圖標見圖4。

圖3 VISA 通信部分程序
舵機控制板的命令格 式為 “#1P%d#2P%d#3P%d#4P%d#13P%d#14P%d#1”。數據1,2,3,4,13,14 是 舵 機 的 通 道;字 母 P 后 面 是 6 個 舵 機 的PWM 脈寬值。本文用到了“格式化寫入字符串”命令,這個函數左側的6個輸入端輸入的數據就是格式字符串的6個%d所對應的實時舵機脈寬值,舵機脈寬值通過前面板旋鈕來控制。然后將6個整數數據組合成的字符串送到 VISA 寫入函數的寫入緩沖區。

圖4 VISA 部分 VI圖標
LabVIEW 舵機控制部分程序如圖5所示。

圖5 LabVIEW 舵機控制部分程序

表1 控制角度變化表

4.結論
分析了六自由度機器人的特點及功能需求,設計了基于 LabVIEW 的多路舵機控制系統,硬件核心采用STC89C52單片機,關節驅動采用舵機控制。運用LabVIEW 完成了六自由度機械臂舵機控制的軟件實現,并通過對機械臂的運動控制驗證了該方法的可行性。LabVIEW的優點在于可以直接生成可執行文件,這使仿真調試到實際控制的過渡非常簡單,簡化了舵機控制系統的設計過程。實驗結果顯示,該系統運行平穩、控制效果良好并且協調性很高,對機械臂的研究具有一定的參考價值。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com