曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>機(jī)械設(shè)計(jì)開源分享

機(jī)械設(shè)計(jì)開源分享

2023-01-03 | zip | 0.04 MB | 次下載 | 2積分

資料介紹

描述

簡(jiǎn)介 :: 2017 年秋季

連大家都喜歡分享成功的作品和驚艷的原型機(jī),這里我要換個(gè)思路:幾乎所有的業(yè)余級(jí)機(jī)械臂制造商都專注于工業(yè)型機(jī)械臂,我打算用機(jī)械和功能幾乎與人體相同,但盡可能以最便宜的方式。但由于材料和組件的能力,它變成了一個(gè)失敗的故事,然而失敗的故事也是一個(gè)吸取教訓(xùn)的故事。

起初,我開始注意和研究我的手的動(dòng)作及其尺寸,甚至在四處走動(dòng)時(shí),所以我冒了很大的風(fēng)險(xiǎn),因?yàn)槲腋浇膸缀跛腥硕伎赡苷J(rèn)為我有很強(qiáng)的心理素質(zhì)疾病 :)

第一次設(shè)計(jì)在2-3個(gè)月內(nèi)完成,然后使用紙板和牙簽制作原型。很高興看到機(jī)械方法是否令人滿意并能夠達(dá)到基本要求。

?
?
?
?
pYYBAGOuOCyAe3QwAAGJ_sWD3us982.jpg
?
1 / 6 ?第一個(gè)設(shè)計(jì) - 將其與 v.2.0 和 2.1 進(jìn)行比較 :)
?

然后我休息了很長(zhǎng)時(shí)間以思考更好的意見。

最初的設(shè)計(jì)在機(jī)械方面有很多部分,應(yīng)該對(duì)其進(jìn)行優(yōu)化。所以,我決定從頭開始,一開始就選擇了材料:Balsa Wood,但這個(gè)選擇會(huì)迫使我比我想象的更早結(jié)束項(xiàng)目。無(wú)論如何,我可以說(shuō)它運(yùn)作良好。

2018 年秋季 :: 從零開始

決定材料后,我重新開始了機(jī)械設(shè)計(jì),盡可能使用單體零件。所有掌骨/近端/內(nèi)側(cè)/遠(yuǎn)端“骨骼”、梯形和手腕部分都經(jīng)過(guò)設(shè)計(jì)、虛擬組裝并在計(jì)算機(jī)上相互交互。在那段時(shí)間里,我也注意到我現(xiàn)在的設(shè)計(jì)有些東西是撐不住的。為什么?

因?yàn)樵诔跏茧A段,手掌是完全平坦的,與大多數(shù)其他可用的機(jī)器人手一樣。所以它會(huì)導(dǎo)致物體滑出,即使手指是閉合的。

?
poYBAGOuOC6AG84-AAB6dLy6umg795.jpg
版本 2.0
?

然而,人的手掌卻并非如此。如果你把手指伸直,從側(cè)面看,你可能會(huì)認(rèn)為它是平的。但是當(dāng)你直接面向指尖看時(shí)(你也可以觸摸你的手的頂部),很明顯你的手掌有一個(gè)由掌骨形成的凹陷結(jié)構(gòu),由一個(gè)凹陷的梯形引導(dǎo)。順便說(shuō)一句,當(dāng)您合上手指時(shí),它們會(huì)從四面八方和您的手掌覆蓋一個(gè)球形體積。

所以我將其反映到我的設(shè)計(jì)中:梯形被重塑為凹面,因此由于掌骨與梯形對(duì)齊,手掌變得凹陷。只需要通過(guò)調(diào)整角度進(jìn)行幾次試驗(yàn),是的,它在理論上是有效的:)

?
pYYBAGOuODKAeGMbAAE0rtkGCks118.jpg
版本 2.1
?

那時(shí),我也想超越單純的機(jī)械,開始思考驅(qū)動(dòng)。但是怎么辦?我不得不使用伺服電機(jī),但即使我使用最小的類型,我也沒有地方在包括手腕在內(nèi)的手部找到它們。我注意到,我只需要 12 個(gè)伺服器用于手部和手腕部分來(lái)模仿它們的所有動(dòng)作。同時(shí),我也決定了如何模仿“筋”和“筋”:經(jīng)過(guò)嘗試幾種不同的材料,我發(fā)現(xiàn)魚繩是最好的“筋”,因?yàn)樗膹?qiáng)度和柔韌性,而將橡膠包裝成“筋” (我們還將討論它們)。在這些試驗(yàn)中,我還使用 6 毫米 PVC 管實(shí)現(xiàn)了“肌肉導(dǎo)向”。

?
?
?
?
poYBAGOuOEKAbZ1oABsyu-Rxpbo930.jpg
?
1 / 2 ? v.2.1 的第一個(gè)組件
?

很明顯,還應(yīng)該設(shè)計(jì)手臂部分。但是由于前臂具有扭轉(zhuǎn)和杠桿運(yùn)動(dòng),所以只剩下一個(gè)可能的地方用于伺服系統(tǒng):上臂。

也可以驅(qū)動(dòng)上臂,但在上臂-肩部連接上建立萬(wàn)向接頭將極其復(fù)雜和困難。無(wú)論如何,上臂可能只是杠桿,整個(gè)結(jié)構(gòu)可能會(huì)被肩部轉(zhuǎn)動(dòng),所以我決定將機(jī)械結(jié)構(gòu)限制在肩部。

第一個(gè)問題:扭腕

拼好Hand和Wrist部分后,開始研究Front Arm,立馬問題來(lái)了:我的手怎么扭?

或許直到現(xiàn)在你也從未想過(guò)這一點(diǎn)。從機(jī)械上講,扭轉(zhuǎn)動(dòng)作需要樞軸連接。但是它是如何組裝到人體上的呢?我尋求的答案在 Stan Prokopenko 的網(wǎng)頁(yè)上:https ://www.proko.com/types-of-joints/

(非常感謝他的指導(dǎo)。與此同時(shí),我還了解到扭轉(zhuǎn)運(yùn)動(dòng)在醫(yī)學(xué)上被稱為“旋前”和“旋后”。)

所以很明顯尺骨和橈骨之間存在樞軸連接。但為什么那個(gè)支點(diǎn)位于后端,肘部?這不是很難做的事嗎?我該如何模仿這種機(jī)制?

從 Prokopenko 的動(dòng)畫中可以看出,尺骨和橈骨圍繞樞軸纏繞在一起。當(dāng)專門的肌肉伸展時(shí),橈骨會(huì)旋轉(zhuǎn)到尺骨上,因此手腕會(huì)扭曲。

所以我一開始也是這樣做的:我準(zhǔn)備了一個(gè)原型,將樞軸放在肘端,將尺骨和半徑都固定在手腕上,最后用包裝橡膠將它們包裹在肘端。但是,這種配置可以即使手動(dòng)也不能平穩(wěn)移動(dòng)。在仔細(xì)研究了機(jī)制之后,我采取了完全不同的方式,完全重塑尺骨和橈骨:尺骨設(shè)計(jì)為僅用于杠桿,并且與手腕完全分離。Ulna-Radius 樞軸重新定位到前臂的中間部分。最后,Wrist 僅固定在 Radius 上。所以,尺骨和橈骨的形狀也終于變得與真骨相似。

?
pYYBAGOuOE2AOMg2ABnCH-_FRvk402.jpg
尺骨和橈骨的初步研究(樞軸在肘端,與您的相同)
?

(在您的前臂上,該樞軸位于肘端,因?yàn)檫@是保護(hù)樞軸免受任何損壞的最佳位置。如果前臂骨骼因任何沖擊而骨折,完全愈合后您可以繼續(xù)正常使用它。但是,如果樞軸放在中間,受到機(jī)械沖擊就會(huì)損壞,所以很可能你的手即使痊愈也再也無(wú)法扭動(dòng)了。)

解決這個(gè)問題后,現(xiàn)在我必須決定“肌肉”的路由。路線不應(yīng)受到尺骨和橈骨運(yùn)動(dòng)的影響,因此很明顯,所有肌肉繩索都應(yīng)通過(guò)尺骨-橈骨樞軸到達(dá)上臂的執(zhí)行器。所以我犧牲了一支筆來(lái)使用它的身體作為一個(gè)空心關(guān)節(jié)。

最后,整個(gè) Humanoid Arm + Hand Mechanicals 幾乎可以執(zhí)行真人的所有動(dòng)作:打開和關(guān)閉手指以及舉起東西、在手腕處左右轉(zhuǎn)動(dòng)和上下轉(zhuǎn)動(dòng)、扭轉(zhuǎn)前部的能力手臂將近 270 度并杠桿化,杠桿化上臂,并在肩部將整個(gè)手臂結(jié)構(gòu)旋轉(zhuǎn)近 180 度。

?

?

?

請(qǐng)注意,如果我計(jì)算正確,真人手臂從肩部到手部有 27 個(gè)運(yùn)動(dòng)軸:

  • 上臂的轉(zhuǎn)動(dòng)、杠桿和盤旋 = 3 軸
  • 杠桿和扭轉(zhuǎn)前臂 = 2 軸
  • 水平(右-左)和垂直(上下)旋轉(zhuǎn)手腕 = 2 個(gè)軸
  • 盤旋和杠桿拇指掌骨 = 2 個(gè)軸
  • 杠桿拇指近端和遠(yuǎn)端 = 2 軸
  • 杠桿食指、中指、無(wú)名指和小指的近端、內(nèi)側(cè)和遠(yuǎn)端 = 3 x 4 = 12 個(gè)軸
  • 在水平面上閉合和打開食指、中指、無(wú)名指和小指,同時(shí)保持所有直線 = 1 x 4 = 4 個(gè)軸 - 嘗試顯示 Vulkan Salute :)

因此,完成的機(jī)械原型能夠在 22 個(gè)軸上完成所有這些操作,除了繞上臂旋轉(zhuǎn)和為 Vulkan Salute 移動(dòng)手指。

?
?
?
?
poYBAGOuOF6AVv6CABRHRBEisnU021.jpg
?
1 / 2 ?比例 - 1:1
?

通過(guò)完成前臂力學(xué),第 13 個(gè)伺服器的必要性出現(xiàn)了“旋前”和“旋后”,第 14 個(gè)伺服器用于杠桿整個(gè)前臂。

與前臂機(jī)械相比,上臂和肩部設(shè)計(jì)更容易。但由于輕木的弱點(diǎn),上臂的肩端應(yīng)該從內(nèi)部得到很好的支撐,40 毫米直徑的 PVC 管完美地做到了。并打入一部分25mm的PVC管,這樣上臂的杠桿軸就完成了。

?
?
?
?
poYBAGOuOGeAH7fZABZwtfU099s857.jpg
?
1 / 4 ?切除上臂的一部分
?

(在這里我寫得很快,但事實(shí)并非如此。在意識(shí)到某些事情之前,所有部分都被建模、匹配并與其他部分交互,并在計(jì)算機(jī)上檢查其適用性。實(shí)施在工程之后進(jìn)行。)

不過(guò),自從有了驅(qū)動(dòng)的想法之后,我的腦子里還有一個(gè)疑問……

“好吧,到現(xiàn)在為止我們都做得很好,但是……我們要怎么支撐那東西呢,寶貝?”

支持問題不僅針對(duì)機(jī)械結(jié)構(gòu)。還需要將控制器固定在某處,但由于跳線的長(zhǎng)度有限,因此靠近機(jī)械結(jié)構(gòu)。幾天來(lái),我一直在想象一個(gè)由木頭、管子和其他材料專門制成的支撐結(jié)構(gòu)……但我不喜歡這些想法。

一天晚上,我發(fā)現(xiàn)一個(gè)很久以前就掛在我桌邊的完美解決方案:我的相機(jī)三腳架。只需將其螺絲換成螺栓來(lái)固定肩部的轉(zhuǎn)動(dòng)軸,它就可以完美地工作,并且可以正常工作。

所以我最終只為 Shoulder 設(shè)計(jì)了一個(gè)軸和底板,并且只使用了我多余的家具部件、塑料廢水管蓋和輕木。然后所有東西都放在三腳架上。

現(xiàn)在我可以開始安裝肌肉、執(zhí)行器等等,但在此之前發(fā)生了另一件事……

“肯定還有一個(gè)操控者……”

就在決定啟動(dòng)整個(gè)手臂后,我計(jì)算了我必須使用的信號(hào)并不可避免地面對(duì)壞消息:我只有一個(gè) Arduino Due,即使與其他模型相比它有很多輸入/輸出,但它仍然是不夠。起初我必須定義進(jìn)一步的必要性,然后我發(fā)現(xiàn) Arduino Leonardo 是輔助控制器的最佳解決方案。在準(zhǔn)備輸入/輸出列表并對(duì)其進(jìn)行一些研究后,手部和手腕部分留在 Due 的范圍內(nèi);而前臂、上臂和肩部的控制則由萊昂納多負(fù)責(zé)。

然后,又提出了一個(gè)問題……

“哪個(gè)控制器應(yīng)該是主人,他們應(yīng)該如何相互‘對(duì)話’?”

因?yàn)槿萘看?,速度快,所以最好讓Due做master。然而,“說(shuō)話”出現(xiàn)了問題:Due 運(yùn)行在 3.3V,而 Leonardo 處于 5V 電平。由于它們的 I2C 通信也使用與控制器相同的電壓電平,直接連接會(huì)燒毀 Due。

我必須使該接口盡可能簡(jiǎn)單,最好的方法是使用模擬(電壓)信號(hào)。只是萊昂納多應(yīng)該“理解”;

  • 應(yīng)啟動(dòng)哪個(gè)部分,以及,
  • 它應(yīng)該移動(dòng)到哪個(gè)位置。

所以我決定在 Due 上使用 DAC0 和 DAC1 模擬(電壓)輸出,并在 Leonardo 上相應(yīng)地使用 A0 和 A1 來(lái)定義它們。

然而,電壓輸出的穩(wěn)定需要一點(diǎn)時(shí)間。所以 Leonardo 可能會(huì)誤解 Due 的請(qǐng)求,所以它也應(yīng)該知道命令是否已準(zhǔn)備好讀取。第三個(gè)通訊信號(hào)出現(xiàn):“執(zhí)行”。好消息是,它可以直接從 Due 的 Ch.50(數(shù)字輸出)連接到 Leonardo 的 Ch.8(數(shù)字輸入)。

最后,Due 是如何理解它的命令被執(zhí)行的呢?第四個(gè)信號(hào)應(yīng)該從 Leonardo 發(fā)送到 Due:“命令已執(zhí)行”反饋,但由于上述電壓水平存在問題。如果確認(rèn)信號(hào)直接從 Leonardo 的 Ch.12(數(shù)字輸出)連接到 Due 的 Ch.51(數(shù)字輸入),那么我應(yīng)該為可憐的 Due 組織一場(chǎng)葬禮 :)

無(wú)論如何,這個(gè)問題是整個(gè)項(xiàng)目中最簡(jiǎn)單的:Leonardo 的 5V 輸出可能僅被兩個(gè)千歐級(jí)電阻分壓,然后它可能會(huì)以 ~3.3V 的形式發(fā)送到 Due。在實(shí)施階段,只有 270k 和 470k 效果很好。

肌肉和肌腱

你驅(qū)動(dòng)肌肉采取一些動(dòng)作,但是當(dāng)相關(guān)肌肉被釋放時(shí),身體部分必須回到原來(lái)的位置。所以你的身體上有肌腱,與肌肉相反。但是肌腱由于其使用目的而不如相應(yīng)的肌肉強(qiáng)壯。

我已經(jīng)在上面寫下了我決定用作肌肉和肌腱的材料。然而,在試驗(yàn)過(guò)程中,我注意到釣魚繩很容易卡在機(jī)械接頭之間。所以最好使用某種“指南”,而 6mm 直徑的 PVC 管件正好適合這個(gè)目的。

尺骨和上臂沒有使用任何肌腱,因?yàn)橹亓?huì)很好地發(fā)揮作用。

?
?
?
?
pYYBAGOuOHCAbI44ABfy298w78A684.jpg
?
1 / 2 ?穿過(guò)腕管和中空樞軸的“肌肉”
?

限位開關(guān)和位置傳感器

當(dāng)我決定啟動(dòng)手臂時(shí),限位開關(guān)的必要性直接出現(xiàn)了。沒有它們,伺服系統(tǒng)很容易損壞機(jī)械部件。但不幸的是,舵機(jī)并沒有我想象的那么強(qiáng)大。

一開始我認(rèn)為限位開關(guān)是最簡(jiǎn)單的部件之一,但事實(shí)并非如此,尤其是在手指上。實(shí)際上,這個(gè)問題的出現(xiàn)有兩個(gè)主要原因:首先是輕木,由于它的弱點(diǎn)。第二個(gè)是我的設(shè)計(jì)規(guī)模。正如您在上面的一些照片中看到的,我的意圖是以 1:1 的比例制作人形手和手臂。

不管怎樣,我只用電線和鋁帶做了接觸點(diǎn)。即使它們對(duì)于保護(hù)機(jī)械裝置必不可少,但由于輕木零件的磨損,它們會(huì)及時(shí)失去功能,尤其是在手指上。

位置傳感器是通過(guò)僅在幾個(gè)點(diǎn)上使用電位器來(lái)實(shí)現(xiàn)的,它們幾乎可以正常工作。

?
poYBAGOuOHuAPalWABfKsHMWnTw020.jpg
手指上的“高”限位開關(guān)(連同用于引導(dǎo)“肌肉”的管子)
?

?

?
pYYBAGOuOIWASIvNABkUwrHBbzE578.jpg
典型位置傳感器
?

伺服執(zhí)行器及其局限性

由于空間有限,我只有一個(gè)選擇來(lái)驅(qū)動(dòng)(也許我應(yīng)該說(shuō)醫(yī)學(xué)術(shù)語(yǔ)中的“伸展”或“屈曲/伸展”)專用于前臂、手腕和手部的“肌肉”,包括手指: -轉(zhuǎn)動(dòng)微型伺服電機(jī)。所有這些都應(yīng)該位于 Upper Arm 上,因此 Upper Arm 的設(shè)計(jì)也通過(guò)考慮繩索布線來(lái)完成。

起初,我用輕木制作了直徑約 10 毫米的滑輪。然而,微型舵機(jī)的輸出扭矩非常低。然后我修改了他們的輪角:通過(guò)研磨減小直徑,在喇叭和舵機(jī)之間使用墊圈,并在靠近中心的位置鉆孔以連接繩索。這樣,舵機(jī)可以拉更高的負(fù)載。

