電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>機械臂開源硬件

機械臂開源硬件

2022-12-01 | zip | 0.02 MB | 次下載 | 2積分

資料介紹

描述

介紹

當我在我們的機器人俱樂部AeRobotix INSAT中發(fā)現(xiàn)一個舊機械臂時,這個項目的想法就開始了。它的情況不是很好,因為它已經(jīng)閑置多年,被遺棄了。這個機器人的名字叫優(yōu)比機器人。

該項目的主要思想是構(gòu)建一個自動機械臂來分類彩色物體。它會將它們放置在每種顏色的預(yù)定義區(qū)域中。該手臂將基于實時操作系統(tǒng)FreeRTOS 運行。 在實際工業(yè)應(yīng)用中,機械臂可用于焊接、物料搬運、熱噴涂、噴漆和鉆孔等多種用途。

機械 DIY

在項目開始時,一些部件損壞嚴重。這就是為什么我更換了一些部件,例如損壞的齒輪和阻塞的步進電機。然后,我引入了一些潤滑液,以改善一些傳動裝置和機械連接。不幸的是,效應(yīng)器的狀況也很糟糕,不得不更換。

?
poYBAGOIHpWAOU_FABD5oaVn6S0061.jpg
?
1 / 6 ?手臂的初始情況
?

?

電源步進驅(qū)動器

為了給這個機械臂供電,我使用了 ATX 電源,因為它可以為步進電機產(chǎn)生 24V 直流電,為真空泵產(chǎn)生 12V 直流電,因此足以滿足此應(yīng)用的需求。此外,它體積小,非常適合固定在手臂下。

pYYBAGOIHpiAe_gHAABNvsLBBIc325.jpg
ATX電源
?

同時,在我對合適的步進驅(qū)動器的研究中,A4988 步進驅(qū)動器考慮到它的小尺寸和便宜的價格是一個不錯的選擇。另外,為了減少電路的擁堵,我使用了CNC shield V3。

?
?
?
pYYBAGOIHpqAABfPAACZuNZKyxM029.jpg
?
1 / 3 ?連接 A4988 步進電機驅(qū)動器微控制器
?

?控制電路

為了減少布線并使項目更有條理,我使用ISIS Proteus 設(shè)計了一個簡單的電路。 它包含一個為真空泵提供必要電流的繼電器驅(qū)動電路和一個檢查有色物體是否存在的紅外物體傳感器。此外,步進電機連接直接與 CNC shield V3 建立。

電路原理圖:

pYYBAGOIHp2Aa9XpAAEn-IsT9ZI696.png
電路原理圖
?

打印設(shè)計、焊接組件并測試全部功能后:

?
?
?
poYBAGOIHqOAIz3-AAu5PfbxixY062.jpg
?
1 / 4 ? ?控制電路
?

效應(yīng)器

不幸的是,原來的機器人效應(yīng)器嚴重受損。因此,我決定使用Solidworks創(chuàng)建自己的效應(yīng)器。它使用帶有真空泵和適當排氣裝置的氣動能量。

?
?
?
pYYBAGOIMVGAGEtrAArl7aipRpM964.jpg
?
1 / 4 ?效應(yīng)器
?

圖像處理

在這部分項目中,我使用了計算機視覺庫 Open -CV檢測彩色物體并確定它們的坐標。該程序?qū)⒃谖业?a target='_blank' class='arckwlink_none'>電腦上運行,并從網(wǎng)絡(luò)攝像頭(攝像頭固定在手臂頂部)獲取數(shù)據(jù)幀。然后,它將分析這些幀并檢查定義半徑內(nèi)的對象。優(yōu)先順序是(從前到后):

poYBAGOIMVOAfJtSAAARW5v2ds4635.png
?

當檢測到物體時,它只需將其坐標和顏色發(fā)送到 STM32 微控制器。然后,手臂的主程序會將這些坐標轉(zhuǎn)換到機器人的真實坐標系中。

您可以Object_Sorting.py在下面的代碼部分或我的 GitHub 存儲庫中找到該程序:https ://github.com/AlaHammouda/Robotic-Arm-Project 。

我使用庫中的范圍檢測器腳本imutils 來修復(fù) HSV 顏色空間中的下邊界和上邊界。

測試演示:

?

主要程序:

