第1步:工具和材料
工具和材料
以下是我用來(lái)創(chuàng)建卡片分類器的內(nèi)容:
工具:
切割墊
標(biāo)尺
切割機(jī)
指南針用鉛筆和刀片
含溶劑的粘合劑(UHU HART和tesa)
膠帶
鉆頭+ 5mm木鉆頭
熱膠槍+膠槍棒
路由器
銑羅盤(pán)
8mm螺旋刀頭,12mm芯盒刀頭
砂紙
橡皮筋
螺絲刀
鉛筆,標(biāo)記
刮刀或類似圓角的東西
中心沖頭
鉆孔工位(不在圖片上)
3D打印機(jī)(不在圖片上)
材料:
3mm紙板(我將它用于盒子和同步帶)
9mm樺木膠合板(卡片分揀機(jī)的主要材料)
12mm鋼球
DIN A3紙
PLA長(zhǎng)絲(不在圖片上)
木膠
Adafruit步進(jìn)電機(jī)
Arduino UNO
Adafruit Motor Shield電源
Adafruit Motor Shield V2
Adafruit Motor Shield V2庫(kù)
某種計(jì)算機(jī),設(shè)備,電纜,連接和編程Arduino UNO(不在圖片上)
第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ò)程兩次,因此獲得了推力軸承的頂部和底部。
我用3mm MDF制作了一個(gè)球籠。我用一個(gè)指南針在籠子上均勻分布6x 12mm的孔。然后我在鉆床上鉆了它們。
為了減少摩擦,我對(duì)接觸面進(jìn)行了密封和打磨。
然后是時(shí)候進(jìn)行一些測(cè)試了。
測(cè)試1 =》 6個(gè)鋼球與球籠
測(cè)試2 =》 6個(gè)沒(méi)有球籠的鋼球
我對(duì)兩種變體都非常滿意。由于球通過(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!)
我從中傳遞了想法和見(jiàn)解原型為Fusion360并在那里創(chuàng)建了更精確的模型。
我從推力軸承的底部開(kāi)始。底部為450mm,內(nèi)半徑為300mm的圓環(huán)形成。我將這個(gè)2D草圖擠壓成9mm(我將使用的木材厚度)。
在下一步中,我為12mm鋼球創(chuàng)建了一個(gè)凹槽。凹槽深度只有2mm。
為了獲得推力軸承的頂部,我復(fù)制了整個(gè)物體并將其水平翻轉(zhuǎn)。
在底部和頂部之間,我創(chuàng)造了6x 12mm球并均勻地分布在凹槽中。
在第二個(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ù)卡片的尺寸為63 x 88毫米。為了讓卡片有足夠的空間,我在每側(cè)增加了3毫米。
內(nèi)部69 x 94mm。
外面75 x 100毫米(我使用3毫米紙板)
高度50毫米(足夠約100張卡)
形狀我用過(guò)在線發(fā)電機(jī)的盒子。我在A3上打印了盒子圖案。用刀具粗切割模板后,我用tesa液膠將它粘在一塊3mm紙板上。這次我沒(méi)有注意背面。通常情況下,在兩側(cè)涂上膠水和紙是很重要和必要的,否則紙板會(huì)在干燥階段彎曲。
然后我在切割墊上用切刀和尺子切出形狀。我通過(guò)幾個(gè)步驟完成了整個(gè)材料。不是一次全部!
由于我不想折疊盒子的側(cè)面,因?yàn)樗鼘?shí)際上是在模板中指定的,所以我切掉了所有的折疊表面。對(duì)于鈍器,在我的情況下是一個(gè)帶圓角的刮刀,我已經(jīng)在幾個(gè)通道中描繪了所有的折疊邊緣。這使折疊更容易。然后我將它折疊成一個(gè)盒子,并用膠帶臨時(shí)固定所有側(cè)面。最后,我用熱膠槍將所有東西粘在一起。干燥時(shí)間結(jié)束后,我取下了膠帶。
我重復(fù)了這個(gè)過(guò)程22次。
步驟5:木制推力軸承
木制推力軸承
我項(xiàng)目的完美部分是推力軸承。軸承的底部是固定的,只有頂部是可移動(dòng)的。基礎(chǔ)是兩個(gè)1000 x 1000 x 9mm的樺木膠合板。
我從推力軸承的底部開(kāi)始。作為指南,我用木材繪制了所有測(cè)量值。
外半徑450mm
球形凹槽,半徑375mm
內(nèi)半徑300mm
我用鉆頭和5mm木鉆頭為銑削羅盤(pán)創(chuàng)建了樞軸點(diǎn)。然后我開(kāi)始使用外半徑(450mm),為此我使用了路由器,銑削羅盤(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)它。原型中的變體是可能的,但這必須是專門(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毫米厚的紙板上切下3x 9毫米寬的條帶。我再次使用了刀具,尺子和切割墊。然后我在紙板的頂層切割。我為所有3個(gè)紙板條重復(fù)了這個(gè)過(guò)程。剝掉所有小頂層碎片后留下的是我的紙板正時(shí)皮帶。
為了達(dá)到合適的長(zhǎng)度,我使用一些tesa液膠將所有三個(gè)膠條粘在一起。
然后我用一些熱膠將正時(shí)皮帶粘在推力軸承上側(cè)的內(nèi)半徑上。軸承和皮帶均為9mm寬,因此調(diào)整非常容易。我用一個(gè)中心沖頭將皮帶(每個(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)輪
(您可以在附件中找到車(chē)輪!)
推力軸承的頂部將由步進(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)入Cura WANHAO版。在我做了一些基本調(diào)整(旋轉(zhuǎn),填充%)之后,我創(chuàng)建了g代碼并將其發(fā)送到我的3D打印機(jī)。
完成該過(guò)程后,我將驅(qū)動(dòng)輪夾在我的鉆臺(tái)中。使用中速和一些砂紙,我使表面變粗糙,以增強(qiáng)膠合性能。在下一步中,我將一些膠水(UHU HART)放在一塊紙板正時(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電源并連接到Adafruit Motor Shield。行為完全不同。
Adafruit
每轉(zhuǎn)200步,1.8度
雙極步進(jìn)器
12V額定電壓最大電流350mA
28盎司* in,20 N * cm,每相2 Kg * cm保持扭矩
步進(jìn)電機(jī)連接到Adafruit電機(jī)護(hù)罩V2通過(guò)4線。這個(gè)盾牌堆疊在Arduino Uno上。 Arduino由計(jì)算機(jī)上的USB供電。電機(jī)應(yīng)由直流電源供電,但對(duì)于我的短期測(cè)試,我使用的是USB電源。
不,錯(cuò)誤的決定。
一個(gè)重要的部分是卡片整理器的歸位。箱子沒(méi)有位置傳感器。一切都將通過(guò)步驟實(shí)現(xiàn)。因此,在任何時(shí)候卡片分揀機(jī)知道他具有哪個(gè)步驟位置以及盒子具有哪個(gè)步驟位置是至關(guān)重要的。目前,我通過(guò)連接到Arduino輸入引腳的面包板上的簡(jiǎn)單開(kāi)關(guān)進(jìn)行了歸位。最后,我必須在軸承上或軸承內(nèi)部創(chuàng)建一個(gè)機(jī)構(gòu)。我認(rèn)為紅外光束傳感器將是最佳解決方案。另一個(gè)未來(lái)任務(wù)。
步驟9:編碼
編碼
(您可以在附件中找到Arduino代碼作為ino!)
如果您需要一些Arduino基礎(chǔ)=》 Arduino類
讓我們說(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°(200步/轉(zhuǎn))。
我做了一個(gè)快速測(cè)試,以確定達(dá)到16°的正確步驟。我創(chuàng)建了兩個(gè)帶有所有角度和位置的紙板模板,并在驅(qū)動(dòng)輪上標(biāo)記了一個(gè)位置。然后步進(jìn)電機(jī)轉(zhuǎn)了一圈(200步)。我在模板上標(biāo)記了這個(gè)位置并用量角器測(cè)量了它。
200步=》 40°,意味著達(dá)到16°,需要80步。數(shù)字是四舍五入的,因此最終的交易卡機(jī)器可能會(huì)有一些調(diào)整。在視頻中,我正在使用INTERLEAVE。所以我必須加倍步驟。
現(xiàn)在讓我們來(lái)看看代碼。
它基于Adafruit AccelStepper示例。我刪除了兩個(gè)不需要的電機(jī)并添加了一些自己的功能。但首先我必須安裝Adafruit Motorshield v2庫(kù)和AccelStepper庫(kù)
// Requires the Adafruit_Motorshield v2 library
// https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library
// And AccelStepper with AFMotor support
// https://github.com/adafruit/AccelStepper
// This tutorial is for Adafruit Motorshield v2 only!
// Will not work with v1 shields
#include “wire.h”
#include “accelstepper.h”
#include “adafruit_motorshield.h”
Adafruit_MotorShield AFMStop(0x60); //Default address, no jumpers
Adafruit_StepperMotor *myStepper = AFMStop.getStepper(200, 2); //Connect a steppers with 200 steps per revolution (1.8 degree) to terminal 2
//Wrappers for the motor
void forwardstep() {
myStepper-》onestep(FORWARD, DOUBLE); //DOUBLE or INTERLEAVE or MICROSTEP!
}
void backwardstep() {
myStepper-》onestep(BACKWARD, DOUBLE); //DOUBLE or INTERLEAVE or MICROSTEP!
}
AccelStepper stpCardSorter(forwardstep, backwardstep); //Wrap the stepper in an AccelStepper object
int intStpMoveTo = 0; //Steps/Position for the motor
int pinHome = 11; //Homing switch connected to PIN 11
bool bolHome = false; //Initialvalue = not in the right position =》 false
void setup() //###SETUP###
{
Serial.begin(9600); //Start the serial
Serial.println(“Setup!”);
AFMStop.begin(); //Start the top shield
stpCardSorter.setMaxSpeed(200.0); //Set Speed
stpCardSorter.setAcceleration(100.0); //Set Accereration
stpCardSorter.moveTo(2000); //Steps/Position ~ 1760 Steps = 1 rotation of the bearing
pinMode(pinHome,INPUT); //Homing switch = INPUT
bolHome = _homeCardSorter(); //Start the homing process
}
void loop() //###LOOP###
{
//Serial.println(“Loop!”);
if ((Serial.available() 》 0) && (bolHome == true)) //Serial active and bearing on the 0-Position
{ //YES
int intVal = Serial.parseInt(); //Serial buffer =》 INT
Serial.print(“Move Stepper to position: ”); //Print serial
Serial.println(intVal);
stpCardSorter.moveTo(intVal); //Move Card Sorter Stepper to position
if (stpCardSorter.distanceToGo() == 0) //If Card Sorter Stepper reached the position
{ //YES
stpCardSorter.stop(); //Motor STOP
}
}
stpCardSorter.run(); //Motor RUN
}
bool _homeCardSorter() //###_homeCardSorter###
{
Serial.println(“Homing!”);
bool result;
while ((digitalRead(pinHome)==LOW) && (stpCardSorter.distanceToGo() != 0)) //Motor RUN until =》 Found 0-Position or reached max. distance
{
stpCardSorter.run();
}
stpCardSorter.stop(); //Motor STOP
if (digitalRead(pinHome)==HIGH) //Found 0-Position
{
stpCardSorter.setCurrentPosition(0); //Reset actual position to 0
Serial.println(“0-Position found”);
return result = true; //Return =》 0-Position found =》 everything ok
} else
{
Serial.println(“0-Position NOT found!!”);
return result = false; //Return =》 0-Position NOT found =》 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è)功能也非常滿意,但正如我已經(jīng)說(shuō)過(guò)的那樣有一些開(kāi)放的待辦事項(xiàng):
找到一個(gè)創(chuàng)建球籠的好方法
創(chuàng)建夾緊系統(tǒng)將推力軸承的底部和頂部固定到位
購(gòu)買(mǎi)并實(shí)施更大的電機(jī)=》完成!更改日志V0.1
實(shí)施紅外斷裂光束歸位開(kāi)關(guān)
-
分揀機(jī)器人
+關(guān)注
關(guān)注
0文章
15瀏覽量
3927
發(fā)布評(píng)論請(qǐng)先 登錄
FA模型卡片和Stage模型卡片切換
【行業(yè)應(yīng)用案例】“掃”出一條快車(chē)道,杰和科技智能物流分揀方案

智能投遞分揀機(jī)器人采用激光SLAM導(dǎo)航技術(shù)
交叉帶分揀機(jī)PLC數(shù)據(jù)采集解決方案

物流分揀機(jī)遠(yuǎn)程監(jiān)控運(yùn)維管理系統(tǒng)方案

效率大升!AI賦能鴻蒙萬(wàn)能卡片開(kāi)發(fā)

PLC噴碼分揀線遠(yuǎn)程監(jiān)控物聯(lián)網(wǎng)解決方案
創(chuàng)新驅(qū)動(dòng),助力物流行業(yè)高效分揀

鴻蒙原生開(kāi)發(fā)手記:02-服務(wù)卡片開(kāi)發(fā)
快遞分揀設(shè)備物聯(lián)網(wǎng)數(shù)據(jù)采集系統(tǒng)
自動(dòng)分揀設(shè)備實(shí)時(shí)監(jiān)控管理系統(tǒng)方案
應(yīng)用案例|某知名快遞企業(yè)小件NC包裹多層分揀AGV方案

智能分揀投遞機(jī)器人

工業(yè)一體機(jī)在智能分揀中的應(yīng)用

評(píng)論