Indholdsfortegnelse:

Skruesorteringsmaskine: 7 trin (med billeder)
Skruesorteringsmaskine: 7 trin (med billeder)

Video: Skruesorteringsmaskine: 7 trin (med billeder)

Video: Skruesorteringsmaskine: 7 trin (med billeder)
Video: Convenience items needed in the family 2024, November
Anonim
Image
Image
Lav lysboksen
Lav lysboksen

En dag i laboratoriet (FabLab Moskva) så jeg min kollega have travlt med at sortere en fuld kasse med skruer, møtrikker, ringe og anden hardware. Da jeg stoppede ved siden af ham, så jeg et øjeblik og sagde: "Det ville være et perfekt stykke arbejde for en maskine." Efter et hurtigt kig på google så jeg, at der allerede eksisterede forskellige geniale mekaniske systemer, men de kunne ikke løse vores problem, fordi der i vores kasse er en bred vifte af dele. At gøre noget rent mekanisk ville være ret kompliceret. Den anden gode grund til at gå til et mere "robotisk" system var, fordi dette ville kræve alle de tekniske områder, jeg elsker: maskinsyn, robotarme og elektromekaniske aktuatorer!

Denne maskine vælger skruerne og placerer dem i forskellige kasser. Den består af en robotarm, der håndterer en elektromagnet, et gennemskinneligt arbejdsbord over lys og et kamera på toppen. Efter at have spredt nogle skruer og møtrikker på arbejdsbordet, tændes lysene, og der tages et billede. En algoritme registrerer delformerne og returnerer deres positioner. Endelig placerer armen med elektromagneten delene en efter en i de ønskede kasser.

Dette projekt er stadig under udvikling, men nu opnår jeg anstændige resultater, som jeg vil dele med dig.

Trin 1: Værktøjer og materiale

Værktøjer

  • Laserskærer
  • Vinkelsliber
  • Hacksav
  • Skruetrækker
  • Klemmer (jo flere jo bedre)
  • Varm limpistol

Materiale

  • Krydsfiner 3 mm (1 m2)
  • Krydsfiner 6 mm (300 x 200 mm)
  • Hvid gennemsigtig plast 4 mm (500 x 250 mm)
  • Computer (jeg prøver at flytte til hindbær pi)
  • Webcam (Logitech HD T20p, alle burde arbejde)
  • Arduino med 4 PWM output / analogWrite (tre servoer og elektromagnetspolen) (jeg bruger ProTrinket 5V)
  • Prototypebord
  • Elektronisk ledning (2m)
  • Skifte transistor (enhver transistor, der kan drive en 2W spole) (jeg har S8050)
  • Diode (Schottky er bedre)
  • 2 modstande (100Ω, 330Ω)
  • Strømforsyning 5V, 2A
  • Servomikro (bredde 13 længde 29 mm)
  • 2 servoer standard (bredde 20 længde 38 mm)
  • Trælim
  • 4 metallisk hjørne med skruer (valgfrit)
  • Træstang (30 x 20 x 2400)
  • Varm lim
  • Emaljeret kobbertråd (0,2, 0,3 mm diameter, 5m) (gammel transformer?)
  • Blødt jern (16 x 25 x4 mm)
  • 3 pærer med fatning
  • Stikdåse (230V, 6 elementer)
  • Elektrisk ledning med stikkontakt (230V) (2 m)
  • Leje 625ZZ (indvendig diameter 5 mm, udvendig diameter 16 mm, højde 5 mm)
  • Leje 608ZZ (indvendig diameter 8 mm, udvendig diameter 22 mm, højde 7 mm)
  • Leje rb-lyn-317 (indvendig diameter 3 mm, udvendig diameter 8 mm, højde 4 mm)
  • Tandrem GT2 (2 mm afstand, 6 mm bred, 650 mm)
  • Skrue M5 x 35
  • Skrue M8 x 40
  • 8 skruer M3 x 15
  • 4 skruer M4 x 60
  • 6 træskruer 2 x 8 mm
  • Skrue M3 x 10
  • Relækortmodul (direkte styrbar af controller)

Trin 2: Lav lysboksen

Lav lysboksen
Lav lysboksen
Lav lysboksen
Lav lysboksen
Lav lysboksen
Lav lysboksen

Lyskassen har fire hoveddele og nogle seler. Download disse dele og lim dem sammen undtagen den gennemsigtige plast. Jeg startede med den halve træskive og den buede væg. Du skal holde væggen stramt omkring disken under tørringen. Jeg brugte klemmer til at fastgøre den halve skive og den buede væg. Derefter fastholder nogle tape væggen omkring den halve skive. For det andet limede jeg en kant til at modstå det gennemsigtige arbejdsbord. Til sidst tilføjes den flade væg med træ (indvendig) og metallisk (udvendig) højre kanter.

Når boksen er færdig, skal du bare tilføje lyspærerne og forbinde ledningen og fatningen med stiklisten. Skær 230V -ledningen af, hvor det er praktisk for dig, og indsæt relæmodulet. Jeg lukkede relæet (230V!) I en trækasse af sikkerhedsmæssige årsager.

Trin 3: Lav robotarmen

Lav robotarmen
Lav robotarmen
Lav robotarmen
Lav robotarmen
Lav robotarmen
Lav robotarmen

Download delene og skær dem. For at fastgøre bæltet på servomotoren brugte jeg stykker papirclips. Jeg spikrede de to delbælter på servomotoren og tilføjede lidt lim for at være sikker på, at intet bevæger sig.

For den lineære lodrette styring skal stemplet slibes for at undgå blokering. Det skal glide glat. Når den er samlet, kan højden justeres ved at skære vejledningen i den ønskede længde. Opbevar den dog så længe som muligt for at forhindre over-centrallås. Stemplet er simpelthen limet til armkassen.

Lejerne er lukket inde i remskiverne. Den ene remskive er lavet af to lag krydsfiner. Disse to lag rører ikke nødvendigvis hinanden, så lim dem i stedet for at lime dem sammen på deres respektive armplade. De øverste og nedre armplader vedligeholdes af fire M3 x 15 skruer og møtrikker. Den første akse (den store) er simpelthen M8 x 40 skruen og den anden (lille) M5 x 35 skruen. Brug møtrikker som afstandsstykker og skabe til armens dele.

Trin 4: Lav elektromagneten

Lav elektromagneten
Lav elektromagneten
Lav elektromagneten
Lav elektromagneten
Lav elektromagneten
Lav elektromagneten

En elektromagnet er simpelthen en blød jernkerne med emaljeret trådkugle omkring den. Den bløde jernkerne styrer magnetfeltet på det ønskede sted. Strømmen i den emaljerede wire coper skaber dette magnetfelt (det er proportionalt). Også jo flere sving du laver, jo mere magnetfelt har du. Jeg designede et U-formet jern til at koncentrere magnetfeltet nær de fangede skruer og øge forspændingskraften.

