(一)作品介紹
該參賽作品為針對液體搬運環(huán)境優(yōu)化的機械臂下位機運動控制卡。針對日常生活中一個常見的場景——搬運液體(俗稱“端水”),設(shè)計一項高效平穩(wěn)的控制算法,配合自主開發(fā)的控制器驅(qū)動板卡,驅(qū)動自制的機械臂到達(dá)目標(biāo)位置,使該算法達(dá)到高效平穩(wěn)搬運液體的目的。
機械臂外觀:
控制卡驅(qū)動板:
由于年前突然被領(lǐng)導(dǎo)要求連上半個多月的班,導(dǎo)致開發(fā)計劃被打亂,無法在家里進(jìn)行實物調(diào)試,因此先基于板卡debug信息和引腳脈沖信息展示該控制卡功能。
(二)電氣介紹
1、電機驅(qū)動模塊選型。電機驅(qū)動模塊采用DRV8825、A4988混合驅(qū)動。A4988是一款常見的步進(jìn)電機驅(qū)動芯片,其模塊廣泛用于3D打印機的步進(jìn)電機驅(qū)動,適合42步步進(jìn)電機在負(fù)載不大的情況下驅(qū)動運行,因此可用于回轉(zhuǎn)軸驅(qū)動,最重要的是,在兩塊DRV8825模塊同時驅(qū)動的情況下,剩余功率不足以提供第三塊DRV8825動作,經(jīng)實測兩塊DRV8825與一塊A4988能夠正常運行。DRV8825是德州儀器的集成電機芯片,其模塊設(shè)計兼容A4988,但穩(wěn)定性更好,能夠提供高達(dá)1.5A的電流,適合驅(qū)動負(fù)載稍大的步進(jìn)電機,因此可用于驅(qū)動主軸和副軸。
2、位姿反饋方案設(shè)計。采用MPU6050六軸運動傳感器,包含陀螺儀和傾角傳感器,能夠通過I2C與上位機通訊。在每次運動起始和完成階段進(jìn)行一次位姿矯正,防止運動誤差累積。
3、旋轉(zhuǎn)舵機選型及驅(qū)動方案設(shè)計。舵機采用MG996R型號的180°舵機,該舵機工作在4.8-7.2V之間,能夠提供9.4kg/cm以上的拉力。為了滿足驅(qū)動舵機的功率以及防止舵機運行時的電流涌浪,舵機采用額外的5V供電,驅(qū)動端口采用光耦IC隔離。光耦I(lǐng)C型號選擇為PC817
夾持舵機選型。夾持舵機采用mg90,以減少機械臂末端承重。
4、供電體系設(shè)計。系統(tǒng)由12V直流電源供電,經(jīng)過一塊MP1584模塊降壓為5V直流電源,供給傳感器與主控板卡。另外12V直流電源還通過另一塊MP1584模塊降壓為5V向舵機供電。
5、上下位機通訊方案設(shè)計。由于受各種較大功率的設(shè)備影響,系統(tǒng)存在一定的電源涌浪,CH340G芯片以及主控板卡板載的DAP仿真器無法正常工作在這個電源體系下,因此需要采用更穩(wěn)定的工業(yè)串口通訊方案——232通訊或者不受涌浪影響的透傳藍(lán)牙模塊HC-06。
(三)程序組件介紹
- tarm_communication組件
負(fù)責(zé)對上下位機通訊。
外設(shè)啟動了兩個串口:FL0控制臺串口、FL2設(shè)備串口??刂婆_串口位于板卡上;設(shè)備串口通過arduino型接口與驅(qū)動板連接,驅(qū)動板上可以通過跳帽選擇使用RS232或者無線藍(lán)牙模塊作為傳輸介質(zhì)。支持打斷控制。
指令為自定義命令集,格式如下:
_&<命令><參數(shù)>;<命令><參數(shù)>;<命令><參數(shù)>
參數(shù)支持包括:
- tarm_time組件
負(fù)責(zé)對上下位機通訊。
定時器定時實現(xiàn)。timebase為第一套算法提供時基,該算法僅支持一般恒速運動,可以調(diào)節(jié)一次運動的速度;可以實現(xiàn)三軸聯(lián)動;使用的時鐘是CTIMER0。timepv使用時鐘CTIMER1為第二套算法提供時基,該算法僅支持主軸、副軸聯(lián)動;對運動過程有變速控制,為針對液體平穩(wěn)搬運環(huán)境的優(yōu)化算法。
SYSTICK時鐘提供延時
CTIMER2提供速度仿真計時器時基,功能用于開發(fā)工程中評估算法消耗時間。
- tarm_limit組件
限位器組件
協(xié)助機械臂進(jìn)行初始化定位。
限制機械臂運動行程。通過外部中斷實現(xiàn)。觸碰到限位器時,返回設(shè)定的零點。
- tarm_io組件
對脈沖輸出端口、方向控制端口配置、初始化??刂浦鬏S、副軸、繞Z旋轉(zhuǎn)軸的三個步進(jìn)電機。。
- Closeloop組件
反饋控制。通過硬件IIC總線訪問MPU6050,校準(zhǔn)運動誤差,使運動誤差不積累。在外部因素影響導(dǎo)致IIC硬接線斷開時,能自動轉(zhuǎn)化為開環(huán)模式。
- tarm_pwm組件
通過輸出PWM控制夾持末端回轉(zhuǎn)軸、夾持軸的舵機。
(詳見原文:https://www.nxpic.org.cn/module/forum/thread-619023-1-1.html)