Indholdsfortegnelse:

CNC delplukningsmaskine: 9 trin (med billeder)
CNC delplukningsmaskine: 9 trin (med billeder)

Video: CNC delplukningsmaskine: 9 trin (med billeder)

Video: CNC delplukningsmaskine: 9 trin (med billeder)
Video: CNC 5 Axis Milling Working Process High Speed Cutting Machining 2024, Juli
Anonim
CNC delplukningsmaskine
CNC delplukningsmaskine

Hvis du er en seriøs maker som jeg, har du sandsynligvis utallige modstande, kondensatorer og forskellige andre elektroniske komponenter liggende. Men der er et stort problem: Hvordan holder man styr på, hvad eller hvor meget af noget, de har? Til dette problem oprettede jeg en CNC -maskine, der får oplysninger fra en MySQL -database, der derefter går og henter det element, der blev anmodet om. Ud over databasens backend lavede jeg en front-end webside, der giver brugerne mulighed for at logge ind og derefter oprette kategorier af dele, tilføje nye dele og ændre mængderne af dele. På denne måde kan hver enkelt vare redegøres for, ligesom et lagerstyringssystem.

Komponenter:

  • Arduino UNO & Genuino UNO
  • Maskinskruer: 8 mm, 3 mm, 4 mm
  • MOSFET N-kanal
  • Ensretterdiode 1N4001
  • Stepper Motor NEMA 17 x2
  • Driver DRV8825 til Stepper Motors x2
  • Kondensator 100 µF x2
  • DFRobot Servo Gripper
  • DFRobot Tandrem x2
  • DFRobot 5MM tandhjul x2
  • DFRobot lineært leje 6mmx12mm x2
  • DFRobot kugleleje 8mmx12mm

Trin 1: Teori

Image
Image

Grundlaget for dette system er at holde styr på beholdningen. For eksempel, hvis nogen køber 20 Arduino Uno -tavler, kan de let tilføje dette beløb til en databasetabel. Kategorien ville være "Arduino", navnet på "Uno" og en mængde på 20. For flere personer ville ejeren af den del være brugernavnet på den person, der tilføjede den. Delen vil også indeholde data om dens placering på et gitter. Når delmængden ændres, ville CNC -maskinen derefter vælge denne del og give den til brugeren.

Trin 2: Database

Database
Database
Database
Database

Jeg havde brug for en allestedsnærværende database, som både Python og PHP kunne få adgang til. Det skulle også være let at bruge med masser af support, hvilket gjorde MySQL til den perfekte databaseserver. Jeg begyndte med at downloade mysql -installationsprogrammet fra https://dev.mysql.com/downloads/windows/installer/ og kørte det derefter. Jeg valgte at installere serveren (selvfølgelig) og også arbejdsbordet, skallen og hjælpeprogrammer. Når du vælger et brugernavn og en adgangskode, skal du huske det, da de samme legitimationsoplysninger er nødvendige i alle PHP -filer og Python -scriptet. Efter at serveren er startet, kan du køre den som en baggrundsproces, så den altid vil være aktiv. Herfra skal alt staves og i nøjagtig samme rækkefølge, som jeg har det. Opret derefter en ny database (skema) kaldet "komponenter". Tilføj derefter følgende tabeller: "kategorier", "dele" og "brugere". I kategoritabellen tilføjes følgende kolonner i denne nøjagtige rækkefølge: "id" -int (11), PK, AI; "navn" -varchar (45); "ejer" - varchar (45).

I deletabellen tilføjes følgende kolonner i denne nøjagtige rækkefølge: "id" -int (11), AI, PK; "kategori" -varchar (45); "navn" -varchar (45); "mængde" -int (11); "ejer" -varchar (45); "locationX" -int (11); "locationY" -int (11);

I brugertabellen tilføjes følgende kolonner i denne nøjagtige rækkefølge: "id" -int (11), AI, PK; "brugernavn" -varchar (45); "password" -varchar (128);

Trin 3: Opsætning af Apache

Opsætning af Apache
Opsætning af Apache
Opsætning af Apache
Opsætning af Apache
Opsætning af Apache
Opsætning af Apache

De websider, jeg har oprettet, bruger HTML, CSS, Javascript og PHP. Start med at downloade den nyeste apache -version fra https://www.apachelounge.com/download/, og pak den ud og flyt mappen til C: / biblioteket. Download derefter PHP fra https://windows.php.net/download#php-7.2 og sørg for, at det er Thread Safe-versionen. Pak det ud, omdøb det til "PHP", og flyt det til C: / biblioteket. Gå derefter ind på C: / Apache24 / conf / httpd.conf og rediger det. Tilføj følgende linjer lige under afsnittet:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler application/x-httpd-php.php