Skær en U-form i et stykke blødt jern (højde: 25 mm, bredde: 15 mm, jerntværsnit: 5 x 4 mm). Det er meget vigtigt at fjerne de skarpe kanter, inden tråden vikles rundt om det U-formede jern. Vær omhyggelig med at holde den samme viklingsretning (især når du hopper til den anden side, skal du ændre rotationsretningen fra dit synspunkt, men du beholde den samme retning fra det U-formede jern synspunkt) (https://da.wikipedia.org/wiki/Right-hand_rule) Inden forgrening af spolen til kredsløbet skal du kontrollere spolemodstanden med et multimeter og beregne strømmen med Ohms lov (U = RI). Jeg har mere end 200 omdrejninger på min spole. Jeg foreslår, at du snor dig, indtil du kun har 2 mm plads inde i U-formen.

Der er lavet en træholder, og det U-formede jern er blevet fastgjort med varm lim. To slidser gør det muligt at fastgøre tråden i begge ender. Endelig er to stifter spikret på træholderen. De danner krydset mellem den emaljerede kuvertråd og den elektroniske ledning. For at forhindre skader på spolen tilføjede jeg et lag varm lim rundt om spolen. På det sidste billede kan du observere en trædel, der lukker det U-formede jern. Dens funktion er at forhindre, at skruer sidder fast inde i det U-formede jern.

Den emaljerede wire coper er taget fra en ødelagt transformer. Hvis du gør det, skal du kontrollere, at ledningen ikke er brudt eller ikke har kortslutninger i den brugte del. Fjern tapen på den ferromagnetiske kerne. Med en kutter løsnes alle jernskiverne en efter en. Fjern derefter tapen på spolen og afrul til sidst den emaljerede trådbøjle. Den sekundære vikling (spolen med stor diameter) er blevet brugt (transformerindgang 230V, udgang 5V-1A).

Trin 5: Lav kredsløbet

Lav kredsløbet
Lav kredsløbet
Lav kredsløbet
Lav kredsløbet

På et prototypebord byggede jeg skematikken ovenfor. En bipolar transistor (S8050) er blevet brugt til at skifte elektromagnetspolen. Kontroller, at din transistor kan klare strømmen beregnet i det foregående trin. En MOSFET er nok mere egnet i denne situation, men jeg tog det, jeg havde ved hånden (og jeg ville have lav modstand). Juster de to modstande til din transistor.

I skematikken ovenfor er VCC- og GND -ikonet forbundet til + og - for min strømforsyning. Servomotorer har tre ledninger: Signal, VCC og GND. Kun signalkablet er forbundet til controlleren, de andre er tilsluttet strømforsyningen. Controlleren drives af programmeringskablet.

Trin 6: Koden

Sidst men ikke mindst: Koden. Du finder det her:

Der er et program til controlleren (arduino -type) og et andet, der kører på computeren (forhåbentlig snart på hindbær). Koden på controlleren er ansvarlig for baneplanlægning, og den på computeren foretager billedbehandlingen og sender den resulterende position til controlleren. Billedbehandlingen er baseret på OpenCV.

Computerens program

Programmet tager et billede med webkameraet og lysene, registrerer det gennemskinnelige bord og centerradius og korrigerer den endelige billedrotation. Ud fra disse værdier beregner programmet robotpositionen (Vi kender robotpositionen ifølge pladen). Programmet bruger klodsdetektorfunktionen i OpenCV til at registrere skruer og bolte. De forskellige typer klatter filtreres med de tilgængelige parametre (område, farve, cirkularitet, konveksitet, inerti) for at vælge den ønskede komponent. Resultatet af klatedetektor er placeringen (i pixels) af de valgte klatter. Derefter omdanner en funktion disse pixelpositioner til millimeterpositioner i armkoordinatsystemet (ortogonalt). En anden funktion beregner den nødvendige position for hver armforbindelse for at have elektromagneten i den ønskede position. Resultatet består i tre vinkler, som endelig sendes til controlleren.

Controllerens program

Dette program modtager sammenføjningsvinklerne og bevæger armens dele for at nå disse vinkler. Det beregner først tophastigheden for hver joinforbindelse for at udføre trækket i samme tidsinterval. Derefter kontrollerer den, om disse tophastigheder nogensinde er nået, i dette tilfælde vil trækket følge tre faser: acceleration, konstant hastighed og deceleration. Hvis topfarten ikke nås, vil trækket kun følge to faser: acceleration og deceleration. De øjeblikke, hvor den skal gå fra en fase til en anden, beregnes også. Endelig udføres trækket: Med jævne mellemrum beregnes og sendes de nye faktiske vinkler. Hvis det er tid til at gå videre til redenfasen, fortsætter udførelsen til den næste fase.

Trin 7: Den sidste hånd

De sidste hånd
De sidste hånd

Rammen

En ramme blev tilføjet til at holde kameraet. Jeg valgte at lave det med træ, fordi det er billigt, let at arbejde med, let at finde, miljøvenligt, behageligt at forme og det forbliver i den stil, jeg begyndte med. Lav en billedtest med kameraet for at afgøre, hvilken højde der er behov for. Sørg også for at gøre den stiv og fast, fordi jeg bemærkede, at den resulterende position er meget følsom over for alle kamerabevægelser (i hvert fald før jeg tilføjede funktionen til automatisk registrering af arbejdsbordet). Kameraet skal placeres i midten af arbejdsbordet og i mit tilfælde 520 mm fra den gennemsigtige hvide overflade.

Kasserne

Som du kan se på billedet, er de bevægelige opbevaringsbokse på den flade del af bordet. Du kan lave så mange kasser som nødvendigt, men med min egentlige opsætning er pladsen ret begrænset. Ikke desto mindre har jeg ideer til at forbedre dette punkt (jf. Fremtidige forbedringer).

Fremtidige forbedringer

  • I øjeblikket er tandremmen lukket med en trædel, men denne løsning begrænser det område, som armen kan nå. Jeg skal tilføje mere plads mellem den store servo og armaksen eller lave et mindre lukningssystem.
  • Kasserne er langs den flade arbejdsbordskant, hvis jeg lægger den langs kanten af den halve cirkel, ville jeg have meget mere plads til at tilføje kasser og sortere mange komponenttyper.
  • Nu er blobdetekteringsfilteret nok til at sortere delene, men da jeg vil øge antallet af kasser, skal jeg øge selektiviteten. Af denne grund vil jeg prøve forskellige genkendelsesmetoder.
  • Nu har de servomotorer, jeg bruger, ikke nok rækkevidde til at nå hele det halve diskbord. Jeg skal ændre servoerne eller ændre reduktionsfaktoren mellem de forskellige remskiver.
  • Nogle problemer opstår ganske ofte, så forbedring af pålideligheden er prioriteten. Til det er jeg nødt til at klassificere typen af spørgsmål og koncentrere mig om de mere sandsynlige. Dette er allerede det, jeg gjorde med det lille stykke træ, der lukker det U-formede jern og auto-detekteringscenter-algoritmen, men nu bliver problemerne mere komplicerede at løse.
  • Lav et printkort til controlleren og det elektroniske kredsløb.
  • Migrer koden til Raspberry pi for at have en stand alone station
Organisationskonkurrence
Organisationskonkurrence
Organisationskonkurrence
Organisationskonkurrence

Anden pris i organisationskonkurrencen

Anbefalede: