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