?
?
?
?
poYBAGOuOIiAHZKlAABm46BXehw914.jpg
?
1 / 3
?

在后期階段,還需要另一個(gè)滑輪組來(lái)杠桿前臂和上臂,這樣就完成了。即使是微伺服也可以處理前臂的杠桿,上臂需要標(biāo)準(zhǔn)伺服,因?yàn)樗鼞?yīng)該處理上臂、前臂、手以及它們上面的所有接線的重量。

另一個(gè)標(biāo)準(zhǔn)伺服也用于轉(zhuǎn)動(dòng)肩部。

?
?
?
?
poYBAGOuOI-ADmrwAAlv1ZY3o2I059.jpg
?
1 / 2 ?前臂滑輪(此處還顯示了 Radius 的位置傳感器組件,就在電線前面)
?

“所有那些導(dǎo)線都必須組織起來(lái)……哪怕是一點(diǎn)……”

最好的方法是制作某種“終端組件”。經(jīng)過(guò)幾天的研究,我發(fā)現(xiàn)只需2塊8x2厘米的預(yù)制PCB就可以制作3個(gè)端子組件。

  • TB01 設(shè)計(jì)用于處理專用于手、手腕和橈骨(扭轉(zhuǎn)前臂)的所有信號(hào),以及專用于手腕和橈骨(扭轉(zhuǎn)前臂)的伺服系統(tǒng)
  • TB02 設(shè)計(jì)用于處理專用于肩部、上臂和尺骨(杠桿前臂)的所有信號(hào)和電機(jī)
  • TB03 設(shè)計(jì)用于處理 Fingers 的舵機(jī)

當(dāng)然,所有端子組件都應(yīng)在首次“制造”之后和焊接電線期間進(jìn)行測(cè)試。

?
?
?
?
pYYBAGOuOJmAcsguABQeWTcWeQY727.jpg
?
1 / 3 ?端子組件
?

舵機(jī)的早期測(cè)試

在幾乎安裝完所有東西之后,我只帶了 Arduino Leonardo 并開始通過(guò)一個(gè)簡(jiǎn)單的例程單獨(dú)測(cè)試每個(gè)伺服器,以檢查它是否能夠按要求運(yùn)行。該例程非?;A(chǔ),僅用于以數(shù)字輸入選擇的最低速度和方向運(yùn)行一個(gè)伺服。那個(gè)時(shí)候可以一個(gè)一個(gè)操作。但是當(dāng)所有舵機(jī)一起通電時(shí),意想不到的驚喜就來(lái)了。稍后我們將討論那個(gè)麻煩。

?
pYYBAGOuOJ6AcCW4AAh4vLOVTCA459.jpg
早期測(cè)試
?

第一個(gè)問題繼續(xù) :: 扭腕

即使我修改了伺服臂以用作極小直徑的滑輪,但它還不足以“旋前”和“旋后”Radius。所以我做了一個(gè)微型滑輪組。

?
pYYBAGOuOKmAYtMrABP_bE55XFI206.jpg
?

?

?

第一個(gè)效果很好,但它太大了。所以它在下一步被最小化。

?
poYBAGOuOLGAHQBWABN9aNelMH4544.jpg
?

?

?

不幸的是,各個(gè)伺服上的扭矩仍然太大。我嘗試調(diào)整,但是當(dāng)前臂處于水平位置并且伺服將橈骨完全帶到尺骨上然后試圖釋放時(shí),由于微型滑輪上的摩擦和反作用力,相應(yīng)的“肌腱”橡膠未能恢復(fù)原狀。我拉緊了肌腱,但是舵機(jī)無(wú)法再拉動(dòng)了……經(jīng)過(guò)幾次嘗試,舵機(jī)變得不穩(wěn)定,很快它的電機(jī)控制器就燒毀了。那是Project的第一個(gè)受害者。請(qǐng)為無(wú)名英雄致敬和祈禱 - 不,對(duì)不起它的標(biāo)簽是“11FR”- :)

(當(dāng)然,每個(gè)點(diǎn)/組件都有自己獨(dú)特的標(biāo)簽。否則不可能進(jìn)行所有的構(gòu)造、布線和編程。耐心點(diǎn),我們還將討論工程的重要性。)

所以我決定停止扭轉(zhuǎn)前臂的試驗(yàn)。它需要很大的扭矩,但與此同時(shí),進(jìn)一步的試驗(yàn)可能會(huì)導(dǎo)致整個(gè)前臂損壞。

其他試驗(yàn) :: 手指

沒什么特別要說(shuō)的。一開始,一切看起來(lái)都還不錯(cuò)……直到伺服系統(tǒng)壞了,輕木部件磨損了。

?

?

?

?

?

First Codes :: Due<->萊昂納多互通

原理上面我已經(jīng)講過(guò)了,在編程階段就是第一節(jié)。在模擬通道上,Due/DAC0 和 Leonardo/A0 分配給設(shè)置值寄存器以發(fā)送和接收百分比設(shè)置值。Due/DAC1 和 Leonardo/A1 分配給 Section Selector。

但它只是需要做一些范圍:由于可以使用全范圍,但由于 DACx 輸出會(huì)在 0.75-2.55V 范圍內(nèi)產(chǎn)生相應(yīng)的電壓,因此應(yīng)該在 Leonardo 上調(diào)整匹配比例。因此,Leonardo 被配置為讀取 Set Value between (整數(shù))168-846對(duì)應(yīng)0-100%。對(duì)于部分選擇器,整個(gè)范圍在 Due-side 上分為 5 個(gè)部分,并為 Leonardo 計(jì)算相應(yīng)的值。但在那個(gè)實(shí)現(xiàn)中,也有必要使用死區(qū)。因此,即使是在 Due 上使用的確切值,它們?cè)?Leonardo 上也被解釋為(值 +/- 死區(qū))以確保選擇部分。

最后,相互通信程序在兩個(gè)控制器上完成如下并且運(yùn)行良好。

到期日:

   const int   _FA_Radius  =  840;    // Front Arm Radius Section
   const int   _FA_Ulna    = 1530;    // Front Arm Ulna Section
   const int   _UpperArm   = 2220;    // Upper Arm Section
   const int   _Shoulder   = 2910;    // Front Arm Radius Section
void CommandToLeonardo(String Section, int SetValue) {
   /* SetValue is given as Percentage */
   int Section_Num=0;
   if (Section=="_11FR") Section_Num = _FA_Radius;
      else if (Section=="_11FU") Section_Num = _FA_Ulna;
           else if (Section=="_21UA") Section_Num = _UpperArm;
               else if (Section=="_31SH") Section_Num = _Shoulder;
   if (Section_Num==0)
      Serial.println("Section cannot be recognized.");
   if ((SetValue<0) || (SetValue>100))
      Serial.println("Set Value should be between 0-100).");
   if ((Section_Num!=0) && (SetValue>=0) && (SetValue<=100) )
      {
       Serial.print(String(SetValue) + "% -> ");
       switch(Section_Num){
             case _FA_Radius: Serial.println("Front Arm-Radius"); 
                              break;
             case _FA_Ulna  : Serial.println("Front Arm-Ulna"); 
                              break;
             case _UpperArm : Serial.println("Upper Arm"); break;
             case _Shoulder : Serial.println("Shoulder"); break;
          }
       analogWrite (_00XXCM, Section_Num);
       analogWrite (_00XXSP, map(SetValue, 0, 100, 0, 4095));
       delay(50);        // Delay for stabilization of outputs
       digitalWrite(_00XXXC, HIGH);  // Execute Command
       do { // Wait until getting OK from Leonardo
          } while(!digitalRead(_00XXOK)); 
              
       Serial.println("ARD LNRD = OK.");
       analogWrite (_00XXCM, 0); 
       analogWrite (_00XXSP, 0);  
                    // Resetting Section and Set Value outputs
       delay(50);   // Delay for stabilization of outputs
       digitalWrite(_00XXXC, LOW);   // Resetting Command
      } /* End of "if (Section_Num!=0)" */
} /* End of "void CommandToLeonardo()" */
void loop() {
    if (Serial.available())
       {
        String Command=ReadUserInputOverSerial();
        Serial.println(Command); 
        if (Command.substring(0,1)=="?") /* Help */
           {
            Serial.println("Commands:");
            Serial.println("  CTL [Section] [SetValue (0-100)]");
            Serial.println("      CommandToLeonardo - Section: First 5 characters of PWM Tag (e.g. _10WH for _10WHCM).");
            Serial.end(); Serial.begin(_BAUDRATE);
            while(!Serial) { };
           }
        if (Command.substring(0,3)=="CTL")
           CommandToLeonardo(Command.substring(4,9),
                             Command.substring(10).toInt());
        CommandPromptOverSerial("[ARD DUE/] > ");
       } /* End of "if (Serial.available())..." */
} /* End of "void loop()": ARDUINO DUE */

關(guān)于萊昂納多:

   const int   _FA_Radius  = 310;    // Front Arm Radius Section
   const int   _FA_Ulna    = 425;    // Front Arm Ulna Section
   const int   _UpperArm   = 540;    // Upper Arm Section
   const int   _Shoulder   = 655;    // Front Arm Radius Section
   const int   _ICDB       =  40;    // Deadband
   /* Since the signals cannot generate exact integer values, 
    * Section shall be identified by [ (SectionValue) +/- _ICDB ]
    * reading.
   */
void setup() {
  /* Initial Feedback to Due */
  digitalWrite(_00XXOK, LOW); 
}
void CommandFromDue() {  
   CommandFromDue_Section = analogRead(_00XXCM);
   if ( ((_FA_Radius-_ICDB)<=CommandFromDue_Section) && 
        (CommandFromDue_Section<=(_FA_Radius+_ICDB)) )
      CommandFromDue_Section=_FA_Radius;
      else if ( ((_FA_Ulna-_ICDB)<=CommandFromDue_Section) && 
                (CommandFromDue_Section<=(_FA_Ulna+_ICDB)) )
              CommandFromDue_Section=_FA_Ulna;
      else if ( ((_UpperArm-_ICDB)<=CommandFromDue_Section) &&
              (CommandFromDue_Section<=(_UpperArm+_ICDB)) )
              CommandFromDue_Section=_UpperArm;
      else if ( ((_Shoulder-_ICDB)<=CommandFromDue_Section) &&
                (CommandFromDue_Section<=(_Shoulder+_ICDB)) )
               CommandFromDue_Section=_Shoulder;
      else
               CommandFromDue_Section=0;
   CommandFromDue_SetValue = 
               map(analogRead(_00XXSP),168,846,0,100);
   /* Due generates DAC outputs between 0.55-2.75 V and it 
    * corresponds (int) 168-846 on Arduino Leonardo.
    * Here analog reading is converted to Percentage.
    */
   boolean CommandFromDue_Execute = digitalRead(_00XXXC);
   String  Section = "";
   int     Speed   = 0;
   if ((CommandFromDue_Section!=0) && CommandFromDue_Execute)
      {
       Serial.println();
       Serial.print("Command by ARD DUE: "+
                     String(CommandFromDue_SetValue) + "% -> ");
       switch(CommandFromDue_Section){
             case _FA_Radius: Serial.println("Front Arm-Radius");
                              Section = "_11FR";
                              Speed = 20;
                              break;
             case _FA_Ulna  : Serial.println("Front Arm-Ulna");
                              Section = "_11FU";
                              Speed = 20;
                              break;
             case _UpperArm : Serial.println("Upper Arm");
                              Section = "_21UA";
                              Speed = 90;
                              break;
             case _Shoulder : Serial.println("Shoulder");
                              Section = "_31SH";
                              Speed = 30;
                              break;
           }
       Serial.println(" -action-");
       MoveToPosition(Section, Speed, CommandFromDue_SetValue);
       Serial.println("OK -> ARD DUE.");
       CommandPromptOverSerial("[ARD LNRD/] > ");
       digitalWrite(_00XXOK, HIGH); delay(100);
       digitalWrite(_00XXOK, LOW); // OK Feedback to Due
      } /* End of "if (Section_Num!=0)" */
} /* End of "void CommandFromDue()" */

?

?
?
?
?
pYYBAGOuOLeAQ4kWAAHPbKXNIPQ215.jpg
?
1 / 2 ?互通:初級(jí)測(cè)試
?

