Innehållsförteckning:

CNC -plockmaskin: 9 steg (med bilder)
CNC -plockmaskin: 9 steg (med bilder)

Video: CNC -plockmaskin: 9 steg (med bilder)

Video: CNC -plockmaskin: 9 steg (med bilder)
Video: Шапка спицами. Шапка с объемными косами. Коса из 21 петли. Детская шапочка. 2024, November
Anonim
CNC -plockmaskin
CNC -plockmaskin

Om du är en seriös tillverkare som jag är, kommer du troligen att ha otaliga motstånd, kondensatorer och olika andra elektroniska komponenter liggande. Men det finns ett stort problem: Hur håller man reda på vad eller hur mycket av något de har? För detta problem skapade jag en CNC -maskin som hämtar information från en MySQL -databas som sedan går och hämtar objektet som begärdes. Förutom databasens backend skapade jag en front-end-webbsida som gör det möjligt för användare att logga in och sedan skapa kategorier av delar, lägga till nya delar och ändra mängden delar. På så sätt kan varje enskild post redovisas, precis som ett lagerhanteringssystem.

Komponenter:

  • Arduino UNO & Genuino UNO
  • Maskinskruvar: 8 mm, 3 mm, 4 mm
  • MOSFET N-kanal
  • Likriktardiod 1N4001
  • Stegmotor NEMA 17 x2
  • Drivrutin DRV8825 för stegmotorer x2
  • Kondensator 100 µF x2
  • DFRobot Servo Gripper
  • DFRobot Kuggrem x2
  • DFRobot 5MM -remskiva x2
  • DFRobot Linjärlager 6mmx12mm x2
  • DFRobot kullager 8mmx12mm

Steg 1: Teori

Image
Image

Grunden för detta system är att hålla reda på inventarier. Till exempel, om någon köper 20 Arduino Uno -kort kan de enkelt lägga till det beloppet i en databastabell. Kategorin skulle vara "Arduino", namnet på "Uno" och en mängd på 20. För flera personer skulle ägaren till den delen vara användarnamnet på personen som lade till den. Delen skulle också innehålla data om dess plats på ett nät. Närhelst delmängden ändras skulle CNC -maskinen välja den delen och ge den till användaren.

Steg 2: Databas

Databas
Databas
Databas
Databas

Jag behövde en allestädes närvarande databas som kunde nås av både Python och PHP. Det måste också vara lätt att använda med mycket stöd, vilket gör MySQL till den perfekta databaseservern. Jag började med att ladda ner mysql -installationsprogrammet från https://dev.mysql.com/downloads/windows/installer/ och körde sedan det. Jag valde att installera servern (naturligtvis), och även arbetsbänken, skalet och verktyg. När du väljer ett användarnamn och lösenord, se till att komma ihåg det, eftersom samma referenser behövs i alla PHP -filer och Python -skriptet. Efter att ha startat servern kan du köra den som en bakgrundsprocess så att den alltid kommer att vara aktiv. Härifrån måste allt stavas och i exakt samma ordning som jag har det. Skapa sedan en ny databas (schema) som kallas "komponenter". Lägg sedan till följande tabeller: "kategorier", "delar" och "användare". Lägg till följande kolumner i tabellen kategorier i denna exakta ordning: "id" -int (11), PK, AI; "namn" -varchar (45); "ägare" - varchar (45).

Lägg till följande kolumner i delstabellen i denna exakta ordning: "id" -int (11), AI, PK; "kategori" -varchar (45); "namn" -varchar (45); "kvantitet" -int (11); "ägare" -varchar (45); "locationX" -int (11); "locationY" -int (11);

Lägg till följande kolumner i användartabellen i denna exakta ordning: "id" -int (11), AI, PK; "användarnamn" -varchar (45); "lösenord" -varchar (128);

Steg 3: Konfigurera Apache

Konfigurera Apache
Konfigurera Apache
Konfigurera Apache
Konfigurera Apache
Konfigurera Apache
Konfigurera Apache

De webbsidor jag har skapat använder HTML, CSS, Javascript och PHP. Börja med att ladda ner den senaste apache -versionen från https://www.apachelounge.com/download/ och packa upp den, flytta mappen till katalogen C: \. Ladda sedan ner PHP från https://windows.php.net/download#php-7.2 och se till att det är Thread Safe-versionen. Packa upp den, byt namn på den till "PHP" och flytta den till katalogen C: \. Gå sedan in i C: / Apache24 / conf / httpd.conf och redigera den. Lägg till följande rader precis under avsnittet:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler application/x-httpd-php.php

PHPIniDir "C:/PHP"

Testa sedan din server genom att köra httpd.exe som ligger i mappen bin. Gå till "localhost/" i din webbläsare och se om hej världssidan dyker upp. Om det gör det, hurra, har du nu en lokal webbserver.

Steg 4: Konfigurera PHP

Konfigurera PHP
Konfigurera PHP
Konfigurera PHP
Konfigurera PHP

För att konfigurera MySQL för PHP måste flera saker göras. Byt först namn på "php.ini-rekommenderat" till "php.ini" och öppna det sedan i anteckningsblock. Gå till tilläggssektionen och lägg till eller avmarkera "extension = php_mysqli.dll" som låter PHP kommunicera med MySQL -servern. Starta nu om httpd.exe och skapa en ny fil som heter "phptest.php" och lägg i filen. Gå nu till localhost/phptest.php och se om din webbläsarinformation dyker upp.

Steg 5: Designa maskinen

Design av maskinen
Design av maskinen
Design av maskinen
Design av maskinen
Design av maskinen
Design av maskinen

Jag började med att skapa några grundläggande delar i Fusion 360: en 6 mm stång, linjärt lager och en stegmotor. Sedan spände jag över två stavar för att bilda y -axeln och satte också ett kuggrem runt stegmotorn och lagret. Jag har också lagt till en x -axel. Jag började sedan 3D -skriva ut olika delar och även CNC -dirigerade två sidopaneler.

Steg 6: Gör maskinen

Att göra maskinen
Att göra maskinen
Att göra maskinen
Att göra maskinen
Att göra maskinen
Att göra maskinen

Jag slutade med att gå igenom flera iterationer av varje del, så om någon är annorlunda är det därför. Jag började med att slipa varje del och sedan borra ut varje hål i de 3D -tryckta delarna. Sedan satte jag linjära lager i hålen och sprang 6 mm stavarna genom dem. Jag monterade också stegmotorerna på sina respektive platser efter att ha monterat remskivorna på deras axlar. Kamremmen slingrades runt var och en av de två sidorna för båda axlarna. Så småningom insåg jag att griparen skulle vara för besvärlig, så jag valde en elektromagnet istället. Jag fick också lite hjälp när jag byggde den, i form av en katt.

Steg 7: Arduino -kod

Arduino -kod
Arduino -kod

Min grund för denna maskin var GRBL. Kodens början listar olika parametrar, såsom avstånd per rotation, förskjutningar och omfattningar. Jag använde BasicStepperDriver -biblioteket för att styra DRV8825 stegmotordrivrutiner. Stepper-drivrutinerna är inställda på att använda 1/32 mikro-stegning, vilket ökar upplösningen. Närhelst maskinen "startar upp" går den igenom en homing -sekvens där varje axel stiger tills den träffar en gränsbrytare. Sedan flyttar den baserat från offset till en angiven plats och ställer platsen till 0, 0. Nu när den tar emot ett flyttkommando via serie flyttar den till den rutnätplatsen.

Steg 8: Python -program

Jag valde att använda Flask som en webbserver som skulle få GET -förfrågningar från huvudsidan. Förfrågningarna består av delens namn och kategori. Efter att Flask hanterat det blir data analyserade, då blir MySQL -servern förfrågad för att ta reda på platsen för delen. Sedan skickar python -skriptet ett kommando till Arduino och anger var delen är.

Steg 9: Använda delväljaren

Använda delväljaren
Använda delväljaren
Använda delväljaren
Använda delväljaren
Använda delväljaren
Använda delväljaren
Använda Part Picker
Använda Part Picker

Jag har tillhandahållit webbplatsfilerna i mitt github -arkiv: https://github.com/having11/cnc_part_picker_webpages Ersätt de saknade parametrarna i PHP -filerna för din specifika MySQL -server. Lägg filerna i mappen htdocs i Apache -mappen. Kör helt enkelt python -skriptet och sedan när delbeloppet ändras kommer maskinen att gå till den platsen och hämta den. Hitta 3D -utskriftsfilerna här och webbsidefilerna här.

Rekommenderad: