第1步:工具和材料
工具和材料
以下是我用來(lái)創(chuàng)建卡片分類(lèi)器的內(nèi)容:
工具:
切割墊
標(biāo)尺
切割機(jī)
指南針用鉛筆和刀片
含溶劑的粘合劑
膠帶
鉆頭+5mm木鉆頭
熱膠槍+膠槍棒
路由器
銑羅盤(pán)
8mm螺旋刀頭,12mm芯盒刀頭
砂紙
橡皮筋
螺絲刀
鉛筆,標(biāo)記
刮刀或類(lèi)似圓角的東西
中心沖頭
鉆孔工位
3D打印機(jī)
材料:
3mm紙板
9mm樺木膠合板
12mm鋼球
DINA3紙
PLA長(zhǎng)絲
木膠
Adafruit步進(jìn)電機(jī)
ArduinoUNO
AdafruitMotorShield電源
AdafruitMotorShieldV2
AdafruitMotorShieldV2庫(kù)
分揀機(jī)器人撿垃圾某種計(jì)算機(jī),設(shè)備,電纜,連接和編程ArduinoUNO
第2步:原型
原型
正如Intro中所提到的,22個(gè)盒子應(yīng)圍繞放置在中心的卡片送料器進(jìn)行軌道運(yùn)行,但如何去做?經(jīng)過(guò)一些研究,我發(fā)現(xiàn)了我在尋找的東西。推力球軸承是成功的關(guān)鍵。由于這是這個(gè)項(xiàng)目的挑戰(zhàn),我創(chuàng)造了它的原型。
我用紙板制作了第一個(gè)版本,并用工藝膠和熱膠將它們組合在一起。它由一個(gè)基區(qū),兩個(gè)不同的大外環(huán)和一個(gè)中心的小圓組成。選擇外圈和內(nèi)圈之間的距離,使得12mm鋼球可沿槽延伸。12mm,為什么12mm球?首先,我有很多庫(kù)存,另外12毫米是工具的常見(jiàn)尺寸。有12毫米鉆頭,12毫米刀頭等。原則上,它運(yùn)作良好。不幸的是,好的還不夠好。紙板太軟而且產(chǎn)生大量摩擦,使得推力軸承難以移動(dòng)。一切皆有可能,但在這種情況下,我的努力對(duì)我來(lái)說(shuō)太高了。
這就是為什么我在第二個(gè)原型中切換到MDF的原因。通過(guò)我的路由器,我首先將外半徑銑削,然后將30毫米寬的凹槽銑入木塊。凹槽用于球籠。之后我使用了一個(gè)12毫米的鐵芯盒刀頭來(lái)銑削鋼球的凹槽。最后但并非最不重要的是,我切出了內(nèi)半徑。我重復(fù)了整個(gè)過(guò)程兩次,因此獲得了推力軸承的頂部和底部。
我用3mmMDF制作了一個(gè)球籠。我用一個(gè)指南針在籠子上均勻分布6x12mm的孔。然后我在鉆床上鉆了它們。
為了減少摩擦,我對(duì)接觸面進(jìn)行了密封和打磨。
然后是時(shí)候進(jìn)行一些測(cè)試了。
測(cè)試1=》6個(gè)鋼球與球籠
測(cè)試2=》6個(gè)沒(méi)有球籠的鋼球
我對(duì)兩種變體都非常滿(mǎn)意。由于球通過(guò)籠子的均勻分布,測(cè)試1更加一致。測(cè)試2更順暢,沒(méi)有球籠的額外摩擦。
我還想到了將推力軸承保持在一起的機(jī)制,但后來(lái)我沒(méi)有追求它。也許是未來(lái)的主題。
為了感受尺寸,我將22個(gè)盒子所需的空間轉(zhuǎn)移到一塊3毫米的紙板上。用指南針和切割刀片切出形狀(外半徑450mm,內(nèi)半徑300mm)。測(cè)量非常合適,并留有足夠的空間用于任何更改。
步驟3:設(shè)計(jì)
設(shè)計(jì)
(你可以在附件中找到圖紙作為pdf?。?/p>
我從中傳遞了想法和見(jiàn)解原型為Fusion360并在那里創(chuàng)建了更精確的模型。
我從推力軸承的底部開(kāi)始。底部為450mm,內(nèi)半徑為300mm的圓環(huán)形成。我將這個(gè)2D草圖擠壓成9mm。
并聯(lián)高速分揀機(jī)器人在下一步中,我為12mm鋼球創(chuàng)建了一個(gè)凹槽。凹槽深度只有2mm。
為了獲得推力軸承的頂部,我復(fù)制了整個(gè)物體并將其水平翻轉(zhuǎn)。
在底部和頂部之間,我創(chuàng)造了6x12mm球并均勻地分布在凹槽中。
在第二個(gè)草圖的幫助下,我在上側(cè)的內(nèi)表面上創(chuàng)建了一個(gè)同步帶。在以前的項(xiàng)目中,我已經(jīng)有了同步帶的良好經(jīng)驗(yàn)。這是再次在這個(gè)項(xiàng)目中使用它的主要原因。正時(shí)皮帶直接安裝在推力軸承上,可由連接在電機(jī)上的驅(qū)動(dòng)輪驅(qū)動(dòng)。
在上面的頂部是22個(gè)卡盒。
第4步:方框
方框
(您可以在附件中找到框模板作為pdf!)
框用于存儲(chǔ)卡片。我暫時(shí)用紙板做的。盒子的大小由卡片本身決定。大多數(shù)卡片的尺寸為63x88毫米。為了讓卡片有足夠的空間,我在每側(cè)增加了3毫米。
內(nèi)部69x94mm。
外面75x100毫米
高度50毫米
形狀我用過(guò)在線發(fā)電機(jī)的盒子。我在A3上打印了盒子圖案。用刀具粗切割模板后,我用tesa液膠將它粘在一塊3mm紙板上。這次我沒(méi)有注意背面。通常情況下,在兩側(cè)涂上膠水和紙是很重要和必要的,否則紙板會(huì)在干燥階段彎曲。
然后我在切割墊上用切刀和尺子切出形狀。我通過(guò)幾個(gè)步驟完成了整個(gè)材料。不是一次全部!
分揀機(jī)器人結(jié)構(gòu)設(shè)計(jì)由于我不想折疊盒子的側(cè)面,因?yàn)樗鼘?shí)際上是在模板中指定的,所以我切掉了所有的折疊表面。對(duì)于鈍器,在我的情況下是一個(gè)帶圓角的刮刀,我已經(jīng)在幾個(gè)通道中描繪了所有的折疊邊緣。這使折疊更容易。然后我將它折疊成一個(gè)盒子,并用膠帶臨時(shí)固定所有側(cè)面。最后,我用熱膠槍將所有東西粘在一起。干燥時(shí)間結(jié)束后,我取下了膠帶。
蔬菜水果分揀機(jī)器人我重復(fù)了這個(gè)過(guò)程22次。
步驟5:木制推力軸承
木制推力軸承
我項(xiàng)目的完美部分是推力軸承。軸承的底部是固定的,只有頂部是可移動(dòng)的?;A(chǔ)是兩個(gè)1000x1000x9mm的樺木膠合板。
我從推力軸承的底部開(kāi)始。作為指南,我用木材繪制了所有測(cè)量值。
外半徑450mm
球形凹槽,半徑375mm
內(nèi)半徑300mm
我用鉆頭和5mm木鉆頭為銑削羅盤(pán)創(chuàng)建了樞軸點(diǎn)。然后我開(kāi)始使用外半徑,為此我使用了路由器,銑削羅盤(pán)和8mm螺旋刀頭。為了不損壞桌子,我把膠合板放在一些剩余的木頭上。以3毫米的步長(zhǎng),我在木板上工作。
然后我切換到一個(gè)12毫米的鐵芯盒刀頭,并為半徑為375毫米,深度為2毫米的12毫米鋼球銑了一個(gè)凹槽。
然后我換回8mm螺旋刀頭并切出300mm的內(nèi)半徑。
經(jīng)過(guò)短暫的測(cè)試,鋼球運(yùn)行平穩(wěn),我創(chuàng)造了頂部推力軸承采用相同的原理和相同的材料。
最后,我對(duì)軸承的表面,角落和凹槽進(jìn)行了打磨。
我將12mm鋼球均勻分布在在底部凹槽然后我把頂部打開(kāi)。
設(shè)置軸承運(yùn)動(dòng)需要一定的動(dòng)力。但之后它的效果非常好。
目前我沒(méi)有使用球籠,因?yàn)槲也恢廊绾螌?shí)現(xiàn)它。原型中的變體是可能的,但這必須是專(zhuān)門(mén)構(gòu)建的,以便籠子只放在球上,而不是放在底部和頂部。
你有個(gè)好主意嗎?
步驟6:紙板正時(shí)皮帶
紙板正時(shí)皮帶
推力軸承的頂部將由電機(jī)驅(qū)動(dòng)。電機(jī)的電源通過(guò)驅(qū)動(dòng)輪傳輸?shù)秸龝r(shí)皮帶。皮帶牢固地連接到軸承,這導(dǎo)致旋轉(zhuǎn)運(yùn)動(dòng)。為了實(shí)現(xiàn)這一點(diǎn),我創(chuàng)造了一個(gè)用紙板制成的正時(shí)皮帶。
我從一塊3毫米厚的紙板上切下3x9毫米寬的條帶。我再次使用了刀具,尺子和切割墊。然后我在紙板的頂層切割。我為所有3個(gè)紙板條重復(fù)了這個(gè)過(guò)程。剝掉所有小頂層碎片后留下的是我的紙板正時(shí)皮帶。
為了達(dá)到合適的長(zhǎng)度,我使用一些tesa液膠將所有三個(gè)膠條粘在一起。
然后我用一些熱膠將正時(shí)皮帶粘在推力軸承上側(cè)的內(nèi)半徑上。軸承和皮帶均為9mm寬,因此調(diào)整非常容易。我用一個(gè)中心沖頭將皮帶壓到軸承上。重要的是,正時(shí)皮帶和推力軸承之間沒(méi)有間隙。否則會(huì)導(dǎo)致旋轉(zhuǎn)不均勻。多余的熱膠很容易從表面擦掉。
結(jié)果看起來(lái)非常好,工作得很好。但是,它仍然是紙板。牙齒不是最強(qiáng)的。出于這個(gè)原因,我決定做一點(diǎn)穩(wěn)定。與卡片送紙器相比,我只使用木膠填充正時(shí)皮帶上的孔?;叵肫饋?lái),不要這樣做。:)它是如此激烈和耗時(shí)。我不得不用膠水填充每顆牙齒8次。如果您想要穩(wěn)定紙板,請(qǐng)?jiān)诳ㄆ图埰髦胁榭创瞬襟E。
盡管如此,牙齒已硬化且非常堅(jiān)固。
步驟7:3D打印驅(qū)動(dòng)輪
3D打印驅(qū)動(dòng)輪
推力軸承的頂部將由步進(jìn)電機(jī)驅(qū)動(dòng)。為此,我需要一個(gè)驅(qū)動(dòng)輪,它安裝在電機(jī)軸上,也適用于紙板正時(shí)皮帶。由于這個(gè)特殊要求,我設(shè)計(jì)并印刷了驅(qū)動(dòng)輪。
我為我的電機(jī)創(chuàng)建了一個(gè)輪子,它有一個(gè)5mm的軸,在Fusion360中。車(chē)輪直徑的決定性原因是同步帶上的齒的位置。重要的是只用全牙齒工作。否則,車(chē)輪將無(wú)法完美地裝入同步帶。這將導(dǎo)致電機(jī)不均勻旋轉(zhuǎn)和失步。在我的情況下,這意味著驅(qū)動(dòng)輪的直徑必須為63mm。
據(jù)說(shuō),我創(chuàng)建了帶有63mm圓的2D草圖并將其擠壓到9mm。
我還添加了一個(gè)附件,用于將輪子安裝到電機(jī)軸上。這種附件是一種口袋,M3六角形適合。M3螺釘可以垂直于軸擰入。使用這個(gè)小系統(tǒng),它可以安裝到電機(jī)上。
我將對(duì)象導(dǎo)出為STL文件并將其導(dǎo)入CuraWANHAO版。在我做了一些基本調(diào)整之后,我創(chuàng)建了g代碼并將其發(fā)送到我的3D打印機(jī)。
完成該過(guò)程后,我將驅(qū)動(dòng)輪夾在我的鉆臺(tái)中。使用中速和一些砂紙,我使表面變粗糙,以增強(qiáng)膠合性能。在下一步中,我將一些膠水放在一塊紙板正時(shí)皮帶上并將其粘在驅(qū)動(dòng)輪上。我用了一些橡皮筋來(lái)固定一切。
我使用相同的方法穩(wěn)定驅(qū)動(dòng)輪上的正時(shí)皮帶,就像我在推力軸承上做的那樣,用木膠填充皮帶上的所有孔。
步驟8:電氣部件
電氣部件
如前所述,推力軸承的頂部是由電機(jī)驅(qū)動(dòng)。對(duì)于我的觀點(diǎn)來(lái)說(shuō),這項(xiàng)任務(wù)的最佳馬達(dá)是步進(jìn)電機(jī)。
我使用了以下電機(jī),因?yàn)槲乙呀?jīng)有了它們。但我很快意識(shí)到這不是最好的工作。關(guān)于速度和扭矩是弱的。但是對(duì)于第一次測(cè)試,電機(jī)是可以的。
不,完全錯(cuò)了。我沒(méi)有意識(shí)到。我犯了一個(gè)愚蠢的錯(cuò)誤。如果你能閱讀它會(huì)有所幫助。:)我通過(guò)USB使用12V/350mA電機(jī)???沒(méi)門(mén)。當(dāng)然電機(jī)沒(méi)電。我買(mǎi)了一個(gè)12V/3A電源并連接到AdafruitMotorShield。行為完全不同。
Adafruit
每轉(zhuǎn)200步,1.8度
雙極步進(jìn)器
12V額定電壓最大電流350mA
28盎司*in,20N*cm,每相2Kg*cm保持扭矩
步進(jìn)電機(jī)連接到Adafruit電機(jī)護(hù)罩V2通過(guò)4線。這個(gè)盾牌堆疊在ArduinoUno上。Arduino由計(jì)算機(jī)上的USB供電。電機(jī)應(yīng)由直流電源供電,但對(duì)于我的短期測(cè)試,我使用的是USB電源。
不,錯(cuò)誤的決定。
步驟9:編碼
編碼
(您可以在附件中找到Arduino代碼作為ino?。?/p>
如果您需要一些Arduino基礎(chǔ)=》Arduino類(lèi)
讓我們說(shuō)。..
卡片送紙器會(huì)在9點(diǎn)鐘位置給我們一張卡片。所以步進(jìn)電機(jī)應(yīng)該在9點(diǎn)鐘的位置向我們提供合適的盒子來(lái)存放卡片。為此,步進(jìn)電機(jī)可以順時(shí)針和逆時(shí)針旋轉(zhuǎn)推力軸承的頂部。
箱號(hào)10現(xiàn)在位于9點(diǎn)鐘位置。要將盒子帶到這個(gè)位置,步進(jìn)器必須走800步。現(xiàn)在我們完全切換卡片分揀機(jī)。在下次重啟時(shí),我們會(huì)遇到問(wèn)題,因?yàn)橄到y(tǒng)不知道實(shí)際狀態(tài)。這樣對(duì)嗎?這是錯(cuò)的嗎?在我們的情況下,這將是錯(cuò)誤的,因?yàn)槲覀兩洗芜\(yùn)行的800步現(xiàn)在是新的0.一切都轉(zhuǎn)移了。在例行程序開(kāi)始時(shí),方框1應(yīng)始終位于9點(diǎn)位置,步數(shù)為0步。
長(zhǎng)話短說(shuō),
步進(jìn)電機(jī)將右側(cè)盒子旋轉(zhuǎn)到卡片輸送器
每次重啟后都需要進(jìn)行歸位。
卡片分揀機(jī)頂部有22個(gè)盒子,均勻分布。這意味著360°/22°每16°就是一個(gè)盒子。步進(jìn)電機(jī)的步進(jìn)角為1.8°。
我做了一個(gè)快速測(cè)試,以確定達(dá)到16°的正確步驟。我創(chuàng)建了兩個(gè)帶有所有角度和位置的紙板模板,并在驅(qū)動(dòng)輪上標(biāo)記了一個(gè)位置。然后步進(jìn)電機(jī)轉(zhuǎn)了一圈。我在模板上標(biāo)記了這個(gè)位置并用量角器測(cè)量了它。
200步=》40°,意味著達(dá)到16°,需要80步。數(shù)字是四舍五入的,因此最終的交易卡機(jī)器可能會(huì)有一些調(diào)整。在視頻中,我正在使用INTERLEAVE。所以我必須加倍步驟。
現(xiàn)在讓我們來(lái)看看代碼。
它基于AdafruitAccelStepper示例。我刪除了兩個(gè)不需要的電機(jī)并添加了一些自己的功能。但首先我必須安裝AdafruitMotorshieldv2庫(kù)和AccelStepper庫(kù)
//RequirestheAdafruit_Motorshieldv2library
//AndAccelStepperwithAFMotorsupport
//ThistutorialisforAdafruitMotorshieldv2only!
//Willnotworkwithv1shields
#include“”
#include“”
#include“adafruit_”
Adafruit_MotorShieldAFMStop;//Defaultaddress,nojumpers
Adafruit_StepperMotor*myStepper=;//Connectastepperswith200stepsperrevolutiontoterminal2
//Wrappersforthemotor
voidforwardstep{
myStepper-》onestep;//DOUBLEorINTERLEAVEorMICROSTEP!
}
voidbackwardstep{
myStepper-》onestep(BACKWARD,DOUBLE);//DOUBLEorINTERLEAVEorMICROSTEP!
}
AccelStepperstpCardSorter(forwardstep,backwardstep);//WrapthestepperinanAccelStepperobject
intintStpMoveTo=0;//Steps/Positionforthemotor
intpinHome=11;//HomingswitchconnectedtoPIN11
boolbolHome=false;//Initialvalue=notintherightposition=》false
voidsetup//###SETUP###
{
;//Starttheserial
;
;//Startthetopshield
;//SetSpeed
;//SetAccereration
;//Steps/Position~1760Steps=1rotationofthebearing
pinMode;//Homingswitch=INPUT
bolHome=_homeCardSorter;//Startthehomingprocess
}
voidloop//###LOOP###
{
//;
if)//Serialactiveandbearingonthe0-Position
{//YES
intintVal=;//Serialbuffer=》INT
(“MoveSteppertoposition:”);//Printserial
;
;//MoveCardSorterSteppertoposition
if//IfCardSorterStepperreachedtheposition
{//YES
閃兔分揀機(jī)器人;//MotorSTOP
}
}
;//MotorRUN
}
bool_homeCardSorter//###_homeCardSorter###
小黃人包裹分揀機(jī)器人{
;
boolresult;
while((digitalRead//MotorRUNuntil=》Found0-Positionorreachedmax.distance
{
;
}
;//MotorSTOP
if(digitalRead//Found0-Position
{
;//Resetactualpositionto0
(“0-Positionfound”);
returnresult=true;//Return=》0-Positionfound=》everythingok
}else
{
(“0-PositionNOTfound!!”);
returnresult=false;//Return=》0-PositionNOTfound=》error
}
}
歸巢:
每次重啟后,必須移動(dòng)卡片分揀機(jī)到原位。我創(chuàng)建了一個(gè)新函數(shù)并將其包含在安裝例程中。電機(jī)轉(zhuǎn)動(dòng)了一個(gè)多轉(zhuǎn),轉(zhuǎn)速為1840步,轉(zhuǎn)速很慢。如果在此期間找到0位置開(kāi)關(guān),則電機(jī)停止并且步進(jìn)位置設(shè)置為0.如果在此旋轉(zhuǎn)期間未找到開(kāi)關(guān),則會(huì)產(chǎn)生錯(cuò)誤消息。
串行接口:
在最終的交易卡機(jī)中,卡片掃描儀會(huì)將所需的位置發(fā)送到卡片分揀機(jī)。目前我使用串行監(jiān)視器與分揀機(jī)進(jìn)行通信。我可以看到代碼正在做的一些消息,我可以向電機(jī)發(fā)送一些位置。例如,第一個(gè)框?yàn)?0步,第10個(gè)框?yàn)?00,等等。
步驟10:結(jié)束
結(jié)束
卡片分揀機(jī)完成了!
我希望你喜歡它。
我非常喜歡卡片分揀機(jī)的外觀和尺寸。我對(duì)這個(gè)功能也非常滿(mǎn)意,但正如我已經(jīng)說(shuō)過(guò)的那樣有一些開(kāi)放的待辦事項(xiàng):
找到一個(gè)創(chuàng)建球籠的好方法
創(chuàng)建夾緊系統(tǒng)將推力軸承的底部和頂部固定到位
購(gòu)買(mǎi)并實(shí)施更大的電機(jī)=》完成!更改日志
實(shí)施紅外斷裂光束歸位開(kāi)關(guān)
倉(cāng)儲(chǔ)分揀機(jī)器人技術(shù)物流分揀機(jī)器人的介紹人工智能分揀機(jī)器人