編碼::進(jìn)一步

除了互通之外,這里我不會(huì)解釋更多代碼的深層細(xì)節(jié),以免讓讀者感到無(wú)聊,因?yàn)樵谧詈竽憧梢哉业酵暾某绦颍?Due 的 800 多行和 Leonardo 的 500 多行,以及解釋性說(shuō)明. 正如您在程序中看到的那樣,已經(jīng)存在具有相同名稱的函數(shù)。原則上,這些功能在原理/算法上完全相同,但只是由于控制范圍而進(jìn)行了一些更改。

void CommandPromptOverSerial(提示符)

它的創(chuàng)建只是為了制作那個(gè)花哨的命令行界面。除此之外,它還重新初始化串行通信以確保刷新。

字符串 ReadUserInputOverSerial()

在串行監(jiān)視器上讀取用戶輸入,并將其作為字符串返回。

無(wú)效閱讀(標(biāo)簽)

空循環(huán)測(cè)試()

這兩個(gè)函數(shù)都是為測(cè)試單個(gè)循環(huán)(輸入/輸出通道)而創(chuàng)建的。

LoopTest() 已經(jīng)有專門用于模擬輸入、模擬輸出、數(shù)字輸入、數(shù)字輸出和 PWM 輸出類型的小節(jié);但 Read(Tag) 僅用于直接從頂層讀取輸入,而無(wú)需轉(zhuǎn)到 LoopTest()。

?
poYBAGOuOLqARv8GAAIGzq0lNgU344.jpg
循環(huán)測(cè)試
?

void CommandToServo(標(biāo)簽,值)

正如您到目前為止所認(rèn)識(shí)到的,我將所有內(nèi)容都稱為標(biāo)簽。這也是這個(gè)功能的目的:它將設(shè)定值(0-180)發(fā)送到分配給“標(biāo)簽”的伺服電機(jī)。

void FullTravelDurationMeasurement (PWM_Tag, LimitSw_CCW, LimitSw_CW, int Speed)

編寫此函數(shù)是為了檢查手指的完整行程持續(xù)時(shí)間,因?yàn)樗鼈儫o(wú)法配備實(shí)際位置傳感器。根據(jù)結(jié)果??,可以定時(shí)拉或放。即使它在理論上通過(guò)手動(dòng)強(qiáng)制輸入/輸出工作,它也不能用于實(shí)際系統(tǒng),因?yàn)殚_關(guān)由于機(jī)械磨損而無(wú)法正常工作。因此,完整的行程持續(xù)時(shí)間只能通過(guò)手動(dòng)試驗(yàn)來(lái)確定,而不是使用此功能。

?
pYYBAGOuOL2AXV3TAAHCHs8brrY433.jpg
?

void MoveDuringMillis(標(biāo)記、方向、速度、毫秒)

該函數(shù)也被編寫為在指定的方向和指定的毫秒內(nèi)驅(qū)動(dòng)由標(biāo)簽定義的手指。

void MoveToPosition (Section, Speed, SetValue)

此函數(shù)用于將一個(gè)部分移動(dòng)到 SetValue 給定的位置并以指定的速度移動(dòng)。注意Section還應(yīng)裝有位置傳感器。

void Fingers_Hold()

void Fingers_Release()

這些功能被編寫為幾乎同時(shí)關(guān)閉(握住某物)和釋放手指。不幸的是,手指只能部分地工作一次……

void Final_Demo()

顧名思義:最后只能使用前臂和上臂的杠桿機(jī)構(gòu),以及肩部的旋轉(zhuǎn)。所以寫這個(gè)函數(shù)就是為了演示它們。

在成功測(cè)試所有單獨(dú)的信號(hào)和功能后,我完成了伺服系統(tǒng)和機(jī)械部分之間的機(jī)械連接。現(xiàn)在,arm 已準(zhǔn)備好測(cè)試真正的功能,但是……

通電 :: 瘋狂伺服

在一個(gè)接一個(gè)地測(cè)試和調(diào)整所有伺服系統(tǒng)之后,是時(shí)候?yàn)樗兴欧到y(tǒng)一次性供電了。但結(jié)果并不如我所料。

我最初的設(shè)計(jì)在上臂有 14 個(gè)微型伺服系統(tǒng)來(lái)處理輕負(fù)載,而在肩部有 2 個(gè)標(biāo)準(zhǔn)伺服系統(tǒng)用于杠桿上臂和轉(zhuǎn)動(dòng)肩部。他們都能夠接受一個(gè)共同的電壓水平,6V,所以我做到了。

但是一旦我操作了一個(gè)標(biāo)準(zhǔn)的舵機(jī),一些微型舵機(jī)就沒有任何命令就啟動(dòng)了。幸運(yùn)的是,我在電源線上放了一個(gè)開關(guān),所以我可以一次全部切斷,但無(wú)論如何,由于瞬間和極端的加速,一些手指用力過(guò)大。我再次擰下所有微型伺服系統(tǒng)的滑輪,然后重新通電。結(jié)果是一樣的:不穩(wěn)定的微舵機(jī)永遠(yuǎn)無(wú)法調(diào)整,或者即使調(diào)整也無(wú)法保持穩(wěn)定,甚至卸載。

?

我的第一個(gè)疑問是電源的適用性:我使用了一個(gè) 6V、3Ah 的適配器。

根據(jù)可用數(shù)據(jù),每個(gè)微伺服在空閑時(shí)消耗 6 mA,在空載運(yùn)行時(shí)消耗 120 mA,在失速條件下消耗 800 mA。對(duì)于標(biāo)準(zhǔn)舵機(jī),只給出一個(gè)參數(shù):100 mA 作為工作電流,我認(rèn)為它是空載運(yùn)行,并假設(shè)其余參數(shù)與微型舵機(jī)類似。

所以,我的電源就足夠了,因?yàn)榇丝讨挥幸粋€(gè)舵機(jī)運(yùn)行。那么,失敗的原因可能是什么?

我仍然在考慮電源,并開始通過(guò)示波器對(duì)其進(jìn)行監(jiān)控。結(jié)果很有趣,而只有一個(gè)標(biāo)準(zhǔn)伺服正在運(yùn)行:

?
pYYBAGOuOMGAZrBlAAckt7u0qJ4797.jpg
操作標(biāo)準(zhǔn)伺服時(shí)的電源電壓波動(dòng)
?

當(dāng)我看到這些變化時(shí),我有一個(gè)理論:可能微伺服對(duì)電壓波動(dòng)更敏感,而那些被它們誤解為“命令”。然后我決定分別為微型和標(biāo)準(zhǔn)伺服系統(tǒng)供電。標(biāo)準(zhǔn)伺服系統(tǒng)與一個(gè)微型伺服系統(tǒng)(專用于杠桿前臂的微型伺服系統(tǒng))保持連接在當(dāng)前電源上,而所有其他微型伺服系統(tǒng)都單獨(dú)連接到其他電源。這種修改奏效了。

手指 :: 最后一次

正如我在上面已經(jīng)寫過(guò)的,最后由于磨損我無(wú)法操作所有部分。無(wú)論如何,它只能打開和關(guān)閉手指一次,如果我繼續(xù)嘗試,我可能會(huì)殺死剩下的 6 個(gè)微型伺服系統(tǒng)。所以最好在這里停下來(lái)。從理論上講,如果輕木部件沒有磨損,您會(huì)看到順序但更順暢的工作。

?

最終演示

最后,經(jīng)過(guò)約 4.5 個(gè)月的設(shè)計(jì)和組裝,可以僅操作前臂和上臂的杠桿功能以及肩部的轉(zhuǎn)動(dòng)功能。

?

工程 :: 重新審視工業(yè)實(shí)踐

如果您的項(xiàng)目在很小的區(qū)域內(nèi)并且只包含很少或幾個(gè)設(shè)備,也許您可??以通過(guò)眼睛和手來(lái)跟蹤一切。

但是,如果您必須在 ~1 米長(zhǎng)的設(shè)備上工作,該設(shè)備包含 140 多種不同類型的 500 多個(gè)零件、~60 種電氣電子設(shè)備(開關(guān)、電位器、伺服電機(jī))、兩個(gè)不同控制器上的 60 多個(gè)信號(hào)以及將兩者互連,以及數(shù)百條連接線;然后在計(jì)算機(jī)和論文上工作成為必須,并且是解決問題的最佳選擇。

所以一切都是從在計(jì)算機(jī)上設(shè)計(jì)機(jī)械開始的。在后期階段;模型中添加了伺服電機(jī)、開關(guān)、位置傳感器和端子組件。

正如我在前面部分提到的,專用的唯一標(biāo)簽也分配給所有單獨(dú)的部分。你也會(huì)在節(jié)目中看到這些標(biāo)簽,它們讓生活變得更輕松。最后,有“3D模型”、“滑輪繩布線草圖”、“儀表列表”、“I/O列表”、“儀表布局”、“接線板布局”和“接線圖”作為文檔包項(xiàng)目。

?

?

?
?
?
?
poYBAGOuOMiAHZLMAAD0LXVCYy0998.jpg
?
1 / 8 ? 3D 模型
?

對(duì)于未來(lái) :: 瓶頸

我同意我的設(shè)計(jì)非常原始。我最初的意圖只是機(jī)械地模仿人的手和手臂,但后來(lái)我決定嘗試驅(qū)動(dòng)整個(gè)結(jié)構(gòu)。

在機(jī)械設(shè)計(jì)方面,一切幾乎都符合預(yù)期:所有機(jī)械部件都完美匹配并通過(guò)手動(dòng)方式相互交互。

無(wú)論如何,第一個(gè)瓶頸是選擇的材料,輕木:我選擇它只是因?yàn)樗梢詮V泛用于業(yè)余愛好作品的預(yù)成型/預(yù)切割部件,用于原型制作非常便宜,易于通過(guò)簡(jiǎn)單的手工工具成型,容易只需使用強(qiáng)力膠水即可修復(fù)。通過(guò)使用輕木,我可以避免購(gòu)買相當(dāng)昂貴的 CNC 或 3D 打印機(jī)及其配件和耗材。

然而,輕木也是一種非常脆弱的材料,led 比我想象的更早磨損手指。

除此之外,我設(shè)計(jì)的 1:1 比例“放大”了輕木的弱點(diǎn)。在搭建和嘗試運(yùn)行期間,我不得不對(duì)許多地方進(jìn)行維修作為最后一個(gè)例子,Upper Arm 上的伺服電機(jī)支架板也是由輕木制成的,經(jīng)過(guò)幾次拆卸后,它們開始開裂。

而且也不可能使用任何軸承,尤其是手部,因?yàn)橛锌潭取?/font>

盡管如此,我還是推薦使用輕木以最便宜的方式制作機(jī)械原型。

另一個(gè)瓶頸是伺服系統(tǒng)的尺寸和功率。由于規(guī)模,我只能使用微型和標(biāo)準(zhǔn)伺服系統(tǒng),但它們的能力有限。這也是滑輪組考慮用于橈骨和上臂的旋前和屈曲的原因,因此整個(gè)手臂具有起重機(jī)式結(jié)構(gòu)而不是真正的機(jī)器人結(jié)構(gòu)。

為了未來(lái) :: 教訓(xùn)

模仿自然機(jī)制是一個(gè)非常困難和復(fù)雜的項(xiàng)目,因?yàn)樗鼈兊囊恍┕δ苁怯蓹C(jī)械部分(=骨骼)之間的靈活(幾乎通用)連接提供的,這些連接由執(zhí)行器(=肌肉)和反向彈簧(=肌腱)保持在一起。肌腱也可以被拉伸——即使是一點(diǎn)點(diǎn),也沒有肌肉那么多。

但這還不是全部。當(dāng)您啟動(dòng)一個(gè)“部分”時(shí),您還可以實(shí)時(shí)了解它的實(shí)際位置,以及在達(dá)到移動(dòng)限制時(shí)聯(lián)鎖啟動(dòng)。這意味著,每個(gè)部分應(yīng)使用一個(gè)位置傳感器和至少 2 個(gè)限位開關(guān)。

正如您所注意到的,我不得不使用伺服電機(jī),但如果您想避免使用位置傳感器,則可以使用步進(jìn)電機(jī)。然而,在這種情況下,每個(gè)步進(jìn)器將需要 4 個(gè)數(shù)字輸出,因此 2 個(gè) Arduino 級(jí)控制器是不夠的。

你認(rèn)為我們完成了嗎?還沒有。

讓我們做一個(gè)簡(jiǎn)單的實(shí)驗(yàn):握住右手,手掌向上。然后右手食指彎曲,“懸”在左手掌側(cè)。現(xiàn)在,試著用左手食指的指尖握住右手,同時(shí)將右手向上推。你看到了嗎?達(dá)到一定限度,你可以抵抗手臂上的肌肉,僅靠控制食指骨的肌肉。

如果你試圖通過(guò)模仿機(jī)制來(lái)做到這一點(diǎn),幾乎可以肯定它們會(huì)被破壞。即使在簡(jiǎn)單的試驗(yàn)中,我也燒毀了 7 個(gè)微型伺服系統(tǒng)。

和更多:

在自然機(jī)制上,“執(zhí)行器”放置在非??拷鼨C(jī)械部分的位置。今天,在機(jī)械仿制品上做到這一點(diǎn)的最好方法可能是使用液壓缸。但在那種情況下,還應(yīng)使用強(qiáng)大的液壓泵系統(tǒng)、儲(chǔ)油器、止回閥、電磁閥……這將帶來(lái)更大的空間需求和控制器+輸入/輸出能力的必要性。

那些最新的 2 段意味著,需要更小和更強(qiáng)大的執(zhí)行器。

完成的?不,還有一個(gè)問題:

讓你試著動(dòng)動(dòng)手指……

現(xiàn)在嘗試同時(shí)移動(dòng) 2 或 3 個(gè)手指……很好。

嘗試移動(dòng)所有手指,同時(shí)在手腕處上下移動(dòng)手,然后左右移動(dòng)……完美。

在杠桿前臂的同時(shí)轉(zhuǎn)動(dòng)手腕,移動(dòng)所有手指……

[ 什么?你還好嗎?看著我,我們帶你去診所好嗎?:))]

如果你沒有任何嚴(yán)重的健康問題,你可以做所有的事情,對(duì)吧?現(xiàn)在我們?nèi)绾斡脵C(jī)械模仿來(lái)做到這一點(diǎn)?

正如我已經(jīng)提到的,人的手臂和手總共有大約 30 種不同的運(yùn)動(dòng)(軸),因此每個(gè)都必須使用一個(gè)致動(dòng)器,以便能夠平滑地進(jìn)行逼真的模仿。

如果我們想通過(guò)使用像 Arduino 類這樣的簡(jiǎn)單控制器來(lái)做到這一點(diǎn),我們只需要一個(gè)子控制器用于每個(gè)軸,一個(gè)主控制器來(lái)命令它們。子控制器應(yīng)該有其特定的例程,僅定義各個(gè)部分的特定運(yùn)動(dòng),以用于整個(gè)系統(tǒng)的預(yù)定義整體運(yùn)動(dòng)。Master 只需將設(shè)定點(diǎn)和請(qǐng)求的整體運(yùn)動(dòng)信息發(fā)送給子控制器,然后向 all in once 發(fā)送“執(zhí)行”命令,并等待確認(rèn)。

例如,每個(gè)子控制器分別專用于食指、中指、無(wú)名指和小指的近端、內(nèi)側(cè)和遠(yuǎn)端部分(因此我們談?wù)摰氖?12 個(gè)子控制器以及致動(dòng)器、位置傳感器、限位開關(guān)和根據(jù)需要等等)應(yīng)該有 - 例如 - 一個(gè)“ Hold_a_Circular_Plate()”子例程僅為相應(yīng)部分定義特定運(yùn)動(dòng)。當(dāng)主控制器發(fā)送“ Command_to_Hold_Circular_Plate() ”時(shí),它應(yīng)該只觸發(fā)一個(gè)輸出同時(shí)到達(dá)所有子控制器。但另一個(gè)重要問題是在微秒內(nèi)同步子控制器,否則所有操作都會(huì)失敗。

第二種選擇是使用功能更強(qiáng)大的控制器和響應(yīng)速度更快的執(zhí)行器,這樣不同執(zhí)行器之間的切換將無(wú)法識(shí)別。

第三種選擇是最好的,如果可能的話:使用有史以來(lái)最強(qiáng)大的控制器,能夠以極快的速度執(zhí)行絕對(duì)多處理:有機(jī)大腦和神經(jīng)系統(tǒng),最好是人腦用于人形手臂(虛構(gòu)它是在 Robocop 系列中完成的)。

:: 結(jié)尾 ::

即便是現(xiàn)在也有一些公司在為殘疾人制造人形假手,即使設(shè)計(jì)的再好,為人們的生活帶來(lái)便利,也不能說(shuō)是完美的模仿。

我想我們幾乎所有人都可能見過(guò)波士頓動(dòng)力公司設(shè)計(jì)和建造的最神奇的機(jī)器人“阿特拉斯”。這樣的研究和開發(fā)消耗大量的金錢、時(shí)間,需要長(zhǎng)時(shí)間的研究、試驗(yàn)、無(wú)數(shù)次的失敗等等。例如,波士頓動(dòng)力公司成立于 1992 年,從那時(shí)起他們就一直在研究機(jī)器人。這意味著,到今天為止,Atlas 背后有近 30 年的研究、試驗(yàn)、失敗、重試……等等。

在預(yù)算方面,Atlas 的“父親”和“母親”由美國(guó)國(guó)防高級(jí)研究計(jì)劃局資助。是的,不幸的是,軍事機(jī)構(gòu)是這些驚人項(xiàng)目的主要支持者,人類仍然非常善于尋找最好的自相殘殺方式:(

市場(chǎng)上的消費(fèi)品無(wú)法制造出如此驚人的東西。所有機(jī)械、電子、執(zhí)行器、傳感器……都應(yīng)根據(jù)項(xiàng)目量身定制的定制參數(shù)進(jìn)行專門和單獨(dú)設(shè)計(jì)。

也許最近發(fā)明的人造肌肉可能有助于開發(fā)更好的假肢。

在所有情況下,我希望你能從機(jī)械和控制的角度發(fā)現(xiàn)所有那些冗長(zhǎng)的故事,還有你的身體……


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

評(píng)論

查看更多

下載排行

本周

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

本月

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

總榜

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