第1步:對象跟資料
對象跟資料
以下是我用來創(chuàng)立卡片分類器的內(nèi)容:
對象:
切割墊
標(biāo)尺
切割機
指南針用鉛筆跟刀片
露溶劑的粘合劑
膠帶
鉆頭+5mm木鉆頭
熱膠槍+膠槍棒
路由器
銑羅盤
8mm螺旋刀頭,12mm芯盒刀頭
砂紙
橡皮筋
螺絲刀
鉛筆,標(biāo)識表記標(biāo)幟
刮刀或近似圓角的器材
中間沖頭
鉆孔工位
3D打印機
資料:
3mm紙板
9mm樺木膠合板
12mm鋼球
DINA3紙
PLA長絲
木膠
Adafruit步進機電
ArduinoUNO
AdafruitMotorShield電源
AdafruitMotorShieldV2
AdafruitMotorShieldV2庫
某種計算機,設(shè)備,電纜,毗鄰跟編程ArduinoUNO
第2步:原型
原型
正如Intro中所提到的,22個盒子應(yīng)盤繞安排正在中間的卡片送料器停止軌道運轉(zhuǎn),但若何來做?顛末一些研討,我發(fā)明了我正在探求的器材。推力球軸承是勝利的要害。因為這是這個名目的應(yīng)戰(zhàn),我締造了它的原型。
我用紙板建造了第一個版本,并用工藝膠跟熱膠將它們組合正在一路。它由一個基區(qū),兩個分歧的年夜外環(huán)跟一個中間的小圓構(gòu)成。取舍外圈跟內(nèi)圈之間的距離,使得12mm鋼球可沿槽延長。12mm,為何12mm球?起首,我有良多庫存,此外12毫米是對象的罕見尺寸。有12毫米鉆頭,12毫米刀頭等。原則上,它運作優(yōu)越。可憐的是,好的借不敷好。紙板太軟并且發(fā)生大批摩擦,使得推力軸承難以挪動。所有皆有能夠,但正在這類環(huán)境下,我的盡力對我來講太高了。
那就是為何我正在第二個原型中切換到MDF的緣故原由。經(jīng)由過程我的路由器,我起首將中半徑銑削,然后將30毫米寬的凹槽銑入木塊。凹槽用于球籠。之后我利用了一個12毫米的鐵芯盒刀頭去銑削鋼球的凹槽。最初但并不是最沒有緊張的是,我切出了內(nèi)半徑。我反復(fù)了全部進程兩次,是以取得了推力軸承的頂部跟底部。
我用3mmMDF建造了一個球籠。我用一個指南針正在籠子上均勻分布6x12mm的孔。然后我正在鉆床上鉆了它們。
為了削減摩擦,我對接觸面停止了密封跟打磨。
然后是時間停止一些測試了。
測試1=》6個鋼球與球籠
測試2=》6個不球籠的鋼球
我對兩種變體皆十分愜意。因為球經(jīng)由過程籠子的均勻分布,測試1加倍同等。測試2更順暢,不球籠的額定摩擦。
我借想到了將推力軸承連結(jié)正在一路的機制,但厥后我不尋求它。大概是將來的主題。
為了感觸感染尺寸,我將22個盒子所需的空間轉(zhuǎn)移到一塊3毫米的紙板上。用指南針跟切割刀片切出外形(中半徑450mm,內(nèi)半徑300mm)。丈量十分適合,并留有充足的空間用于任何變動。
步調(diào)3:計劃
計劃
(您可以正在附件中找到圖紙作為pdf?。?/p>
我從中傳送了設(shè)法主意跟見解原型為Fusion360并正在那里創(chuàng)立了更正確的模子。
我從推力軸承的底部起頭。底部為450mm,內(nèi)半徑為300mm的圓環(huán)造成。我將這個2D草圖擠壓成9mm。
正在下一步中,我為12mm鋼球創(chuàng)立了一個凹槽。凹槽深度只有2mm。
為了取得推力軸承的頂部,我復(fù)制了全部物體并將其程度翻轉(zhuǎn)。
正在底部跟頂部之間,我締造了6x12mm球并平均天漫衍正在凹槽中。
正在第二個草圖的資助下,我正在上側(cè)的內(nèi)概況上創(chuàng)立了一個同步帶。正在之前的名目中,我曾經(jīng)有了同步帶的優(yōu)越履歷。這是再次正在這個名目中利用它的次要緣故原由。正時皮帶間接裝置正在推力軸承上,可由毗鄰正在機電上的驅(qū)動輪驅(qū)動。
正在下面的頂部是22個卡盒。
第4步:方框
方框
(你可以正在附件中找到框模板作為pdf!)
框用于存儲卡片。我臨時用紙板做的。盒子的巨細(xì)由卡片本身決意。大多數(shù)卡片的尺寸為63x88毫米。為了讓卡片有充足的空間,我正在每側(cè)增長了3毫米。
外部69x94mm。
里面75x100毫米
高度50毫米
外形我用過在線發(fā)電機的盒子。我正在A3上打印了盒子圖案。用刀具細(xì)切割模板后,我用tesa液膠將它粘正在一塊3mm紙板上。此次我不留神后頭。平常環(huán)境下,正在兩側(cè)涂上膠水跟紙是很緊張跟需要的,不然紙板會正在干燥階段蜿蜒。
然后我正在切割墊上用切刀跟尺子切出外形。我經(jīng)由過程幾個步調(diào)實現(xiàn)了全部資料。不是一次悉數(shù)!
因為我不想折疊盒子的正面,由于它實際上是正在模板中指定的,以是我切掉了一切的折疊概況。關(guān)于鈍器,正在我的環(huán)境下是一個帶圓角的刮刀,我曾經(jīng)正在幾個通道中描畫了一切的折疊邊緣。這使折疊更簡單。然后我將它折疊成一個盒子,并用膠帶且則流動一切正面。最初,我用熱膠槍將一切器材粘正在一路。干燥工夫完畢后,我取下了膠帶。
我反復(fù)了這個進程22次。
步調(diào)5:木制推力軸承
木制推力軸承
我名目的完美部門是推力軸承。軸承的底部是流動的,只有頂部是可挪動的。根底是兩個1000x1000x9mm的樺木膠合板。
我從推力軸承的底部起頭。作為指南,我用木料繪制了一切丈量值。
中半徑450mm
球形凹槽,半徑375mm
內(nèi)半徑300mm
快遞分揀機器人什么品牌好我用鉆頭跟5mm木鉆頭為銑削羅盤創(chuàng)立了樞軸面。然后我起頭利用中半徑,為此我利用了路由器,銑削羅盤跟8mm螺旋刀頭。為了沒有損壞桌子,我把膠合板放在一些殘剩的木頭上。以3毫米的步長,我正在木板上事情。
然后我切換到一個12毫米的鐵芯盒刀頭,并為半徑為375毫米,深度為2毫米的12毫米鋼球銑了一個凹槽。
然后我換回8mm螺旋刀頭并切出300mm的內(nèi)半徑。
顛末長久的測試,鋼球運轉(zhuǎn)安穩(wěn),我締造了頂部推力軸承采取不異的原理跟不異的資料。
最初,我對軸承的概況,角落跟凹槽停止了打磨。
我將12mm鋼球均勻分布正在正在底部凹槽然后我把頂部翻開。
設(shè)置軸承運動須要必然的能源。但之后它的后果十分好。
現(xiàn)階段我不利用球籠,由于我沒有曉得若何實現(xiàn)它。原型中的變體是能夠的,但那必需是專門構(gòu)建的,以便籠子只放在球上,而不是放在底部跟頂部。
您有個好主意嗎?
步調(diào)6:紙板正時皮帶
紙板正時皮帶
推力軸承的頂部將由機電驅(qū)動。機電的電源經(jīng)由過程驅(qū)動輪傳輸?shù)秸龝r皮帶。皮帶牢固地毗鄰到軸承,那招致扭轉(zhuǎn)運動。為了實現(xiàn)那一點,我締造了一個用紙板制成的正時皮帶。
我從一塊3毫米薄的紙板上切下3x9毫米寬的條帶。我再次利用了刀具,尺子跟切割墊。然后我正在紙板的頂層切割。我為一切3個紙板條反復(fù)了這個進程。剝掉一切小頂層碎片后留下的是我的紙板正時皮帶。
為了到達適合的長度,我利用一些tesa液膠將一切三個膠條粘正在一路。
然后我用一些熱膠將正時皮帶粘正在推力軸承上側(cè)的內(nèi)半徑上。軸承跟皮帶均為9mm寬,是以調(diào)劑非常容易。我用一個中間沖頭將皮帶壓到軸承上。緊張的是,正時皮帶跟推力軸承之間不空隙。不然會招致扭轉(zhuǎn)沒有平均。過剩的熱膠很簡單從概況擦掉。
成果看起來十分好,事情得很好??墒?,它依然是紙板。牙齒不是最強的。出于這個緣故原由,我決意做一點不變。與卡片送紙器比擬,我只利用木膠添補正時皮帶上的孔。回想起來,不要如許做。:)它是如斯劇烈跟耗時。我不能不用膠水添補每顆牙齒8次。若是你想要不變紙板,請正在卡片送紙器中檢查此步調(diào)。
盡管如此,牙齒已軟化且十分牢固。
步調(diào)7:3D打印驅(qū)動輪
3D打印驅(qū)動輪
推力軸承的頂部將由步進機電驅(qū)動。為此,我須要一個驅(qū)動輪,它裝置正在機電軸上,也合用于紙板正時皮帶。因為這個特殊要求,我計劃并印刷了驅(qū)動輪。
我為我的機電創(chuàng)立了一個輪子,它有一個5mm的軸,正在Fusion360中。車輪直徑的決定性緣故原由是同步帶上的齒的地位。緊張的是只用齊牙齒事情。不然,車輪將沒法完美天裝入同步帶。那將招致機電沒有平均扭轉(zhuǎn)跟失步。正在我的環(huán)境下,那意味著驅(qū)動輪的直徑必需為63mm。
聽說,我創(chuàng)立了帶有63mm圓的2D草圖并將其擠壓到9mm。
我借增添了一個附件,用于將輪子裝置到機電軸上。這類附件是一種口袋,M3六角形得當(dāng)。M3螺釘可以垂直于軸擰進。利用這個小體系,它可以裝置到機電上。
我將工具導(dǎo)出為STL文件并將其導(dǎo)入CuraWANHAO版。正在我做了一些根本調(diào)劑之后,我創(chuàng)立了g代碼并將其發(fā)送到我的3D打印機。
實現(xiàn)該進程后,我將驅(qū)動輪夾正在我的鉆臺中。利用中速跟一些砂紙,我使概況變粗拙,以加強膠合機能。正在下一步中,我將一些膠水放在一塊紙板正時皮帶上并將其粘正在驅(qū)動輪上。我用了一些橡皮筋去流動所有。
我利用不異的方式不變驅(qū)動輪上的正時皮帶,便像我正在推力軸承上做的那樣,用木膠添補皮帶上的一切孔。
步調(diào)8:電氣部件
電氣部件
如前所述,推力軸承的頂部是由機電驅(qū)動。關(guān)于我的概念來講,這項使命的最好馬達是步進機電。
我利用了以下機電,由于我曾經(jīng)有了它們。但我很快認(rèn)識到那不是最好的事情。對于速率跟扭矩是強的??墒顷P(guān)于第一次測試,機電是可以的。
沒有,完整錯了。我不認(rèn)識到。我犯了一個愚笨的毛病。若是您能瀏覽它會有所資助。:)我經(jīng)由過程USB利用12V/350mA機電???沒門。當(dāng)然機電出電。我購了一個12V/3A電源并毗鄰到AdafruitMotorShield。行動完整分歧。
Adafruit
每轉(zhuǎn)200步,1.8度
雙極步進器
12V額外電壓最大電流350mA
28盎司*in,20N*cm,每相2Kg*cm連結(jié)扭矩
步進機電毗鄰到Adafruit機電護罩V2經(jīng)由過程4線。這個盾牌重疊正在ArduinoUno上。Arduino由計算機上的USB供電。機電應(yīng)由直流電源供電,但關(guān)于我的短時間測試,我利用的是USB電源。
沒有,毛病的決意。
步調(diào)9:編碼
編碼
(你可以正在附件中找到Arduino代碼作為ino?。?/p>
若是你須要一些Arduino根底=》Arduino類
讓咱們道。..
卡片送紙器會正在9點鐘地位給咱們一張卡片。以是步進機電該當(dāng)正在9點鐘的地位向咱們供給適合的盒子去寄存卡片。為此,步進機電可以順時針跟逆時針扭轉(zhuǎn)推力軸承的頂部。
箱號10此刻位于9點鐘地位。要將盒子帶到這個地位,步進器必需奔忙800步。此刻咱們完整切換卡片分揀機。正在下次重啟時,咱們會遇到問題,由于體系沒有曉得實際形態(tài)。如許對嗎?那是錯的嗎?正在咱們的環(huán)境下,那將是毛病的,由于咱們前次運轉(zhuǎn)的800步此刻是新的0.所有皆轉(zhuǎn)移了。正在例行程序起頭時,方框1應(yīng)一直位于9面地位,步數(shù)為0步。
長話短說,
步進機電將右邊盒子扭轉(zhuǎn)到卡片運送器
每次重啟后皆須要停止歸位。
卡片分揀機頂部有22個盒子,均勻分布。那意味著360°/22°每16°就是一個盒子。步進機電的步進角為1.8°。
我做了一個快捷測試,以肯定到達16°的精確步調(diào)。我創(chuàng)立了兩個帶有一切角度跟地位的紙板模板,并正在驅(qū)動輪上標(biāo)識表記標(biāo)幟了一個地位。然后步進機電轉(zhuǎn)了一圈。我正在模板上標(biāo)識表記標(biāo)幟了這個地位并用量角器丈量了它。
200步=》40°,意味著到達16°,須要80步。數(shù)字是四舍五入的,是以終極的生意業(yè)務(wù)卡機械能夠會有一些調(diào)劑。正在視頻中,我正在利用INTERLEAVE。以是我必需更加步調(diào)。
此刻讓咱們?nèi)タ纯创a。
它基于AdafruitAccelStepper示例。我刪除了兩個沒有須要的機電并增添了一些本人的功用。但起首我必需裝置AdafruitMotorshieldv2庫跟AccelStepper庫
//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
;
產(chǎn)品分揀機器人;//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
;//MotorSTOP
}
}
;//MotorRUN
}
bool_homeCardSorter//###_homeCardSorter###
{
;
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
}
}
歸巢:
每次重啟后,必需挪動卡片分揀機到原位。我創(chuàng)立了一個新函數(shù)并將其包括正在裝置例程中。機電遷移轉(zhuǎn)變了一個多轉(zhuǎn),轉(zhuǎn)速為1840步,轉(zhuǎn)速很緩。若是在此期間找到0地位開關(guān),則機電終止而且步進地位設(shè)置為0.若是正在此扭轉(zhuǎn)時代未找到開關(guān),則會發(fā)生毛病動靜。
京東貨物分揀機器人 視頻串行接口:
正在終極的生意業(yè)務(wù)卡機中,卡片掃描儀會將所需的地位發(fā)送到卡片分揀機?,F(xiàn)階段我利用串行監(jiān)視器與分揀機停止通訊。我可以看到代碼正在做的一些動靜,我可以向機電發(fā)送一些地位。例如,第一個框為80步,第10個框為800,等等。
步調(diào)10:完畢
完畢
卡片分揀機實現(xiàn)了!
我愿望您喜好它。
我十分喜好卡片分揀機的表面跟尺寸。我對這個功用也十分愜意,但正如我曾經(jīng)道過的那樣有一些開放的待辦事項:
找到一個創(chuàng)立球籠的好方式
創(chuàng)立夾緊體系將推力軸承的底部跟頂部流動到位
采辦并實行更大的機電=》實現(xiàn)!變動日記
實行紅外斷裂光束歸位開關(guān)
蘭溪分揀機器人省食品分揀機器人快遞分揀機器人的功能