在金字塔的頂端,我使用STM32F410RB NUCLEO 板對手臂進行了編程。關(guān)于同時控制步進電機的必要性,我發(fā)現(xiàn)實時操作系統(tǒng)不僅效率更高,而且可以讓您將復(fù)雜的問題分解成更簡單的部分。因此,您可以專注于每個任務(wù)的開發(fā),而不是在事情運行時進行調(diào)度。FreeRTOS是一個免費的實時嵌入式操作系統(tǒng)。它是專業(yè)開發(fā)的,嚴格的質(zhì)量控制,強大和支持。它也可用于許多流行的微控制器,包括STM32

  • 理論研究:

為了確定效應(yīng)器任意(x,y,z)坐標的具體關(guān)節(jié)角度(θ1,θ2,θ3,θ4),因為它基本上是程序中必不可少的操作,所以我畫了一個簡化的方案:

poYBAGOIMVaADYCsAABss4v-yuw89.jpeg
?

這個方程組的求解非常復(fù)雜,會導(dǎo)致我們找到無數(shù)個解。因此,我決定通過固定角度 θ4= -π/2 rad 來簡化它們:

poYBAGOIMViAc9dUAABm64XPECE94.jpeg
?

現(xiàn)在,系統(tǒng)的分辨率會給我們兩種解決方案。我選擇了其中 (θ2>θ3) 的那個,因為它更適合手臂,也更方便:

poYBAGOIMVuAXFHSAAAzSeYaZ5A505.png
?

此解決方案僅通過以下方式確定和測試:

pYYBAGOIMV2AYhdlAAAOunQEwPE603.png
?
  • 代碼實現(xiàn):

STM32CubeMx中修復(fù)微控制器的配置并在Keil uVision IDE中生成設(shè)置代碼后,代碼的實現(xiàn)是唯一剩下的事情。

該程序的總體思路非常簡單,它只是在FreeRTOS 中運行四個任務(wù):其中三個是管理步進電機,第四個是處理手臂每種狀態(tài)下的特定操作。

為了確保與對象的實時交互,與我的計算機的通信是使用 UART 中斷建立的。

包括庫和聲明變量: main.c(56)

poYBAGOIMV-AcuC6AAClEewdPC8614.png
?
pYYBAGOIMWKAeYuqAADWFtZdUwE127.png
?

任務(wù)的定義和創(chuàng)建: main.c(208)

pYYBAGOIMWSANV4iAAC2AhKVxQ8036.png
?

啟動 RTOS 調(diào)度程序:main.c(233)

poYBAGOIMWaAYUvyAAAL4rQhF2Y602.png
?

實施 Set_Joint_Angles():此函數(shù)會將 (x, y, z) 命令坐標轉(zhuǎn)換為 (θ1, θ2, θ3, θ4) 關(guān)節(jié)角度,正如我們在上一節(jié)中解釋的那樣:main.c(485)

poYBAGOIMWmARcwBAACgtTQr9mg303.png
?

實施 Stepper1_Task_function():此函數(shù)將處理 Joint1 的旋轉(zhuǎn)。Stepper2_Task_function( ) 和 Stepper3_Task_function( ) 中的代碼相同main.c(516)

pYYBAGOIMWuAccSzAADdHDSByOc313.png
?

實施 Main_Arm_Task_function():此函數(shù)將處理手臂的狀態(tài)和每種情況下的適當操作:main.c(600)

pYYBAGOIMW-AchuGAAE3jzNi6a8932.png
?

在中聲明變量stm32f4xx_it.c(41)

pYYBAGOIMXGARnTOAABTuInslGA216.png
?

接收和處理 UART 中斷的數(shù)據(jù):stm32f4xx_it.c(104)

poYBAGOIMXeARmnlAADvhaOf1rE285.png
?

您可以在下面的代碼部分找到這些文件(main.c、stm32f4xx_it.c) 。完整的程序項目(Keil μVision + STM32cubeMX 文件)可在我的 GitHub 存儲庫中找到:https ://github.com/AlaHammouda/Robotic-Arm-Project 。

測試主程序:

?

最后

在完成我的工程研究之前,這個項目是一次很棒的經(jīng)歷。我應(yīng)用了我在學(xué)習(xí)期間或課外活動中獲得的大量知識。我還學(xué)到了很多新技能,尤其是在計算機視覺和嵌入式系統(tǒng)編程方面。

最后,我要感謝并感謝我的好家人AeRobotix INSAT ,感謝我從中學(xué)到的一切以及對這個項目的支持。

如果您需要更多信息,請隨時與我聯(lián)系:hammouda.alaaeddine@gmail.com

?
?
?
poYBAGOIMX-AEtvXABTqKdH5YOg404.jpg
?
1 / 7
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費