PHPIniDir "C:/PHP"

Test derefter din server ved at køre httpd.exe i mappen med skraldespand. Gå til "localhost/" i din browser og se, om hej -verdenssiden kommer frem. Hvis det gør det, hurra, har du nu en lokal webserver.

Trin 4: Opsætning af PHP

Opsætning af PHP
Opsætning af PHP
Opsætning af PHP
Opsætning af PHP

For at konfigurere MySQL til PHP skal flere ting gøres. Omdøb først "php.ini-anbefalet" til "php.ini", og åbn det derefter i notesblok. Gå til udvidelsesafsnittet, og tilføj eller uncomment "extension = php_mysqli.dll", som lader PHP kommunikere med MySQL -serveren. Genstart nu httpd.exe, og opret en ny fil kaldet "phptest.php" og sæt den i filen. Gå nu til localhost/phptest.php og se om dine browseroplysninger kommer frem.

Trin 5: Design af maskinen

Design af maskinen
Design af maskinen
Design af maskinen
Design af maskinen
Design af maskinen
Design af maskinen

Jeg begyndte med at oprette nogle grundlæggende dele i Fusion 360: en 6 mm stang, lineært leje og en trinmotor. Derefter spændte jeg to stænger på tværs for at danne y -aksen og lagde også et tandrem rundt om trinmotoren og lejet. Jeg tilføjede også en x -akse. Jeg begyndte derefter at 3D udskrive forskellige dele og også CNC routede to sidepaneler.

Trin 6: Fremstilling af maskinen

Fremstilling af maskinen
Fremstilling af maskinen
Fremstilling af maskinen
Fremstilling af maskinen
Fremstilling af maskinen
Fremstilling af maskinen

Jeg endte med at gennemgå flere iterationer af hver del, så hvis nogen er forskellige, er det derfor. Jeg startede med at slibe hver del og derefter bore hvert hul i 3D -printede dele ud. Derefter satte jeg lineære lejer i hullerne og løb de 6 mm stænger igennem dem. Jeg monterede også trinmotorerne på deres respektive steder efter at have fastgjort remskiverne til deres aksler. Tandremmen blev sløjfet rundt om hver af de to sider for begge akser. Til sidst indså jeg, at griberen ville være for besværlig, så jeg valgte en elektromagnet i stedet. Jeg havde også lidt hjælp til at bygge den i form af en kat.

Trin 7: Arduino -kode

Arduino kode
Arduino kode

Mit grundlag for denne maskine var GRBL. Kodens start viser forskellige parametre, såsom afstand pr. Rotation, forskydninger og omfang. Jeg brugte BasicStepperDriver biblioteket til at styre DRV8825 stepper motor drivere. Stepper-driverne er indstillet til at bruge 1/32 mikro-stepping, hvilket øger opløsningen. Når maskinen "starter op", går den gennem en homing -sekvens, hvor hver akse skrider, indtil den rammer en grænsekontakt. Derefter bevæger den sig ud fra forskydningen til en bestemt placering og sætter placeringen til 0, 0. Nu når den modtager en flyttekommando via serie, flytter den til den gitterplacering.

Trin 8: Python -program

Jeg valgte at bruge Flask som en webserver, der ville modtage GET -anmodninger fra hovedwebstedet. Anmodningerne består af delens navn og kategori. Efter at Flask har håndteret det, bliver dataene analyseret, så bliver MySQL -serveren forespurgt for at finde ud af placeringen af delen. Derefter sender python -scriptet en kommando til Arduino, der angiver, hvor en del er.

Trin 9: Brug af delevælgeren

Brug af delvælgeren
Brug af delvælgeren
Brug af delvælgeren
Brug af delvælgeren
Brug af delvælgeren
Brug af delvælgeren
Brug af delvælgeren
Brug af delvælgeren

Jeg har leveret webstedsfilerne i mit github -lager: https://github.com/having11/cnc_part_picker_webpages Erstat de manglende parametre i PHP -filerne for din specifikke MySQL -server. Læg filerne i mappen htdocs i mappen Apache. Kør ganske enkelt python -scriptet, og hver gang delbeløbet ændres, vil maskinen gå til det sted og få det. Find 3D -udskrivningsfilerne her og websidefilerne her.

Anbefalede: